Skip to main content
An analysis is only finished when someone else can read it. toorow has one governed path from a question to a page a colleague opens, and every step of it is addressable, versioned and revocable.
Nothing on this path is a screenshot, and nothing is a live re-query. A reader opening a link sees the exact figure that was drawn, from the exact data that was executed, with the runtime build that drew it.

1. The objects, and what each one owns

A Render is a snapshot, not a rerun instruction. A Share never follows the latest anything: what you granted is what the reader sees, until you revoke it.

2. Where this lives in the console

Everything on this path is reached from Analyze.
  • Analyze › Results — the executions, each opening on its data, its definitions, its quality and its reasoning path.
  • Analyze › Renders — the frozen figures, plus the Dossiers panel. A project with no Dossier yet says so, and names the gesture that creates one.
  • Reports › Templates — the Chart Template catalog, and its workbench, where a template is edited, versioned, archived and restored. An archived version stays readable, and a pin onto an archived version is named as such rather than silently broken.
The console, the MCP App surface and the public share page all draw through the same rendering runtime. They may choose different responsive profiles; they may not change analytical meaning. A figure that reads one way in the console cannot read another way in the link you sent.

3. Composing a Dossier from an AI host

A model working over MCP does not hand you a picture — it keeps what it drew. compose_dossier freezes one immutable Render per figure and writes the Dossier version in a single transaction.
Three properties are worth knowing before you call it:
  • All or nothing. A block referencing a figure from another project, or from another organization, fails the whole call. There is no partial Dossier.
  • Authorship is recorded, not inferred. Every narrative block carries authored_by. The MCP gate stamps model on every block it stores — whatever the caller sent — because a figure is governed and a narrative is generated, and the page has to show which is which. human is what a person writing in the console leaves.
  • A version is immutable. Appending to a Dossier creates a new version. The version someone is reading does not change under them.
Each figure keeps its reasoning path, resolved at read time, so a reader can ask of any chart in the document: which question produced this, against which definitions?
Nothing leaves the platform on one person’s signature.
  1. Request. Someone with the project capability requests a Share, from the Sharing tab of the Render Workbench or from the Dossier. The response deliberately carries no link.
  2. Confirm. A second role holder authorizes the exit and receives the only link. The confirmation is stamped: who confirmed, and when. The requester and the confirmer cannot be the same person — the database refuses it.
  3. Read. The recipient opens the link. The share page draws every figure through the same runtime as the console, with each figure’s provenance stated beside it, and states plainly when a fact is absent rather than omitting it.
  4. Revoke. Revocation is a single act, available at any time, and it does not need a second holder. A revoked link stops working.
The grant freezes every Render in the pinned version at the moment of confirmation. If one of them cannot be frozen, the request is refused and the offending figure is named — you never get a link that half works.
PDF export is not available yet. A Dossier version is shareable as a page today. Export to PDF is a stated target for this surface and is not built: it will render through the same path as the share page, so the document on paper shows exactly what the link shows.

5. Evidence travels with the figure

Every Render carries an evidence manifest, and it is not decorative. A reader — person or agent — can go from a drawn point back to:
  • the Result that produced it, and the Query Spec version that asked for it;
  • the definitions used, at the Semantic View version that was in force;
  • the quality findings that applied to the underlying data;
  • the freshness and the pull provenance of each source;
  • the reasoning path, when a model produced the answer, or an explicit No AI path when none exists.
Feedback attaches to that same anchor: submit_analyze_feedback records a rating against the exact observation a reader was looking at, not against the page as a whole.

Next Steps & Cross-References

Agent Tools

The MCP tools that execute, render and compose along this path.

Semantic Layer

The governed measures and dimensions a Query Spec is allowed to ask for.

Data Quality

The findings a Result carries with it.

Host Integration

Connect an AI host and compose a Dossier from a conversation.