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.
Files changed (159) hide show
  1. package/README.md +31 -7
  2. package/agents/curator-auditor.md +114 -0
  3. package/agents/curator-verifier.md +86 -0
  4. package/agents/curator-worker.md +81 -0
  5. package/agents/dreamcontext-explore.md +7 -3
  6. package/agents/initializer-ingestor.md +84 -0
  7. package/agents/initializer-scout.md +87 -0
  8. package/agents/initializer-verifier.md +75 -0
  9. package/agents/sleep-migration.md +18 -10
  10. package/agents/sleep-product.md +7 -7
  11. package/agents/sleep-state.md +3 -3
  12. package/agents/sleep-tasks.md +4 -3
  13. package/dist/agents/curator-auditor.md +114 -0
  14. package/dist/agents/curator-verifier.md +86 -0
  15. package/dist/agents/curator-worker.md +81 -0
  16. package/dist/agents/dreamcontext-explore.md +7 -3
  17. package/dist/agents/initializer-ingestor.md +84 -0
  18. package/dist/agents/initializer-scout.md +87 -0
  19. package/dist/agents/initializer-verifier.md +75 -0
  20. package/dist/agents/sleep-migration.md +18 -10
  21. package/dist/agents/sleep-product.md +7 -7
  22. package/dist/agents/sleep-state.md +3 -3
  23. package/dist/agents/sleep-tasks.md +4 -3
  24. package/dist/dashboard/assets/{BrainCanvas3D-CyuMh6vC.js → BrainCanvas3D-hy-bJKIJ.js} +1 -1
  25. package/dist/dashboard/assets/{_baseUniq-TeXEp9Tn.js → _baseUniq-DduL-UlQ.js} +1 -1
  26. package/dist/dashboard/assets/{ar-SA-G6X2FPQ2-Da5wNUeW.js → ar-SA-G6X2FPQ2-CrmB7xfA.js} +1 -1
  27. package/dist/dashboard/assets/{arc-NQuoeYrp.js → arc-sHUGY_nD.js} +1 -1
  28. package/dist/dashboard/assets/{architectureDiagram-Q4EWVU46-B108azq_.js → architectureDiagram-Q4EWVU46-DgYle1Hc.js} +1 -1
  29. package/dist/dashboard/assets/{az-AZ-76LH7QW2-cJYSsraO.js → az-AZ-76LH7QW2-xoplM1zS.js} +1 -1
  30. package/dist/dashboard/assets/{bg-BG-XCXSNQG7-Dt4_IvAk.js → bg-BG-XCXSNQG7-BF4iIrZQ.js} +1 -1
  31. package/dist/dashboard/assets/{blockDiagram-DXYQGD6D-HAo6Tqxd.js → blockDiagram-DXYQGD6D-YPBR1t-F.js} +1 -1
  32. package/dist/dashboard/assets/{bn-BD-2XOGV67Q-DE20hZpG.js → bn-BD-2XOGV67Q-KGLt7gMU.js} +1 -1
  33. package/dist/dashboard/assets/{c4Diagram-AHTNJAMY-SHRA5Nk_.js → c4Diagram-AHTNJAMY-B1KEuF7Q.js} +1 -1
  34. package/dist/dashboard/assets/{ca-ES-6MX7JW3Y-9ZUzuDs-.js → ca-ES-6MX7JW3Y-BYuoubhq.js} +1 -1
  35. package/dist/dashboard/assets/channel-BvyIgIvU.js +1 -0
  36. package/dist/dashboard/assets/{chunk-4BX2VUAB-BlLy4y9z.js → chunk-4BX2VUAB-BALrhoW_.js} +1 -1
  37. package/dist/dashboard/assets/{chunk-4TB4RGXK-cDLog-pk.js → chunk-4TB4RGXK-8uLOmmU8.js} +1 -1
  38. package/dist/dashboard/assets/{chunk-55IACEB6-BfLlL9Jv.js → chunk-55IACEB6-D2hViX7K.js} +1 -1
  39. package/dist/dashboard/assets/{chunk-EDXVE4YY-BjKTlHye.js → chunk-EDXVE4YY-C9foqo-F.js} +1 -1
  40. package/dist/dashboard/assets/{chunk-FMBD7UC4-CoMoOB69.js → chunk-FMBD7UC4-D1G0o3Ow.js} +1 -1
  41. package/dist/dashboard/assets/{chunk-OYMX7WX6-DSYZ4BzO.js → chunk-OYMX7WX6-CiVziVyS.js} +1 -1
  42. package/dist/dashboard/assets/{chunk-QZHKN3VN-hsCUyt37.js → chunk-QZHKN3VN-DE5GBsSY.js} +1 -1
  43. package/dist/dashboard/assets/{chunk-YZCP3GAM-CMBEUThQ.js → chunk-YZCP3GAM-BpQQIx3b.js} +1 -1
  44. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-B2f-mNIc.js +1 -0
  45. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-B2f-mNIc.js +1 -0
  46. package/dist/dashboard/assets/clone-BOZwMwp7.js +1 -0
  47. package/dist/dashboard/assets/{cose-bilkent-S5V4N54A-Ds3A4r-y.js → cose-bilkent-S5V4N54A-KvwZaKE7.js} +1 -1
  48. package/dist/dashboard/assets/{cs-CZ-2BRQDIVT-WgNPbRaT.js → cs-CZ-2BRQDIVT-xYBULEJ9.js} +1 -1
  49. package/dist/dashboard/assets/{da-DK-5WZEPLOC-BQPVoqBy.js → da-DK-5WZEPLOC-DF2tyJRb.js} +1 -1
  50. package/dist/dashboard/assets/{dagre-KV5264BT-D3AamC0s.js → dagre-KV5264BT-Du_qjhF2.js} +1 -1
  51. package/dist/dashboard/assets/{de-DE-XR44H4JA-FOMlLeg-.js → de-DE-XR44H4JA-DlmZt5e9.js} +1 -1
  52. package/dist/dashboard/assets/{diagram-5BDNPKRD-DeAuY_LW.js → diagram-5BDNPKRD-D7slatQr.js} +1 -1
  53. package/dist/dashboard/assets/{diagram-G4DWMVQ6-CsPuBl6m.js → diagram-G4DWMVQ6-DiCZYy5B.js} +1 -1
  54. package/dist/dashboard/assets/{diagram-MMDJMWI5-Celrp7iZ.js → diagram-MMDJMWI5-BxckEUHv.js} +1 -1
  55. package/dist/dashboard/assets/{diagram-TYMM5635-D-Y8kdqj.js → diagram-TYMM5635-BGh7adH7.js} +1 -1
  56. package/dist/dashboard/assets/{el-GR-BZB4AONW-DdhrZvUu.js → el-GR-BZB4AONW-3_nYTnDJ.js} +1 -1
  57. package/dist/dashboard/assets/{erDiagram-SMLLAGMA-CyPB81Ul.js → erDiagram-SMLLAGMA-Bgu7PR3l.js} +1 -1
  58. package/dist/dashboard/assets/{es-ES-U4NZUMDT-B-Hbpc6c.js → es-ES-U4NZUMDT-Blp-jVT8.js} +1 -1
  59. package/dist/dashboard/assets/{eu-ES-A7QVB2H4-CIeXN6PD.js → eu-ES-A7QVB2H4-DksJfC54.js} +1 -1
  60. package/dist/dashboard/assets/{fa-IR-HGAKTJCU-BojqXzkR.js → fa-IR-HGAKTJCU-DgwscI8H.js} +1 -1
  61. package/dist/dashboard/assets/{fi-FI-Z5N7JZ37-Dix2X0V9.js → fi-FI-Z5N7JZ37-D5xWl1j1.js} +1 -1
  62. package/dist/dashboard/assets/{flowDiagram-DWJPFMVM-D7IX0DxI.js → flowDiagram-DWJPFMVM-DRYxEOwt.js} +1 -1
  63. package/dist/dashboard/assets/{fr-FR-RHASNOE6-B-jqOA6L.js → fr-FR-RHASNOE6-C5ic6hfW.js} +1 -1
  64. package/dist/dashboard/assets/{ganttDiagram-T4ZO3ILL-CbK6p7_G.js → ganttDiagram-T4ZO3ILL-CNf0-tRS.js} +1 -1
  65. package/dist/dashboard/assets/{gitGraphDiagram-UUTBAWPF-DWDwNpLK.js → gitGraphDiagram-UUTBAWPF-B-fWXvro.js} +1 -1
  66. package/dist/dashboard/assets/{gl-ES-HMX3MZ6V-B6zmZpsw.js → gl-ES-HMX3MZ6V-CYsGLfzn.js} +1 -1
  67. package/dist/dashboard/assets/{graph-CrDZc6w0.js → graph-CqM3kXVs.js} +1 -1
  68. package/dist/dashboard/assets/{he-IL-6SHJWFNN-CaSPpOxb.js → he-IL-6SHJWFNN-DZp7dZBD.js} +1 -1
  69. package/dist/dashboard/assets/{hi-IN-IWLTKZ5I-n86mXoF4.js → hi-IN-IWLTKZ5I-DZ-8BLt8.js} +1 -1
  70. package/dist/dashboard/assets/{hu-HU-A5ZG7DT2-MqIG43UE.js → hu-HU-A5ZG7DT2-cIzehzha.js} +1 -1
  71. package/dist/dashboard/assets/{id-ID-SAP4L64H-DbrGiOFJ.js → id-ID-SAP4L64H-CHmT4Y6G.js} +1 -1
  72. package/dist/dashboard/assets/index-B_cYqPxr.js +482 -0
  73. package/dist/dashboard/assets/{index-zJ2-S49k.js → index-WuRpIREk.js} +1 -1
  74. package/dist/dashboard/assets/{infoDiagram-42DDH7IO-CpAQyAyt.js → infoDiagram-42DDH7IO-zeTnmz1D.js} +1 -1
  75. package/dist/dashboard/assets/{ishikawaDiagram-UXIWVN3A-DXIwINgb.js → ishikawaDiagram-UXIWVN3A-Bb756K5U.js} +1 -1
  76. package/dist/dashboard/assets/{it-IT-JPQ66NNP-IX1Td9Wl.js → it-IT-JPQ66NNP-D6lXGD0z.js} +1 -1
  77. package/dist/dashboard/assets/{ja-JP-DBVTYXUO-Bd8nX8VR.js → ja-JP-DBVTYXUO-DyuGqonM.js} +1 -1
  78. package/dist/dashboard/assets/{journeyDiagram-VCZTEJTY-DZlgujgy.js → journeyDiagram-VCZTEJTY-DFWvXLzk.js} +1 -1
  79. package/dist/dashboard/assets/{kaa-6HZHGXH3-D5xD9fsf.js → kaa-6HZHGXH3-oNCeqt-A.js} +1 -1
  80. package/dist/dashboard/assets/{kab-KAB-ZGHBKWFO-xBaAbT-9.js → kab-KAB-ZGHBKWFO-DfP6kptf.js} +1 -1
  81. package/dist/dashboard/assets/{kanban-definition-6JOO6SKY-0klC865z.js → kanban-definition-6JOO6SKY-DhKLuu7C.js} +1 -1
  82. package/dist/dashboard/assets/{kk-KZ-P5N5QNE5-CboXRRre.js → kk-KZ-P5N5QNE5-B63w7yii.js} +1 -1
  83. package/dist/dashboard/assets/{km-KH-HSX4SM5Z-Clsilmtp.js → km-KH-HSX4SM5Z-C8nYbGAM.js} +1 -1
  84. package/dist/dashboard/assets/{ko-KR-MTYHY66A-CIjzZcRO.js → ko-KR-MTYHY66A-D3wzPaIE.js} +1 -1
  85. package/dist/dashboard/assets/{ku-TR-6OUDTVRD-Bs1RU4e9.js → ku-TR-6OUDTVRD-C59UaChS.js} +1 -1
  86. package/dist/dashboard/assets/{layout-fipBctpD.js → layout-CtFtUFag.js} +1 -1
  87. package/dist/dashboard/assets/{linear-DVXXJr0u.js → linear-DubzSxx7.js} +1 -1
  88. package/dist/dashboard/assets/{lt-LT-XHIRWOB4-CQ-xLU_o.js → lt-LT-XHIRWOB4-C_buJu91.js} +1 -1
  89. package/dist/dashboard/assets/{lv-LV-5QDEKY6T-C0inT4d9.js → lv-LV-5QDEKY6T-BhQWVAR-.js} +1 -1
  90. package/dist/dashboard/assets/{min-B_cNy5kS.js → min-DcWdHBie.js} +1 -1
  91. package/dist/dashboard/assets/{mindmap-definition-QFDTVHPH-Cioz1NOY.js → mindmap-definition-QFDTVHPH-BSWtNXnF.js} +1 -1
  92. package/dist/dashboard/assets/{mr-IN-CRQNXWMA-DhEHYUYK.js → mr-IN-CRQNXWMA-DEac6VeJ.js} +1 -1
  93. package/dist/dashboard/assets/{my-MM-5M5IBNSE-Dj4Iwdrf.js → my-MM-5M5IBNSE-DcSFgD6q.js} +1 -1
  94. package/dist/dashboard/assets/{nb-NO-T6EIAALU-CvAPy7iN.js → nb-NO-T6EIAALU-CMd5OV1y.js} +1 -1
  95. package/dist/dashboard/assets/{nl-NL-IS3SIHDZ-DgQc3gPO.js → nl-NL-IS3SIHDZ-CX2kfxhY.js} +1 -1
  96. package/dist/dashboard/assets/{nn-NO-6E72VCQL-DORPUv8K.js → nn-NO-6E72VCQL-MpSm1-uc.js} +1 -1
  97. package/dist/dashboard/assets/{oc-FR-POXYY2M6-Cym9O8Me.js → oc-FR-POXYY2M6-Nso9HjoJ.js} +1 -1
  98. package/dist/dashboard/assets/{pa-IN-N4M65BXN-BiE5SCOy.js → pa-IN-N4M65BXN-Bc_09DWN.js} +1 -1
  99. package/dist/dashboard/assets/{percentages-BXMCSKIN-B-_e8Y6s.js → percentages-BXMCSKIN-DP6uG13u.js} +7 -7
  100. package/dist/dashboard/assets/{pica-C5ISA_oR.js → pica-CMpqUhac.js} +1 -1
  101. package/dist/dashboard/assets/{pieDiagram-DEJITSTG-CD7iu1Mo.js → pieDiagram-DEJITSTG-BNsvSiV8.js} +1 -1
  102. package/dist/dashboard/assets/{pl-PL-T2D74RX3-C-29ZIfD.js → pl-PL-T2D74RX3-CJWz-KGN.js} +1 -1
  103. package/dist/dashboard/assets/{pt-BR-5N22H2LF-CIQq615m.js → pt-BR-5N22H2LF-DHX3cV6G.js} +1 -1
  104. package/dist/dashboard/assets/{pt-PT-UZXXM6DQ-CN7xbXrH.js → pt-PT-UZXXM6DQ-CU_RnGju.js} +1 -1
  105. package/dist/dashboard/assets/{quadrantDiagram-34T5L4WZ-DEPkZ_lv.js → quadrantDiagram-34T5L4WZ-CnG8TUp0.js} +1 -1
  106. package/dist/dashboard/assets/{requirementDiagram-MS252O5E-BpAjr03x.js → requirementDiagram-MS252O5E-CVzV4vf5.js} +1 -1
  107. package/dist/dashboard/assets/{ro-RO-JPDTUUEW-DBtenXzw.js → ro-RO-JPDTUUEW-aYl76VP7.js} +1 -1
  108. package/dist/dashboard/assets/{ru-RU-B4JR7IUQ-CA_iHOeh.js → ru-RU-B4JR7IUQ-B_y9bRe1.js} +1 -1
  109. package/dist/dashboard/assets/{sankeyDiagram-XADWPNL6-B1zLPVle.js → sankeyDiagram-XADWPNL6-CZLhklJg.js} +1 -1
  110. package/dist/dashboard/assets/{sequenceDiagram-FGHM5R23-pEX8i9B5.js → sequenceDiagram-FGHM5R23-DjCIzK1N.js} +1 -1
  111. package/dist/dashboard/assets/{si-LK-N5RQ5JYF-BTsFn4Rn.js → si-LK-N5RQ5JYF-DYVfARgr.js} +1 -1
  112. package/dist/dashboard/assets/{sk-SK-C5VTKIMK-DGoN-I5B.js → sk-SK-C5VTKIMK-B6Mg_bJ9.js} +1 -1
  113. package/dist/dashboard/assets/{sl-SI-NN7IZMDC-CwiRr92B.js → sl-SI-NN7IZMDC-Ck2a-g0A.js} +1 -1
  114. package/dist/dashboard/assets/{stateDiagram-FHFEXIEX-W_EdYNVF.js → stateDiagram-FHFEXIEX-D9Z-sJAh.js} +1 -1
  115. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-nhVyYoyX.js +1 -0
  116. package/dist/dashboard/assets/{subset-shared.chunk-CAlKIepB.js → subset-shared.chunk-CE199FVY.js} +1 -1
  117. package/dist/dashboard/assets/{subset-worker.chunk-YIXEPnjQ.js → subset-worker.chunk-DKgKGIuW.js} +1 -1
  118. package/dist/dashboard/assets/{sv-SE-XGPEYMSR-7SNur8Fe.js → sv-SE-XGPEYMSR-C9Hkuq3i.js} +1 -1
  119. package/dist/dashboard/assets/{ta-IN-2NMHFXQM-DqQBCB2J.js → ta-IN-2NMHFXQM-IEhskXEC.js} +1 -1
  120. package/dist/dashboard/assets/{th-TH-HPSO5L25-ClwEsAak.js → th-TH-HPSO5L25-DTb8f2Te.js} +1 -1
  121. package/dist/dashboard/assets/{timeline-definition-GMOUNBTQ-uPtwwnY7.js → timeline-definition-GMOUNBTQ-n1YhmZQ4.js} +1 -1
  122. package/dist/dashboard/assets/{tr-TR-DEFEU3FU-DmCg5qbG.js → tr-TR-DEFEU3FU-CnEnSvd1.js} +1 -1
  123. package/dist/dashboard/assets/{uk-UA-QMV73CPH-DixKG8eB.js → uk-UA-QMV73CPH-CV5yaOns.js} +1 -1
  124. package/dist/dashboard/assets/{vennDiagram-DHZGUBPP-CAggDlIj.js → vennDiagram-DHZGUBPP-EZuBw-Y1.js} +1 -1
  125. package/dist/dashboard/assets/{vi-VN-M7AON7JQ-C15Za2rn.js → vi-VN-M7AON7JQ-C_pZqaaY.js} +1 -1
  126. package/dist/dashboard/assets/{wardley-RL74JXVD-D5C_gWsf.js → wardley-RL74JXVD-CEAA3DK-.js} +1 -1
  127. package/dist/dashboard/assets/{wardleyDiagram-NUSXRM2D-tqYHOmfO.js → wardleyDiagram-NUSXRM2D-DhmpY-nw.js} +1 -1
  128. package/dist/dashboard/assets/{xychartDiagram-5P7HB3ND-CsxZKm-V.js → xychartDiagram-5P7HB3ND-BCfqQ3yb.js} +1 -1
  129. package/dist/dashboard/assets/{zh-CN-LNUGB5OW-BhlF39b5.js → zh-CN-LNUGB5OW-C9EPIaEx.js} +1 -1
  130. package/dist/dashboard/assets/{zh-HK-E62DVLB3-P2FWmB4w.js → zh-HK-E62DVLB3-RZGyfbKw.js} +1 -1
  131. package/dist/dashboard/assets/{zh-TW-RAJ6MFWO-B0yB1dNp.js → zh-TW-RAJ6MFWO-CfQ4KbkI.js} +1 -1
  132. package/dist/dashboard/index.html +1 -1
  133. package/dist/index.js +4142 -1919
  134. package/dist/skill-packs/council/SKILL.md +3 -2
  135. package/dist/skill-packs/council/debate-protocol.md +1 -1
  136. package/dist/skill-packs/excalidraw/SKILL.md +38 -28
  137. package/dist/templates/AGENTS.md +1 -1
  138. package/dist/templates/CLAUDE.md +1 -1
  139. package/package.json +3 -1
  140. package/skill/SKILL.md +206 -498
  141. package/skill/references/cli-reference.md +203 -0
  142. package/skill/references/improving-dreamcontext.md +39 -0
  143. package/skill/references/integrations.md +236 -0
  144. package/skill/references/knowledge-and-recall.md +157 -0
  145. package/skill/references/sleep.md +88 -0
  146. package/skill/references/tasks-and-features.md +170 -0
  147. package/skill-curator/SKILL.md +234 -0
  148. package/skill-initializer/SKILL.md +243 -0
  149. package/skill-packs/council/SKILL.md +3 -2
  150. package/skill-packs/council/debate-protocol.md +1 -1
  151. package/skill-packs/excalidraw/SKILL.md +38 -28
  152. package/agents/dreamcontext-initializer.md +0 -308
  153. package/dist/agents/dreamcontext-initializer.md +0 -308
  154. package/dist/dashboard/assets/channel-CIQg6WkP.js +0 -1
  155. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-kJkUaIqm.js +0 -1
  156. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-kJkUaIqm.js +0 -1
  157. package/dist/dashboard/assets/clone-COSoK5_M.js +0 -1
  158. package/dist/dashboard/assets/index-DjaqCcd7.js +0 -482
  159. 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 rem-sleep agent will pick it up during the next
123
- consolidation cycle and decide based on your engagement signals.
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 by rem-sleep agent. |
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 boards belong in `_dream_context/knowledge/diagrams/`.
209
- They are indexed and recalled just like any knowledge file — but memory extracts ONLY the
210
- `## Text Elements` section (never the scene JSON).
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/diagrams/
230
- ├── my-board/
231
- │ ├── my-board.excalidraw.md ← generated board (do NOT hand-edit scene JSON)
232
- ├── my-board.board.cjs ← generator (dark sibling — excluded from index/recall)
233
- └── my-board.json spec / source of truth (dark sibling — excluded)
234
- ├── competitors/ optional category subfolder (groups many boards)
235
- └── acme/
236
- │ └── acme.excalidraw.md
237
- └── legacy-flat.excalidraw.md ← flat layout still works; no forced migration
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
- **Category subfolders** are optional and free-form: `diagrams/<category>/<title>/<title>.excalidraw.md`.
241
- The dashboard Knowledge view renders the whole `diagrams/` subtree as a nested, collapsible folder
242
- tree (each board shows a sketch icon), so a large diagram set stays navigable instead of collapsing
243
- into one flat list. A board's own `<title>/` folder is always its innermost folder. Note: a
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 `diagrams/<title>/` folder are automatically excluded
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 any migration. Use the
258
- per-title folder when you want to keep the board + generator + spec together cleanly.
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) | `_dream_context/knowledge/diagrams/<title>/` | Yes — indexed, recalled |
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/diagrams/`. Throwaway/working? → `inbox/` or `workspace/`."
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 to `knowledge/diagrams/` only once it becomes canonical.
286
+ Promote a board from inbox/workspace into its context folder only once it becomes canonical.
279
287
 
280
- ### Migration
288
+ ### Legacy `knowledge/diagrams/` + migration
281
289
 
282
- Flat boards in `knowledge/diagrams/` do NOT auto-migrate.
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 (including 0.7.2 diagrams-folder-convention).
285
- - `dreamcontext migrations apply-diagrams` — opt-in: moves flat `knowledge/diagrams/*.excalidraw.md` boards into per-title folders AND rewrites all inbound [[wikilinks]] atomically. Safe to re-run. Do NOT hand-edit wikilinks manually.
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.