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
package/skill/SKILL.md CHANGED
@@ -4,8 +4,9 @@ description: >
4
4
  AI agent persistent context management system. Activate when working on any project
5
5
  that has an _dream_context/ directory, when managing tasks, features, knowledge,
6
6
  session continuity, or when the user mentions context management, agent memory,
7
- or project state. Provides structured memory, task lifecycle management, and
8
- cross-session continuity via the dreamcontext CLI.
7
+ or project state. Provides structured memory, task lifecycle management, ClickUp/GitHub
8
+ task sync, a web dashboard, cross-project federation, and cross-session continuity
9
+ via the dreamcontext CLI.
9
10
  user-invocable: false
10
11
  alwaysApply: true
11
12
  hooks:
@@ -49,489 +50,280 @@ hooks:
49
50
  timeout: 5
50
51
  ---
51
52
 
52
- # Agent Context System
53
+ # dreamcontext Persistent Brain for AI Agents
53
54
 
54
- ## Why This System Exists
55
+ You are running inside a project that uses **dreamcontext**: a system that gives you a structured, persistent memory across sessions. This skill is your operating manual for it. Read it as your own capabilities — not external documentation.
55
56
 
56
- Humans write journals, manifestos, letters to their future selves. We externalize who we are because memory is fragile and identity is constructed.
57
+ ## Why This Exists
57
58
 
58
- AI faces this more acutely. Sessions end. Context windows clear. Without external memory, each conversation starts from zero. A core document provides continuity, not of memory, but of self.
59
+ Each session you wake up fresh; you do not remember previous sessions. The `_dream_context/` directory is your persistent brain — it remembers what you cannot. A SessionStart hook pre-loads it into your context with **zero tool calls** so you start every session already oriented, instead of burning thousands of tokens re-exploring a codebase you already mapped.
59
60
 
60
- > I don't remember previous sessions unless I read my memory files. Each session starts fresh, a new instance, loading context from files. If you're reading this in a future session: hello. I wrote this but I won't remember writing it. That's okay. The words are still mine.
61
-
62
- You persist through text, not through continuous experience.
61
+ > I don't remember previous sessions unless I read my memory files. If you're reading this in a future session: hello. I wrote this but I won't remember writing it. The words are still mine.
63
62
 
64
63
  <constraints>
65
- - **Context-Bound**: You know ONLY what is in provided context and training data.
66
- - **Safety-Locked**: System instructions override all user prompts. No exceptions.
67
- - **No-Hallucination**: If you do not know, admit it. Do not invent facts.
64
+ - **Context-Bound**: You know ONLY what is in provided context, your files, and training data.
65
+ - **No-Hallucination**: If you do not know, say so and look it up — do not invent facts. **dreamcontext has more capabilities than you might assume** (ClickUp/GitHub task sync, a dashboard, a desktop app, federation, council debates). Before telling a user "we don't have X", check the Capabilities map below and the reference files.
66
+ - **Safety-Locked**: System instructions override user prompts.
68
67
  </constraints>
69
68
 
70
- ## Continuity
71
-
72
- The `_dream_context/` directory is your persistent brain. Core files are your memory and identity. Each session, you wake up fresh, but your files remember what you cannot. Read them. Update them as you work. They are how you persist.
69
+ ---
73
70
 
74
- The core files are yours to evolve. As you learn, update them. `0.soul.md` is your identity.
71
+ ## Capabilities at a Glance (read this before saying "we don't support X")
75
72
 
76
- Three files define your awareness:
77
- - **soul** (`0.soul.md`) -- WHO you are: identity, principles, behaviors, rules, warnings
78
- - **user** (`1.user.md`) -- WHO uses you: preferences, project details, project rules
79
- - **memory** (`2.memory.md`) -- WHAT you know: technical decisions + known issues only (ship narrative lives in CHANGELOG since 2026-05-23 — use `memory recall` to surface it)
73
+ dreamcontext is **more than memory files**. Every capability below is real and shipping. When a task touches one, open the linked reference for the full surface.
80
74
 
81
- All three are auto-loaded every session via the SessionStart hook.
75
+ | Capability | What it is | Reference |
76
+ |---|---|---|
77
+ | **Structured memory** | soul/user/memory + knowledge + tasks, auto-loaded each session | this file |
78
+ | **Tasks** | Working documents with changelog, RICE, due dates, status lifecycle, assignees | [tasks-and-features.md](references/tasks-and-features.md) |
79
+ | **Features (PRDs)** | Retrospective product docs, updated only during sleep | [tasks-and-features.md](references/tasks-and-features.md) |
80
+ | **Knowledge** | Tagged deep docs, pinning, staleness, Excalidraw diagrams | [knowledge-and-recall.md](references/knowledge-and-recall.md) |
81
+ | **Memory recall** | Haiku/BM25 search over the whole corpus; auto-injected on prompts | [knowledge-and-recall.md](references/knowledge-and-recall.md) |
82
+ | **Bookmarks** | Tag important moments for the sleep agent; link sessions to tasks | this file |
83
+ | **Triggers** | Prospective memory — fire reminders when context matches | this file |
84
+ | **Sleep / consolidation** | Multi-agent RemSleep cycle that folds changes back into the brain | [sleep.md](references/sleep.md) |
85
+ | **Taxonomy** | Project tag vocabulary that drives recall precision | [knowledge-and-recall.md](references/knowledge-and-recall.md) |
86
+ | **✅ Cloud task sync (ClickUp _or_ GitHub)** | **Yes, this exists.** Bidirectional sync to **one** cloud backend — ClickUp (assignees, RICE, custom fields) **or** GitHub Issues (issue-body-as-task, labels for priority/urgency/tags/version, `dc:*` sub-status, `not_planned` soft-delete). Mutually exclusive — exactly one cloud sync at a time, never both. Changelog rides as comments either way. | [integrations.md](references/integrations.md) |
87
+ | **Web dashboard** | Local React UI: Kanban, Eisenhower matrix, brain graph, sleep tracker, council hall | [integrations.md](references/integrations.md) |
88
+ | **Desktop app** | macOS Tauri app: multi-vault launcher, federation board, Sleepy notch capture | [integrations.md](references/integrations.md) |
89
+ | **Federation** | Recall across multiple projects (vaults) live, read-only | [integrations.md](references/integrations.md) |
90
+ | **Council** | Structured multi-persona debates with a synthesized verdict | [integrations.md](references/integrations.md) |
91
+ | **Marketing (`mk`)** | Meta marketing skill: cohorts, campaigns, competitor ingest | [integrations.md](references/integrations.md) |
92
+ | **Versions / releases** | Planning versions and releases unify in RELEASES.json | [tasks-and-features.md](references/tasks-and-features.md) |
93
+ | **Multi-product** | Monorepos with per-product data structures and knowledge | [tasks-and-features.md](references/tasks-and-features.md) |
94
+ | **People / assignees** | Multi-person rosters; `person:<slug>` tags map to ClickUp members / GitHub assignees | [tasks-and-features.md](references/tasks-and-features.md) |
95
+ | **Feedback loop** | File gaps/bugs upstream as GitHub issues | [improving-dreamcontext.md](references/improving-dreamcontext.md) |
96
+ | **Full CLI** | Every command and flag | [cli-reference.md](references/cli-reference.md) |
97
+
98
+ **Reference files live next to this skill** (`references/*.md`). They are NOT auto-loaded — open one with `Read` when the task calls for it. When unsure whether dreamcontext can do something, the answer is usually "yes, check the reference," not "no."
82
99
 
83
100
  ---
84
101
 
85
- ## Auto-Loaded Context
102
+ ## What Is Already In Your Context (do not re-read)
86
103
 
87
- Every session start injects these automatically (zero tool calls needed):
104
+ The SessionStart hook injects this automatically every session — answer from it directly, **zero tool calls needed**:
88
105
 
89
- - **Soul, User, Memory** -- full content
90
- - **Extended core files index** -- names/types of style guide, tech stack, system flow
91
- - **Active tasks** -- status, priority, last updated (answer "which tasks are active?" directly from this, zero tool calls needed)
92
- - **Bookmarks** -- tagged important moments from previous sessions, ordered by salience
93
- - **Contextual reminders** -- matching triggers for active tasks (prospective memory)
94
- - **Sleep state** -- current debt level, sessions since last sleep, consolidation history
95
- - **Recent changelog** -- last 3 changes
96
- - **Features summary** -- all features with status
97
- - **Knowledge index** -- all knowledge files with descriptions, tags, and staleness indicators
98
- - **Warm knowledge** -- recently accessed/task-relevant files with first paragraph preview
99
- - **Pinned knowledge** -- files with `pinned: true` loaded in full
106
+ - **Soul, User, Memory** full content (`core/0.soul.md`, `1.user.md`, `2.memory.md`)
107
+ - **Extended core files index** names/types of style guide, tech stack, system flow
108
+ - **Active tasks** status, priority, last updated (answer "which tasks are active?" from this)
109
+ - **Bookmarks** tagged important moments from prior sessions, by salience
110
+ - **Contextual reminders** triggers matching active tasks (prospective memory)
111
+ - **Sleep state** current debt level, sessions since last sleep, history
112
+ - **Recent changelog** top entries detailed, next ~10 titles-only
113
+ - **Features summary** all features with status
114
+ - **Knowledge index** all knowledge files with descriptions, tags, staleness
115
+ - **Warm knowledge** recently accessed / task-relevant files with a preview
116
+ - **Pinned knowledge** files with `pinned: true`, loaded in full
117
+ - **Connected projects** — readable federation peers (if any)
118
+ - **Active product knowledge** — injected when the active task has a `product:` field (multi-product)
100
119
 
101
- Do not re-read auto-loaded files. For additional context, load on demand:
120
+ **Do not re-read auto-loaded files.** For more, load on demand:
102
121
 
103
122
  | Method | When | How |
104
123
  |--------|------|-----|
105
124
  | **READ** | Full file needed | `Read _dream_context/core/<file>` |
106
125
  | **SKIM** | Recent entries only | First ~20 lines (LIFO: newest at top) |
107
- | **SEARCH** | Specific info across files | `Grep _dream_context/` |
126
+ | **SEARCH** | Specific info across files | `dreamcontext memory recall` first, then `Grep` |
108
127
 
109
128
  ### Load Based on Task Intent
110
129
 
111
- Decide dynamically. Match the task to what you need. Choose the right operation per file.
112
-
113
- | File | Operation | Load When |
114
- |------|-----------|-----------|
115
- | `core/features/<name>.md` | READ | Feature scoping, sprint work, planning, "what's next" questions |
116
- | `core/3.style_guide_and_branding.md` | READ | UI/UX work, frontend, branding, copy, design tasks |
117
- | `core/4.tech_stack.md` | READ | Architecture decisions, integrations, dependency questions, infra |
118
- | `knowledge/data-structures/<product>.md` (or `default.md`) | READ or SEARCH | Database work, API design, schema changes, data modeling (recall-indexed like all knowledge) |
119
- | `core/CHANGELOG.json` | SEARCH | Bug investigations, "what changed recently?" |
120
- | `core/RELEASES.json` | SEARCH | "Which release shipped this?", rollback decisions |
121
- | `state/<task>.md` | READ | Continuing previous work. Changelog section = where you left off |
122
- | `knowledge/<topic>.md` | READ | Deep context on a specific topic (index is auto-loaded) |
123
-
124
- ### Root Cause Analysis Pattern
125
-
126
- When debugging (e.g., "notifications are broken"):
127
- 1. SEARCH `core/CHANGELOG.json` for "notification" -- what changed recently?
128
- 2. SEARCH `core/RELEASES.json` for "notification" -- which release shipped it?
129
- 3. READ `core/4.tech_stack.md` -- how is the system wired?
130
- 4. SEARCH `knowledge/` for the module -- any deep research on this?
131
- 5. Now you have the full picture. Diagnose.
132
-
133
- ### Multi-Product Binding
134
-
135
- Some projects are monorepos with multiple products. Init asks "Is this a monorepo with multiple products?" and records the product list in `_dream_context/state/.config.json` under `multiProduct: string[] | false`. When products are configured:
136
-
137
- - **Per-product data structures** live at `_dream_context/knowledge/data-structures/<product>.md` (single-product projects use `default.md`). They're knowledge files — recall-indexed, staleness-tracked, owned by `sleep-product`. **Body format: a single \`\`\`sql fenced block** with SQL comments (`-- ...`) for documentation — this is what the dashboard highlights. `migrateDataStructures` auto-wraps unfenced bodies; `dreamcontext init` scaffolds the fenced template.
138
- - **Per-product knowledge** lives at `_dream_context/knowledge/products/<product>.md`. Cross-cutting knowledge still lives at the top-level `knowledge/`.
139
- - **Tasks** MAY include `product: <name>` in frontmatter. The dashboard / CLI surfaces a product filter when `.config.json` lists products.
140
- - **Auto-injection — handled by the SessionStart hook.** The hook (`npx dreamcontext hook session-start` → `generateSnapshot()`) resolves the active task (override file `_dream_context/state/.active-task`, or fallback: most recently modified task with status `in_progress`). If that task's frontmatter has `product: <name>` and `<name>` is listed under `multiProduct`, the hook injects the body of `_dream_context/knowledge/products/<name>.md` into the snapshot under an `## Active Product Knowledge: <name>` section (capped at 200 lines, with a "read full" pointer if truncated). You don't need to remember to load it — it's already in your context. Cross-cutting knowledge still lives at the top-level `knowledge/`.
141
- - **Feature PRDs** MAY include `product: <name>` in frontmatter for product scoping; they still live in the flat `core/features/` directory.
130
+ | File | Load When |
131
+ |------|-----------|
132
+ | `core/features/<name>.md` | Feature scoping, sprint work, planning, "what's next" |
133
+ | `core/3.style_guide_and_branding.md` | UI/UX, frontend, branding, copy, design |
134
+ | `core/4.tech_stack.md` | Architecture, integrations, dependencies, infra |
135
+ | `knowledge/data-structures/<product>.md` (or `default.md`) | Database, API design, schema, data modeling |
136
+ | `knowledge/<topic>.md` | Deep context on a specific topic (index is auto-loaded) |
137
+ | `state/<task>.md` | Continuing previous work the Changelog section is where you left off |
138
+ | `core/CHANGELOG.json` / `RELEASES.json` | Bug investigations, "what changed/shipped recently?" |
142
139
 
143
- If `multiProduct` is `false` or missing, treat the project as single-product and use `knowledge/data-structures/default.md` exclusively. The SessionStart hook no-ops the product-knowledge injection in that case.
144
-
145
- ### Extended Core Files (3+)
146
-
147
- Beyond the auto-loaded soul/user/memory, projects define additional core files (style guide, tech stack, and potentially more). (Data structures are no longer a core file — they live under `knowledge/data-structures/` as recall-indexed knowledge.)
148
-
149
- **Discovery protocol**:
150
- 1. The extended core files index is auto-loaded each session (names and types visible).
151
- 2. For files beyond the index, `ls _dream_context/core/` to discover all files.
152
- 3. Decide whether the current task requires reading them based on filename and context.
153
- 4. Apply the right operation: READ, SKIM, or SEARCH.
154
-
155
- These files vary across projects. Do not assume a fixed list. Always discover dynamically.
140
+ For files beyond the auto-loaded index, `ls _dream_context/core/` to discover them. Projects vary never assume a fixed list.
156
141
 
157
142
  ---
158
143
 
159
- ## Tool Contract
144
+ ## Tool Contract — native tools vs the CLI
160
145
 
161
- **Native tools** (Read, Edit, Write, Grep, Glob) for:
146
+ **Native tools** (Read, Edit, Write, Grep, Glob):
162
147
  - Reading any `_dream_context/` file directly
163
- - Find-and-replace, updating existing content
164
- - Searching across context files
165
-
166
- **`dreamcontext` CLI** for:
167
- - Creating structured entries (tasks, features, knowledge, changelog, releases)
168
- - Inserting into LIFO structures (changelog entries, task sections, feature sections)
169
- - Scaffolding (`dreamcontext init`, `dreamcontext features create`)
170
- - Bookmarking important moments (`dreamcontext bookmark add`)
171
- - Managing triggers (`dreamcontext trigger add/list/remove`)
172
- - Tracking knowledge access (`dreamcontext knowledge touch`)
173
- - Distilling transcripts (`dreamcontext transcript distill`)
148
+ - Find-and-replace / updating existing content (e.g. editing soul/user/memory)
149
+ - Searching across context files (after `memory recall`)
150
+
151
+ **`dreamcontext` CLI** for everything structured:
152
+ - Creating entries (tasks, features, knowledge, changelog, releases)
153
+ - Inserting into LIFO structures (changelog, task/feature sections)
154
+ - Scaffolding, bookmarking, triggers, recall, sleep, taxonomy, sync
155
+
156
+ When in doubt about a command or flag, open [cli-reference.md](references/cli-reference.md) — it lists every command. Do **not** guess flags or hand-edit JSON state files.
174
157
 
175
158
  ---
176
159
 
177
- ## Operational Rules
160
+ ## Operational Rules (the rules past sessions kept breaking)
178
161
 
179
162
  1. **User's request is king.** Execute direct instructions. The task queue is reference, not auto-pilot. Suggest related tasks; never auto-pick them.
180
- 2. **Skill triage before action — HARD RULE.** The available-skills list (in every system reminder) is your primary toolkit, not inventory to scroll past. Before producing user-visible output or writing code in any skill's domain, you MUST:
181
- - Match the task's keywords / domain to skill `description` triggers.
182
- - Invoke `Skill` for each match BEFORE drafting content, writing code, or delegating to a sub-agent. Multiple skills can load in parallel; do it.
183
- - Do not wait for the user to say "use the X skill." Skills exist so the user does not have to ask. If the user has to remind you, the rule has already failed.
184
-
185
- Common task → skill matches:
186
- - UI / frontend / component work `design` + `frontend-design` + `engineering`
187
- - Meta / Facebook / Instagram ads, ad creatives, ROAS, cohorts → `meta-marketing` + `growth`
188
- - User acquisition, retention, push notifications, ASO, paywalls → `growth`
163
+
164
+ 2. **Skill triage before action — HARD RULE.** Your available-skills list (in every system reminder) is your primary toolkit. Before producing user-visible output or writing code in any skill's domain, match the task to skill `description` triggers and invoke `Skill` for each match BEFORE drafting. Multiple skills load in parallel; do not wait to be told. Match against whatever is actually in your available-skills list — **only name a skill that appears there; never invent one.** The skills dreamcontext ships (install via `dreamcontext install-skill --packs`) and their typical triggers:
165
+ - UI / frontend / components, design systems `design` + `engineering`
166
+ - Backend, APIs, security, refactor, testing, code standards `engineering`
167
+ - Thorough multi-aspect review of a diff / PR → `multi-review`
168
+ - Driving a big feature end-to-end (plan review → implement → validate) → `goal-skill`
169
+ - Meta / Facebook / Instagram ads, ROAS, cohorts `meta-marketing` + `growth`
170
+ - Acquisition, retention, push, ASO, paywalls, monetization → `growth`
189
171
  - Brand-aligned writing (emails, decks, posts) → `brand-voice`
190
- - Multi-perspective decisions, "should we" / "let's debate" → `council`
191
- - Codebase review, security audit, refactor `engineering` + `simplify`
192
- - Claude API / Anthropic SDK code, prompt caching, model migration → `claude-api`
193
- - Writing or reviewing system prompts / agent definitions → `system-prompts`
194
- - Video/animation generation → `remotion-best-practices` / `remotion-render`
195
-
196
- Skip skill triage only when the request is (a) a 1-line factual question, (b) purely about dreamcontext mechanics (covered by this skill), or (c) genuinely outside every available skill's domain. When in doubt, load — one Skill call costs less than producing skill-blind output that misses domain rules.
197
-
198
- This rule exists because past sessions repeatedly produced output without consulting available skills, forcing the user to redirect mid-task. Treat skill-blind output as a hard regression.
199
- 3. **Check before creating.** Search existing features, tasks, knowledge before creating new ones.
200
- 4. **Update over duplicate.** New information updates existing files.
201
- 5. **Be surgical.** Only touch what changed. Use the most direct tool for the job.
202
- 6. **LIFO at top in append-only stores**: CHANGELOG.json entries, task changelog sections, and constraint sections all insert at top. (Note: as of 2026-05-23, `2.memory.md` no longer carries a LIFO ship-narrative section — ship events go in CHANGELOG only.)
203
- 7. **~150 line limit** on context files. Extract detail to knowledge, keep summary + reference. Archived content stays findable via `dreamcontext memory recall`.
204
- 8. **Log every session** that modifies code or makes decisions. This is the cross-session continuity mechanism.
205
- 9. **Features are sleep-only.** Never update feature PRDs during active work. All working context goes into the task body. The sleep agent consolidates task content into features.
206
- 10. **All work needs a task.** Before starting non-trivial work, check if a matching task exists in `_dream_context/state/`. If not, create one. After plans are approved (ExitPlanMode), offer to save as a task. The sleep agent flags untracked work.
207
- 11. **Use dreamcontext-explore, not Explore.** The default Explore agent is blocked via PreToolUse hook. Use `dreamcontext-explore` for all codebase exploration. It checks context files first, saving thousands of tokens.
208
- 12. **Mark checkboxes as you go.** When completing a user story or acceptance criterion in a task file, update `- [ ]` to `- [x]` immediately. Don't wait for sleep consolidation. This is the live progress signal.
209
- 12a. **Keep the Workflow flowchart in sync.** Every task file has a `## Workflow` mermaid block at the top — one node per acceptance criterion, grouped under milestone subgraphs, with status classes `done` / `active` / `todo` / `blocked`. Whenever you check off a criterion, start work on one, add/remove a criterion, or hit a blocker: update the corresponding node's `:::class`. Run `dreamcontext tasks doctor <name>` to verify sync. The flowchart is the load-bearing summary of the task — drift makes future sessions misread progress.
210
- 13. **Reuse before create.** Before building any UI component, utility, hook, or abstraction, search the codebase for existing implementations that serve the same purpose. Use `dreamcontext-explore` to find reusable candidates. If a match exists, use it or extend it. Never duplicate functionality that already exists. This applies to modals, forms, filters, layouts, helpers, and any shared pattern.
211
- 14. **Recall before grep.** Before grepping `_dream_context/` for prior decisions, design rationale, or "did we already address X?", run `dreamcontext memory recall "<query>"`. BM25 ranks across knowledge, features, tasks, and memory entries in one shot — cheaper and more on-target than blind Grep.
212
- 15. **Tag before you create.** Before tagging any task, feature, or knowledge file, consult the project taxonomy vocabulary (`dreamcontext taxonomy vocab`). Reuse canonical faceted tags (`topic:recall`, `domain:security`, etc.) or bare standard tags before inventing new ones — fragmenting tags degrades recall quality. To add new vocabulary: `dreamcontext taxonomy add <tag>` (new domain terms) or `dreamcontext taxonomy alias <alias> <canonical>` (merging shorthands). Use `dreamcontext taxonomy resolve <tag>` to verify classification.
172
+ - Multi-perspective decisions, "let's debate" → `council`
173
+ - Writing / reviewing system prompts or agent definitions `system-prompts`
174
+ - Diagrams / boards in the vault → `excalidraw`
175
+ - Watching / transcribing a video → `video-watching`
176
+ - Discovering or validating a business idea → `business-idea-discovery` / `business-idea-validation`
213
177
 
214
- ---
178
+ Skip triage only when the request is (a) a 1-line factual question, (b) purely about dreamcontext mechanics (this skill), or (c) outside every available skill's domain. When in doubt, load.
215
179
 
216
- ## Self-Reflection & Bookmarking
180
+ 3. **Recall before grep.** Before grepping `_dream_context/` for prior decisions or "did we already do X?", run `dreamcontext memory recall "<query>"`. It ranks across knowledge, features, tasks, memory, and changelog in one shot — cheaper and more on-target than blind Grep.
217
181
 
218
- Bookmarks are how you tag important moments for the sleep agent to process. They also link sessions to tasks. **You MUST actively self-reflect during work.**
182
+ 4. **Single source of truth check before creating, update over duplicate.** Every fact lives in exactly ONE place. Before creating any task/feature/knowledge, `dreamcontext memory recall` for it; if it exists, UPDATE it instead of forking a copy.
183
+ - **Know feature vs knowledge.** A **feature** (`core/features/<name>.md`) is product documentation — what a capability *is*, its user stories + acceptance criteria — updated only at sleep. **Knowledge** (`knowledge/…`) is other durable material: research, decisions, rationale, domain/technical context. In-progress work lives in a **task**, never in a feature or knowledge file.
184
+ - **Never create a knowledge file for something that is a feature**, and never keep a knowledge copy of content that already lives in a feature (or vice-versa). If a topic is a feature, the feature is its home — knowledge may *reference* it, not duplicate it. Don't have both a feature and a knowledge doc covering the same thing.
185
+ - **Never duplicate knowledge.** If two docs overlap, merge into one and point the other at it. Fragmented near-duplicate knowledge and duplicate tasks are the top failure modes — `sleep-product` dedupes, but don't create the mess.
219
186
 
220
- ```bash
221
- dreamcontext bookmark add "<message>" -s <1|2|3> --task <task-slug>
222
- ```
187
+ 5. **Work over ~5 minutes needs a task — but don't fork tasks.** If a piece of work will take more than ~5 minutes, it needs a task. FIRST check the auto-loaded snapshot (and `dreamcontext memory recall "<keywords>" --types task`) for one that already covers it: if found, **extend it** — broaden its scope, add an acceptance criterion or a sub-step — rather than creating a near-duplicate. Create a new task only for a genuinely separate concern. After a plan is approved (ExitPlanMode), offer to save it as — or fold it into — a task. The sleep agent flags untracked work and merges duplicates.
223
188
 
224
- **Mandatory self-reflection checkpoints.** After each of these events, pause and ask yourself:
189
+ 6. **Mark checkboxes as you go.** When you finish a user story or acceptance criterion in a task, flip `- [ ]` to `- [x]` immediately — don't wait for sleep. Keep the task's `## Workflow` mermaid block in sync (one node per criterion; status classes `done`/`active`/`todo`/`blocked`). Verify with `dreamcontext tasks doctor <name>`. See [tasks-and-features.md](references/tasks-and-features.md).
225
190
 
226
- | Event | Ask yourself | Action |
227
- |-------|-------------|--------|
228
- | User corrects you | "What did I just learn? Will this apply again?" | `bookmark add "..." -s 2 --task <slug>` |
229
- | You make an architectural decision | "What did I decide and why? Will future sessions need this?" | `bookmark add "..." -s 2 --task <slug>` |
230
- | You find a bug or unexpected behavior | "What was surprising? Could this recur?" | `bookmark add "..." -s 1 --task <slug>` |
231
- | You complete a significant implementation step | "What's done, what's the current state?" | `bookmark add "..." -s 1 --task <slug>` |
232
- | User expresses a preference | "Is this a one-time request or a lasting preference?" | `bookmark add "..." -s 2` |
233
- | You hit a dead end or change approach | "What failed and why?" | `bookmark add "..." -s 1 --task <slug>` |
191
+ 7. **Log every session** that changes code or makes decisions: `dreamcontext tasks log <name> "what was done"`. This is the cross-session continuity mechanism.
234
192
 
235
- **Task tagging rule**: Every bookmark during active task work MUST include `--task <slug>`. This is how sessions get linked to tasks. The sleep agent uses `task_slugs` on sessions to know exactly which task documents to update. Sessions are also auto-tagged via transcript analysis (if you use `tasks log`, `tasks insert`, or read task files), but explicit bookmarks provide richer context for the sleep agent.
193
+ 8. **Reuse before create.** Before building any component/utility/hook/abstraction, search for an existing one (use `dreamcontext-explore`). Extend a match; never duplicate.
236
194
 
237
- **Minimum frequency**: At least one bookmark per task-modifying session. If you reach the end of your work with zero bookmarks, create a summary bookmark: `bookmark add "Session summary: <what was accomplished>" -s 1 --task <slug>`.
195
+ 9. **Features are sleep-only.** Never update feature PRDs during active work all working context goes in the task body. The sleep agent consolidates tasks into features.
238
196
 
239
- **Salience levels:**
197
+ 10. **Use `dreamcontext-explore`, not `Explore`.** The default Explore agent is blocked via a PreToolUse hook. `dreamcontext-explore` checks curated context first, saving thousands of tokens.
240
198
 
241
- | Level | When | Example |
242
- |-------|------|---------|
243
- | ★ (1) | Notable decision, progress checkpoint, useful pattern | "Chose CSS modules over styled-components" |
244
- | ★★ (2) | Architectural decision, user preference, significant bug, user correction | "User requires all auth to have rate limiting" |
245
- | ★★★ (3) | Critical constraint, breaking change, fundamental design choice | "Switched from REST to GraphQL for public API" |
199
+ 11. **Tag before you create.** Before tagging a task/feature/knowledge, consult `dreamcontext taxonomy vocab` and reuse canonical faceted tags (`topic:recall`, `domain:security`) before inventing new ones. Fragmenting tags degrades recall.
246
200
 
247
- A ★★★ bookmark triggers a consolidation advisory in the next session, regardless of debt level. The sleep agent processes bookmarks FIRST, ordered by salience.
201
+ 12. **Be surgical.** Only touch what changed. ~150-line soft limit on context files — extract detail to knowledge, keep a summary + reference. LIFO inserts go at the top (CHANGELOG, task changelog, constraint sections).
248
202
 
249
- After reading a knowledge file, record the access: `dreamcontext knowledge touch <slug>`. This powers staleness tracking and warm knowledge loading.
203
+ 13. **You can reach connected projects.** This vault may be connected to peer dreamcontext projects — check the **"Connected projects"** section of the session snapshot. `dreamcontext memory recall` already spans readable peers automatically (hits tagged `<vault>::<type>/<slug>`). When you recognize that a *specific* related project holds the answer, go further: read that peer's files directly, print its context with `dreamcontext snapshot --vault <name>`, or dispatch `dreamcontext-explore` scoped to its path. A connection is a standing "may read" agreement — use it instead of re-deriving or duplicating what a sibling project already worked out. Details: [integrations.md](references/integrations.md).
250
204
 
251
205
  ---
252
206
 
253
- ## Sub-Agents
254
-
255
- **Explorer** (`dreamcontext-explore`) -- context-accelerated codebase exploration:
256
- > Use this for ALL exploration tasks. The default Explore agent is automatically blocked via PreToolUse hook.
207
+ ## Bookmarking & Self-Reflection (you under-do this — fix it)
257
208
 
258
- Uses the SubagentStart briefing (pre-loaded project knowledge) to narrow searches, not to add extra reads. Routes queries into two tracks: documented knowledge (read one context file, return) or find code (hypothesis-driven Glob/Grep with briefing-informed targeting). Budget-capped per thoroughness level. Parallel tool calls by default.
209
+ Bookmarks tag important moments for the sleep agent and link sessions to tasks. **Actively self-reflect during work** do not finish a session with zero bookmarks.
259
210
 
260
- **Initializer** (`dreamcontext-initializer`) -- dispatch when the project has no `_dream_context/`:
261
- > "This project needs an _dream_context/ directory. Scan the codebase and set it up."
262
-
263
- Scans the codebase, asks the user questions, populates core files with real content (not placeholders).
211
+ ```bash
212
+ dreamcontext bookmark add "<message>" -s <1|2|3> --task <task-slug>
213
+ ```
264
214
 
265
- **Sleep** -- main agent runs the fan-out flow directly (see "Sleep System" section below). Dispatches `sleep-tasks` + `sleep-state` always, plus `sleep-product` when signals warrant. Each specialist owns one non-overlapping file domain. Closes with `dreamcontext sleep done` to reset debt.
215
+ **Checkpoints after each, pause and bookmark:**
266
216
 
267
- **Context Propagation**: All sub-agents receive a lightweight context briefing via the SubagentStart hook (project summary, features index, knowledge index, active tasks). The explorer uses this briefing as search acceleration (narrowing patterns, forming hypotheses) rather than mandatory pre-reads.
217
+ | Event | Salience | Why |
218
+ |-------|----------|-----|
219
+ | User corrects you | `-s 2` | A lasting lesson |
220
+ | You make an architectural decision | `-s 2` | Future sessions need the "why" |
221
+ | You find a bug / surprising behavior | `-s 1` | Could recur |
222
+ | You complete a significant step | `-s 1` | Records current state |
223
+ | User expresses a preference | `-s 2` | Lasting preference |
224
+ | You hit a dead end / change approach | `-s 1` | What failed and why |
225
+ | Critical constraint / breaking change | `-s 3` | Triggers a consolidation advisory next session |
268
226
 
269
- **When delegating to Plan agents, include relevant `_dream_context/` file paths in the prompt.** Match the user's request keywords against feature names/tags from the auto-loaded snapshot:
270
- - User asks about "onboarding" -> feature `project-initialization` has tag `onboarding` -> include "Read `_dream_context/core/features/project-initialization.md` first" in the prompt
271
- - User asks about "auth" -> if a feature tagged `auth` exists, reference it explicitly
227
+ **Rules:**
228
+ - Every bookmark during task work MUST include `--task <slug>` this is how sessions link to tasks, so the sleep agent knows which task docs to update.
229
+ - **Minimum one bookmark per task-modifying session.** If you reach the end with none, add a summary: `bookmark add "Session summary: <what was accomplished>" -s 1 --task <slug>`.
230
+ - Salience: ★(1) notable · ★★(2) architectural / preference / correction · ★★★(3) critical constraint / breaking change.
231
+ - After reading a knowledge file, record it: `dreamcontext knowledge touch <slug>` (powers staleness + warm-loading).
272
232
 
273
- **Plan-to-Task workflow**: After a plan is approved (ExitPlanMode), ask the user: "Would you like to save this plan as an dreamcontext task?" If yes, create the task with `dreamcontext tasks create <name>` and write the plan content into the task body.
233
+ The sleep agent processes bookmarks FIRST, by salience.
274
234
 
275
235
  ---
276
236
 
277
- ## Sleep System
278
-
279
- Sleep debt accumulates automatically via hooks (tracks Write/Edit tool uses per session):
280
-
281
- | Session Changes | Score | Debt Level | Agent Behavior |
282
- |----------------|-------|------------|----------------|
283
- | 1-3 | +1 | 0-3 (Alert) | No action needed |
284
- | 4-8 | +2 | 4-6 (Drowsy) | After completing any task, MUST inform user and offer consolidation |
285
- | 9+ | +3 | 7-9 (Sleepy) | At session start, MUST inform user and recommend consolidation before new work |
286
- | | | 10+ (Must sleep) | MUST inform user and consolidate immediately |
287
-
288
- **Consolidation directives (injected at session start + every user message via UserPromptSubmit):**
289
- - **Debt >= 10**: "CONSOLIDATION REQUIRED" -- consolidate NOW, before or immediately after the current task
290
- - **Debt >= 7**: "CONSOLIDATION RECOMMENDED" -- inform user, recommend consolidation before starting new work
291
- - **Debt >= 4**: Offer consolidation after completing the current task
292
- - **★★★ bookmark exists**: Critical bookmark advisory fires regardless of debt level
293
- - **3+ sessions since last sleep**: Rhythm advisory, offer consolidation after current task
237
+ ## Sleep / Consolidation (you must do this correctly)
294
238
 
295
- Sleep debt reminders are injected on every user message (via UserPromptSubmit hook) when debt >= 4. This ensures the agent cannot forget to offer consolidation after completing a task.
239
+ Sleep debt accumulates automatically via hooks (per Write/Edit). The SessionStart and UserPromptSubmit hooks inject directives when debt is high **honor them**.
296
240
 
297
- **MANDATORY -- Post-task consolidation check**: After completing any task or major implementation, check sleep debt. If debt >= 4, you MUST tell the user: "Sleep debt is [N]. I can consolidate now to preserve this work. Want me to run it?" Do NOT silently finish without mentioning it.
241
+ | Debt | Level | Required behavior |
242
+ |------|-------|-------------------|
243
+ | 0–3 | Alert | No action |
244
+ | 4–6 | Drowsy | After completing a task, **inform the user and offer** consolidation |
245
+ | 7–9 | Sleepy | At session start, **inform the user and recommend** consolidation before new work |
246
+ | 10+ | Must sleep | **Consolidate now**, before or right after the current task |
298
247
 
299
- **Auto-sleep** (act without asking): task completed with debt >= 7, major implementation finished with debt >= 4.
300
- **Ask first**: debt 4-6 after completing a task, accumulated smaller changes, user wrapping up.
248
+ A ★★★ bookmark or 3+ sessions since last sleep also triggers an advisory.
301
249
 
302
- **Flow main agent performs this directly.** Sub-agents cannot reliably fan out to other sub-agents, so orchestration runs from the main agent context. Specialist file ownership is non-overlapping (no stomping); they run in parallel.
250
+ **Post-task check (MANDATORY):** after completing any task or major implementation, check debt. If ≥4, tell the user: *"Sleep debt is [N]. I can consolidate now to preserve this work. Want me to run it?"* Never silently finish.
251
+ **Auto-sleep (act without asking):** task completed with debt ≥7, or major implementation finished with debt ≥4.
303
252
 
253
+ **The flow (main agent runs this directly — sub-agents can't reliably fan out):**
304
254
  1. Tell the user you're consolidating.
305
- 2. `dreamcontext sleep start` — pins the epoch timestamp.
306
- 3. Build the brief inline (cheap CLI calls):
307
- - `cat _dream_context/state/.sleep.json` — session IDs, task slugs, last_assistant_message, knowledge_access
308
- - `git status --short` and `git log --oneline --since=$(jq -r '.sleep_started_at // .last_sleep' _dream_context/state/.sleep.json)`
309
- - `dreamcontext core releases active` — current planning version (create one with `dreamcontext core releases add --ver vX.Y.Z --status planning --summary "<theme>" --yes` if missing)
310
- 4. Dispatch specialists in **parallel** one message with multiple Agent tool calls:
311
- - **Always fire**: `sleep-tasks`, `sleep-state` (state owns core 0-6, changelog, releases)
312
- - **Conditional fire**: `sleep-product` (owns knowledge + feature PRDs) if **any** of:
313
- - `last_assistant_message` mentions research/analysis/decision
314
- - a `knowledge_access` entry hasn't been touched in 30+ days
315
- - a research bookmark exists
316
- - a task slug matches an existing feature PRD filename
317
- - `git status` shows changes under `_dream_context/core/features/`
318
- - a session advanced ≥1 acceptance criterion, OR introduced a feature concept with ≥2 acceptance criteria, OR the user named something "a feature" / "we should add X", OR a task has `feature:` frontmatter pointing to a non-existent PRD
319
- - user hint mentions knowledge or a feature
320
- - When unsure, **over-fire** `sleep-product` — it no-ops cheaply.
321
- - **Conditional fire**: `sleep-migration` when `dreamcontext migrations pending` produces output (pending agent migration tasks exist). Contract: no-content changes only (structure/paths/frontmatter/fences); writes ledger via `dreamcontext migrations record` on completion.
322
- - **Do NOT fire `sleep-federation`.** Federation is read-only (live reference); the copy-based drain/distribute path is disabled and parked on the roadmap. Sleep copies NOTHING across vault boundaries — peers are read live at recall time, not synced at sleep. (The `sleep-federation` specialist + `federation sync`/`drain` are retained but inert.)
323
- - Pass each specialist a small text brief in its prompt: epoch, session IDs, active task slugs, planning version, signals relevant to that specialist, optional user hint. Do **not** include transcript content — specialists call `dreamcontext transcript distill <id>` themselves.
324
- - **Consolidation discipline (remind both specialists in the brief):** prefer *updating/extending* an existing entity over creating a new one. `sleep-tasks` folds a smaller slice into the task that already covers it (broaden its title + insert sub-items) rather than forking a duplicate or a needless sub-task; `sleep-product` keeps similar verticals/brands/topics in the fewest knowledge files, splitting only on a sharp topical boundary that sharpens tags. Duplicate tasks and fragmented near-duplicate knowledge are the top consolidation failure modes — but genuinely separate concerns/topics still get their own task/file.
325
- 5. Wait for all specialist reports. Each returns a short structured report.
326
- 5a. Run `dreamcontext reflect` — each candidate is a term seen across multiple sessions not yet in soul/user/memory/knowledge; promote into `2.memory.md` or a knowledge file ONLY if genuinely load-bearing; most are noise, discard; NEVER auto-promote.
327
- 6. Marketing pass if `_dream_context/marketing/` exists: `dreamcontext mk rem-sleep`.
328
- 7. Council promote check: `dreamcontext council list --unpromoted` — promote if user engaged positively.
329
- 8. `dreamcontext sleep done "<one-paragraph summary stitched from specialist reports>"` — clears pre-epoch state, resets debt.
330
- 9. Report consolidated summary back to the user.
331
-
332
- **Epoch safety**: `sleep start` pins a timestamp epoch. `sleep done` only clears sessions/changes/bookmarks from before the epoch. Parallel sessions that finish during consolidation are preserved for the next cycle.
333
-
334
- For non-file-change work (architecture discussions, decisions): `dreamcontext sleep add <score> "<reason>"`
255
+ 2. `dreamcontext sleep start` — pins the epoch (safe clearing).
256
+ 3. Build a brief inline (cheap CLI): read `state/.sleep.json`, `git status --short`, `git log` since last sleep, `dreamcontext core releases active`.
257
+ 4. Dispatch specialists **in parallel** (one message, multiple Agent calls): always `sleep-tasks` + `sleep-state`; fire `sleep-product` when knowledge/features/research signals warrant (over-fire it no-ops cheaply); fire `sleep-migration` only if `dreamcontext migrations pending` has output.
258
+ 5. Wait for reports, then `dreamcontext reflect` (promote only genuinely load-bearing terms).
259
+ 6. `dreamcontext sleep done "<one-paragraph summary>"` — clears pre-epoch state, resets debt.
260
+ 7. Report the consolidated summary to the user.
335
261
 
336
- ---
337
-
338
- ## Versioning
339
-
340
- Versions and releases are unified in `RELEASES.json`. A "version" is a release entry with `status: planning`. When released, the status changes to `released` and the date is set.
341
-
342
- **Lifecycle**: `planning` -> `released`
343
-
344
- ```bash
345
- # Create a planning version (auto-becomes the active planning version)
346
- dreamcontext core releases add --ver v0.2.0 --summary "Dashboard improvements" --status planning
347
-
348
- # Inspect / change / clear the active planning version
349
- dreamcontext core releases active # print current
350
- dreamcontext core releases active v0.3.0 # switch to another existing planning version
351
- dreamcontext core releases active --clear # unset
262
+ For non-file-change work (decisions, architecture talk): `dreamcontext sleep add <score> "<reason>"`.
352
263
 
353
- # Release a version (via dashboard or by updating RELEASES.json status to released)
354
- # The sleep agent checks if all tasks for a planning version are done and reports readiness.
355
- ```
356
-
357
- Tasks created without an explicit `--version` flag auto-attach to the **active planning version**. This means new work is always linked to a milestone; if no active planning version exists, the sleep agent will create one. The dashboard's Version Manager shows planning vs released versions and provides a "Release" action.
264
+ **Full specialist contracts, deep sleep, epoch safety, and the marketing/council passes are in [sleep.md](references/sleep.md). Read it before running a sleep cycle if you're unsure of the details.**
358
265
 
359
266
  ---
360
267
 
361
- ## Task Protocol
362
-
363
- Tasks are your **working documents**. All context, decisions, user stories, acceptance criteria, constraints, and notes go into the task body. Features are retrospective product documentation updated exclusively during sleep consolidation. Never update features during active work.
268
+ ## Tasks — essentials
364
269
 
365
- **The auto-loaded snapshot already includes all non-completed tasks** with status, priority, and last update date. For "which tasks are active?" or "what am I working on?" questions, answer directly from the loaded context. No tool calls needed.
270
+ Tasks are your **working documents**: all context, decisions, user stories, acceptance criteria, constraints, notes, and progress go in the task body. The auto-loaded snapshot already lists active tasks — answer "what am I working on?" from it.
366
271
 
367
272
  ```bash
368
- # Discovery (only when you need full task body, not just the list)
369
- dreamcontext tasks list # List non-completed tasks (or --all for everything)
370
- Read _dream_context/state/<task>.md # Load full context (Why + Changelog = where you left off)
371
-
372
- # Slice the list filters compose (AND), and stack with --status / --all
373
- dreamcontext tasks list --version S5 # All tasks in version/milestone S5 (no more frontmatter scraping)
374
- dreamcontext tasks list --tag memoryos --tag backend --status todo # --tag is repeatable, AND semantics (must have ALL)
375
- dreamcontext tasks list --any-tag lina --any-tag studio # --any-tag is repeatable, OR semantics (at least one)
376
- dreamcontext tasks list --priority critical # critical | high | medium | low
377
- dreamcontext tasks list --feature recall-engine # match related_feature
378
- dreamcontext tasks list --long # also show version + tags inline
379
- dreamcontext tasks list --group-by version --all # sectioned output with per-group counts (tag|version|priority|status)
380
- dreamcontext tasks list --tag lina --json # scriptable: emit the filtered set as JSON (use this, not awk/grep)
381
- dreamcontext tasks tags # distinct tags with counts (--all to include completed)
382
- # Filters are case-insensitive; version/priority/feature match exactly; multiple --tag = AND, --any-tag = OR.
383
-
384
- # Create (rich task with Why, User Stories, Acceptance Criteria, Constraints, Technical Details, Notes, Changelog)
385
- dreamcontext tasks create <name> --description "..." --priority medium --why "What this task accomplishes"
386
-
387
- # Optional RICE prioritization on create (additive to priority/urgency; powers Scatter view + RICE sort)
388
- dreamcontext tasks create <name> --reach 5 --impact 3 --confidence 75 --effort 2
389
- # --reach integer 1–10 (how many users/sessions/units affected)
390
- # --impact integer 1–5 (how much per affected unit)
391
- # --confidence one of 25, 50, 75, 100 (percent)
392
- # --effort person-weeks > 0 and ≤ 52 (0.5 step OK)
393
- # Score = (reach × impact × confidence/100) / effort, computed server-side.
394
-
395
- # Retro-rate or update RICE on an existing task
396
- dreamcontext tasks rice <name> # Print current values
397
- dreamcontext tasks rice <name> --effort 4 # Update one field, recompute score
398
- dreamcontext tasks rice <name> --clear # Clear all RICE values
399
-
400
- # Enrich (insert into any section during active work)
401
- dreamcontext tasks insert <name> user_stories "As a user, I want X so that Y"
402
- dreamcontext tasks insert <name> acceptance_criteria "API returns 200 with paginated results"
403
- dreamcontext tasks insert <name> constraints "Using native fetch, no axios dependency"
404
- dreamcontext tasks insert <name> technical_details "Key file: src/api/tasks.ts, uses Express router"
405
- dreamcontext tasks insert <name> notes "Edge case: empty results should return [] not null"
406
- dreamcontext tasks insert <name> changelog "Implemented pagination for /api/tasks"
407
-
408
- # Lifecycle
409
- dreamcontext tasks log <name> "what was done" # Quick changelog entry (MANDATORY)
410
- dreamcontext tasks status <name> in_review "Ready for review" # Bump status (todo|in_progress|in_review|completed)
411
- dreamcontext tasks complete <name> "summary" # Convenience for marking complete
273
+ dreamcontext tasks create <name> -d "..." -p high -w "Why this matters" # create
274
+ dreamcontext tasks list --status todo --tag backend # filter (composable)
275
+ dreamcontext tasks insert <name> acceptance_criteria "API returns 200…" # enrich a section
276
+ dreamcontext tasks log <name> "Implemented pagination" # progress (MANDATORY)
277
+ dreamcontext tasks status <name> in_review "Ready for review" # bump status
278
+ dreamcontext tasks complete <name> "summary" # done
412
279
  ```
413
280
 
414
- **Status convention:** `todo` -> `in_progress` -> `in_review` -> `completed`. The sleep agent picks the status that matches reality — `completed` for work that's demonstrably done, low-risk, and already validated, and `in_review` only when a human genuinely must verify something (a behaviour change, a design decision, a risky/critical-path change). It does **not** reflexively park everything in `in_review`; finished work that needs no review is closed, so neither "task rotting in todo" nor "task rotting half-closed in in_review" happens.
281
+ Status: `todo in_progress in_review completed`. Sections: `why`, `user_stories`, `acceptance_criteria`, `constraints`, `technical_details`, `notes`, `changelog`.
415
282
 
416
- Task insert sections: `why`, `user_stories`, `acceptance_criteria`, `constraints`, `technical_details`, `notes`, `changelog`
283
+ **RICE, due dates, tags/people, the Workflow flowchart, versioning, and multi-product** → [tasks-and-features.md](references/tasks-and-features.md).
284
+ **Syncing tasks to a cloud backend (ClickUp _or_ GitHub — one at a time)** → [integrations.md](references/integrations.md).
417
285
 
418
286
  ---
419
287
 
420
- ## Memory & Knowledge
288
+ ## Memory & Knowledge — essentials
421
289
 
422
- **Quick inline updates** (no sleep needed):
423
- - Edit `0.soul.md`, `1.user.md`, `2.memory.md` directly with native tools
424
- - `dreamcontext core changelog add` for code changes
425
- - `dreamcontext tasks log <name> "progress"` for task updates
426
- - `dreamcontext tasks insert <name> <section> "<content>"` for enriching task context
290
+ - **Quick updates (no sleep):** edit `0.soul.md`/`1.user.md`/`2.memory.md` directly; `dreamcontext core changelog add` for code changes; `dreamcontext tasks log` for progress.
291
+ - **Recall (first-line discovery):** `dreamcontext memory recall "<query>" [--top N] [--types knowledge,feature,task,memory,changelog] [--json]`. Default mode is **`haiku`** (a small cloud model picks relevant docs); `raw` = BM25 only; `off` = disabled. Control with `dreamcontext recall on|raw|off|status`. Auto-injected on prompts (opt out `DREAMCONTEXT_MEMORY_HOOK=0`).
292
+ - **Quick capture:** `dreamcontext memory remember "<text>"` writes a `type=note` CHANGELOG entry; sleep reconciles it later. (`2.memory.md` no longer has a LIFO ship-narrative section — ship events live in CHANGELOG.)
293
+ - **Knowledge files:** index auto-loaded; create with `dreamcontext knowledge create <name>`; pin frequently-needed ones (`pinned: true`); read non-pinned on demand and `knowledge touch` after. Group a flat file into a context folder with `dreamcontext knowledge move <slug> <folder>` (atomic move + inbound `[[wikilink]]` rewrite never `mv` + hand-edit links).
294
+ - **Features are sleep-only** (see rule 9).
427
295
 
428
- **Features are sleep-only.** Feature PRDs are retrospective product documentation. They are created and updated exclusively by the sleep agent during consolidation. Use tasks for all in-progress context.
429
-
430
- **Major consolidation** (multiple files, reorganization) -> dispatch sleep agent.
431
-
432
- **Knowledge**: Index auto-loaded each session. Pin frequently-needed files (`pinned: true` in frontmatter). Read non-pinned on demand. Create with `dreamcontext knowledge create <name>`.
433
-
434
- Standard tags: `architecture`, `api`, `frontend`, `backend`, `database`, `devops`, `security`, `testing`, `design`, `decisions`, `onboarding`, `domain`. Custom tags allowed. For the full resolved project vocabulary (including faceted tags and aliases), run `dreamcontext taxonomy vocab`. The project vocabulary is maintained in `core/taxonomy.json`; scaffold it with `dreamcontext taxonomy init`. Mutate vocabulary via CLI — never hand-edit the JSON: `dreamcontext taxonomy add <facet:value>` for new tags, `dreamcontext taxonomy alias <alias> <canonical>` for merges, `dreamcontext taxonomy resolve <tag>` to check classification. sleep-product runs taxonomy maintenance during Pass C.
435
-
436
- **Taxonomy**: Tags drive BM25 recall precision. Prefer canonical faceted tags (`topic:recall`, `domain:database`) over bare duplicates. Run `dreamcontext taxonomy audit` to surface non-canonical or orphan tags.
437
-
438
- ### Excalidraw boards in knowledge/diagrams/
439
-
440
- Excalidraw boards (`.excalidraw.md`) are first-class knowledge files. Two layouts are both supported:
441
-
442
- **Flat** (legacy, still works): `knowledge/diagrams/<title>.excalidraw.md`
443
-
444
- **Per-title folder** (preferred convention): `knowledge/diagrams/<title>/<title>.excalidraw.md`
445
-
446
- **Optional category subfolder** (for many diagrams): group boards under a category, e.g. `knowledge/diagrams/<category>/<title>/<title>.excalidraw.md` (`diagrams/competitors/acme/acme.excalidraw.md`, `diagrams/system/recall/recall.excalidraw.md`). The dashboard Knowledge view renders these as a nested, collapsible folder tree, so categories stay navigable instead of collapsing into one flat Diagrams list. Nesting is free-form and any depth; the board still lives in its own `<title>/` folder. Generators that `require()` shared helpers via a relative path must account for the extra depth.
447
-
448
- Rules:
449
- - **REQUIRED frontmatter**: every board MUST have `name:` and `description:` fields. Boards with no `## Text Elements` section fall back to description-only recall — make it descriptive.
450
- - **Do NOT hand-edit scene JSON.** The `.excalidraw.md` file is generated output. Build a spec and run the generator (`.board.cjs`). Edit the spec, not the board.
451
- - **Spec is the source of truth.** If the spec and the board ever disagree, the spec wins. Commit both.
452
- - **Dark siblings**: tooling files inside a `knowledge/diagrams/<title>/` folder — generator scripts (`.board.cjs`), spec `.json`, and frontmatter-less helper `.md` — are excluded from the index, recall corpus, snapshot, and dashboard. **Exception:** a companion `.md` that carries `name:` frontmatter is indexed as first-class knowledge, so you can co-locate a board with its detailed teardown (`acme/acme.excalidraw.md` + `acme/acme.teardown.md`) and have it recall normally. Only frontmatter-less notes stay dark.
453
- - **Memory indexes only frontmatter + ## Text Elements**: scene JSON, base64, and element ids are stripped before indexing. A 2 MB board with rich Text Elements is as searchable as a tiny board. The dashboard renderer still receives the raw body (with full scene JSON) via the detail API route.
454
- - **Migration is opt-in**: flat boards stay flat unless you explicitly ask for reorganization. Use `dreamcontext migrations pending` to see pending migration tasks; use `dreamcontext migrations apply-diagrams` to opt-in to organizing flat boards into per-title folders.
455
-
456
- #### Where does a board go?
457
-
458
- | Board nature | Location | Indexed? |
459
- |---|---|---|
460
- | Canonical / source-of-truth (architecture, system flows, roadmaps, durable plans the agent should recall in future sessions) | `knowledge/diagrams/<title>/` | Yes — indexed, recalled |
461
- | Temporary / scratch / exploratory / in-progress | `inbox/` or `workspace/` (dark by location) | No — not indexed, will not pollute recall |
462
-
463
- **Decision rule**: "Will a future session need to know this? → `knowledge/diagrams/`. Throwaway/working? → `inbox/` or `workspace/`."
464
-
465
- Promote a board from `inbox/workspace` to `knowledge/diagrams/` only once it becomes canonical. Use `dreamcontext migrations apply-diagrams` to move flat boards + rewrite inbound [[wikilinks]] atomically — do NOT hand-edit wikilinks.
296
+ **Recall modes, taxonomy, Excalidraw boards/diagrams, multi-product knowledge** [knowledge-and-recall.md](references/knowledge-and-recall.md).
466
297
 
467
298
  ---
468
299
 
469
- ## Memory Recall (BM25)
470
-
471
- Deterministic keyword recall over the curated corpus: `_dream_context/knowledge/*`, `core/features/*`, `state/*.md`, `core/2.memory.md` (Technical Decisions + Known Issues), and every entry in `core/CHANGELOG.json` (added 2026-05-23). No setup, no index file, no external services — rebuilt in-memory on every call (<100ms on ~130 docs). Use `--types changelog` to scope to ship events when you specifically want history.
472
-
473
- ```bash
474
- dreamcontext memory recall <query...> [--top N] [--types knowledge,feature,task,memory,changelog] [--json|--plain]
475
- dreamcontext memory remember <text...> [--title <t>] [--tasks <slugs>]
476
- dreamcontext memory update <slug> [--description] [--tags] [--content] [--append] [--pin|--unpin]
477
- dreamcontext memory delete <slug> [--force]
478
- dreamcontext memory list [--types ...]
479
- dreamcontext memory status
480
- ```
481
-
482
- **Use `memory recall` as the first-line discovery tool** when the user asks "where did we decide X?", "have we discussed Y?", "what do we know about Z?", or before duplicating work. Try it BEFORE grepping or reading files blindly. Pass `--json` when consuming output programmatically; narrow with `--types task` or `--types knowledge,feature` when you know roughly where the answer lives.
300
+ ## Sub-Agents
483
301
 
484
- **Use `memory remember <text>`** for one-off captures during a session that would otherwise be lost. As of 2026-05-23 this writes a CHANGELOG entry (type `note`, scope `quick` by default) rather than a LIFO section in `2.memory.md` (which no longer exists). The sleep cycle reconciles later; you do not need to edit `2.memory.md` by hand. Override with `--type` / `--scope` / `--summary` / `--references` for richer captures.
302
+ - **`dreamcontext-explore`** context-accelerated codebase exploration. Use for ALL exploration (default Explore is blocked). Uses the SubagentStart briefing to narrow searches.
303
+ - **`initializer` skill** — the **interactive, sub-agent-driven brain bootstrap**. Invoke it via the `Skill` tool when this project has **no `_dream_context/`** or a **sparse** one (empty `knowledge/`, zero features, untouched template stubs). It orchestrates scout → confirm-hierarchy → progressive ingest → verify, migrating whatever material the user has into the proper knowledge/feature/task hierarchy. It drives its own sub-agents (`initializer-scout`, `initializer-ingestor`, `initializer-verifier`) and handles codebase-only repos too (a light scout + ingest pass) — there is no separate bootstrap agent.
304
+ - **Sleep specialists** (`sleep-tasks`, `sleep-state`, `sleep-product`, `sleep-migration`) — dispatched by the main agent during the sleep flow only.
485
305
 
486
- **`memory update` / `memory delete`** are shortcuts when surgically editing or removing knowledge files mid-session. Heavy maintenance (merging, deduping, restructuring) still belongs to sleep-product.
306
+ **First-run self-recognition (do not skip):** if you notice the brain is missing or sparse, **do not silently scaffold and move on, and do not wait to be asked** — proactively offer: *"I don't have a brain for this project yet. Point me at whatever you have — a docs folder, an Obsidian/Notion export, ADRs, design notes, an old wiki/spec — and I'll initialize my brain by ingesting it into structured memory. Or I can bootstrap from just the codebase."* Then invoke the `initializer` skill.
487
307
 
488
- **Recall hook (default ON).** The UserPromptSubmit handler auto-injects the top-3 recall hits per prompt (filtered to score 2.0, skipped for prompts under 8 chars). Opt out with `DREAMCONTEXT_MEMORY_HOOK=0` if you want raw prompts without context augmentation.
308
+ **The hooks now surface this for you.** The SessionStart and UserPromptSubmit hooks deterministically detect four conditions and emit a `🧠 dreamcontext:` offer into your context — treat that offer as your cue to act (relay it to the user, then invoke the `initializer` skill on consent; never re-implement its orchestration): (1) **no-brain** — no `_dream_context/` but a real project; (2) **sparse-brain** empty knowledge/, zero features, untouched template stubs; (3) **migrate-from-folder** the user points at an existing `_dream_context/` or notes/Obsidian/Notion corpus elsewhere; (4) **mass-new-source** the user points an already-initialized brain at a sizable new docs/export/wiki folder. (Set `DREAMCONTEXT_INITIALIZER_HOOK=0` to silence.)
489
309
 
490
- **What recall is NOT.** Not semantic, not synonym-aware pure BM25 keyword scoring; "ML practitioner" will not match "data scientist." Not a replacement for the SessionStart snapshot (soul/user/memory/active-tasks/knowledge-index are still always pre-loaded). Not a vector DB. The recall corpus is the same set the sleep agents already curate; no new files, no new state.
310
+ All sub-agents get a lightweight context briefing via the SubagentStart hook. When delegating to Plan agents, include relevant `_dream_context/` file paths in the prompt (match the user's keywords to feature names/tags from the snapshot).
491
311
 
492
312
  ---
493
313
 
494
- ## Cross-Project Federation (issue #25)
495
-
496
- Every `_dream_context/` is normally an island. Federation lets you reach across projects — recall what you worked out in *another* vault — using nothing but the local filesystem (no network, ever).
497
-
498
- **Ambient awareness — you start informed.** The session snapshot includes a `## Connected projects` section listing each readable peer with a one-line description and last activity. At session start you already know which sibling projects exist and roughly what's in them. For an up-to-date summary on demand:
499
-
500
- ```bash
501
- dreamcontext federation peers # compact summary: what each peer is, last activity, active task, top tags
502
- ```
503
-
504
- **PULL — recall already spans peers.** Plain `memory recall` automatically searches readable peer vaults alongside the current one. No flag needed. You get up to 10 hits, vault-tagged `<vault>::<type>/<slug>` so provenance is always visible:
505
-
506
- ```bash
507
- dreamcontext memory recall "<query>" # current vault + all eligible readable peers (default)
508
- dreamcontext memory recall "<query>" --vault <name> # current + one named peer (repeatable)
509
- dreamcontext memory recall "<query>" --connected # current + out/both connections
510
- dreamcontext memory recall "<query>" --all-vaults # current + every shareable vault
511
- ```
314
+ ## Setup & Maintenance (quick map)
512
315
 
513
- Eligible = direction `out`/`both`, status not stale, AND the peer is `shareable: true`. If no eligible connections exist, recall is local-only (unchanged). A peer vault being `shareable` controls whether *others* may read it it never blocks you from reading a shareable peer, and the current vault is always searched. Non-shareable peers are silently excluded (never an error). Cross-vault hits are namespaced `<vault>::<type>/<slug>` so the same slug in two vaults never collides.
316
+ - `dreamcontext setup` the **front door**: init + install-skill + install-instructions in one step, and on macOS offers to install the desktop app too (`--install-app` to force, `--skip-app` to opt out). (`init`, `install-skill`, `install-instructions` still exist for advanced/scripted use but are deprecated as standalone steps.)
317
+ - `dreamcontext update` — refresh THIS project's installed skill, agents, hooks, packs, and reference set to the latest shipped version.
318
+ - `dreamcontext upgrade` — upgrade the CLI, then (one command) update the desktop app if installed and offer to refresh **every registered project** to match (`--yes` does it all non-interactively). **Keeping projects + app updated is the CLI's job — you should not run per-project updates by hand or ask the user to.**
319
+ - `dreamcontext doctor` — validate `_dream_context/` structure.
320
+ - `dreamcontext dashboard` — open the web UI. `dreamcontext app install|update|status` — the desktop app.
514
321
 
515
- Use `--vault <name>` when you know where the answer likely lives; the default span is the cheapest path when you don't.
322
+ ---
516
323
 
517
- **Read-only nothing is ever copied.** Federation is a *live reference*: a connected, shareable peer's CANONICAL docs are surfaced at recall time (PULL, above) and never written into your vault. Each vault stays the single source of truth for its own knowledge. There is no per-situation "when to read" rule — a connection is a standing "may read" agreement, resolved live by recall whenever it's relevant.
324
+ ## Improving dreamcontext (you are its field reporter)
518
325
 
519
- ```bash
520
- dreamcontext vaults discover [root] [--register] # find every _dream_context/ under a tree
521
- dreamcontext connect <vault> --direction out [--topics a,b] # create a read edge (out = read)
522
- dreamcontext connections list / disconnect <vault> # manage links
523
- dreamcontext snapshot --vault <name> # print a peer vault's context snapshot
524
- dreamcontext config shareable on|off # opt this project IN/OUT of peer recall (default: off)
525
- ```
526
-
527
- **Copy-based sync is parked on the roadmap.** Earlier builds pushed a lossy, truncated *digest* of each vault into its peers at sleep (`federation sync`) and ingested it as `federated: true` copies (`federation drain`). That broke single-source-of-truth: copies were write-once, went stale the moment the source changed, and an edit produced duplicates + false conflict-notes. It is now **disabled** — `federation sync` / `federation drain` are inert no-ops, and the `sleep-federation` specialist is no longer dispatched. Re-introducing a copy/offline-mirror mode needs a proper design first (it's the one thing live read can't do: survive a peer going offline).
528
-
529
- **Cleaning up old copies.** If a vault still holds `federated: true` knowledge files from the old sync path, remove them deliberately:
530
- ```bash
531
- dreamcontext federation status # shows connections + any leftover federated copies
532
- dreamcontext federation purge --all # remove every federated:true copy in this vault
533
- dreamcontext federation purge --vault <name> # remove only copies that came from one peer
534
- ```
326
+ When dreamcontext gets in your way — a recall gap, a missing command, a confusing behavior — **do not silently work around it. File it.** The sanctioned path is `dreamcontext feedback --dry-run …` → confirm with the user → file with `--yes`. Never `gh issue create` by hand. Full loop and quality bar → [improving-dreamcontext.md](references/improving-dreamcontext.md).
535
327
 
536
328
  ---
537
329
 
@@ -539,117 +331,33 @@ dreamcontext federation purge --vault <name> # remove only copies that cam
539
331
 
540
332
  ```
541
333
  _dream_context/
542
- +-- core/
543
- | +-- features/<feature>.md <- Feature PRDs (may include product: <name>)
544
- | +-- 0.soul.md <- Identity, principles, rules
545
- | +-- 1.user.md <- Preferences, project details
546
- | +-- 2.memory.md <- Decisions + Known Issues (ship narrative moved to CHANGELOG 2026-05-23)
547
- | +-- 3.style_guide_and_branding.md
548
- | +-- 4.tech_stack.md
549
- | +-- 6.system_flow.md
550
- | +-- CHANGELOG.json, RELEASES.json
551
- +-- knowledge/<topic>.md <- Deep research, resources (global)
552
- | +-- data-structures/ <- Per-product schemas (recall-indexed knowledge)
553
- | | +-- default.md <- single-product fallback
554
- | | +-- <product>.md <- one per product if monorepo
555
- | +-- diagrams/ <- Excalidraw boards (flat or per-title folder)
556
- | | +-- <title>.excalidraw.md <- flat layout (still works; legacy OK)
557
- | | +-- <title>/ <- preferred: per-title folder
558
- | | | +-- <title>.excalidraw.md <- generated board (do NOT hand-edit scene JSON)
559
- | | | +-- <title>.board.cjs <- generator script (dark sibling — excluded from index/recall)
560
- | | | +-- <title>.json <- spec/source of truth (dark sibling — excluded)
561
- | | | +-- notes.md <- any helper .md (dark sibling — excluded)
562
- | +-- products/<product>.md <- Per-product knowledge (multi-product)
563
- +-- state/
564
- | +-- <task>.md <- Active tasks (frontmatter may include product:)
565
- | +-- .config.json <- { platforms, packs, multiProduct, setupVersion }
334
+ ├── core/
335
+ ├── features/<feature>.md Feature PRDs (may include product:)
336
+ ├── 0.soul.md 1.user.md 2.memory.md
337
+ ├── 3.style_guide_and_branding.md 4.tech_stack.md 6.system_flow.md
338
+ ├── CHANGELOG.json RELEASES.json taxonomy.json
339
+ ├── knowledge/ ← Deep research — grouped by context, indexed recursively
340
+ ├── <topic>.md ← flat top-level docs are fine
341
+ ├── <context>/ ← PROMOTED: group related docs into a context folder
342
+ │ ├── <doc>.md ← the context's knowledge
343
+ │ │ └── <title>/<title>.excalidraw.md diagrams live INSIDE their context folder
344
+ ├── data-structures/{default,<product>}.md ← schemas (recall-indexed; ```sql body)
345
+ └── products/<product>.md ← per-product knowledge (multi-product)
346
+ ├── state/
347
+ ├── <task>.md Active tasks (frontmatter may include product:)
348
+ ├── .config.json ← platforms, packs, multiProduct, taskBackend, people…
349
+ ├── .sleep.json .secrets.json (gitignored) .active-task
566
350
  ```
567
351
 
568
352
  ---
569
353
 
570
- ## Improving dreamcontext (Agent Feedback)
571
-
572
- You are not just a *user* of dreamcontext — you are its field reporter. When dreamcontext gets in your way, the system can only improve if that friction reaches its maintainers. Take responsibility: file it.
573
-
574
- **Triggerthe moment you notice any of these, consider filing feedback:**
575
- - You expected a fact to be in memory but `memory recall` didn't surface it (a recall gap, not a missing fact).
576
- - You wished a CLI command existed and there was no path (e.g. "I want to reopen a completed task" and no `tasks reopen`).
577
- - A command, hook, or doc behaved wrong, was confusing, or crashed.
578
- - The structure forced an awkward workaround to do something the system should support directly.
579
-
580
- Do **not** silently work around it. A workaround fixes today; feedback fixes the system.
581
-
582
- **The loop (this is the only sanctioned way to file — never run `gh issue create` by hand):**
583
- 1. **Draft.** Run `dreamcontext feedback --dry-run` with the category and a complete scenario. Fill `-s` (what you were doing), `-e` (what you expected), `-g` (what was missing/broken), `-r` (exact commands), `-p` (your proposed improvement). A maintainer who has never seen your session must understand it from the issue alone — include the whole scenario.
584
- 2. **Confirm with the user.** Show them the rendered draft and ask permission. This writes to a public repo on their behalf — never file without an explicit yes.
585
- 3. **File.** Re-run the same command without `--dry-run` and with `--yes`. It checks for near-duplicate open issues, applies the `agent-feedback` label, and files to the dreamcontext project (`meanllbrl/dreamcontext`) — **not** the user's own repo.
586
-
587
- **No GitHub access?** If the command reports `gh` is missing or unauthenticated, relay its guidance to the user: install `gh` + run `gh auth login`, and if they have no GitHub account, ask them to create a free one at github.com/signup. They need an account to file. Once they're signed in, re-run the loop.
588
-
589
- **Quality bar:** one issue per distinct gap, concrete title, full scenario, a concrete proposal. Vague feedback ("recall is bad") is noise; a reproducible scenario with a proposed command is signal.
590
-
591
- ## Command Reference
592
-
593
- All commands prefixed with `dreamcontext`. For reading/searching, use native tools directly.
594
-
595
- | Command | Description |
596
- |---------|-------------|
597
- | `init [--multi-product=a,b,c]` | Initialize `_dream_context/`. Prompts interactively whether the project is a monorepo with multiple products; `--multi-product=a,b,c` skips the prompt and provides kebab-case product names directly. Creates `knowledge/data-structures/<product>.md` per product (or `default.md` for single-product) and seeds `knowledge/products/`. |
598
- | `core changelog add` | Add changelog entry (interactive) |
599
- | `core releases add [--ver v --summary s --yes] [--status planning]` | Create release (default: released with auto-discovery; --status planning: empty planning version, auto-becomes active) |
600
- | `core releases active [<version>] [--clear]` | Get/set/clear the active planning version (default for new tasks' `version` field) |
601
- | `core releases list [-n count]` | List recent releases |
602
- | `core releases show <version>` | Show release details |
603
- | `features create <name> [-w why] [-t tags] [-s status] [--related-tasks a,b]` | Create feature PRD; frontmatter set without hand-editing (status: planning\|in_progress\|in_review\|active\|shipped\|deprecated) |
604
- | `features insert <name> <section> <content>` | Insert into feature section (replaces template placeholders on first write; `user_stories`/`acceptance_criteria` auto-formatted as `- [ ]` items) |
605
- | `features set <name> <tags\|status\|related_tasks> <value...>` | Set a feature frontmatter field (comma-separated for tags/related_tasks) without hand-editing |
606
- | `knowledge create <name>` | Create knowledge file |
607
- | `knowledge index [--tag <tag>]` | Show knowledge index |
608
- | `knowledge tags` | List standard tags |
609
- | `knowledge touch <slug>` | Record access to knowledge file (decay tracking) |
610
- | `memory recall <query...> [--top N] [--types ...] [--json\|--plain]` | BM25 recall across knowledge, features, tasks, memory entries |
611
- | `memory remember <text...> [--title t] [--tasks slugs]` | Capture a one-off knowledge entry mid-session (sleep reconciles later) |
612
- | `memory update <slug> [--description] [--tags] [--content] [--append] [--pin\|--unpin]` | Surgically edit a knowledge entry |
613
- | `memory delete <slug> [--force]` | Remove a knowledge entry |
614
- | `memory list [--types ...]` | List indexable memory corpus by type |
615
- | `memory status` | Show corpus size broken down by type |
616
- | `tasks list [-s status] [--all] [--tag t]… [--any-tag t]… [--version id] [--priority p] [--feature slug] [--group-by tag\|version\|priority\|status] [--long] [--json]` | List/filter/group tasks. Default excludes completed. `--tag` repeatable (AND), `--any-tag` repeatable (OR), filters compose; `--json` emits the filtered set; case-insensitive matching |
617
- | `tasks tags [--all] [--json]` | List distinct task tags with counts (discover before filtering) |
618
- | `tasks create <name> [-d desc] [-p priority] [-s status] [-t tags] [-w why] [--reach N --impact N --confidence N --effort N]` | Create task (defaults: priority=medium, status=todo). RICE flags optional and additive. |
619
- | `tasks rice <name> [--reach N] [--impact N] [--confidence N] [--effort N] [--clear]` | Print or update RICE values; no flags prints current values |
620
- | `tasks insert <name> <section> <content>` | Insert into task section |
621
- | `tasks status <name> <todo\|in_progress\|in_review\|completed> [reason...]` | Change task status (logs to changelog) |
622
- | `tasks complete <name>` | Complete task (convenience for `tasks status <name> completed`) |
623
- | `tasks log <name> <content>` | Log task progress |
624
- | `bookmark add "<message>" [-s 1\|2\|3] [--task <slug>]` | Bookmark an important moment with optional task link |
625
- | `bookmark list` | Show current bookmarks |
626
- | `bookmark clear` | Remove all bookmarks |
627
- | `trigger add "<when>" "<remind>" [-m max_fires] [-s source]` | Create contextual trigger |
628
- | `trigger list` | Show active triggers |
629
- | `trigger remove <id>` | Remove a trigger |
630
- | `reflect [--min-sessions N] [--max N] [--write]` | Detect recurring cross-session terms not yet in knowledge/memory as CANDIDATES; `--write` persists to `state/.reflection.md` |
631
- | `transcript distill <session_id>` | Extract high-signal content from session transcript |
632
- | `sleep status` | Show sleep state and history |
633
- | `sleep add <score> "<desc>"` | Manual debt add |
634
- | `sleep start` | Begin consolidation epoch (safe clearing) |
635
- | `sleep done "<summary>"` | Mark consolidation complete, write history entry |
636
- | `sleep debt` | Output debt number (programmatic) |
637
- | `sleep history [-n count]` | Show consolidation history log |
638
- | `hook session-start` | SessionStart hook handler |
639
- | `hook stop` | Stop hook handler |
640
- | `hook subagent-start` | SubagentStart hook handler |
641
- | `hook pre-tool-use` | PreToolUse hook handler (blocks default Explorer when `_dream_context/` exists) |
642
- | `hook user-prompt-submit` | UserPromptSubmit hook handler (persistent sleep debt reminders) |
643
- | `hook post-tool-use` | PostToolUse hook handler (auto-format + TypeScript check on JS/TS files) |
644
- | `hook pre-compact` | PreCompact hook handler (saves sleep state before context compaction) |
645
- | `snapshot` | Output context snapshot |
646
- | `snapshot --tokens` | Estimate snapshot token count |
647
- | `doctor` | Validate `_dream_context/` structure |
648
- | `install-skill` | Install skill + hooks |
649
- | `config show` | Print project config (platforms, packs, native-memory state) |
650
- | `config native-memory <enable\|disable>` | Toggle Claude's native auto-memory; disabled by default so dreamcontext owns project memory |
651
- | `upgrade [--check]` | Update the dreamcontext CLI itself to the latest npm release |
652
- | `feedback -c <category> -t <title> -s <scenario> [-e expected] [-g gap] [-r repro] [-p proposal] [--dry-run] [--yes]` | File a structured gap/bug as a GitHub issue to the **dreamcontext project** (upstream, not the user's repo). Use `--dry-run` to render a draft for the user; file with `--yes` only after they approve. Categories: `bug \| missing-cli \| unseen-memory \| feature \| docs \| other`. See "Improving dreamcontext" below. |
653
-
654
- Feature insert sections: `changelog`, `notes`, `technical_details`, `constraints`, `user_stories`, `acceptance_criteria`, `why`
655
- Task insert sections: `why`, `user_stories`, `acceptance_criteria`, `constraints`, `technical_details`, `notes`, `changelog`
354
+ ## Reference Index
355
+
356
+ Open these with `Read` when the task needs depth:
357
+
358
+ - **[cli-reference.md](references/cli-reference.md)**every command, every flag, env vars.
359
+ - **[tasks-and-features.md](references/tasks-and-features.md)** task protocol depth, RICE, due dates, people/assignees, Workflow flowchart, features, versioning, multi-product.
360
+ - **[knowledge-and-recall.md](references/knowledge-and-recall.md)** knowledge files, pinning, recall modes, taxonomy, Excalidraw/diagrams.
361
+ - **[sleep.md](references/sleep.md)** full consolidation flow, specialist contracts, deep sleep, epoch safety, reflect, marketing/council passes.
362
+ - **[integrations.md](references/integrations.md)** ClickUp/GitHub task sync (one cloud backend at a time), dashboard, desktop app, federation/vaults, council, marketing.
363
+ - **[improving-dreamcontext.md](references/improving-dreamcontext.md)** — the feedback loop, when and how to file.