@goondocks/myco 0.20.2 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/myco-run +68 -7
- package/dist/agent-eval-YK2VP2S4.js +356 -0
- package/dist/agent-eval-YK2VP2S4.js.map +1 -0
- package/dist/{agent-run-X25Q2A6T.js → agent-run-GEJBD2YD.js} +10 -8
- package/dist/{agent-run-X25Q2A6T.js.map → agent-run-GEJBD2YD.js.map} +1 -1
- package/dist/{agent-tasks-7B6OFERB.js → agent-tasks-5XSRGTRX.js} +10 -8
- package/dist/{agent-tasks-7B6OFERB.js.map → agent-tasks-5XSRGTRX.js.map} +1 -1
- package/dist/{chunk-OD4AA7PV.js → chunk-53RPGOEN.js} +56 -8
- package/dist/chunk-53RPGOEN.js.map +1 -0
- package/dist/chunk-54SXG5HF.js +26 -0
- package/dist/chunk-54SXG5HF.js.map +1 -0
- package/dist/{chunk-XATDZX7U.js → chunk-6ALVMIB4.js} +19 -5
- package/dist/{chunk-XATDZX7U.js.map → chunk-6ALVMIB4.js.map} +1 -1
- package/dist/{chunk-FLLBJLHM.js → chunk-6C6QZ4PM.js} +9 -5
- package/dist/chunk-6C6QZ4PM.js.map +1 -0
- package/dist/{chunk-CCRGY3QW.js → chunk-AUIXX33A.js} +24 -95
- package/dist/chunk-AUIXX33A.js.map +1 -0
- package/dist/chunk-CISWUP5W.js +101 -0
- package/dist/chunk-CISWUP5W.js.map +1 -0
- package/dist/{chunk-MYOZLMB2.js → chunk-DTWUHHFI.js} +576 -20
- package/dist/chunk-DTWUHHFI.js.map +1 -0
- package/dist/chunk-EEOJWLMP.js +582 -0
- package/dist/chunk-EEOJWLMP.js.map +1 -0
- package/dist/{chunk-XG5RRUYF.js → chunk-ENZR5NG7.js} +2 -2
- package/dist/{chunk-6RFZWV4R.js → chunk-FCJ5JV54.js} +1 -1
- package/dist/{chunk-6RFZWV4R.js.map → chunk-FCJ5JV54.js.map} +1 -1
- package/dist/{chunk-US4LNCAT.js → chunk-IPPMYQ2Y.js} +5 -1
- package/dist/chunk-IPPMYQ2Y.js.map +1 -0
- package/dist/{chunk-VVNL26WX.js → chunk-KTTSXYEK.js} +22 -10
- package/dist/chunk-KTTSXYEK.js.map +1 -0
- package/dist/chunk-LQIPXVDH.js +17 -0
- package/dist/chunk-LQIPXVDH.js.map +1 -0
- package/dist/{chunk-DCSGJ7W4.js → chunk-N2DGFACQ.js} +3 -3
- package/dist/chunk-N7Z3LUEZ.js +858 -0
- package/dist/chunk-N7Z3LUEZ.js.map +1 -0
- package/dist/{chunk-2PDWCDKY.js → chunk-NFO7BRCO.js} +10 -7
- package/dist/{chunk-2PDWCDKY.js.map → chunk-NFO7BRCO.js.map} +1 -1
- package/dist/{chunk-Q36VMZST.js → chunk-OTQH5KZW.js} +89 -38
- package/dist/chunk-OTQH5KZW.js.map +1 -0
- package/dist/chunk-OUJSQSKE.js +113 -0
- package/dist/chunk-OUJSQSKE.js.map +1 -0
- package/dist/chunk-OZ3FBAK5.js +50 -0
- package/dist/chunk-OZ3FBAK5.js.map +1 -0
- package/dist/chunk-QATYARI5.js +408 -0
- package/dist/chunk-QATYARI5.js.map +1 -0
- package/dist/{chunk-KESLPBKV.js → chunk-QDLVIW2O.js} +4 -4
- package/dist/{chunk-5XIVBO25.js → chunk-QLLBJEM7.js} +6 -2
- package/dist/chunk-QLLBJEM7.js.map +1 -0
- package/dist/{chunk-EVDQKYCG.js → chunk-RQSJLWP4.js} +13 -2
- package/dist/chunk-RQSJLWP4.js.map +1 -0
- package/dist/{chunk-BPRIYNLE.js → chunk-TKAJ3JVF.js} +3 -3
- package/dist/chunk-TSM6VESW.js +25 -0
- package/dist/chunk-TSM6VESW.js.map +1 -0
- package/dist/{chunk-6X2ERTQV.js → chunk-USVFEWYL.js} +6 -4
- package/dist/{chunk-6X2ERTQV.js.map → chunk-USVFEWYL.js.map} +1 -1
- package/dist/{chunk-JZGN33AY.js → chunk-VRI56337.js} +4 -4
- package/dist/chunk-X2IRGXGF.js +14103 -0
- package/dist/chunk-X2IRGXGF.js.map +1 -0
- package/dist/{chunk-FMRZ26U5.js → chunk-X3IGT5RV.js} +5 -2
- package/dist/{chunk-FMRZ26U5.js.map → chunk-X3IGT5RV.js.map} +1 -1
- package/dist/{chunk-KHT24OWC.js → chunk-YDUOSRGD.js} +8 -94
- package/dist/{chunk-KHT24OWC.js.map → chunk-YDUOSRGD.js.map} +1 -1
- package/dist/{chunk-NGROSFOH.js → chunk-Z66IT5KL.js} +14 -9
- package/dist/chunk-Z66IT5KL.js.map +1 -0
- package/dist/{cli-GGPWH4UO.js → cli-HSLIG7EX.js} +50 -43
- package/dist/cli-HSLIG7EX.js.map +1 -0
- package/dist/{client-YXQUTXVZ.js → client-Z43DNLJH.js} +4 -4
- package/dist/{config-OMCYHG2S.js → config-VC4ACP42.js} +6 -4
- package/dist/{config-OMCYHG2S.js.map → config-VC4ACP42.js.map} +1 -1
- package/dist/{detect-PXNM6TA7.js → detect-7NUD5B5R.js} +2 -2
- package/dist/{detect-providers-5KOPZ7J2.js → detect-providers-ILLQZROY.js} +4 -4
- package/dist/{doctor-5JXJ36KA.js → doctor-HJCWHAU4.js} +49 -16
- package/dist/doctor-HJCWHAU4.js.map +1 -0
- package/dist/executor-DO6QFC6G.js +45 -0
- package/dist/{init-LMYOVZAV.js → init-4KVK7W2E.js} +16 -14
- package/dist/{init-LMYOVZAV.js.map → init-4KVK7W2E.js.map} +1 -1
- package/dist/{installer-FS257JRZ.js → installer-N4UTEACX.js} +6 -4
- package/dist/{llm-TH4NLIRM.js → llm-AGVEF5XD.js} +5 -4
- package/dist/{loader-CQYTFHEW.js → loader-LX7TFRM6.js} +5 -3
- package/dist/{loader-NOMBJUPW.js → loader-UDNUMEDA.js} +5 -3
- package/dist/{main-YTBVRTBI.js → main-4J4QZZTZ.js} +2518 -656
- package/dist/main-4J4QZZTZ.js.map +1 -0
- package/dist/{open-HG2DX6RN.js → open-7TXJQM3H.js} +10 -8
- package/dist/{open-HG2DX6RN.js.map → open-7TXJQM3H.js.map} +1 -1
- package/dist/{post-compact-JSECI44W.js → post-compact-7AEFVCZS.js} +8 -8
- package/dist/{post-tool-use-POGPTJBA.js → post-tool-use-TZINWWDH.js} +11 -9
- package/dist/post-tool-use-TZINWWDH.js.map +1 -0
- package/dist/{post-tool-use-failure-OT7BFWQW.js → post-tool-use-failure-TCFEU2GI.js} +8 -8
- package/dist/{pre-compact-OXVODKH4.js → pre-compact-LO2VZCGR.js} +8 -8
- package/dist/{provider-check-43LAMSMH.js → provider-check-ZEV5P4KM.js} +4 -4
- package/dist/{registry-U4CHXK6R.js → registry-F3THYC5M.js} +6 -4
- package/dist/{remove-N7ZPELFU.js → remove-F77AAALE.js} +12 -10
- package/dist/{remove-N7ZPELFU.js.map → remove-F77AAALE.js.map} +1 -1
- package/dist/{restart-ADG5GBTB.js → restart-UEFDPMLT.js} +11 -9
- package/dist/{restart-ADG5GBTB.js.map → restart-UEFDPMLT.js.map} +1 -1
- package/dist/{search-AHZEUNRR.js → search-NHNVUAQQ.js} +11 -9
- package/dist/{search-AHZEUNRR.js.map → search-NHNVUAQQ.js.map} +1 -1
- package/dist/{server-AGVYZVP5.js → server-AZJSTQEK.js} +369 -270
- package/dist/server-AZJSTQEK.js.map +1 -0
- package/dist/{session-6IU4AXYP.js → session-3HLC5KOD.js} +11 -9
- package/dist/{session-6IU4AXYP.js.map → session-3HLC5KOD.js.map} +1 -1
- package/dist/{session-end-FT27DWYZ.js → session-end-FS46UARX.js} +7 -7
- package/dist/session-start-46KPFV2H.js +134 -0
- package/dist/session-start-46KPFV2H.js.map +1 -0
- package/dist/{setup-llm-77MP4I2G.js → setup-llm-JMWSNQ2C.js} +11 -9
- package/dist/{setup-llm-77MP4I2G.js.map → setup-llm-JMWSNQ2C.js.map} +1 -1
- package/dist/src/agent/definitions/agent.yaml +9 -5
- package/dist/src/agent/definitions/tasks/cortex-instructions.yaml +115 -0
- package/dist/src/agent/definitions/tasks/cortex-prompt-builder.yaml +67 -0
- package/dist/src/agent/definitions/tasks/digest-only.yaml +1 -1
- package/dist/src/agent/definitions/tasks/extract-only.yaml +1 -1
- package/dist/src/agent/definitions/tasks/review-session.yaml +10 -39
- package/dist/src/agent/definitions/tasks/skill-evolve.yaml +181 -25
- package/dist/src/agent/definitions/tasks/skill-generate.yaml +21 -7
- package/dist/src/agent/definitions/tasks/skill-survey.yaml +2 -6
- package/dist/src/agent/definitions/tasks/supersession-sweep.yaml +1 -1
- package/dist/src/agent/definitions/tasks/title-summary.yaml +12 -19
- package/dist/src/agent/definitions/tasks/{full-intelligence.yaml → vault-evolve.yaml} +74 -129
- package/dist/src/agent/definitions/tasks/vault-seed.yaml +370 -0
- package/dist/src/agent/prompts/agent.md +12 -38
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/src/symbionts/manifests/claude-code.yaml +4 -0
- package/dist/src/symbionts/manifests/opencode.yaml +7 -0
- package/dist/src/symbionts/manifests/pi.yaml +22 -0
- package/dist/src/symbionts/templates/agents-starter.md +1 -1
- package/dist/src/symbionts/templates/pi/package.json +6 -0
- package/dist/src/symbionts/templates/pi/plugin.ts +559 -0
- package/dist/{stats-NVPWOYTE.js → stats-MKMETHMA.js} +11 -9
- package/dist/{stats-NVPWOYTE.js.map → stats-MKMETHMA.js.map} +1 -1
- package/dist/{stop-ZPIKVLH4.js → stop-OUEX6KA4.js} +7 -7
- package/dist/{stop-failure-2PX67YJC.js → stop-failure-2BWVNZEG.js} +8 -8
- package/dist/{subagent-start-UUE6EHQD.js → subagent-start-J4VV6DEE.js} +8 -8
- package/dist/{subagent-stop-KQWWWPE6.js → subagent-stop-JMLVEPIA.js} +8 -8
- package/dist/{task-completed-WMHOFQ7B.js → task-completed-65CHMMKA.js} +8 -8
- package/dist/{team-LRZ6GTQK.js → team-U2LDKIS4.js} +7 -5
- package/dist/{turns-YFNI5CQC.js → turns-HU2CTZAP.js} +2 -2
- package/dist/ui/assets/index-BUGor9dk.js +842 -0
- package/dist/ui/assets/index-_OP4ifzH.css +1 -0
- package/dist/ui/index.html +2 -2
- package/dist/{update-O6V4RC4W.js → update-ZSHVXWSQ.js} +12 -10
- package/dist/{update-O6V4RC4W.js.map → update-ZSHVXWSQ.js.map} +1 -1
- package/dist/{user-prompt-submit-N36KUPHI.js → user-prompt-submit-APMO6FVU.js} +10 -9
- package/dist/{user-prompt-submit-N36KUPHI.js.map → user-prompt-submit-APMO6FVU.js.map} +1 -1
- package/dist/{verify-LXPV7NYG.js → verify-R76ZFJSZ.js} +8 -5
- package/dist/{verify-LXPV7NYG.js.map → verify-R76ZFJSZ.js.map} +1 -1
- package/dist/{version-XMPPJQHR.js → version-TXPPS3L5.js} +2 -2
- package/dist/version-TXPPS3L5.js.map +1 -0
- package/package.json +3 -1
- package/skills/myco/SKILL.md +16 -1
- package/skills/myco/references/cli-usage.md +1 -1
- package/skills/myco-rules/SKILL.md +94 -0
- package/skills/{rules → myco-rules}/references/rules-bad-example.md +1 -1
- package/skills/{rules → myco-rules}/references/rules-good-example.md +1 -1
- package/dist/chunk-4YFKBL3F.js +0 -195
- package/dist/chunk-4YFKBL3F.js.map +0 -1
- package/dist/chunk-5XIVBO25.js.map +0 -1
- package/dist/chunk-CCRGY3QW.js.map +0 -1
- package/dist/chunk-CUDIZJY7.js +0 -36
- package/dist/chunk-CUDIZJY7.js.map +0 -1
- package/dist/chunk-EVDQKYCG.js.map +0 -1
- package/dist/chunk-FLLBJLHM.js.map +0 -1
- package/dist/chunk-MYOZLMB2.js.map +0 -1
- package/dist/chunk-NGROSFOH.js.map +0 -1
- package/dist/chunk-OD4AA7PV.js.map +0 -1
- package/dist/chunk-Q36VMZST.js.map +0 -1
- package/dist/chunk-US4LNCAT.js.map +0 -1
- package/dist/chunk-UYMFCYBF.js +0 -2326
- package/dist/chunk-UYMFCYBF.js.map +0 -1
- package/dist/chunk-VVNL26WX.js.map +0 -1
- package/dist/cli-GGPWH4UO.js.map +0 -1
- package/dist/doctor-5JXJ36KA.js.map +0 -1
- package/dist/executor-HWW2QNZQ.js +0 -2472
- package/dist/executor-HWW2QNZQ.js.map +0 -1
- package/dist/main-YTBVRTBI.js.map +0 -1
- package/dist/post-tool-use-POGPTJBA.js.map +0 -1
- package/dist/server-AGVYZVP5.js.map +0 -1
- package/dist/session-start-LAFICHII.js +0 -189
- package/dist/session-start-LAFICHII.js.map +0 -1
- package/dist/src/agent/definitions/tasks/graph-maintenance.yaml +0 -93
- package/dist/ui/assets/index-C2JuNtRB.css +0 -1
- package/dist/ui/assets/index-JLVaQKV2.js +0 -832
- package/skills/myco-curate/SKILL.md +0 -86
- package/skills/rules/SKILL.md +0 -214
- /package/dist/{chunk-XG5RRUYF.js.map → chunk-ENZR5NG7.js.map} +0 -0
- /package/dist/{chunk-DCSGJ7W4.js.map → chunk-N2DGFACQ.js.map} +0 -0
- /package/dist/{chunk-KESLPBKV.js.map → chunk-QDLVIW2O.js.map} +0 -0
- /package/dist/{chunk-BPRIYNLE.js.map → chunk-TKAJ3JVF.js.map} +0 -0
- /package/dist/{chunk-JZGN33AY.js.map → chunk-VRI56337.js.map} +0 -0
- /package/dist/{client-YXQUTXVZ.js.map → client-Z43DNLJH.js.map} +0 -0
- /package/dist/{detect-PXNM6TA7.js.map → detect-7NUD5B5R.js.map} +0 -0
- /package/dist/{detect-providers-5KOPZ7J2.js.map → detect-providers-ILLQZROY.js.map} +0 -0
- /package/dist/{installer-FS257JRZ.js.map → executor-DO6QFC6G.js.map} +0 -0
- /package/dist/{llm-TH4NLIRM.js.map → installer-N4UTEACX.js.map} +0 -0
- /package/dist/{loader-CQYTFHEW.js.map → llm-AGVEF5XD.js.map} +0 -0
- /package/dist/{loader-NOMBJUPW.js.map → loader-LX7TFRM6.js.map} +0 -0
- /package/dist/{provider-check-43LAMSMH.js.map → loader-UDNUMEDA.js.map} +0 -0
- /package/dist/{post-compact-JSECI44W.js.map → post-compact-7AEFVCZS.js.map} +0 -0
- /package/dist/{post-tool-use-failure-OT7BFWQW.js.map → post-tool-use-failure-TCFEU2GI.js.map} +0 -0
- /package/dist/{pre-compact-OXVODKH4.js.map → pre-compact-LO2VZCGR.js.map} +0 -0
- /package/dist/{registry-U4CHXK6R.js.map → provider-check-ZEV5P4KM.js.map} +0 -0
- /package/dist/{team-LRZ6GTQK.js.map → registry-F3THYC5M.js.map} +0 -0
- /package/dist/{session-end-FT27DWYZ.js.map → session-end-FS46UARX.js.map} +0 -0
- /package/dist/{stop-ZPIKVLH4.js.map → stop-OUEX6KA4.js.map} +0 -0
- /package/dist/{stop-failure-2PX67YJC.js.map → stop-failure-2BWVNZEG.js.map} +0 -0
- /package/dist/{subagent-start-UUE6EHQD.js.map → subagent-start-J4VV6DEE.js.map} +0 -0
- /package/dist/{subagent-stop-KQWWWPE6.js.map → subagent-stop-JMLVEPIA.js.map} +0 -0
- /package/dist/{task-completed-WMHOFQ7B.js.map → task-completed-65CHMMKA.js.map} +0 -0
- /package/dist/{turns-YFNI5CQC.js.map → team-U2LDKIS4.js.map} +0 -0
- /package/dist/{version-XMPPJQHR.js.map → turns-HU2CTZAP.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# =============================================================================
|
|
2
|
-
# Built-in Task:
|
|
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:
|
|
12
|
-
displayName:
|
|
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,
|
|
17
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
192
|
+
reasoningLevel: default
|
|
193
193
|
dependsOn: [extract]
|
|
194
194
|
prompt: |
|
|
195
195
|
Consolidate related spores into wisdom and clean up redundancy.
|
|
@@ -254,143 +254,89 @@ phases:
|
|
|
254
254
|
maxTurns: 25
|
|
255
255
|
required: false
|
|
256
256
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
257
|
+
# ---- Digest: assess + 3 parallel tier writes ----
|
|
258
|
+
# The assess phase gathers context, then each tier runs independently
|
|
259
|
+
# in the same wave via Promise.allSettled().
|
|
260
|
+
|
|
261
|
+
- name: digest-assess
|
|
262
|
+
reasoningLevel: default
|
|
263
|
+
dependsOn: [consolidate]
|
|
260
264
|
prompt: |
|
|
261
|
-
|
|
265
|
+
Gather material for AT MOST ONE digest tier update per run. The
|
|
266
|
+
rotation decision is made by the `vault_read_digest` tool, not
|
|
267
|
+
by you — the tool returns which tier needs attention (or tells
|
|
268
|
+
you to skip). Over 3 runs every tier gets one deep pass.
|
|
262
269
|
|
|
263
|
-
|
|
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".
|
|
270
|
+
Total budget: {{max_turns}} turns.
|
|
267
271
|
|
|
268
|
-
|
|
269
|
-
- Lineage (automatic): spore→session, spore→batch — already done
|
|
270
|
-
- Semantic (your job): spore→entity, entity→entity — you create these
|
|
272
|
+
## Step 1: Get the rotation decision (1 turn)
|
|
271
273
|
|
|
272
|
-
|
|
274
|
+
Call `vault_read_digest` with:
|
|
275
|
+
pick: "rotate_oldest"
|
|
276
|
+
min_staleness_seconds: 1800
|
|
273
277
|
|
|
274
|
-
|
|
275
|
-
2. Call `vault_entities` to see existing graph entities
|
|
276
|
-
3. Call `vault_edges` to see existing relationships
|
|
278
|
+
The tool returns one of two shapes:
|
|
277
279
|
|
|
278
|
-
|
|
280
|
+
**Skip shape** — `{mode:"rotate_oldest", skip:true, reason, all_tiers}`.
|
|
281
|
+
Every tier was generated within the last 30 minutes. Call
|
|
282
|
+
`vault_report` with action "skip" passing the reason through.
|
|
283
|
+
STOP — do not run steps 2-3.
|
|
279
284
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
- Prefer fewer well-defined entities over many vague ones
|
|
285
|
+
**Rotate shape** — `{mode:"rotate_oldest", selected_tier,
|
|
286
|
+
selected_generated_at, selected_content, rotation_reason, all_tiers}`.
|
|
287
|
+
Proceed to step 2, scoped to `selected_tier`.
|
|
284
288
|
|
|
285
|
-
## Step
|
|
289
|
+
## Step 2: Gather material for `selected_tier` (budget: half
|
|
290
|
+
of remaining)
|
|
286
291
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
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
|
|
292
|
+
Scope the search to what belongs at the selected tier:
|
|
293
|
+
- **1500 (executive briefing):** only critical decisions,
|
|
294
|
+
reversals, state-of-system changes.
|
|
295
|
+
- **5000 (deep onboarding):** trade-offs, patterns, active
|
|
296
|
+
decisions, unresolved gotchas.
|
|
297
|
+
- **10000 (full archive):** any new content worth preserving.
|
|
296
298
|
|
|
297
|
-
|
|
299
|
+
Use `vault_search_semantic` for themes from new/superseded spores,
|
|
300
|
+
`vault_spores` for specific content, `vault_sessions` for recent
|
|
301
|
+
session context. Make each call count — do not repeatedly search
|
|
302
|
+
for variations of the same theme. Accept "good enough" findings
|
|
303
|
+
and move on.
|
|
298
304
|
|
|
299
|
-
|
|
300
|
-
- DEPENDS_ON (entity→entity): "daemon" depends on "SQLite"
|
|
301
|
-
- AFFECTS (spore→entity): a gotcha that impacts a component
|
|
305
|
+
## Step 3: Produce findings
|
|
302
306
|
|
|
303
|
-
|
|
307
|
+
Your final response is the per-tier phases' primary context
|
|
308
|
+
(they cannot call vault_spores or vault_sessions). Structure it:
|
|
304
309
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
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
|
|
310
|
+
**Chosen tier for this run: <selected_tier>**
|
|
311
|
+
Include the rotation_reason verbatim from the tool so readers
|
|
312
|
+
can audit the decision.
|
|
320
313
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
314
|
+
**New material to integrate (scoped to the chosen tier):**
|
|
315
|
+
- List each insight with enough detail that the tier writer can
|
|
316
|
+
incorporate it without re-searching
|
|
317
|
+
- Include specific spore content, not just spore counts
|
|
324
318
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
Call `vault_read_digest` (no tier param) to see current digest state.
|
|
336
|
-
Note each tier's `generated_at` timestamp — this tells you how fresh
|
|
337
|
-
each tier is. Review the prior phase results (in your context):
|
|
338
|
-
- How many spores were created/superseded?
|
|
339
|
-
- How many entities/edges were added?
|
|
340
|
-
- Did consolidate or graph act on externally-created spores or entities?
|
|
341
|
-
|
|
342
|
-
If changes are minor (< 3 new spores, 0 entity changes), call
|
|
343
|
-
`vault_report` with action "skip" and reason explaining why the
|
|
344
|
-
current digest is still sufficient. STOP.
|
|
345
|
-
|
|
346
|
-
## Step 2: Gather new material (budget: 5 turns)
|
|
347
|
-
|
|
348
|
-
Search for material relevant to what changed:
|
|
349
|
-
1. Call `vault_search_semantic` with themes from newly created/superseded
|
|
350
|
-
spores and new entity names
|
|
351
|
-
2. Call `vault_spores` to see recently created observations
|
|
352
|
-
3. Call `vault_sessions` for recent session context
|
|
353
|
-
|
|
354
|
-
## Step 3: Produce detailed findings
|
|
355
|
-
|
|
356
|
-
Your final response is critical — the per-tier phases see it as their
|
|
357
|
-
primary context (they cannot call vault_spores or vault_sessions).
|
|
358
|
-
Structure your summary as:
|
|
359
|
-
|
|
360
|
-
**New material to integrate:**
|
|
361
|
-
- List each new insight, decision, pattern, gotcha with enough detail
|
|
362
|
-
that a tier writer can incorporate it without re-searching
|
|
363
|
-
- Include specific spore content, not just "3 new spores were created"
|
|
364
|
-
|
|
365
|
-
**Themes and connections:**
|
|
366
|
-
- What overarching themes connect the new material?
|
|
367
|
-
- What existing digest sections are affected?
|
|
368
|
-
|
|
369
|
-
**Per-tier freshness and guidance:**
|
|
370
|
-
For each tier, state whether it should UPDATE or SKIP based on both
|
|
371
|
-
the volume of new material AND the tier's `generated_at` freshness:
|
|
372
|
-
- A tier written < 30 minutes ago with only minor changes → SKIP
|
|
373
|
-
- A tier written hours ago or with significant changes → UPDATE
|
|
374
|
-
- Larger tiers (10000) tolerate more frequent updates since
|
|
375
|
-
they have room for incremental additions
|
|
376
|
-
- Smaller tiers (1500) should only update for material that
|
|
377
|
-
genuinely changes the executive picture
|
|
378
|
-
|
|
379
|
-
Per-tier directives:
|
|
380
|
-
- 10000: UPDATE/SKIP + what to add (any new content)
|
|
381
|
-
- 5000: UPDATE/SKIP + what to add (trade-offs and patterns)
|
|
382
|
-
- 1500: UPDATE/SKIP + what to add (only critical changes)
|
|
319
|
+
**Themes and connections** relevant to the chosen tier.
|
|
320
|
+
|
|
321
|
+
**Per-tier directives** — mark exactly the `selected_tier` as
|
|
322
|
+
UPDATE, the other two as SKIP, and include the tool's
|
|
323
|
+
rotation_reason in the UPDATE line:
|
|
324
|
+
- 10000: UPDATE or SKIP + one-line reason
|
|
325
|
+
- 5000: UPDATE or SKIP + one-line reason
|
|
326
|
+
- 1500: UPDATE or SKIP + one-line reason
|
|
327
|
+
|
|
328
|
+
Tools available: {{phase_tools}}.
|
|
383
329
|
tools:
|
|
384
330
|
- vault_spores
|
|
385
331
|
- vault_sessions
|
|
386
332
|
- vault_search_semantic
|
|
387
333
|
- vault_read_digest
|
|
388
334
|
- vault_report
|
|
389
|
-
maxTurns:
|
|
335
|
+
maxTurns: 12
|
|
390
336
|
required: true
|
|
391
337
|
|
|
392
338
|
- name: digest-10000
|
|
393
|
-
|
|
339
|
+
reasoningLevel: low
|
|
394
340
|
dependsOn: [digest-assess]
|
|
395
341
|
prompt: |
|
|
396
342
|
Update digest tier 10000 — Full institutional knowledge.
|
|
@@ -427,7 +373,7 @@ phases:
|
|
|
427
373
|
required: false
|
|
428
374
|
|
|
429
375
|
- name: digest-5000
|
|
430
|
-
|
|
376
|
+
reasoningLevel: low
|
|
431
377
|
dependsOn: [digest-assess]
|
|
432
378
|
prompt: |
|
|
433
379
|
Update digest tier 5000 — Deep onboarding.
|
|
@@ -463,7 +409,7 @@ phases:
|
|
|
463
409
|
required: false
|
|
464
410
|
|
|
465
411
|
- name: digest-1500
|
|
466
|
-
|
|
412
|
+
reasoningLevel: low
|
|
467
413
|
dependsOn: [digest-assess]
|
|
468
414
|
prompt: |
|
|
469
415
|
Update digest tier 1500 — Executive briefing.
|
|
@@ -499,8 +445,8 @@ phases:
|
|
|
499
445
|
required: false
|
|
500
446
|
|
|
501
447
|
- name: report
|
|
502
|
-
|
|
503
|
-
dependsOn: [extract, summarize, consolidate,
|
|
448
|
+
reasoningLevel: low
|
|
449
|
+
dependsOn: [extract, summarize, consolidate, digest-assess, digest-10000, digest-5000, digest-1500]
|
|
504
450
|
prompt: |
|
|
505
451
|
Summarize what was done across all phases.
|
|
506
452
|
|
|
@@ -509,7 +455,6 @@ phases:
|
|
|
509
455
|
- Spores created: N (by type)
|
|
510
456
|
- Sessions updated: N
|
|
511
457
|
- Wisdom created: N
|
|
512
|
-
- Entities created: N, edges created: N
|
|
513
458
|
- Digest tiers written: N
|
|
514
459
|
|
|
515
460
|
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
|