Skip to content

Propose a Map from Canon

3 min read

Sync gives you the structure your team already wrote down in folders and requirements. It cannot give you the parts of the product nobody filed a folder for.

For that, Atlas reads Canon — your specs and PRDs — and drafts a map from them. Nothing it produces reaches the map until you approve it.


The Discover action in the rail does two different jobs, and its label tells you which one it is about to do.

Map stateLabelWhat it does
EmptyRead Canon and propose the product’s areas, screens and routesDrafts a whole map from the corpus
PopulatedFind gaps — read Canon again for what the map is missingDiffs Canon against your curated map and offers only the difference

Use Discover once, early. Use Find gaps whenever Canon grows.


  1. Make sure the project has documents in Canon that reached Ready. With an empty Canon there is nothing to read.

  2. In the Atlas action rail, select the Discover action.

  3. The proposal generates in the background. The rail shows it working.

  4. When it is ready, select Review what Canon proposed.


Atlas does not use the same retrieval that grounds test case generation. It enumerates every Canon document by section heading instead.

The reason is measured. On a 226-document project, retrieval selected 12 documents — 5% of the corpus — and produced a map of five areas, two of which were a troubleshooting guide and a best-practices guide, while the document whose headings are the product’s navigation never made the cut. Headings are short enough that the same budget buys the whole corpus.

Retrieval is still the right instrument for detail on a single node. It is the wrong one for the skeleton.


The review panel exists to make accepting a deliberate act.

  • Nothing is accepted by default. A proposal is a suggestion from a model that produces a different tree on every run.
  • A title already on your map defaults to Merge, not Add — so you cannot create a second “Checkout” by clicking through.
  • Implied nodes are flagged. A node is marked implied when its title does not actually appear in a cited heading — the model grouped it itself. Look harder at those.
  • Unsupported nodes are shown, not hidden. What the model wanted to say but could not cite is still a question worth asking a human. It just is not evidence.

Each proposed node carries the Canon citations it was drawn from, so you can check a proposed area against the document that implied it.

Set one decision per proposed node:

DecisionEffect
AddCreate this node on the map
MergeFold it into the existing node with the same title
SkipDiscard it

Decisions are saved as you make them, so a long review survives closing the panel.


Apply writes the accepted nodes, routes and journeys to the map. Accepted nodes are marked as AI-accepted, which exempts them from future syncs — sync will never rewrite or remove them.

Discard throws the whole proposal away. The map is untouched.


If Canon is too thin to map confidently, the panel says so rather than inventing structure. The fix is on the Canon side: add the documents that describe the product’s shape — see Canon best practices.