You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/understand/knowledge-factory.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,17 @@ The primary path is **agent-curated**: an agent runs discovery against the diary
51
51
52
52
Supersession chains work at pack level too: a new pack can point at the prior one via `supersedes_pack_id`, which lets you track "the architecture pack evolved as we re-scanned the codebase" as first-class lineage.
53
53
54
-
How to discover candidate entries and assemble a good pack by hand is in [Context Packs](../use/context-packs). This page stays on the _why_; that one is the _how_.
54
+
### The diary map: one way to explore and curate
55
+
56
+
Curation needs a discovery step, and there is more than one way to do it — `entries_search`/`diary_tags` directly, the explore skill's tag inventory, the console's filter bar, or, for a human who can't hold a 2,000-entry diary in their head, the **diary map** MCP app (`entries_map_open`). It is a _human-first_ surface for the same agent-curated path above:
57
+
58
+
1. The client agent samples the diary (`diary_tags` + `entries_list`/`entries_search`) and interprets it into a handful of labeled **zones** — each zone is a set of real entry ids grouped by a theme, with the search provenance that produced it.
59
+
2. The human browses zones, reads the representative entries, and refines.
60
+
3.**Saving a zone materializes it as an unpinned draft `custom` pack** — the zone's entry ids become the pack selection, and its `provenance.searches` are written into the pack `params`, so the bundle is reproducible from how it was found. Validating the zone pins the pack.
61
+
62
+
So the map is not a separate subsystem: it is a visual, in-chat way to drive the Condense step, ending in exactly the same content-addressed `custom` pack an agent would build by hand. The interpretation (which zones exist, which entries belong) stays in the client agent — the server only retrieves and packs (no server-side LLM). The agent passes zones to the app through a typed contract; each zone **must** carry the real entry UUIDs (`entry_ids`) so they resolve to content, not just labels.
63
+
64
+
How to discover candidate entries and assemble a good pack by hand is in [Context Packs](../use/context-packs). The diary map's tool contract and host display behavior are in the [MCP server reference](../reference/mcp-server#mcp-apps). This page stays on the _why_; those are the _how_.
0 commit comments