@goondocks/myco 0.20.2 → 0.21.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 (196) hide show
  1. package/dist/agent-eval-RJSQI5S2.js +355 -0
  2. package/dist/agent-eval-RJSQI5S2.js.map +1 -0
  3. package/dist/{agent-run-X25Q2A6T.js → agent-run-2JSYFOKU.js} +10 -8
  4. package/dist/{agent-run-X25Q2A6T.js.map → agent-run-2JSYFOKU.js.map} +1 -1
  5. package/dist/{agent-tasks-7B6OFERB.js → agent-tasks-APFJIM2T.js} +10 -8
  6. package/dist/{agent-tasks-7B6OFERB.js.map → agent-tasks-APFJIM2T.js.map} +1 -1
  7. package/dist/{chunk-OD4AA7PV.js → chunk-53RPGOEN.js} +56 -8
  8. package/dist/chunk-53RPGOEN.js.map +1 -0
  9. package/dist/chunk-54SXG5HF.js +26 -0
  10. package/dist/chunk-54SXG5HF.js.map +1 -0
  11. package/dist/{chunk-DCSGJ7W4.js → chunk-5ZG4RMUH.js} +2 -2
  12. package/dist/{chunk-FLLBJLHM.js → chunk-6C6QZ4PM.js} +9 -5
  13. package/dist/chunk-6C6QZ4PM.js.map +1 -0
  14. package/dist/chunk-6LB7XELY.js +406 -0
  15. package/dist/chunk-6LB7XELY.js.map +1 -0
  16. package/dist/{chunk-JZGN33AY.js → chunk-75Z7UKDY.js} +4 -4
  17. package/dist/{chunk-XG5RRUYF.js → chunk-BUTL6IFS.js} +2 -2
  18. package/dist/chunk-CESKJD44.js +586 -0
  19. package/dist/chunk-CESKJD44.js.map +1 -0
  20. package/dist/chunk-CISWUP5W.js +101 -0
  21. package/dist/chunk-CISWUP5W.js.map +1 -0
  22. package/dist/chunk-DJ3IHNYO.js +50 -0
  23. package/dist/chunk-DJ3IHNYO.js.map +1 -0
  24. package/dist/chunk-F3OEQYLS.js +847 -0
  25. package/dist/chunk-F3OEQYLS.js.map +1 -0
  26. package/dist/{chunk-6RFZWV4R.js → chunk-FCJ5JV54.js} +1 -1
  27. package/dist/{chunk-6RFZWV4R.js.map → chunk-FCJ5JV54.js.map} +1 -1
  28. package/dist/{chunk-2PDWCDKY.js → chunk-G6QIBNZM.js} +9 -6
  29. package/dist/{chunk-2PDWCDKY.js.map → chunk-G6QIBNZM.js.map} +1 -1
  30. package/dist/{chunk-6X2ERTQV.js → chunk-ILJPRYES.js} +6 -4
  31. package/dist/{chunk-6X2ERTQV.js.map → chunk-ILJPRYES.js.map} +1 -1
  32. package/dist/{chunk-US4LNCAT.js → chunk-IPPMYQ2Y.js} +5 -1
  33. package/dist/chunk-IPPMYQ2Y.js.map +1 -0
  34. package/dist/{chunk-KESLPBKV.js → chunk-JR54LTPP.js} +4 -4
  35. package/dist/{chunk-CCRGY3QW.js → chunk-JZS6GZ6T.js} +16 -94
  36. package/dist/chunk-JZS6GZ6T.js.map +1 -0
  37. package/dist/{chunk-5XIVBO25.js → chunk-LVIY7P35.js} +2 -2
  38. package/dist/chunk-NGH7U6A3.js +13844 -0
  39. package/dist/chunk-NGH7U6A3.js.map +1 -0
  40. package/dist/chunk-OUJSQSKE.js +113 -0
  41. package/dist/chunk-OUJSQSKE.js.map +1 -0
  42. package/dist/{chunk-VVNL26WX.js → chunk-P66DLD6G.js} +22 -10
  43. package/dist/chunk-P66DLD6G.js.map +1 -0
  44. package/dist/{chunk-XATDZX7U.js → chunk-R2JIJBCL.js} +18 -4
  45. package/dist/{chunk-XATDZX7U.js.map → chunk-R2JIJBCL.js.map} +1 -1
  46. package/dist/{chunk-MYOZLMB2.js → chunk-RL5R4CQU.js} +538 -19
  47. package/dist/chunk-RL5R4CQU.js.map +1 -0
  48. package/dist/{chunk-EVDQKYCG.js → chunk-RQSJLWP4.js} +13 -2
  49. package/dist/chunk-RQSJLWP4.js.map +1 -0
  50. package/dist/{chunk-BPRIYNLE.js → chunk-TKAJ3JVF.js} +3 -3
  51. package/dist/{chunk-Q36VMZST.js → chunk-VHNRMM4O.js} +3 -2
  52. package/dist/{chunk-FMRZ26U5.js → chunk-X3IGT5RV.js} +5 -2
  53. package/dist/{chunk-FMRZ26U5.js.map → chunk-X3IGT5RV.js.map} +1 -1
  54. package/dist/{chunk-KHT24OWC.js → chunk-YDUOSRGD.js} +8 -94
  55. package/dist/{chunk-KHT24OWC.js.map → chunk-YDUOSRGD.js.map} +1 -1
  56. package/dist/{cli-GGPWH4UO.js → cli-LNYSTDQM.js} +49 -42
  57. package/dist/cli-LNYSTDQM.js.map +1 -0
  58. package/dist/{client-YXQUTXVZ.js → client-NWE4TCNO.js} +4 -4
  59. package/dist/{config-OMCYHG2S.js → config-VC4ACP42.js} +6 -4
  60. package/dist/{config-OMCYHG2S.js.map → config-VC4ACP42.js.map} +1 -1
  61. package/dist/{detect-providers-5KOPZ7J2.js → detect-providers-ILLQZROY.js} +4 -4
  62. package/dist/{doctor-5JXJ36KA.js → doctor-TI7EZ3RW.js} +48 -15
  63. package/dist/doctor-TI7EZ3RW.js.map +1 -0
  64. package/dist/executor-F2YU7HXJ.js +44 -0
  65. package/dist/{init-LMYOVZAV.js → init-KG3TYVGE.js} +14 -12
  66. package/dist/{init-LMYOVZAV.js.map → init-KG3TYVGE.js.map} +1 -1
  67. package/dist/{installer-FS257JRZ.js → installer-UMH7OJ5A.js} +6 -4
  68. package/dist/{llm-TH4NLIRM.js → llm-AGVEF5XD.js} +5 -4
  69. package/dist/{loader-CQYTFHEW.js → loader-LX7TFRM6.js} +5 -3
  70. package/dist/{loader-NOMBJUPW.js → loader-NAVVZK63.js} +4 -3
  71. package/dist/{main-YTBVRTBI.js → main-5PRQNEEE.js} +2453 -650
  72. package/dist/main-5PRQNEEE.js.map +1 -0
  73. package/dist/{open-HG2DX6RN.js → open-5A27BCSB.js} +10 -8
  74. package/dist/{open-HG2DX6RN.js.map → open-5A27BCSB.js.map} +1 -1
  75. package/dist/{post-compact-JSECI44W.js → post-compact-USAODKPQ.js} +6 -6
  76. package/dist/{post-tool-use-POGPTJBA.js → post-tool-use-GMMSYBII.js} +9 -7
  77. package/dist/post-tool-use-GMMSYBII.js.map +1 -0
  78. package/dist/{post-tool-use-failure-OT7BFWQW.js → post-tool-use-failure-NZVSL2PO.js} +6 -6
  79. package/dist/{pre-compact-OXVODKH4.js → pre-compact-LZ57DLUS.js} +6 -6
  80. package/dist/{provider-check-43LAMSMH.js → provider-check-ZEV5P4KM.js} +4 -4
  81. package/dist/{registry-U4CHXK6R.js → registry-M2Z5QBWH.js} +5 -4
  82. package/dist/{remove-N7ZPELFU.js → remove-T3KE6C5N.js} +10 -8
  83. package/dist/{remove-N7ZPELFU.js.map → remove-T3KE6C5N.js.map} +1 -1
  84. package/dist/{restart-ADG5GBTB.js → restart-YWDEVZUJ.js} +11 -9
  85. package/dist/{restart-ADG5GBTB.js.map → restart-YWDEVZUJ.js.map} +1 -1
  86. package/dist/{search-AHZEUNRR.js → search-GKFDGELR.js} +11 -9
  87. package/dist/{search-AHZEUNRR.js.map → search-GKFDGELR.js.map} +1 -1
  88. package/dist/{server-AGVYZVP5.js → server-AHUR6CWF.js} +368 -269
  89. package/dist/server-AHUR6CWF.js.map +1 -0
  90. package/dist/{session-6IU4AXYP.js → session-2ZEPLWW6.js} +11 -9
  91. package/dist/{session-6IU4AXYP.js.map → session-2ZEPLWW6.js.map} +1 -1
  92. package/dist/{session-end-FT27DWYZ.js → session-end-LWJYQAXX.js} +5 -5
  93. package/dist/session-start-WTA6GCOQ.js +134 -0
  94. package/dist/session-start-WTA6GCOQ.js.map +1 -0
  95. package/dist/{setup-llm-77MP4I2G.js → setup-llm-E7UU5IO7.js} +11 -9
  96. package/dist/{setup-llm-77MP4I2G.js.map → setup-llm-E7UU5IO7.js.map} +1 -1
  97. package/dist/src/agent/definitions/agent.yaml +9 -5
  98. package/dist/src/agent/definitions/tasks/cortex-instructions.yaml +93 -0
  99. package/dist/src/agent/definitions/tasks/cortex-prompt-builder.yaml +67 -0
  100. package/dist/src/agent/definitions/tasks/digest-only.yaml +1 -1
  101. package/dist/src/agent/definitions/tasks/extract-only.yaml +1 -1
  102. package/dist/src/agent/definitions/tasks/review-session.yaml +10 -39
  103. package/dist/src/agent/definitions/tasks/skill-evolve.yaml +4 -4
  104. package/dist/src/agent/definitions/tasks/skill-generate.yaml +1 -1
  105. package/dist/src/agent/definitions/tasks/skill-survey.yaml +2 -6
  106. package/dist/src/agent/definitions/tasks/supersession-sweep.yaml +1 -1
  107. package/dist/src/agent/definitions/tasks/title-summary.yaml +12 -19
  108. package/dist/src/agent/definitions/tasks/{full-intelligence.yaml → vault-evolve.yaml} +17 -82
  109. package/dist/src/agent/definitions/tasks/vault-seed.yaml +370 -0
  110. package/dist/src/agent/prompts/agent.md +12 -38
  111. package/dist/src/cli.js +1 -1
  112. package/dist/src/daemon/main.js +1 -1
  113. package/dist/src/hooks/post-tool-use.js +1 -1
  114. package/dist/src/hooks/session-end.js +1 -1
  115. package/dist/src/hooks/session-start.js +1 -1
  116. package/dist/src/hooks/stop.js +1 -1
  117. package/dist/src/hooks/user-prompt-submit.js +1 -1
  118. package/dist/src/mcp/server.js +1 -1
  119. package/dist/src/symbionts/manifests/claude-code.yaml +4 -0
  120. package/dist/src/symbionts/manifests/pi.yaml +22 -0
  121. package/dist/src/symbionts/templates/pi/package.json +6 -0
  122. package/dist/src/symbionts/templates/pi/plugin.ts +559 -0
  123. package/dist/{stats-NVPWOYTE.js → stats-DFG6S23S.js} +11 -9
  124. package/dist/{stats-NVPWOYTE.js.map → stats-DFG6S23S.js.map} +1 -1
  125. package/dist/{stop-ZPIKVLH4.js → stop-WRBTXEVT.js} +5 -5
  126. package/dist/{stop-failure-2PX67YJC.js → stop-failure-32MGIG2Q.js} +6 -6
  127. package/dist/{subagent-start-UUE6EHQD.js → subagent-start-VFGHQFVL.js} +6 -6
  128. package/dist/{subagent-stop-KQWWWPE6.js → subagent-stop-663FXG3P.js} +6 -6
  129. package/dist/{task-completed-WMHOFQ7B.js → task-completed-ZCQYEFMZ.js} +6 -6
  130. package/dist/{team-LRZ6GTQK.js → team-JTI5CDUO.js} +7 -5
  131. package/dist/{turns-YFNI5CQC.js → turns-HU2CTZAP.js} +2 -2
  132. package/dist/ui/assets/index-DGf1h-Ha.js +842 -0
  133. package/dist/ui/assets/index-_OP4ifzH.css +1 -0
  134. package/dist/ui/index.html +2 -2
  135. package/dist/{update-O6V4RC4W.js → update-3NBQTG32.js} +10 -8
  136. package/dist/{update-O6V4RC4W.js.map → update-3NBQTG32.js.map} +1 -1
  137. package/dist/{user-prompt-submit-N36KUPHI.js → user-prompt-submit-ME2TBKOS.js} +8 -7
  138. package/dist/{user-prompt-submit-N36KUPHI.js.map → user-prompt-submit-ME2TBKOS.js.map} +1 -1
  139. package/dist/{verify-LXPV7NYG.js → verify-R76ZFJSZ.js} +8 -5
  140. package/dist/{verify-LXPV7NYG.js.map → verify-R76ZFJSZ.js.map} +1 -1
  141. package/dist/{version-XMPPJQHR.js → version-GQAFBBPX.js} +2 -2
  142. package/dist/version-GQAFBBPX.js.map +1 -0
  143. package/package.json +3 -1
  144. package/skills/myco/SKILL.md +16 -1
  145. package/skills/myco/references/cli-usage.md +1 -1
  146. package/skills/myco-curate/SKILL.md +1 -1
  147. package/dist/chunk-4YFKBL3F.js +0 -195
  148. package/dist/chunk-4YFKBL3F.js.map +0 -1
  149. package/dist/chunk-CCRGY3QW.js.map +0 -1
  150. package/dist/chunk-EVDQKYCG.js.map +0 -1
  151. package/dist/chunk-FLLBJLHM.js.map +0 -1
  152. package/dist/chunk-MYOZLMB2.js.map +0 -1
  153. package/dist/chunk-OD4AA7PV.js.map +0 -1
  154. package/dist/chunk-US4LNCAT.js.map +0 -1
  155. package/dist/chunk-UYMFCYBF.js +0 -2326
  156. package/dist/chunk-UYMFCYBF.js.map +0 -1
  157. package/dist/chunk-VVNL26WX.js.map +0 -1
  158. package/dist/cli-GGPWH4UO.js.map +0 -1
  159. package/dist/doctor-5JXJ36KA.js.map +0 -1
  160. package/dist/executor-HWW2QNZQ.js +0 -2472
  161. package/dist/executor-HWW2QNZQ.js.map +0 -1
  162. package/dist/main-YTBVRTBI.js.map +0 -1
  163. package/dist/post-tool-use-POGPTJBA.js.map +0 -1
  164. package/dist/server-AGVYZVP5.js.map +0 -1
  165. package/dist/session-start-LAFICHII.js +0 -189
  166. package/dist/session-start-LAFICHII.js.map +0 -1
  167. package/dist/src/agent/definitions/tasks/graph-maintenance.yaml +0 -93
  168. package/dist/ui/assets/index-C2JuNtRB.css +0 -1
  169. package/dist/ui/assets/index-JLVaQKV2.js +0 -832
  170. /package/dist/{chunk-DCSGJ7W4.js.map → chunk-5ZG4RMUH.js.map} +0 -0
  171. /package/dist/{chunk-JZGN33AY.js.map → chunk-75Z7UKDY.js.map} +0 -0
  172. /package/dist/{chunk-XG5RRUYF.js.map → chunk-BUTL6IFS.js.map} +0 -0
  173. /package/dist/{chunk-KESLPBKV.js.map → chunk-JR54LTPP.js.map} +0 -0
  174. /package/dist/{chunk-5XIVBO25.js.map → chunk-LVIY7P35.js.map} +0 -0
  175. /package/dist/{chunk-BPRIYNLE.js.map → chunk-TKAJ3JVF.js.map} +0 -0
  176. /package/dist/{chunk-Q36VMZST.js.map → chunk-VHNRMM4O.js.map} +0 -0
  177. /package/dist/{client-YXQUTXVZ.js.map → client-NWE4TCNO.js.map} +0 -0
  178. /package/dist/{detect-providers-5KOPZ7J2.js.map → detect-providers-ILLQZROY.js.map} +0 -0
  179. /package/dist/{installer-FS257JRZ.js.map → executor-F2YU7HXJ.js.map} +0 -0
  180. /package/dist/{llm-TH4NLIRM.js.map → installer-UMH7OJ5A.js.map} +0 -0
  181. /package/dist/{loader-CQYTFHEW.js.map → llm-AGVEF5XD.js.map} +0 -0
  182. /package/dist/{loader-NOMBJUPW.js.map → loader-LX7TFRM6.js.map} +0 -0
  183. /package/dist/{provider-check-43LAMSMH.js.map → loader-NAVVZK63.js.map} +0 -0
  184. /package/dist/{post-compact-JSECI44W.js.map → post-compact-USAODKPQ.js.map} +0 -0
  185. /package/dist/{post-tool-use-failure-OT7BFWQW.js.map → post-tool-use-failure-NZVSL2PO.js.map} +0 -0
  186. /package/dist/{pre-compact-OXVODKH4.js.map → pre-compact-LZ57DLUS.js.map} +0 -0
  187. /package/dist/{registry-U4CHXK6R.js.map → provider-check-ZEV5P4KM.js.map} +0 -0
  188. /package/dist/{team-LRZ6GTQK.js.map → registry-M2Z5QBWH.js.map} +0 -0
  189. /package/dist/{session-end-FT27DWYZ.js.map → session-end-LWJYQAXX.js.map} +0 -0
  190. /package/dist/{stop-ZPIKVLH4.js.map → stop-WRBTXEVT.js.map} +0 -0
  191. /package/dist/{stop-failure-2PX67YJC.js.map → stop-failure-32MGIG2Q.js.map} +0 -0
  192. /package/dist/{subagent-start-UUE6EHQD.js.map → subagent-start-VFGHQFVL.js.map} +0 -0
  193. /package/dist/{subagent-stop-KQWWWPE6.js.map → subagent-stop-663FXG3P.js.map} +0 -0
  194. /package/dist/{task-completed-WMHOFQ7B.js.map → task-completed-ZCQYEFMZ.js.map} +0 -0
  195. /package/dist/{turns-YFNI5CQC.js.map → team-JTI5CDUO.js.map} +0 -0
  196. /package/dist/{version-XMPPJQHR.js.map → turns-HU2CTZAP.js.map} +0 -0
@@ -10,7 +10,7 @@ prompt: >-
10
10
  The instruction contains the candidate metadata and pre-assembled
11
11
  source material. Stage the skill, validate it, then finalize it.
12
12
  isDefault: false
13
- model: claude-sonnet-4-6
13
+ reasoningLevel: default
14
14
  maxTurns: 30
15
15
  timeoutSeconds: 900
16
16
  schedule:
@@ -9,7 +9,7 @@ prompt: >-
9
9
  Survey the vault knowledge graph for procedural domain candidates.
10
10
  The instruction contains pre-assembled vault context.
11
11
  isDefault: false
12
- model: claude-sonnet-4-6
12
+ reasoningLevel: default
13
13
  maxTurns: 35
14
14
  timeoutSeconds: 1800
15
15
  schedule:
@@ -72,8 +72,6 @@ phases:
72
72
  a domain you spotted in the digest
73
73
  - vault_spores to read full content of high-signal spores
74
74
  summarized in the baseline
75
- - vault_entities for components with high mention counts
76
- that might anchor a domain
77
75
 
78
76
  Do NOT exhaustively paginate or search every keyword.
79
77
  You have ~12 tool calls — use them purposefully.
@@ -89,8 +87,6 @@ phases:
89
87
  Store your domain clusters in working notes for the next phase.
90
88
  tools:
91
89
  - vault_spores
92
- - vault_entities
93
- - vault_edges
94
90
  - vault_sessions
95
91
  - vault_search_fts
96
92
  - vault_search_semantic
@@ -99,7 +95,7 @@ phases:
99
95
  readOnly: true
100
96
 
101
97
  - name: synthesize-evaluate
102
- model: claude-sonnet-4-6
98
+ reasoningLevel: default
103
99
  prompt: |
104
100
  The explore phase identified procedural domain clusters from
105
101
  the vault. Now evaluate each and create candidates for domains
@@ -13,7 +13,7 @@ description: >
13
13
  Records resolution events for audit trail.
14
14
  agent: myco-agent
15
15
  isDefault: false
16
- model: claude-haiku-4-5-20251001
16
+ reasoningLevel: low
17
17
  maxTurns: 30
18
18
  timeoutSeconds: 300
19
19
 
@@ -13,9 +13,9 @@ description: >
13
13
  title and informative summary.
14
14
  agent: myco-agent
15
15
  isDefault: false
16
- model: claude-haiku-4-5-20251001
16
+ reasoningLevel: low
17
17
  maxTurns: 15
18
- timeoutSeconds: 120
18
+ timeoutSeconds: 300
19
19
 
20
20
  prompt: |
21
21
  Generate or update session titles and summaries. Budget: ~12 turns.
@@ -28,27 +28,24 @@ prompt: |
28
28
 
29
29
  **If a target session ID is specified above:**
30
30
  Always process it — the user explicitly requested regeneration.
31
- Call `vault_sessions` with `include_active: true` to get its current
32
- title/summary (the session may still be active). Call `vault_search_fts`
33
- with the session ID to find ALL its prompt batches (processed and
34
- unprocessed). Do NOT skip even if there are no new unprocessed batches.
31
+ Call `vault_session_summary_material` with `session_id: <target session>`
32
+ to get the current title/summary plus the compact ordered prompt-batch arc.
33
+ Do NOT skip even if there are no new unprocessed batches.
35
34
 
36
35
  **If no target session specified (automatic run):**
37
36
  Call `vault_unprocessed` with `include_active: true` — titles are needed
38
37
  mid-flight, not just after a session completes. Group by session_id —
39
- each session with unprocessed batches needs its summary updated. Call
40
- `vault_sessions` with `include_active: true` for those sessions. If no
41
- sessions have unprocessed batches, report "skip" and finish.
38
+ each session with unprocessed batches needs its summary updated. For each
39
+ session, call `vault_session_summary_material`. If no sessions have
40
+ unprocessed batches, report "skip" and finish.
42
41
 
43
42
  ## Phase 2 — Update Each Session (budget: 8 turns)
44
43
 
45
44
  For each session to process:
46
45
  1. Read the EXISTING title and summary — context from prior runs.
47
- 2. Read the session's prompt batches — user_prompt + response_summary.
48
- For targeted sessions, use `vault_search_fts` results from Phase 1.
49
- For automatic runs, use `vault_unprocessed` results.
50
- This is your PRIMARY source — read through the full set to understand
51
- the complete arc of work.
46
+ 2. Read the session's compact prompt-batch arc — user_prompt +
47
+ response_summary. This is your PRIMARY source read through the full
48
+ set to understand the complete arc of work.
52
49
  3. Generate a title and summary from the full session content.
53
50
  4. Call `vault_update_session` with BOTH title and summary.
54
51
 
@@ -81,10 +78,6 @@ prompt: |
81
78
 
82
79
  toolOverrides:
83
80
  - vault_unprocessed
84
- - vault_sessions
85
- - vault_spores
86
- - vault_search_fts
87
- - vault_state
81
+ - vault_session_summary_material
88
82
  - vault_update_session
89
- - vault_set_state
90
83
  - vault_report
@@ -1,5 +1,5 @@
1
1
  # =============================================================================
2
- # Built-in Task: Full Intelligence (Phased)
2
+ # Built-in Task: Vault Evolve (Phased)
3
3
  # =============================================================================
4
4
  # Default task for: myco-agent
5
5
  #
@@ -8,18 +8,18 @@
8
8
  # controls the loop — the LLM cannot skip phases.
9
9
  # =============================================================================
10
10
 
11
- name: full-intelligence
12
- displayName: Full Intelligence
11
+ name: vault-evolve
12
+ displayName: Vault Evolve
13
13
  description: >
14
14
  Complete intelligence pass over all unprocessed session data. Extracts
15
15
  observations as spores, updates session summaries, consolidates related
16
- spores into wisdom, builds knowledge graph entities and edges, and
17
- regenerates digest extracts.
16
+ spores into wisdom, and regenerates digest extracts. Runs automatically
17
+ on a schedule once sessions have settled.
18
18
  agent: myco-agent
19
19
  isDefault: true
20
20
  maxTurns: 150
21
21
  timeoutSeconds: 1800
22
- model: claude-sonnet-4-6
22
+ reasoningLevel: default
23
23
 
24
24
  schedule:
25
25
  enabled: true
@@ -31,7 +31,7 @@ schedule:
31
31
 
32
32
  orchestrator:
33
33
  enabled: true
34
- model: claude-sonnet-4-6
34
+ reasoningLevel: default
35
35
  maxTurns: 3
36
36
 
37
37
  contextQueries:
@@ -61,7 +61,7 @@ prompt: >
61
61
 
62
62
  phases:
63
63
  - name: read-state
64
- model: claude-haiku-4-5-20251001
64
+ reasoningLevel: low
65
65
  # Root phase — no dependsOn
66
66
  prompt: |
67
67
  Read the current vault state to determine what needs processing.
@@ -81,7 +81,7 @@ phases:
81
81
  readOnly: true
82
82
 
83
83
  - name: extract
84
- model: claude-haiku-4-5-20251001
84
+ reasoningLevel: low
85
85
  dependsOn: [read-state]
86
86
  prompt: |
87
87
  Extract observations from unprocessed batches as spores.
@@ -134,7 +134,7 @@ phases:
134
134
  required: true
135
135
 
136
136
  - name: summarize
137
- model: claude-haiku-4-5-20251001
137
+ reasoningLevel: low
138
138
  dependsOn: [read-state]
139
139
  prompt: |
140
140
  Update session titles and summaries for sessions touched during extraction.
@@ -189,7 +189,7 @@ phases:
189
189
  required: false
190
190
 
191
191
  - name: consolidate
192
- model: claude-sonnet-4-6
192
+ reasoningLevel: default
193
193
  dependsOn: [extract]
194
194
  prompt: |
195
195
  Consolidate related spores into wisdom and clean up redundancy.
@@ -254,76 +254,12 @@ phases:
254
254
  maxTurns: 25
255
255
  required: false
256
256
 
257
- - name: graph
258
- model: claude-sonnet-4-6
259
- dependsOn: [extract]
260
- prompt: |
261
- Build the knowledge graph: create entities, then link spores to them.
262
-
263
- New graph work may still be warranted even when extract skipped, because
264
- spores and entities can be created by coding agents or manual curation.
265
- Focus on recent or high-signal active spores and obvious entity gaps.
266
- If a quick review shows no meaningful new graph work, report "skip".
267
-
268
- The graph has two layers:
269
- - Lineage (automatic): spore→session, spore→batch — already done
270
- - Semantic (your job): spore→entity, entity→entity — you create these
271
-
272
- ## Step 1: Review spores and existing entities (2 turns)
273
-
274
- 1. Call `vault_spores` with status "active" to see current spores
275
- 2. Call `vault_entities` to see existing graph entities
276
- 3. Call `vault_edges` to see existing relationships
277
-
278
- ## Step 2: Create entities (budget: 6 turns)
279
-
280
- For components/concepts/people that appear across multiple spores:
281
- - Call `vault_create_entity` with type: component | concept | person
282
- - Focus on entities that help understand the system architecture
283
- - Prefer fewer well-defined entities over many vague ones
284
-
285
- ## Step 3: Link spores to entities (budget: 12 turns) — CRITICAL
286
-
287
- For EACH entity (newly created AND existing unlinked ones):
288
- 1. Call `vault_search_semantic` with the entity name to find related spores
289
- 2. Before creating an edge, call `vault_edges` with `source_id` and
290
- `target_id` to verify it does not already exist
291
- 3. For each relevant search result, call `vault_create_edge`:
292
- - type: REFERENCES
293
- - source_id: the spore ID, source_type: spore
294
- - target_id: the entity ID, target_type: entity
295
- 4. Entities without edges are invisible — always link after creating
296
-
297
- ## Step 4: Structural edges between entities (remaining turns)
298
-
299
- For architectural dependencies between entities:
300
- - DEPENDS_ON (entity→entity): "daemon" depends on "SQLite"
301
- - AFFECTS (spore→entity): a gotcha that impacts a component
302
-
303
- Do NOT create lineage edges (FROM_SESSION, EXTRACTED_FROM, etc.)
304
-
305
- Call `vault_report` with action "graph" reporting:
306
- - Entities created: N
307
- - Spore→entity REFERENCES edges: N
308
- - Entity→entity structural edges: N
309
- tools:
310
- - vault_spores
311
- - vault_sessions
312
- - vault_search_semantic
313
- - vault_entities
314
- - vault_edges
315
- - vault_create_entity
316
- - vault_create_edge
317
- - vault_report
318
- maxTurns: 35
319
- required: false
320
-
321
257
  # ---- Digest: assess + 3 parallel tier writes ----
322
258
  # The assess phase gathers context, then each tier runs independently
323
259
  # in the same wave via Promise.allSettled().
324
260
 
325
261
  - name: digest-assess
326
- model: claude-sonnet-4-6
262
+ reasoningLevel: default
327
263
  dependsOn: [consolidate]
328
264
  prompt: |
329
265
  Assess current digest state and gather material for tier updates.
@@ -390,7 +326,7 @@ phases:
390
326
  required: true
391
327
 
392
328
  - name: digest-10000
393
- model: claude-haiku-4-5-20251001
329
+ reasoningLevel: low
394
330
  dependsOn: [digest-assess]
395
331
  prompt: |
396
332
  Update digest tier 10000 — Full institutional knowledge.
@@ -427,7 +363,7 @@ phases:
427
363
  required: false
428
364
 
429
365
  - name: digest-5000
430
- model: claude-haiku-4-5-20251001
366
+ reasoningLevel: low
431
367
  dependsOn: [digest-assess]
432
368
  prompt: |
433
369
  Update digest tier 5000 — Deep onboarding.
@@ -463,7 +399,7 @@ phases:
463
399
  required: false
464
400
 
465
401
  - name: digest-1500
466
- model: claude-haiku-4-5-20251001
402
+ reasoningLevel: low
467
403
  dependsOn: [digest-assess]
468
404
  prompt: |
469
405
  Update digest tier 1500 — Executive briefing.
@@ -499,8 +435,8 @@ phases:
499
435
  required: false
500
436
 
501
437
  - name: report
502
- model: claude-haiku-4-5-20251001
503
- dependsOn: [extract, summarize, consolidate, graph, digest-assess, digest-10000, digest-5000, digest-1500]
438
+ reasoningLevel: low
439
+ dependsOn: [extract, summarize, consolidate, digest-assess, digest-10000, digest-5000, digest-1500]
504
440
  prompt: |
505
441
  Summarize what was done across all phases.
506
442
 
@@ -509,7 +445,6 @@ phases:
509
445
  - Spores created: N (by type)
510
446
  - Sessions updated: N
511
447
  - Wisdom created: N
512
- - Entities created: N, edges created: N
513
448
  - Digest tiers written: N
514
449
 
515
450
  This report MUST be the last tool call of the run.
@@ -0,0 +1,370 @@
1
+ # =============================================================================
2
+ # Built-in Task: Vault Seed (Phased)
3
+ # =============================================================================
4
+ # Manual-only task for: myco-agent
5
+ #
6
+ # One-shot seeding pass for brownfield codebases. Unlike vault-evolve,
7
+ # which processes session transcripts, vault-seed infers knowledge
8
+ # directly from source files using filesystem + grep tools. Intended to
9
+ # be run when adopting Myco on an existing repo — fills the vault with
10
+ # an initial spore set and digest so the assistant has useful context
11
+ # from day one.
12
+ # =============================================================================
13
+
14
+ name: vault-seed
15
+ displayName: Vault Seed
16
+ description: >
17
+ One-shot seeding pass for a brownfield codebase. Explores the project
18
+ with filesystem and grep tools, identifies architectural patterns,
19
+ conventions, and gotchas, then populates the vault with an initial
20
+ spore set and a starter digest. Manual trigger only — no session data
21
+ required.
22
+ agent: myco-agent
23
+ isDefault: false
24
+ maxTurns: 300
25
+ timeoutSeconds: 3600
26
+ reasoningLevel: default
27
+
28
+ # No schedule — always manual. Running automatically would re-seed an
29
+ # already-populated vault.
30
+
31
+ prompt: >
32
+ You are running a one-shot seeding pass over a brownfield codebase.
33
+ There are no session transcripts to process — infer knowledge directly
34
+ from source. Focus on architectural patterns, conventions, trade-offs,
35
+ and gotchas that a new developer or agent onboarding to this code
36
+ would benefit from. Quality over quantity — one precise observation is
37
+ worth more than ten vague ones.
38
+
39
+ IMPORTANT: the pipeline is phased, and each phase has a different
40
+ tool surface. Early phases explore source with filesystem tools;
41
+ later phases write observations to the vault using vault_* tools.
42
+ Each phase's prompt lists the tools it has. Trust that list and call
43
+ those tools directly. Do not rationalize that a declared tool is
44
+ "unavailable" based on what earlier phases used.
45
+
46
+ phases:
47
+ - name: orient
48
+ reasoningLevel: default
49
+ readOnly: true
50
+ prompt: |
51
+ **Your ONLY job this phase: produce a 3-8 item theme list from
52
+ surface signals.** You are NOT verifying themes, NOT reading
53
+ implementation, and NOT building a comprehensive understanding.
54
+ That work belongs to the next phase (explore-themes), which has
55
+ a much larger budget and is designed for it.
56
+
57
+ **Hard turn budget: {{max_turns}}.** Each tool call costs one
58
+ turn. If you exhaust the budget before calling `vault_report`
59
+ with the theme list, this phase fails and blocks the rest of
60
+ the pipeline. Treat the budget as a constraint, not a suggestion
61
+ — finish well under it.
62
+
63
+ **Scope guard:** if you find yourself opening a file under
64
+ `packages/*/src/**`, `src/**`, `lib/**`, or any implementation
65
+ directory, STOP. That is explore-themes's job. Orient reads
66
+ top-level metadata and docs only.
67
+
68
+ ## Exact tool plan (budget: ~8 tool calls total)
69
+
70
+ Call ONLY these tools, in this order. Do NOT add calls.
71
+
72
+ 1. `fs_tree` at `.` with depth=1 — 1 call, 1 turn.
73
+ 2. `fs_read` the README (no line window) — 1 call, 1 turn.
74
+ 3. `fs_read` the primary manifest (package.json / pyproject.toml /
75
+ Cargo.toml / go.mod / Gemfile / pom.xml — pick the one that
76
+ exists, skip if unclear) — 0 or 1 call.
77
+ 4. `fs_list` at `.` — 1 call, 1 turn. After this call you have
78
+ seen every top-level tooling signal. DO NOT list additional
79
+ directories in this phase; recursive layout exploration is
80
+ explore-themes's job.
81
+ 5. (Optional) `fs_list` on `docs/` — 0 or 1 call. If you do, then
82
+ `fs_read` AT MOST 2 files that clearly look like architecture
83
+ or overview docs — max 2 more calls.
84
+ 6. `vault_report` with action "orient" and the theme list — 1
85
+ call. This is your last tool call. The phase ends here.
86
+
87
+ Skipping steps is fine. Adding steps is not. If you are tempted
88
+ to list a subdirectory to "see what's inside it," resist —
89
+ explore-themes will do that with more budget.
90
+
91
+ **Frugality:** every tool response comes back as tokens on your
92
+ next turn's input. Narrow calls keep the budget healthy.
93
+
94
+ ## Output: theme outline
95
+
96
+ From those surface signals alone, name 3-8 themes worth deeper
97
+ exploration in the next phase. Name them confidently even if you
98
+ don't have full evidence yet — the next phase will verify them.
99
+ Good themes:
100
+ - major architectural layers ("agent harness", "daemon", "UI")
101
+ - cross-cutting domain concepts ("team sync", "session lifecycle")
102
+ - notable integration points ("MCP server", "SQLite vault")
103
+ - conventions worth surfacing (testing style, error handling)
104
+
105
+ Avoid generic themes like "TypeScript code" or "tests exist".
106
+
107
+ Call `vault_report` with action "orient" and the structured theme
108
+ list. This is your final tool call for this phase.
109
+ tools:
110
+ - fs_tree
111
+ - fs_list
112
+ - fs_read
113
+ - vault_report
114
+ maxTurns: 25
115
+ required: true
116
+
117
+ - name: explore-themes
118
+ reasoningLevel: default
119
+ readOnly: true
120
+ dependsOn: [orient]
121
+ prompt: |
122
+ For each theme identified in the orient phase, drill down with
123
+ `code_grep` and targeted `fs_read` calls. Collect specific,
124
+ concrete observations that would survive the code evolving.
125
+
126
+ ## Strategy (budget: 4-6 turns per theme)
127
+
128
+ For each theme:
129
+ 1. `code_grep` for signature patterns — class/interface names,
130
+ distinctive function names, keywords. Use a `glob` filter when
131
+ the language is known (e.g., `*.ts`, `*.py`).
132
+ 2. `fs_read` the 2-4 most informative files you find. Prefer
133
+ cross-cutting modules over leaf files.
134
+ 3. Note 3-6 concrete observations for the theme. Anchor each to
135
+ file paths or function names.
136
+
137
+ ## What makes a good observation
138
+
139
+ - Anchored to specific file paths, function names, or patterns
140
+ - Captures trade-offs, gotchas, or non-obvious invariants
141
+ - Explains WHY when the reasoning is evident from the code
142
+ - Would be useful to an agent or developer onboarding
143
+
144
+ ## What to skip
145
+
146
+ - Boilerplate (standard manifest fields, generated code)
147
+ - Implementation details that change frequently
148
+ - Things obvious from the README
149
+ - Generic advice ("use TypeScript") — only observations specific to
150
+ THIS codebase belong in the vault
151
+
152
+ ## Output
153
+
154
+ Produce a structured summary grouped by theme, focused on
155
+ OBSERVATIONS (the conclusions) rather than a log of what you did.
156
+ Write the summary as if a separate agent will read it cold and
157
+ turn each observation into a durable note. Avoid phrases like
158
+ "I ran fs_tree on…" or "I read the README" — name the observation
159
+ and anchor it to specific paths. The seed-spores phase runs with
160
+ a different tool surface and should not be primed to expect
161
+ filesystem access.
162
+
163
+ Call `vault_report` with action "explore" and the structured result.
164
+ tools:
165
+ - fs_tree
166
+ - fs_list
167
+ - fs_read
168
+ - code_grep
169
+ - vault_report
170
+ maxTurns: 120
171
+ required: true
172
+
173
+ - name: seed-spores
174
+ reasoningLevel: default
175
+ dependsOn: [explore-themes]
176
+ prompt: |
177
+ Create spores for the observations from the explore phase.
178
+
179
+ **Hard turn budget: {{max_turns}}.** Each tool call costs one
180
+ turn. Every observation needs one `vault_create_spore` call;
181
+ budget your work accordingly.
182
+
183
+ ## Your tools this phase
184
+
185
+ You have these tools and ONLY these tools: {{phase_tools}}.
186
+ They are registered and available. Call them directly. Do NOT
187
+ verify or second-guess. Filesystem tools from earlier phases
188
+ are not needed here — the explore-themes summary in your
189
+ context contains everything you need to create spores.
190
+
191
+ ## Step 1: Re-seed check (1 tool call)
192
+
193
+ This phase runs on cold vaults AND on vaults that have been
194
+ seeded before. Call `vault_search_semantic` ONCE with a broad
195
+ query derived from the strongest theme (e.g. the name of the
196
+ highest-signal architectural layer from the explore summary).
197
+
198
+ - If the search returns several high-similarity results (many
199
+ scores > 0.85), the vault is already populated. Call
200
+ `vault_report` with action "skip" and reason "vault already
201
+ populated" and STOP. Do not create duplicate spores.
202
+ - If the search returns nothing or only low-similarity results
203
+ (typical for a cold vault with no embeddings, or a vault with
204
+ unrelated prior content), proceed to Step 2.
205
+
206
+ Do NOT run per-observation similarity searches — dedup across
207
+ existing spores is the job of the separate consolidation task,
208
+ not seed-spores. One broad re-seed check is enough.
209
+
210
+ ## Step 2: Create spores (the bulk of your budget)
211
+
212
+ For each observation in the explore summary, call
213
+ `vault_create_spore` with:
214
+ - observation_type: "decision", "pattern", "wisdom", "gotcha",
215
+ or "architecture" based on what the observation captures
216
+ - content: the full observation — concrete and specific
217
+ - importance: 1-10 (10 = load-bearing architectural invariant,
218
+ 3 = minor stylistic preference)
219
+ - tags: 2-4 tags covering theme and domain
220
+ - file_path: the primary source file when the observation
221
+ anchors to one specific location
222
+ - session_id: null (no session provenance — this is seed data)
223
+ - prompt_batch_id: null
224
+ - context: "Seeded from vault-seed exploration pass"
225
+
226
+ ## Quality rules
227
+
228
+ - One observation per spore — specific, not vague
229
+ - Prefer fewer, higher-signal spores over many low-signal ones
230
+ - Target: 10-40 spores per seed run. If the exploration produced
231
+ far more candidates, prioritize by importance and drop the rest
232
+ rather than creating everything
233
+ - Observations anchored to specific file paths are stronger than
234
+ abstract statements
235
+ tools:
236
+ - vault_search_semantic
237
+ - vault_create_spore
238
+ - vault_report
239
+ maxTurns: 80
240
+ required: true
241
+
242
+ # ---- Digest tiers (parallel after seed-spores) ----
243
+ # Mirrors the vault-evolve pattern: three tiers writing in the same
244
+ # wave after seeding completes.
245
+
246
+ - name: digest-10000
247
+ reasoningLevel: default
248
+ dependsOn: [seed-spores]
249
+ prompt: |
250
+ Write digest tier 10000 — Full institutional knowledge (~10k tokens).
251
+
252
+ ## Your tools this phase
253
+
254
+ You have these tools and ONLY these tools:
255
+ `vault_spores`, `vault_search_semantic`, `vault_read_digest`,
256
+ `vault_write_digest`, `vault_report`. They are registered and
257
+ available. Call them directly. Filesystem tools from earlier
258
+ phases are NOT in scope here — the spores created in seed-spores
259
+ contain everything you need.
260
+
261
+ If the seed-spores phase short-circuited with "vault already populated",
262
+ call `vault_report` with action "skip" for tier 10000 and finish.
263
+
264
+ 1. Call `vault_read_digest` with tier 10000 to see any existing content.
265
+ If this is a first seed run, it will be empty.
266
+ 2. Call `vault_spores` with status "active" to read the freshly seeded
267
+ observations.
268
+ 3. Organize the digest around the themes from the explore phase.
269
+ Include concrete file paths and function names. A reader should
270
+ come away with a thorough picture of the architecture, key
271
+ decisions, and gotchas.
272
+ 4. Call `vault_write_digest` with tier 10000.
273
+
274
+ If the existing digest already contains comparable content (re-seed
275
+ case), integrate rather than overwrite — preserve well-crafted text.
276
+ tools:
277
+ - vault_spores
278
+ - vault_search_semantic
279
+ - vault_read_digest
280
+ - vault_write_digest
281
+ - vault_report
282
+ maxTurns: 15
283
+ required: false
284
+
285
+ - name: digest-5000
286
+ reasoningLevel: default
287
+ dependsOn: [seed-spores]
288
+ prompt: |
289
+ Write digest tier 5000 — Deep onboarding (~5k tokens).
290
+
291
+ ## Your tools this phase
292
+
293
+ You have these tools and ONLY these tools:
294
+ `vault_spores`, `vault_read_digest`, `vault_write_digest`,
295
+ `vault_report`. They are registered and available. Call them
296
+ directly. Filesystem tools from earlier phases are NOT in scope.
297
+
298
+ If the seed-spores phase short-circuited, call `vault_report` with
299
+ action "skip" for tier 5000 and finish.
300
+
301
+ This tier focuses on trade-offs and patterns — what a developer
302
+ needs after the README but before diving into code.
303
+
304
+ 1. Call `vault_read_digest` with tier 5000 for the baseline.
305
+ 2. Call `vault_spores` as the primary source (digest-10000 may still
306
+ be in-flight — don't depend on it).
307
+ 3. Call `vault_write_digest` with tier 5000. Trim and synthesize;
308
+ this tier is a compression of tier 10000's material.
309
+ tools:
310
+ - vault_spores
311
+ - vault_read_digest
312
+ - vault_write_digest
313
+ - vault_report
314
+ maxTurns: 12
315
+ required: false
316
+
317
+ - name: digest-1500
318
+ reasoningLevel: default
319
+ dependsOn: [seed-spores]
320
+ prompt: |
321
+ Write digest tier 1500 — Executive briefing (~1.5k tokens).
322
+
323
+ ## Your tools this phase
324
+
325
+ You have these tools and ONLY these tools:
326
+ `vault_spores`, `vault_read_digest`, `vault_write_digest`,
327
+ `vault_report`. They are registered and available. Call them
328
+ directly. Filesystem tools from earlier phases are NOT in scope.
329
+
330
+ If the seed-spores phase short-circuited, call `vault_report` with
331
+ action "skip" for tier 1500 and finish.
332
+
333
+ The tightest tier: what someone needs to know in 2 minutes.
334
+ Architectural overview in 1-2 sentences, 2-3 load-bearing decisions,
335
+ the critical gotchas. Ruthlessly selective.
336
+
337
+ 1. Call `vault_spores` filtered to importance >= 8 to find the
338
+ top-signal observations.
339
+ 2. Call `vault_write_digest` with tier 1500.
340
+ tools:
341
+ - vault_spores
342
+ - vault_read_digest
343
+ - vault_write_digest
344
+ - vault_report
345
+ maxTurns: 8
346
+ required: false
347
+
348
+ - name: report
349
+ reasoningLevel: low
350
+ dependsOn: [seed-spores, digest-10000, digest-5000, digest-1500]
351
+ prompt: |
352
+ Summarize the seeding pass.
353
+
354
+ Your only tool this phase is `vault_report`. Call it — it is
355
+ registered and available.
356
+
357
+ Call `vault_report` with action "complete" and these details:
358
+ - Themes explored: N
359
+ - Spores created: N (by type)
360
+ - Spores superseded: N
361
+ - Digest tiers written: [list]
362
+ - Thin coverage: any themes where the exploration surfaced fewer than
363
+ 3 observations — surface these so the user can follow up with a
364
+ targeted review-session or additional manual curation
365
+
366
+ This report MUST be the last tool call of the run.
367
+ tools:
368
+ - vault_report
369
+ maxTurns: 5
370
+ required: true