Skip to Content
Product GuideInput format: the discovery interview

Input format: the discovery interview

Run the commands below from the installation directory. See Run operator commands for how ./lens reaches the running installation and copies files into it.

Record the opening interview, transcribe it, and save it as one JSONJSONJavaScript Object Notation: a text format for data, using named fields, lists and values. Configuration files and service messages use it. file. Import it in the browser at /import or with the meshMeshA set of connected Mycelium services that exchange updates and keep the NovusLens log. build command:

From the installation directory:

./lens exec -- sh -c 'cat > /tmp/interview.json' < interview.json ./lens exec -- python -m conway_mesh.build --transcript /tmp/interview.json

Inside Docker, copy the transcript into the reasoning containerContainerA running program with its own packaged software and isolated environment, managed by Docker on the host., use its container path and add --host mesh-0 to conway_mesh.build. Interview processing needs the configured language modelLanguage modelSoftware that produces text from instructions and supplied context. NovusLens checks its answers against the records retrieved for the question.. Use the browser’s proposed changes to challenge an existing organisation chart.

On success the command prints a summary of what it wrote and exits 0; the map shows the result after the projectionProjectionThe regular pass that brings the read model up to date with the canonical log. It runs every 30 seconds by default. service’s next pass (about 30 s by default). A refusal names what was wrong.

The browser recognises the file by its shape: a top-level turns list means an interview. Against an empty organisation the transcript proposes the structure. Against an organisation that already has an org chart it annotates and challenges the chart; a disagreement is kept as a contested entry, never an edit. Nothing commits until a person confirms the proposal. The command shown above does not do this: it writes told values and relies on the rungRungOne of three levels of support for a recorded value: told, shown or measured. The level appears beside the value. rule at the sink, so use the browser import to challenge an existing chart.

Required fields

  • org: the organisation’s short id, lower case, no spaces.
  • turns: a list of two-element lists, [speaker, utterance]. The speaker is a role or a name; the utterance is the transcribed text.

Optional fields

  • org_name: the display name.
  • description: one sentence about the organisation.

Minimal valid example

{ "org": "harbour", "org_name": "Harbour Logistics", "description": "A freight forwarder: bookings, customs, warehousing.", "turns": [ ["COO", "Three areas matter: bookings, customs and warehousing. Customs holds change authority for anything filed with the border agency."], ["COO", "Warehousing depends on the bookings feed; when it is late the whole day slips."] ] }

What the interview says is testimony. Every cellCellA box on the map that stands for a team, service, supplier or AI agent. It is a unit you can inspect, not necessarily a department or a person., dependency and authority it produces carries the told rung until a document or a measurement backs it.

What a second interview does

SituationWhat happens
Stable identityA cell is known by the slug of the name the interview used, folded onto an existing cell when the tokens match. There is no version number.
The same transcript twiceEvery cell and dependency is written again at told with the same values. FindingsFindingA difference in the records that needs a decision. It includes its sources and can describe a slow handoff, disputed fact or missing owner. re-open by id. Nothing duplicates.
A cell a document already backsThe document’s label, parent and owners stand: told never overwrites shown. If the interview’s account differs, a provenance-conflict finding opens.
A changed value on a told-only cellThe latest interview wins.
A renamed cellA new name with no shared tokens is a new cell; the old one stays. A partial match folds onto the old cell or opens a possible-alias finding.
A cell or dependency the second transcript omitsUntouched. An interview cannot say “this list is complete”.
An interview against an existing organisationIn the browser, the import fills empty slots and opens contested-structure findings instead of editing. The command shown above does not do this: it writes plain told values and relies on the rung rule at the sink. Use the browser import to challenge a chart.
A wrong answerNo correction route for the transcript itself. Resolve the findings it raised, then re-run a corrected transcript; told-only fields follow it.
When visibleAfter the projection service’s next pass.

Read more

Last updated