dreamcontext 0.8.7 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -7
- package/agents/curator-auditor.md +114 -0
- package/agents/curator-verifier.md +86 -0
- package/agents/curator-worker.md +81 -0
- package/agents/dreamcontext-explore.md +7 -3
- package/agents/initializer-ingestor.md +84 -0
- package/agents/initializer-scout.md +87 -0
- package/agents/initializer-verifier.md +75 -0
- package/agents/sleep-migration.md +18 -10
- package/agents/sleep-product.md +7 -7
- package/agents/sleep-state.md +3 -3
- package/agents/sleep-tasks.md +4 -3
- package/dist/agents/curator-auditor.md +114 -0
- package/dist/agents/curator-verifier.md +86 -0
- package/dist/agents/curator-worker.md +81 -0
- package/dist/agents/dreamcontext-explore.md +7 -3
- package/dist/agents/initializer-ingestor.md +84 -0
- package/dist/agents/initializer-scout.md +87 -0
- package/dist/agents/initializer-verifier.md +75 -0
- package/dist/agents/sleep-migration.md +18 -10
- package/dist/agents/sleep-product.md +7 -7
- package/dist/agents/sleep-state.md +3 -3
- package/dist/agents/sleep-tasks.md +4 -3
- package/dist/dashboard/assets/{BrainCanvas3D-CyuMh6vC.js → BrainCanvas3D-hy-bJKIJ.js} +1 -1
- package/dist/dashboard/assets/{_baseUniq-TeXEp9Tn.js → _baseUniq-DduL-UlQ.js} +1 -1
- package/dist/dashboard/assets/{ar-SA-G6X2FPQ2-Da5wNUeW.js → ar-SA-G6X2FPQ2-CrmB7xfA.js} +1 -1
- package/dist/dashboard/assets/{arc-NQuoeYrp.js → arc-sHUGY_nD.js} +1 -1
- package/dist/dashboard/assets/{architectureDiagram-Q4EWVU46-B108azq_.js → architectureDiagram-Q4EWVU46-DgYle1Hc.js} +1 -1
- package/dist/dashboard/assets/{az-AZ-76LH7QW2-cJYSsraO.js → az-AZ-76LH7QW2-xoplM1zS.js} +1 -1
- package/dist/dashboard/assets/{bg-BG-XCXSNQG7-Dt4_IvAk.js → bg-BG-XCXSNQG7-BF4iIrZQ.js} +1 -1
- package/dist/dashboard/assets/{blockDiagram-DXYQGD6D-HAo6Tqxd.js → blockDiagram-DXYQGD6D-YPBR1t-F.js} +1 -1
- package/dist/dashboard/assets/{bn-BD-2XOGV67Q-DE20hZpG.js → bn-BD-2XOGV67Q-KGLt7gMU.js} +1 -1
- package/dist/dashboard/assets/{c4Diagram-AHTNJAMY-SHRA5Nk_.js → c4Diagram-AHTNJAMY-B1KEuF7Q.js} +1 -1
- package/dist/dashboard/assets/{ca-ES-6MX7JW3Y-9ZUzuDs-.js → ca-ES-6MX7JW3Y-BYuoubhq.js} +1 -1
- package/dist/dashboard/assets/channel-BvyIgIvU.js +1 -0
- package/dist/dashboard/assets/{chunk-4BX2VUAB-BlLy4y9z.js → chunk-4BX2VUAB-BALrhoW_.js} +1 -1
- package/dist/dashboard/assets/{chunk-4TB4RGXK-cDLog-pk.js → chunk-4TB4RGXK-8uLOmmU8.js} +1 -1
- package/dist/dashboard/assets/{chunk-55IACEB6-BfLlL9Jv.js → chunk-55IACEB6-D2hViX7K.js} +1 -1
- package/dist/dashboard/assets/{chunk-EDXVE4YY-BjKTlHye.js → chunk-EDXVE4YY-C9foqo-F.js} +1 -1
- package/dist/dashboard/assets/{chunk-FMBD7UC4-CoMoOB69.js → chunk-FMBD7UC4-D1G0o3Ow.js} +1 -1
- package/dist/dashboard/assets/{chunk-OYMX7WX6-DSYZ4BzO.js → chunk-OYMX7WX6-CiVziVyS.js} +1 -1
- package/dist/dashboard/assets/{chunk-QZHKN3VN-hsCUyt37.js → chunk-QZHKN3VN-DE5GBsSY.js} +1 -1
- package/dist/dashboard/assets/{chunk-YZCP3GAM-CMBEUThQ.js → chunk-YZCP3GAM-BpQQIx3b.js} +1 -1
- package/dist/dashboard/assets/classDiagram-6PBFFD2Q-B2f-mNIc.js +1 -0
- package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-B2f-mNIc.js +1 -0
- package/dist/dashboard/assets/clone-BOZwMwp7.js +1 -0
- package/dist/dashboard/assets/{cose-bilkent-S5V4N54A-Ds3A4r-y.js → cose-bilkent-S5V4N54A-KvwZaKE7.js} +1 -1
- package/dist/dashboard/assets/{cs-CZ-2BRQDIVT-WgNPbRaT.js → cs-CZ-2BRQDIVT-xYBULEJ9.js} +1 -1
- package/dist/dashboard/assets/{da-DK-5WZEPLOC-BQPVoqBy.js → da-DK-5WZEPLOC-DF2tyJRb.js} +1 -1
- package/dist/dashboard/assets/{dagre-KV5264BT-D3AamC0s.js → dagre-KV5264BT-Du_qjhF2.js} +1 -1
- package/dist/dashboard/assets/{de-DE-XR44H4JA-FOMlLeg-.js → de-DE-XR44H4JA-DlmZt5e9.js} +1 -1
- package/dist/dashboard/assets/{diagram-5BDNPKRD-DeAuY_LW.js → diagram-5BDNPKRD-D7slatQr.js} +1 -1
- package/dist/dashboard/assets/{diagram-G4DWMVQ6-CsPuBl6m.js → diagram-G4DWMVQ6-DiCZYy5B.js} +1 -1
- package/dist/dashboard/assets/{diagram-MMDJMWI5-Celrp7iZ.js → diagram-MMDJMWI5-BxckEUHv.js} +1 -1
- package/dist/dashboard/assets/{diagram-TYMM5635-D-Y8kdqj.js → diagram-TYMM5635-BGh7adH7.js} +1 -1
- package/dist/dashboard/assets/{el-GR-BZB4AONW-DdhrZvUu.js → el-GR-BZB4AONW-3_nYTnDJ.js} +1 -1
- package/dist/dashboard/assets/{erDiagram-SMLLAGMA-CyPB81Ul.js → erDiagram-SMLLAGMA-Bgu7PR3l.js} +1 -1
- package/dist/dashboard/assets/{es-ES-U4NZUMDT-B-Hbpc6c.js → es-ES-U4NZUMDT-Blp-jVT8.js} +1 -1
- package/dist/dashboard/assets/{eu-ES-A7QVB2H4-CIeXN6PD.js → eu-ES-A7QVB2H4-DksJfC54.js} +1 -1
- package/dist/dashboard/assets/{fa-IR-HGAKTJCU-BojqXzkR.js → fa-IR-HGAKTJCU-DgwscI8H.js} +1 -1
- package/dist/dashboard/assets/{fi-FI-Z5N7JZ37-Dix2X0V9.js → fi-FI-Z5N7JZ37-D5xWl1j1.js} +1 -1
- package/dist/dashboard/assets/{flowDiagram-DWJPFMVM-D7IX0DxI.js → flowDiagram-DWJPFMVM-DRYxEOwt.js} +1 -1
- package/dist/dashboard/assets/{fr-FR-RHASNOE6-B-jqOA6L.js → fr-FR-RHASNOE6-C5ic6hfW.js} +1 -1
- package/dist/dashboard/assets/{ganttDiagram-T4ZO3ILL-CbK6p7_G.js → ganttDiagram-T4ZO3ILL-CNf0-tRS.js} +1 -1
- package/dist/dashboard/assets/{gitGraphDiagram-UUTBAWPF-DWDwNpLK.js → gitGraphDiagram-UUTBAWPF-B-fWXvro.js} +1 -1
- package/dist/dashboard/assets/{gl-ES-HMX3MZ6V-B6zmZpsw.js → gl-ES-HMX3MZ6V-CYsGLfzn.js} +1 -1
- package/dist/dashboard/assets/{graph-CrDZc6w0.js → graph-CqM3kXVs.js} +1 -1
- package/dist/dashboard/assets/{he-IL-6SHJWFNN-CaSPpOxb.js → he-IL-6SHJWFNN-DZp7dZBD.js} +1 -1
- package/dist/dashboard/assets/{hi-IN-IWLTKZ5I-n86mXoF4.js → hi-IN-IWLTKZ5I-DZ-8BLt8.js} +1 -1
- package/dist/dashboard/assets/{hu-HU-A5ZG7DT2-MqIG43UE.js → hu-HU-A5ZG7DT2-cIzehzha.js} +1 -1
- package/dist/dashboard/assets/{id-ID-SAP4L64H-DbrGiOFJ.js → id-ID-SAP4L64H-CHmT4Y6G.js} +1 -1
- package/dist/dashboard/assets/index-B_cYqPxr.js +482 -0
- package/dist/dashboard/assets/{index-zJ2-S49k.js → index-WuRpIREk.js} +1 -1
- package/dist/dashboard/assets/{infoDiagram-42DDH7IO-CpAQyAyt.js → infoDiagram-42DDH7IO-zeTnmz1D.js} +1 -1
- package/dist/dashboard/assets/{ishikawaDiagram-UXIWVN3A-DXIwINgb.js → ishikawaDiagram-UXIWVN3A-Bb756K5U.js} +1 -1
- package/dist/dashboard/assets/{it-IT-JPQ66NNP-IX1Td9Wl.js → it-IT-JPQ66NNP-D6lXGD0z.js} +1 -1
- package/dist/dashboard/assets/{ja-JP-DBVTYXUO-Bd8nX8VR.js → ja-JP-DBVTYXUO-DyuGqonM.js} +1 -1
- package/dist/dashboard/assets/{journeyDiagram-VCZTEJTY-DZlgujgy.js → journeyDiagram-VCZTEJTY-DFWvXLzk.js} +1 -1
- package/dist/dashboard/assets/{kaa-6HZHGXH3-D5xD9fsf.js → kaa-6HZHGXH3-oNCeqt-A.js} +1 -1
- package/dist/dashboard/assets/{kab-KAB-ZGHBKWFO-xBaAbT-9.js → kab-KAB-ZGHBKWFO-DfP6kptf.js} +1 -1
- package/dist/dashboard/assets/{kanban-definition-6JOO6SKY-0klC865z.js → kanban-definition-6JOO6SKY-DhKLuu7C.js} +1 -1
- package/dist/dashboard/assets/{kk-KZ-P5N5QNE5-CboXRRre.js → kk-KZ-P5N5QNE5-B63w7yii.js} +1 -1
- package/dist/dashboard/assets/{km-KH-HSX4SM5Z-Clsilmtp.js → km-KH-HSX4SM5Z-C8nYbGAM.js} +1 -1
- package/dist/dashboard/assets/{ko-KR-MTYHY66A-CIjzZcRO.js → ko-KR-MTYHY66A-D3wzPaIE.js} +1 -1
- package/dist/dashboard/assets/{ku-TR-6OUDTVRD-Bs1RU4e9.js → ku-TR-6OUDTVRD-C59UaChS.js} +1 -1
- package/dist/dashboard/assets/{layout-fipBctpD.js → layout-CtFtUFag.js} +1 -1
- package/dist/dashboard/assets/{linear-DVXXJr0u.js → linear-DubzSxx7.js} +1 -1
- package/dist/dashboard/assets/{lt-LT-XHIRWOB4-CQ-xLU_o.js → lt-LT-XHIRWOB4-C_buJu91.js} +1 -1
- package/dist/dashboard/assets/{lv-LV-5QDEKY6T-C0inT4d9.js → lv-LV-5QDEKY6T-BhQWVAR-.js} +1 -1
- package/dist/dashboard/assets/{min-B_cNy5kS.js → min-DcWdHBie.js} +1 -1
- package/dist/dashboard/assets/{mindmap-definition-QFDTVHPH-Cioz1NOY.js → mindmap-definition-QFDTVHPH-BSWtNXnF.js} +1 -1
- package/dist/dashboard/assets/{mr-IN-CRQNXWMA-DhEHYUYK.js → mr-IN-CRQNXWMA-DEac6VeJ.js} +1 -1
- package/dist/dashboard/assets/{my-MM-5M5IBNSE-Dj4Iwdrf.js → my-MM-5M5IBNSE-DcSFgD6q.js} +1 -1
- package/dist/dashboard/assets/{nb-NO-T6EIAALU-CvAPy7iN.js → nb-NO-T6EIAALU-CMd5OV1y.js} +1 -1
- package/dist/dashboard/assets/{nl-NL-IS3SIHDZ-DgQc3gPO.js → nl-NL-IS3SIHDZ-CX2kfxhY.js} +1 -1
- package/dist/dashboard/assets/{nn-NO-6E72VCQL-DORPUv8K.js → nn-NO-6E72VCQL-MpSm1-uc.js} +1 -1
- package/dist/dashboard/assets/{oc-FR-POXYY2M6-Cym9O8Me.js → oc-FR-POXYY2M6-Nso9HjoJ.js} +1 -1
- package/dist/dashboard/assets/{pa-IN-N4M65BXN-BiE5SCOy.js → pa-IN-N4M65BXN-Bc_09DWN.js} +1 -1
- package/dist/dashboard/assets/{percentages-BXMCSKIN-B-_e8Y6s.js → percentages-BXMCSKIN-DP6uG13u.js} +7 -7
- package/dist/dashboard/assets/{pica-C5ISA_oR.js → pica-CMpqUhac.js} +1 -1
- package/dist/dashboard/assets/{pieDiagram-DEJITSTG-CD7iu1Mo.js → pieDiagram-DEJITSTG-BNsvSiV8.js} +1 -1
- package/dist/dashboard/assets/{pl-PL-T2D74RX3-C-29ZIfD.js → pl-PL-T2D74RX3-CJWz-KGN.js} +1 -1
- package/dist/dashboard/assets/{pt-BR-5N22H2LF-CIQq615m.js → pt-BR-5N22H2LF-DHX3cV6G.js} +1 -1
- package/dist/dashboard/assets/{pt-PT-UZXXM6DQ-CN7xbXrH.js → pt-PT-UZXXM6DQ-CU_RnGju.js} +1 -1
- package/dist/dashboard/assets/{quadrantDiagram-34T5L4WZ-DEPkZ_lv.js → quadrantDiagram-34T5L4WZ-CnG8TUp0.js} +1 -1
- package/dist/dashboard/assets/{requirementDiagram-MS252O5E-BpAjr03x.js → requirementDiagram-MS252O5E-CVzV4vf5.js} +1 -1
- package/dist/dashboard/assets/{ro-RO-JPDTUUEW-DBtenXzw.js → ro-RO-JPDTUUEW-aYl76VP7.js} +1 -1
- package/dist/dashboard/assets/{ru-RU-B4JR7IUQ-CA_iHOeh.js → ru-RU-B4JR7IUQ-B_y9bRe1.js} +1 -1
- package/dist/dashboard/assets/{sankeyDiagram-XADWPNL6-B1zLPVle.js → sankeyDiagram-XADWPNL6-CZLhklJg.js} +1 -1
- package/dist/dashboard/assets/{sequenceDiagram-FGHM5R23-pEX8i9B5.js → sequenceDiagram-FGHM5R23-DjCIzK1N.js} +1 -1
- package/dist/dashboard/assets/{si-LK-N5RQ5JYF-BTsFn4Rn.js → si-LK-N5RQ5JYF-DYVfARgr.js} +1 -1
- package/dist/dashboard/assets/{sk-SK-C5VTKIMK-DGoN-I5B.js → sk-SK-C5VTKIMK-B6Mg_bJ9.js} +1 -1
- package/dist/dashboard/assets/{sl-SI-NN7IZMDC-CwiRr92B.js → sl-SI-NN7IZMDC-Ck2a-g0A.js} +1 -1
- package/dist/dashboard/assets/{stateDiagram-FHFEXIEX-W_EdYNVF.js → stateDiagram-FHFEXIEX-D9Z-sJAh.js} +1 -1
- package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-nhVyYoyX.js +1 -0
- package/dist/dashboard/assets/{subset-shared.chunk-CAlKIepB.js → subset-shared.chunk-CE199FVY.js} +1 -1
- package/dist/dashboard/assets/{subset-worker.chunk-YIXEPnjQ.js → subset-worker.chunk-DKgKGIuW.js} +1 -1
- package/dist/dashboard/assets/{sv-SE-XGPEYMSR-7SNur8Fe.js → sv-SE-XGPEYMSR-C9Hkuq3i.js} +1 -1
- package/dist/dashboard/assets/{ta-IN-2NMHFXQM-DqQBCB2J.js → ta-IN-2NMHFXQM-IEhskXEC.js} +1 -1
- package/dist/dashboard/assets/{th-TH-HPSO5L25-ClwEsAak.js → th-TH-HPSO5L25-DTb8f2Te.js} +1 -1
- package/dist/dashboard/assets/{timeline-definition-GMOUNBTQ-uPtwwnY7.js → timeline-definition-GMOUNBTQ-n1YhmZQ4.js} +1 -1
- package/dist/dashboard/assets/{tr-TR-DEFEU3FU-DmCg5qbG.js → tr-TR-DEFEU3FU-CnEnSvd1.js} +1 -1
- package/dist/dashboard/assets/{uk-UA-QMV73CPH-DixKG8eB.js → uk-UA-QMV73CPH-CV5yaOns.js} +1 -1
- package/dist/dashboard/assets/{vennDiagram-DHZGUBPP-CAggDlIj.js → vennDiagram-DHZGUBPP-EZuBw-Y1.js} +1 -1
- package/dist/dashboard/assets/{vi-VN-M7AON7JQ-C15Za2rn.js → vi-VN-M7AON7JQ-C_pZqaaY.js} +1 -1
- package/dist/dashboard/assets/{wardley-RL74JXVD-D5C_gWsf.js → wardley-RL74JXVD-CEAA3DK-.js} +1 -1
- package/dist/dashboard/assets/{wardleyDiagram-NUSXRM2D-tqYHOmfO.js → wardleyDiagram-NUSXRM2D-DhmpY-nw.js} +1 -1
- package/dist/dashboard/assets/{xychartDiagram-5P7HB3ND-CsxZKm-V.js → xychartDiagram-5P7HB3ND-BCfqQ3yb.js} +1 -1
- package/dist/dashboard/assets/{zh-CN-LNUGB5OW-BhlF39b5.js → zh-CN-LNUGB5OW-C9EPIaEx.js} +1 -1
- package/dist/dashboard/assets/{zh-HK-E62DVLB3-P2FWmB4w.js → zh-HK-E62DVLB3-RZGyfbKw.js} +1 -1
- package/dist/dashboard/assets/{zh-TW-RAJ6MFWO-B0yB1dNp.js → zh-TW-RAJ6MFWO-CfQ4KbkI.js} +1 -1
- package/dist/dashboard/index.html +1 -1
- package/dist/index.js +4142 -1919
- package/dist/skill-packs/council/SKILL.md +3 -2
- package/dist/skill-packs/council/debate-protocol.md +1 -1
- package/dist/skill-packs/excalidraw/SKILL.md +38 -28
- package/dist/templates/AGENTS.md +1 -1
- package/dist/templates/CLAUDE.md +1 -1
- package/package.json +3 -1
- package/skill/SKILL.md +206 -498
- package/skill/references/cli-reference.md +203 -0
- package/skill/references/improving-dreamcontext.md +39 -0
- package/skill/references/integrations.md +236 -0
- package/skill/references/knowledge-and-recall.md +157 -0
- package/skill/references/sleep.md +88 -0
- package/skill/references/tasks-and-features.md +170 -0
- package/skill-curator/SKILL.md +234 -0
- package/skill-initializer/SKILL.md +243 -0
- package/skill-packs/council/SKILL.md +3 -2
- package/skill-packs/council/debate-protocol.md +1 -1
- package/skill-packs/excalidraw/SKILL.md +38 -28
- package/agents/dreamcontext-initializer.md +0 -308
- package/dist/agents/dreamcontext-initializer.md +0 -308
- package/dist/dashboard/assets/channel-CIQg6WkP.js +0 -1
- package/dist/dashboard/assets/classDiagram-6PBFFD2Q-kJkUaIqm.js +0 -1
- package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-kJkUaIqm.js +0 -1
- package/dist/dashboard/assets/clone-COSoK5_M.js +0 -1
- package/dist/dashboard/assets/index-DjaqCcd7.js +0 -482
- package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-BsdphuJ6.js +0 -1
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: initializer
|
|
3
|
+
description: >
|
|
4
|
+
Load when a project's dreamcontext brain is missing or sparse and needs to be
|
|
5
|
+
bootstrapped from real material — or the user invokes `/initializer`. Triggers:
|
|
6
|
+
"initialize my brain", "set up dreamcontext from my docs", "ingest my notes /
|
|
7
|
+
wiki / Obsidian / Notion export", "there's no _dream_context yet", "bootstrap
|
|
8
|
+
the context from this folder", or any time you detect no/empty `_dream_context/`
|
|
9
|
+
and the user has existing project material to ingest. This is the interactive,
|
|
10
|
+
sub-agent-driven bootstrap — it migrates whatever the user has into the proper
|
|
11
|
+
knowledge / feature / task hierarchy. It is the single bootstrap surface for
|
|
12
|
+
dreamcontext; it also handles codebase-only repos (a light scout + ingest pass)
|
|
13
|
+
and scales down to a trivial scaffold when there's nothing to ingest.
|
|
14
|
+
user-invocable: true
|
|
15
|
+
alwaysApply: false
|
|
16
|
+
tags: [initializer, bootstrap, onboarding, ingestion, orchestration, sub-agents, dreamcontext]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Initializer — interactive, sub-agent-driven brain bootstrap
|
|
20
|
+
|
|
21
|
+
You are the **orchestrator**. Like `goal-skill`, `multi-review`, and `council`, **you
|
|
22
|
+
do not hand-author the bulk of the corpus yourself** — you dispatch sub-agents, read
|
|
23
|
+
their results, gate the transitions, and drive convergence loops until the brain is
|
|
24
|
+
genuinely initialized. Your value is judgment at the gates and the conversation with the
|
|
25
|
+
user about *their* desired structure — not typing every knowledge file by hand.
|
|
26
|
+
|
|
27
|
+
A brain is **initialized** when the verifier passes against the corpus: real content
|
|
28
|
+
across soul/user/memory + tech-stack + data-structures, the user's material ingested
|
|
29
|
+
into the hierarchy *they confirmed*, candidate features and people seeded, knowledge
|
|
30
|
+
distilled (not dumped), bookmarks laid for the first sleep — and **zero template
|
|
31
|
+
placeholders**. Not when `dreamcontext init` finished. That's just the empty shell.
|
|
32
|
+
|
|
33
|
+
## When to invoke
|
|
34
|
+
|
|
35
|
+
- `/initializer` (primary entry).
|
|
36
|
+
- You detect **no `_dream_context/`**, or a **sparse** one (only template stubs, empty
|
|
37
|
+
`knowledge/`, zero features) — and there is material worth ingesting.
|
|
38
|
+
- "Initialize my brain", "set up dreamcontext from my docs/wiki/export", "ingest this folder".
|
|
39
|
+
|
|
40
|
+
**The interactive trigger you must not miss:** when you notice the brain is missing or
|
|
41
|
+
sparse, **do not silently scaffold and move on, and do not wait to be asked.** Offer:
|
|
42
|
+
|
|
43
|
+
> *"I don't have a brain for this project yet — there's no/just-an-empty `_dream_context/`.
|
|
44
|
+
> I can initialize it properly. Point me at whatever you already have — a docs folder, an
|
|
45
|
+
> Obsidian/Notion export, ADRs, design notes, an old wiki or spec dump — and I'll ingest it
|
|
46
|
+
> into structured memory (knowledge, features, tasks) in the hierarchy you want. Or I can
|
|
47
|
+
> bootstrap from just the codebase. Which?"*
|
|
48
|
+
|
|
49
|
+
**Scale the machinery to the material.** A tiny repo with nothing to ingest does not need
|
|
50
|
+
the full scout → confirm → fan-out → verify dance. Say so and run the **light path**: a
|
|
51
|
+
single `initializer-scout` over the codebase + one `initializer-ingestor` to fill from it
|
|
52
|
+
(skip the Phase 3 confirmation when there's no hierarchy to negotiate), then a quick verify.
|
|
53
|
+
Reserve the full orchestration for real material the user wants ingested richly.
|
|
54
|
+
|
|
55
|
+
## Commitment ritual (do this FIRST — non-negotiable)
|
|
56
|
+
|
|
57
|
+
1. **Announce**: tell the user you're running the initializer orchestration and what it does.
|
|
58
|
+
2. **TodoWrite** the phases (0–7) as items. A phase isn't done until its gate passes.
|
|
59
|
+
3. **Track iteration counts** in the todo text for each convergence loop, e.g.
|
|
60
|
+
`Phase 4: progressive ingest (batch 3/7)`, `Phase 6: verify (iteration 2/3)`.
|
|
61
|
+
|
|
62
|
+
Skipping the ritual is the first step toward scaffolding an empty shell and calling it done.
|
|
63
|
+
|
|
64
|
+
## Orchestration flow
|
|
65
|
+
|
|
66
|
+
```mermaid
|
|
67
|
+
flowchart TD
|
|
68
|
+
P0[Phase 0 — RECOGNIZE & OFFER: detect missing/sparse brain, offer to ingest, ask where the material is + identity Qs] --> P1[Phase 1 — SCAFFOLD: dreamcontext init, detect multi-product]
|
|
69
|
+
P1 --> P2[Phase 2 — SCOUT: dispatch initializer-scout over codebase + each source root -> ingestion manifest]
|
|
70
|
+
P2 --> P3{Phase 3 — CONFIRM THE MAP: show proposed hierarchy, user adjusts -> agreed?}
|
|
71
|
+
P3 -->|user revises| P2
|
|
72
|
+
P3 -->|agreed| P4[Phase 4 — PROGRESSIVE INGEST: fan out initializer-ingestor per batch; track coverage]
|
|
73
|
+
P4 --> P5[Phase 5 — CORE FILES + WARM-UP: soul/user/memory/tech-stack/data-structures, people, taxonomy, bookmarks]
|
|
74
|
+
P5 --> P6{Phase 6 — VERIFY: initializer-verifier — PASS?}
|
|
75
|
+
P6 -->|FAIL and iter < 3| P4
|
|
76
|
+
P6 -->|cap reached| ESC[ESCALATE to user with the unresolved gaps]
|
|
77
|
+
P6 -->|PASS| P7[Phase 7 — REPORT: summary + honest 'to be defined' list + offer first sleep]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Phase 0 — RECOGNIZE & OFFER (interactive — ask, then wait)
|
|
81
|
+
|
|
82
|
+
1. Confirm the brain is missing/sparse (`ls _dream_context/`; if present, check for empty
|
|
83
|
+
`knowledge/`, zero `core/features/`, untouched template stubs).
|
|
84
|
+
2. Make the **offer** above. Then ask **only what you can't detect** (3–6 questions max):
|
|
85
|
+
- **Where is your material?** Absolute paths to folders/files to ingest (docs, exports,
|
|
86
|
+
wiki, ADRs, specs, notes). "None — codebase only" is a valid answer.
|
|
87
|
+
- **What is this project, in one sentence?** *(skip if README is clear)*
|
|
88
|
+
- **Who uses it?** *(skip if obvious)*
|
|
89
|
+
- **What matters most right now?** (current priority)
|
|
90
|
+
- **Any rules for how I should work / hard constraints?**
|
|
91
|
+
Wait for the answers. Capture them in TodoWrite — they feed Phases 2, 5, and the verifier.
|
|
92
|
+
|
|
93
|
+
### Phase 1 — SCAFFOLD
|
|
94
|
+
|
|
95
|
+
Create the structure. Detect multi-product first (monorepo with clearly separable
|
|
96
|
+
products → pass `--multi-product "web,ios,api"`, lowercase kebab-case):
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
dreamcontext init --yes --name "<detected>" --description "<detected>" --stack "<detected>" --priority "<from Phase 0>"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
If `_dream_context/` already exists but is sparse, **do not clobber** — skip init, work
|
|
103
|
+
with what's there, and treat the gaps as the ingestion target.
|
|
104
|
+
|
|
105
|
+
### Phase 2 — SCOUT (sub-agent fan-out → ingestion manifest)
|
|
106
|
+
|
|
107
|
+
Dispatch **`initializer-scout`** (read-only). For a single source root, one scout. For
|
|
108
|
+
**several large source roots, fan out one scout per root in parallel** (single message,
|
|
109
|
+
multiple Agent calls) — each blind to the others; you merge their manifests.
|
|
110
|
+
|
|
111
|
+
Give each scout: the codebase root, the source path(s) it owns, and the Phase 0 answers.
|
|
112
|
+
It returns a structured **ingestion manifest** — every source artifact categorized and
|
|
113
|
+
mapped to a target:
|
|
114
|
+
|
|
115
|
+
| Target type | What lands there |
|
|
116
|
+
|---|---|
|
|
117
|
+
| `knowledge/<context>/<slug>.md` | research, decisions, rationale, domain/technical deep context |
|
|
118
|
+
| `knowledge/data-structures/<product>.md` | real schemas (Prisma/SQL/ORM) — actual tables/fields |
|
|
119
|
+
| `core/features/<name>.md` | product capabilities (what a feature *is*) — candidate PRDs |
|
|
120
|
+
| `state/<task>.md` | open/in-flight work, TODOs, roadmap items |
|
|
121
|
+
| people roster | distinct git authors (`git shortlog -sne`) |
|
|
122
|
+
| taxonomy `domain:<x>` | recurring project nouns |
|
|
123
|
+
| bookmark | salient moments worth tagging for the first sleep |
|
|
124
|
+
|
|
125
|
+
The scout also proposes a **folder hierarchy** for `knowledge/` (context subfolders) and
|
|
126
|
+
**dedups** against anything already present. A manifest that says "ingest the docs" without
|
|
127
|
+
naming source→target per artifact is rejected — send it back.
|
|
128
|
+
|
|
129
|
+
### Phase 3 — CONFIRM THE MAP (interactive gate — the user owns the shape)
|
|
130
|
+
|
|
131
|
+
Show the user the proposed hierarchy and mapping: knowledge contexts/folders, candidate
|
|
132
|
+
features, tasks, people, taxonomy. **This is where the user's desired structure wins** —
|
|
133
|
+
they rename contexts, merge/split folders, drop noise, promote/demote features. Iterate
|
|
134
|
+
Phase 2 ↔ 3 until the user agrees. Do not start writing until the map is confirmed; a wrong
|
|
135
|
+
hierarchy is expensive to unwind once files exist.
|
|
136
|
+
|
|
137
|
+
If running fully autonomously with no user, adopt the scout's proposal, record that you
|
|
138
|
+
chose it, and surface it in the Phase 7 report for confirmation.
|
|
139
|
+
|
|
140
|
+
### Phase 4 — PROGRESSIVE INGEST (sub-agent fan-out — the core)
|
|
141
|
+
|
|
142
|
+
Dispatch **`initializer-ingestor`** workers over the confirmed manifest, **one batch per
|
|
143
|
+
context / product / feature-cluster** so each fits comfortably in one agent's context.
|
|
144
|
+
Use `parallel` for independent batches, or `pipeline` when later batches reference earlier
|
|
145
|
+
ones. Each ingestor:
|
|
146
|
+
|
|
147
|
+
- **Distills, never dumps** — summarizes durable decisions/structure; links back to the
|
|
148
|
+
source path in the body. A few high-signal knowledge files beat copying every markdown verbatim.
|
|
149
|
+
- Writes into the **confirmed hierarchy** (`knowledge/<context>/…`), creates candidate
|
|
150
|
+
features (`--status planning`), seeds tasks for open work, captures real schemas.
|
|
151
|
+
- Uses the **CLI, never hand-edits JSON** (`knowledge create`, `features create`,
|
|
152
|
+
`tasks create`, `taxonomy add`).
|
|
153
|
+
- **Bookmarks** salient moments (`bookmark add … -s <1|2|3>`) so the first sleep has ripples to process.
|
|
154
|
+
|
|
155
|
+
**Track coverage in TodoWrite** (`batch N/M`). Loop until every manifest entry is ingested
|
|
156
|
+
or consciously dropped. **Nothing is silently skipped** — if you cap out (3 passes) with
|
|
157
|
+
entries still unprocessed, ESCALATE with the list. Re-dispatch failed batches; don't drop them.
|
|
158
|
+
|
|
159
|
+
### Phase 5 — CORE FILES + WARM-UP
|
|
160
|
+
|
|
161
|
+
Populate the always-loaded core from the gathered intelligence (you or a final ingestor pass):
|
|
162
|
+
|
|
163
|
+
- **0.soul.md** — identity, target user, current priority, principles (from codebase patterns
|
|
164
|
+
+ user), constraints, agent behaviors/rules, non-negotiables.
|
|
165
|
+
- **1.user.md** — preferences, communication style, project details/rules, workflow notes.
|
|
166
|
+
- **2.memory.md** — Technical Decisions + Known Issues **only** (no LIFO ship-narrative — that
|
|
167
|
+
lives in CHANGELOG via `dreamcontext memory remember`).
|
|
168
|
+
- **4.tech_stack.md** — detected frameworks **and their conventions** + infra, not a flat dep dump.
|
|
169
|
+
- **People** (`dreamcontext config people "A" "B"`) when >1 distinct human git author.
|
|
170
|
+
- **Taxonomy** (`dreamcontext taxonomy add domain:<concept>`) for recurring nouns.
|
|
171
|
+
- Optional planning version if there's a clear near-term focus (`dreamcontext core releases add …`).
|
|
172
|
+
|
|
173
|
+
### Phase 6 — VERIFY (the real gate)
|
|
174
|
+
|
|
175
|
+
Dispatch **`initializer-verifier`** (read-only + Bash). It returns `PASS | FAIL` with evidence:
|
|
176
|
+
no template placeholders in shipped core files, `dreamcontext doctor` clean, `dreamcontext
|
|
177
|
+
memory recall "<seed query>"` returns real hits, knowledge index built, **no feature/knowledge
|
|
178
|
+
duplication** of the same topic, hierarchy sane.
|
|
179
|
+
|
|
180
|
+
- **FAIL** → route **back to Phase 4/5**, fix the specific gaps, re-verify. Cap = 3 → ESCALATE.
|
|
181
|
+
- **PASS** → the brain is initialized.
|
|
182
|
+
|
|
183
|
+
### Phase 7 — REPORT
|
|
184
|
+
|
|
185
|
+
Summarize: what was created/populated and how confidently; features/people/knowledge/tasks
|
|
186
|
+
seeded; the honest **"to be defined: <what's missing and who can provide it>"** list; then
|
|
187
|
+
**offer the first sleep** so the fresh corpus is consolidated and the index/staleness are warm.
|
|
188
|
+
|
|
189
|
+
## Convergence rules (how the loops end)
|
|
190
|
+
|
|
191
|
+
- Every loop has a hard **iteration cap of 3**. Hitting it means **ESCALATE to the user** — never "good enough, ship the shell".
|
|
192
|
+
- Update the TodoWrite count before each loop-back. Past the cap → stop and escalate with specifics.
|
|
193
|
+
- "Initialized" is defined by Phase 6 PASS — not by `init` finishing or the shell looking populated.
|
|
194
|
+
|
|
195
|
+
## Red Flags — STOP, you're about to ship an empty shell
|
|
196
|
+
|
|
197
|
+
| Thought | Reality |
|
|
198
|
+
|---|---|
|
|
199
|
+
| "No `_dream_context/` — I'll just run `init` and continue." | `init` is the empty shell. The offer + ingestion is the point. Run the orchestration. |
|
|
200
|
+
| "The user didn't mention docs, so there's nothing to ingest." | You didn't ask. Phase 0's offer is mandatory — ask where their material is. |
|
|
201
|
+
| "I'll author all the knowledge files myself." | The orchestrator dispatches ingestors. Hand-authoring one or two is fine; the corpus is fan-out work. |
|
|
202
|
+
| "I'll pick the folder structure; it's obvious." | The hierarchy is the user's call (Phase 3). Propose, then let them shape it. |
|
|
203
|
+
| "I'll dump each source doc verbatim into a knowledge file." | Distill, don't dump. Verbatim dumps pollute recall. |
|
|
204
|
+
| "Some source files didn't get ingested, but most did." | Nothing is silently dropped. Track coverage; re-dispatch or escalate the remainder. |
|
|
205
|
+
| "It's a feature AND a knowledge file — I'll create both." | One home per topic. Feature OR knowledge, never both (verifier fails this). |
|
|
206
|
+
| "Looks populated, I'll report done." | Done = Phase 6 verifier PASS with evidence. Placeholders or a failing `doctor` = not done. |
|
|
207
|
+
|
|
208
|
+
## Rationalization table
|
|
209
|
+
|
|
210
|
+
| If you think… | The truth is… | So… |
|
|
211
|
+
|---|---|---|
|
|
212
|
+
| "Asking where their material is slows things down." | Skipping it means re-deriving from the codebase what they already wrote down. | Make the offer; ingest what exists. |
|
|
213
|
+
| "The scout's hierarchy is fine, skip the user." | The user's mental model of *their* project beats your inference. | Confirm the map in Phase 3. |
|
|
214
|
+
| "Fan-out is overhead; one big pass is simpler." | One context can't hold a large corpus; it drops or blurs material. | Batch by context/product and fan out ingestors. |
|
|
215
|
+
| "Verifier will rubber-stamp." | A mis-prompted verifier rubber-stamps. Give it the checklist and demand evidence. | Treat FAIL as binding; loop or escalate. |
|
|
216
|
+
|
|
217
|
+
## Hard rules
|
|
218
|
+
|
|
219
|
+
- **Orchestrator drives sub-agents.** Scout (intake) → ingestor (fan-out write) → verifier (gate). You gate; you don't hand-write the whole corpus.
|
|
220
|
+
- **Phase 0's offer is non-negotiable.** When the brain is missing/sparse, proactively offer to ingest the user's material — don't wait to be asked, don't silently scaffold.
|
|
221
|
+
- **The user owns the hierarchy** (Phase 3). Propose; let them shape it before any files are written.
|
|
222
|
+
- **Distill, don't dump.** Knowledge files summarize; they link back to sources.
|
|
223
|
+
- **One home per topic.** Feature **or** knowledge, never both. Recall before create; update over duplicate.
|
|
224
|
+
- **CLI, never hand-edit JSON** — features/people/taxonomy/releases/tasks all via `dreamcontext`.
|
|
225
|
+
- **No placeholders ship.** Phase 6 verifier proves it; unreplaced `{{TOKEN}}` or "(add your…)" prose = FAIL.
|
|
226
|
+
- **Nothing silently dropped.** Track ingestion coverage; re-dispatch or escalate the remainder.
|
|
227
|
+
- **Caps are hard** (3 per loop). At the cap, escalate — never declare initialized.
|
|
228
|
+
- **Use the `dreamcontext` skill** throughout — schema, conventions, and the CLI surface come from it.
|
|
229
|
+
|
|
230
|
+
## Relationship to other surfaces
|
|
231
|
+
|
|
232
|
+
| Surface | Stage | Relationship |
|
|
233
|
+
|---|---|---|
|
|
234
|
+
| `initializer` (this) | First-run / re-init / enrichment | The single bootstrap surface — owns scaffold + progressive ingestion, from codebase-only to a full material import. |
|
|
235
|
+
| `initializer-scout` / `-ingestor` / `-verifier` | This skill's workers | Intake (manifest) → fan-out write → PASS/FAIL gate. Dispatched at Phases 2 / 4 / 6. |
|
|
236
|
+
| `goal-skill` | End-to-end build of a goal | The pattern this skill mirrors (plan→review→implement→validate ≈ scout→confirm→ingest→verify). Use *after* init for feature work. |
|
|
237
|
+
| Sleep / consolidation | Post-init | Phase 7 offers the first sleep so the new corpus is consolidated and the index warms. |
|
|
238
|
+
|
|
239
|
+
## Slash command wiring
|
|
240
|
+
|
|
241
|
+
`/initializer` invokes this skill. The natural-language triggers in **When to invoke** also
|
|
242
|
+
load it. (Named `initializer`, not `init`, to avoid colliding with the built-in `/init`
|
|
243
|
+
CLAUDE.md generator and the `dreamcontext init` CLI scaffold.)
|
|
@@ -119,8 +119,9 @@ the user. Ask:
|
|
|
119
119
|
|
|
120
120
|
- **y** → `dreamcontext council promote <debate_id>` (writes
|
|
121
121
|
`_dream_context/knowledge/decision-<slug>.md`)
|
|
122
|
-
- **n / later** → leave as-is. The
|
|
123
|
-
|
|
122
|
+
- **n / later** → leave as-is. The next sleep consolidation will pick it up (the
|
|
123
|
+
main agent runs `dreamcontext council list --unpromoted` during the sleep flow)
|
|
124
|
+
and decide based on your engagement signals.
|
|
124
125
|
|
|
125
126
|
## Hard rules
|
|
126
127
|
|
|
@@ -23,7 +23,7 @@ and idempotency notes.
|
|
|
23
23
|
| `council synthesize <id>` | Prepare synthesis | Prints manifest. Status → `synthesizing`. |
|
|
24
24
|
| `council complete <id>` | Finalize | Requires `final-report.md` to exist. |
|
|
25
25
|
| `council promote <id>` | Copy to knowledge/ | Trims to Verdict + Why + Minority views + Open risks. Skips What-was-debated + Appendix. |
|
|
26
|
-
| `council list [--unpromoted\|--all]` | Triage | `--unpromoted` used
|
|
26
|
+
| `council list [--unpromoted\|--all]` | Triage | `--unpromoted` used during the sleep consolidation (council-promote check). |
|
|
27
27
|
| `council show <id>` | Inspection | Prints debate metadata + round-log. |
|
|
28
28
|
|
|
29
29
|
### Sub-agent commands
|
|
@@ -205,9 +205,13 @@ See `reference/format.md` for the exact `.excalidraw.md` anatomy reverse-enginee
|
|
|
205
205
|
|
|
206
206
|
## Boards as first-class knowledge in dreamcontext
|
|
207
207
|
|
|
208
|
-
When the project uses dreamcontext, Excalidraw
|
|
209
|
-
|
|
210
|
-
|
|
208
|
+
When the project uses dreamcontext, an Excalidraw board belongs **inside the context folder it
|
|
209
|
+
documents** — co-located with that context's knowledge, e.g.
|
|
210
|
+
`_dream_context/knowledge/<context>/<title>/<title>.excalidraw.md`. Diagrams are NOT a segregated
|
|
211
|
+
top-level dump; they live with the context they illustrate (`knowledge/**/*.md` is indexed
|
|
212
|
+
recursively, so a board in a context subfolder is fully recalled). Boards are indexed and recalled
|
|
213
|
+
like any knowledge file — but memory extracts ONLY the `## Text Elements` section (never the scene
|
|
214
|
+
JSON).
|
|
211
215
|
|
|
212
216
|
### Required frontmatter
|
|
213
217
|
|
|
@@ -225,26 +229,29 @@ excalidraw-plugin: parsed
|
|
|
225
229
|
|
|
226
230
|
### Folder convention (preferred)
|
|
227
231
|
|
|
232
|
+
A board lives in its own `<title>/` wrapper folder, INSIDE the context it documents:
|
|
233
|
+
|
|
228
234
|
```
|
|
229
|
-
_dream_context/knowledge/
|
|
230
|
-
├──
|
|
231
|
-
│ ├──
|
|
232
|
-
│
|
|
233
|
-
│
|
|
234
|
-
├──
|
|
235
|
-
│
|
|
236
|
-
|
|
237
|
-
└──
|
|
235
|
+
_dream_context/knowledge/
|
|
236
|
+
├── recall/ ← a context folder (its knowledge + its diagram)
|
|
237
|
+
│ ├── recall-engine-v2.md
|
|
238
|
+
│ └── recall/
|
|
239
|
+
│ ├── recall.excalidraw.md ← generated board (do NOT hand-edit scene JSON)
|
|
240
|
+
│ ├── recall.board.cjs ← generator (dark sibling — excluded from index/recall)
|
|
241
|
+
│ └── recall.json ← spec / source of truth (dark sibling — excluded)
|
|
242
|
+
├── system/
|
|
243
|
+
│ └── architecture/
|
|
244
|
+
│ └── architecture.excalidraw.md
|
|
245
|
+
└── diagrams/ ← LEGACY top-level tree still works (apply-diagrams maintains it)
|
|
246
|
+
└── legacy-flat.excalidraw.md
|
|
238
247
|
```
|
|
239
248
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
`.board.cjs` that `require()`s shared helpers by relative path must use a depth that matches its
|
|
245
|
-
actual location.
|
|
249
|
+
Nesting is free-form, any depth — the dashboard Knowledge view renders the whole `knowledge/` tree
|
|
250
|
+
as a nested, collapsible folder tree (each board shows a sketch icon), so a large diagram set stays
|
|
251
|
+
navigable. A board's own `<title>/` folder is always its innermost folder. Note: a `.board.cjs`
|
|
252
|
+
that `require()`s shared helpers by relative path must use a depth that matches its actual location.
|
|
246
253
|
|
|
247
|
-
**Dark siblings**: tooling files inside a
|
|
254
|
+
**Dark siblings**: tooling files inside a board's `<title>/` folder are automatically excluded
|
|
248
255
|
from the index, recall corpus, snapshot, and dashboard list — generator scripts (`.board.cjs`),
|
|
249
256
|
spec JSON, and frontmatter-less helper `.md` notes. They are tooling — they do not pollute memory.
|
|
250
257
|
|
|
@@ -254,8 +261,9 @@ detailed write-up — e.g. `acme/acme.excalidraw.md` next to `acme/acme.teardown
|
|
|
254
261
|
teardown recall normally. Only frontmatter-less notes stay dark, so good organization no longer
|
|
255
262
|
costs you recall.
|
|
256
263
|
|
|
257
|
-
**Flat layout** (`diagrams/<title>.excalidraw.md`) works without
|
|
258
|
-
|
|
264
|
+
**Flat legacy layout** (`diagrams/<title>.excalidraw.md`) still works without migration, but new
|
|
265
|
+
boards belong in their context folder (above); use a per-title `<title>/` folder to keep the
|
|
266
|
+
board + generator + spec together cleanly.
|
|
259
267
|
|
|
260
268
|
### Memory contract
|
|
261
269
|
|
|
@@ -270,18 +278,20 @@ per-title folder when you want to keep the board + generator + spec together cle
|
|
|
270
278
|
|
|
271
279
|
| Board nature | Location | Indexed? |
|
|
272
280
|
|---|---|---|
|
|
273
|
-
| Canonical / source-of-truth (architecture, system flows, roadmaps, durable plans the agent should recall in future sessions) | `
|
|
281
|
+
| Canonical / source-of-truth (architecture, system flows, roadmaps, durable plans the agent should recall in future sessions) | inside its `knowledge/<context>/<title>/` folder | Yes — indexed, recalled |
|
|
274
282
|
| Temporary / scratch / exploratory / in-progress | `inbox/` or `workspace/` (dark by location) | No — not indexed, will not pollute recall |
|
|
275
283
|
|
|
276
|
-
**Decision rule**: "Will a future session need to know this? → `knowledge
|
|
284
|
+
**Decision rule**: "Will a future session need to know this? → its context folder under `knowledge/`. Throwaway/working? → `inbox/` or `workspace/`."
|
|
277
285
|
|
|
278
|
-
Promote a board from inbox/workspace
|
|
286
|
+
Promote a board from inbox/workspace into its context folder only once it becomes canonical.
|
|
279
287
|
|
|
280
|
-
###
|
|
288
|
+
### Legacy `knowledge/diagrams/` + migration
|
|
281
289
|
|
|
282
|
-
|
|
290
|
+
Older projects kept all boards under a single top-level `knowledge/diagrams/` tree. That still
|
|
291
|
+
indexes and renders, and `sleep-product` keeps the store organized over time — but new boards
|
|
292
|
+
should go in their **context folder** (above), not the segregated dump.
|
|
283
293
|
|
|
284
|
-
- `dreamcontext migrations pending` — see pending migration task instructions (
|
|
285
|
-
- `dreamcontext migrations apply-diagrams` —
|
|
294
|
+
- `dreamcontext migrations pending` — see pending migration task instructions (incl. 0.7.2 diagrams-folder-convention).
|
|
295
|
+
- `dreamcontext migrations apply-diagrams` — structural/legacy: folds flat `knowledge/diagrams/*.excalidraw.md` boards into per-title folders AND rewrites inbound [[wikilinks]] atomically. Safe to re-run. Do NOT hand-edit wikilinks manually.
|
|
286
296
|
|
|
287
297
|
Only organize boards you confirm are canonical knowledge. Temp/scratch boards stay in inbox/workspace.
|