feed-the-machine 1.6.1 → 1.7.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.
Files changed (272) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +262 -170
  3. package/bin/__pycache__/tasks_db.cpython-314.pyc +0 -0
  4. package/bin/brain.py +1340 -0
  5. package/bin/convert_claude_skills_to_codex.py +490 -0
  6. package/bin/generate-manifest.mjs +463 -463
  7. package/bin/harden_codex_skills.py +141 -0
  8. package/bin/install.mjs +491 -491
  9. package/bin/migrate-eng-buddy-data.py +875 -0
  10. package/bin/playbook_engine/__init__.py +1 -0
  11. package/bin/playbook_engine/conftest.py +8 -0
  12. package/bin/playbook_engine/extractor.py +33 -0
  13. package/bin/playbook_engine/manager.py +102 -0
  14. package/bin/playbook_engine/models.py +84 -0
  15. package/bin/playbook_engine/registry.py +35 -0
  16. package/bin/playbook_engine/test_extractor.py +72 -0
  17. package/bin/playbook_engine/test_integration.py +129 -0
  18. package/bin/playbook_engine/test_manager.py +85 -0
  19. package/bin/playbook_engine/test_models.py +166 -0
  20. package/bin/playbook_engine/test_registry.py +67 -0
  21. package/bin/playbook_engine/test_tracer.py +86 -0
  22. package/bin/playbook_engine/tracer.py +93 -0
  23. package/bin/tasks_db.py +456 -0
  24. package/docs/HOOKS.md +243 -243
  25. package/docs/INBOX.md +233 -233
  26. package/ftm/SKILL.md +125 -122
  27. package/ftm-audit/SKILL.md +673 -623
  28. package/ftm-audit/references/protocols/PROJECT-PATTERNS.md +91 -91
  29. package/ftm-audit/references/protocols/RUNTIME-WIRING.md +66 -66
  30. package/ftm-audit/references/protocols/WIRING-CONTRACTS.md +135 -135
  31. package/ftm-audit/references/strategies/AUTO-FIX-STRATEGIES.md +69 -69
  32. package/ftm-audit/references/templates/REPORT-FORMAT.md +96 -96
  33. package/ftm-audit/scripts/run-knip.sh +23 -23
  34. package/ftm-audit.yml +2 -2
  35. package/ftm-brainstorm/SKILL.md +1003 -498
  36. package/ftm-brainstorm/evals/evals.json +180 -100
  37. package/ftm-brainstorm/evals/promptfoo.yaml +109 -109
  38. package/ftm-brainstorm/references/agent-prompts.md +552 -224
  39. package/ftm-brainstorm/references/plan-template.md +209 -121
  40. package/ftm-brainstorm.yml +2 -2
  41. package/ftm-browse/SKILL.md +454 -454
  42. package/ftm-browse/daemon/browser-manager.ts +206 -206
  43. package/ftm-browse/daemon/bun.lock +30 -30
  44. package/ftm-browse/daemon/cli.ts +347 -347
  45. package/ftm-browse/daemon/commands.ts +410 -410
  46. package/ftm-browse/daemon/main.ts +357 -357
  47. package/ftm-browse/daemon/package.json +17 -17
  48. package/ftm-browse/daemon/server.ts +189 -189
  49. package/ftm-browse/daemon/snapshot.ts +519 -519
  50. package/ftm-browse/daemon/tsconfig.json +22 -22
  51. package/ftm-browse.yml +4 -4
  52. package/ftm-capture/SKILL.md +370 -370
  53. package/ftm-capture.yml +4 -4
  54. package/ftm-codex-gate/SKILL.md +361 -361
  55. package/ftm-codex-gate.yml +2 -2
  56. package/ftm-config/SKILL.md +422 -345
  57. package/ftm-config.default.yml +125 -82
  58. package/ftm-config.yml +44 -2
  59. package/ftm-council/SKILL.md +416 -416
  60. package/ftm-council/references/prompts/CLAUDE-INVESTIGATION.md +60 -60
  61. package/ftm-council/references/prompts/CODEX-INVESTIGATION.md +58 -58
  62. package/ftm-council/references/prompts/GEMINI-INVESTIGATION.md +58 -58
  63. package/ftm-council/references/prompts/REBUTTAL-TEMPLATE.md +57 -57
  64. package/ftm-council/references/protocols/PREREQUISITES.md +47 -47
  65. package/ftm-council/references/protocols/STEP-0-FRAMING.md +46 -46
  66. package/ftm-council-chat.yml +2 -0
  67. package/ftm-council.yml +2 -2
  68. package/ftm-dashboard/SKILL.md +163 -163
  69. package/ftm-dashboard.yml +4 -4
  70. package/ftm-debug/SKILL.md +1037 -1037
  71. package/ftm-debug/references/phases/PHASE-0-INTAKE.md +58 -58
  72. package/ftm-debug/references/phases/PHASE-1-TRIAGE.md +46 -46
  73. package/ftm-debug/references/phases/PHASE-2-WAR-ROOM-AGENTS.md +279 -279
  74. package/ftm-debug/references/phases/PHASE-3-TO-6-EXECUTION.md +436 -436
  75. package/ftm-debug/references/protocols/BLACKBOARD.md +86 -86
  76. package/ftm-debug/references/protocols/EDGE-CASES.md +103 -103
  77. package/ftm-debug.yml +2 -2
  78. package/ftm-diagram/SKILL.md +277 -277
  79. package/ftm-diagram.yml +2 -2
  80. package/ftm-executor/SKILL.md +777 -777
  81. package/ftm-executor/references/STYLE-TEMPLATE.md +73 -73
  82. package/ftm-executor/references/phases/PHASE-0-VERIFICATION.md +62 -62
  83. package/ftm-executor/references/phases/PHASE-2-AGENT-ASSEMBLY.md +34 -34
  84. package/ftm-executor/references/phases/PHASE-3-WORKTREES.md +38 -38
  85. package/ftm-executor/references/phases/PHASE-4-5-AUDIT.md +81 -72
  86. package/ftm-executor/references/phases/PHASE-4-DISPATCH.md +66 -66
  87. package/ftm-executor/references/phases/PHASE-5-5-CODEX-GATE.md +73 -73
  88. package/ftm-executor/references/protocols/DOCUMENTATION-BOOTSTRAP.md +36 -36
  89. package/ftm-executor/references/protocols/MODEL-PROFILE.md +59 -59
  90. package/ftm-executor/references/protocols/PROGRESS-TRACKING.md +66 -66
  91. package/ftm-executor/runtime/ftm-runtime.mjs +252 -252
  92. package/ftm-executor/runtime/package.json +8 -8
  93. package/ftm-executor.yml +2 -2
  94. package/ftm-git/SKILL.md +441 -441
  95. package/ftm-git/evals/evals.json +26 -26
  96. package/ftm-git/evals/promptfoo.yaml +75 -75
  97. package/ftm-git/hooks/post-commit-experience.sh +92 -92
  98. package/ftm-git/references/patterns/SECRET-PATTERNS.md +104 -104
  99. package/ftm-git/references/protocols/REMEDIATION.md +139 -139
  100. package/ftm-git/scripts/pre-commit-secrets.sh +110 -110
  101. package/ftm-git.yml +2 -2
  102. package/ftm-inbox/backend/__pycache__/main.cpython-314.pyc +0 -0
  103. package/ftm-inbox/backend/adapters/_retry.py +64 -64
  104. package/ftm-inbox/backend/adapters/base.py +230 -230
  105. package/ftm-inbox/backend/adapters/freshservice.py +104 -104
  106. package/ftm-inbox/backend/adapters/gmail.py +125 -125
  107. package/ftm-inbox/backend/adapters/jira.py +136 -136
  108. package/ftm-inbox/backend/adapters/registry.py +192 -192
  109. package/ftm-inbox/backend/adapters/slack.py +110 -110
  110. package/ftm-inbox/backend/db/connection.py +54 -54
  111. package/ftm-inbox/backend/db/schema.py +78 -78
  112. package/ftm-inbox/backend/executor/__init__.py +7 -7
  113. package/ftm-inbox/backend/executor/engine.py +149 -149
  114. package/ftm-inbox/backend/executor/step_runner.py +98 -98
  115. package/ftm-inbox/backend/main.py +103 -103
  116. package/ftm-inbox/backend/models/__init__.py +1 -1
  117. package/ftm-inbox/backend/models/unified_task.py +36 -36
  118. package/ftm-inbox/backend/planner/__init__.py +6 -6
  119. package/ftm-inbox/backend/planner/__pycache__/__init__.cpython-314.pyc +0 -0
  120. package/ftm-inbox/backend/planner/__pycache__/generator.cpython-314.pyc +0 -0
  121. package/ftm-inbox/backend/planner/__pycache__/schema.cpython-314.pyc +0 -0
  122. package/ftm-inbox/backend/planner/generator.py +127 -127
  123. package/ftm-inbox/backend/planner/schema.py +34 -34
  124. package/ftm-inbox/backend/requirements.txt +5 -5
  125. package/ftm-inbox/backend/routes/__pycache__/plan.cpython-314.pyc +0 -0
  126. package/ftm-inbox/backend/routes/execute.py +186 -186
  127. package/ftm-inbox/backend/routes/health.py +52 -52
  128. package/ftm-inbox/backend/routes/inbox.py +68 -68
  129. package/ftm-inbox/backend/routes/plan.py +271 -271
  130. package/ftm-inbox/bin/launchagent.mjs +91 -91
  131. package/ftm-inbox/bin/setup.mjs +188 -188
  132. package/ftm-inbox/bin/start.sh +10 -10
  133. package/ftm-inbox/bin/status.sh +17 -17
  134. package/ftm-inbox/bin/stop.sh +8 -8
  135. package/ftm-inbox/config.example.yml +55 -55
  136. package/ftm-inbox/package-lock.json +2898 -2898
  137. package/ftm-inbox/package.json +26 -26
  138. package/ftm-inbox/postcss.config.js +6 -6
  139. package/ftm-inbox/src/app.css +199 -199
  140. package/ftm-inbox/src/app.html +18 -18
  141. package/ftm-inbox/src/lib/api.ts +166 -166
  142. package/ftm-inbox/src/lib/components/ExecutionLog.svelte +81 -81
  143. package/ftm-inbox/src/lib/components/InboxFeed.svelte +143 -143
  144. package/ftm-inbox/src/lib/components/PlanStep.svelte +271 -271
  145. package/ftm-inbox/src/lib/components/PlanView.svelte +206 -206
  146. package/ftm-inbox/src/lib/components/StreamPanel.svelte +99 -99
  147. package/ftm-inbox/src/lib/components/TaskCard.svelte +190 -190
  148. package/ftm-inbox/src/lib/components/ui/EmptyState.svelte +63 -63
  149. package/ftm-inbox/src/lib/components/ui/KawaiiCard.svelte +86 -86
  150. package/ftm-inbox/src/lib/components/ui/PillButton.svelte +106 -106
  151. package/ftm-inbox/src/lib/components/ui/StatusBadge.svelte +67 -67
  152. package/ftm-inbox/src/lib/components/ui/StreamDrawer.svelte +149 -149
  153. package/ftm-inbox/src/lib/components/ui/ThemeToggle.svelte +80 -80
  154. package/ftm-inbox/src/lib/theme.ts +47 -47
  155. package/ftm-inbox/src/routes/+layout.svelte +76 -76
  156. package/ftm-inbox/src/routes/+page.svelte +401 -401
  157. package/ftm-inbox/svelte.config.js +12 -12
  158. package/ftm-inbox/tailwind.config.ts +63 -63
  159. package/ftm-inbox/tsconfig.json +13 -13
  160. package/ftm-inbox/vite.config.ts +6 -6
  161. package/ftm-intent/SKILL.md +241 -241
  162. package/ftm-intent.yml +2 -2
  163. package/ftm-manifest.json +3794 -3794
  164. package/ftm-map/SKILL.md +291 -291
  165. package/ftm-map/scripts/db.py +712 -712
  166. package/ftm-map/scripts/index.py +415 -415
  167. package/ftm-map/scripts/parser.py +224 -224
  168. package/ftm-map/scripts/queries/go-tags.scm +20 -20
  169. package/ftm-map/scripts/queries/javascript-tags.scm +35 -35
  170. package/ftm-map/scripts/queries/python-tags.scm +31 -31
  171. package/ftm-map/scripts/queries/ruby-tags.scm +19 -19
  172. package/ftm-map/scripts/queries/rust-tags.scm +37 -37
  173. package/ftm-map/scripts/queries/typescript-tags.scm +41 -41
  174. package/ftm-map/scripts/query.py +301 -301
  175. package/ftm-map/scripts/ranker.py +377 -377
  176. package/ftm-map/scripts/requirements.txt +5 -5
  177. package/ftm-map/scripts/setup-hooks.sh +27 -27
  178. package/ftm-map/scripts/setup.sh +56 -56
  179. package/ftm-map/scripts/test_db.py +364 -364
  180. package/ftm-map/scripts/test_parser.py +174 -174
  181. package/ftm-map/scripts/test_query.py +183 -183
  182. package/ftm-map/scripts/test_ranker.py +199 -199
  183. package/ftm-map/scripts/views.py +591 -591
  184. package/ftm-map.yml +2 -2
  185. package/ftm-mind/SKILL.md +201 -1943
  186. package/ftm-mind/evals/promptfoo.yaml +142 -142
  187. package/ftm-mind/references/blackboard-protocol.md +110 -0
  188. package/ftm-mind/references/blackboard-schema.md +328 -328
  189. package/ftm-mind/references/complexity-guide.md +110 -110
  190. package/ftm-mind/references/complexity-sizing.md +138 -0
  191. package/ftm-mind/references/decide-act-protocol.md +172 -0
  192. package/ftm-mind/references/direct-execution.md +51 -0
  193. package/ftm-mind/references/environment-discovery.md +77 -0
  194. package/ftm-mind/references/event-registry.md +319 -319
  195. package/ftm-mind/references/mcp-inventory.md +300 -296
  196. package/ftm-mind/references/ops-routing.md +47 -0
  197. package/ftm-mind/references/orient-protocol.md +234 -0
  198. package/ftm-mind/references/personality.md +40 -0
  199. package/ftm-mind/references/protocols/COMPLEXITY-SIZING.md +72 -72
  200. package/ftm-mind/references/protocols/MCP-HEURISTICS.md +32 -32
  201. package/ftm-mind/references/protocols/PLAN-APPROVAL.md +80 -80
  202. package/ftm-mind/references/reflexion-protocol.md +249 -249
  203. package/ftm-mind/references/routing/SCENARIOS.md +22 -22
  204. package/ftm-mind/references/routing-scenarios.md +35 -35
  205. package/ftm-mind.yml +2 -2
  206. package/ftm-ops.yml +4 -0
  207. package/ftm-pause/SKILL.md +395 -395
  208. package/ftm-pause/references/protocols/SKILL-RESTORE-PROTOCOLS.md +186 -186
  209. package/ftm-pause/references/protocols/VALIDATION.md +80 -80
  210. package/ftm-pause.yml +2 -2
  211. package/ftm-researcher/SKILL.md +275 -275
  212. package/ftm-researcher/evals/agent-diversity.yaml +17 -17
  213. package/ftm-researcher/evals/synthesis-quality.yaml +12 -12
  214. package/ftm-researcher/evals/trigger-accuracy.yaml +39 -39
  215. package/ftm-researcher/references/adaptive-search.md +116 -116
  216. package/ftm-researcher/references/agent-prompts.md +193 -193
  217. package/ftm-researcher/references/council-integration.md +193 -193
  218. package/ftm-researcher/references/output-format.md +203 -203
  219. package/ftm-researcher/references/synthesis-pipeline.md +165 -165
  220. package/ftm-researcher/scripts/score_credibility.py +234 -234
  221. package/ftm-researcher/scripts/validate_research.py +92 -92
  222. package/ftm-researcher.yml +2 -2
  223. package/ftm-resume/SKILL.md +518 -518
  224. package/ftm-resume/references/protocols/VALIDATION.md +172 -172
  225. package/ftm-resume.yml +2 -2
  226. package/ftm-retro/SKILL.md +380 -380
  227. package/ftm-retro/references/protocols/SCORING-RUBRICS.md +89 -89
  228. package/ftm-retro/references/templates/REPORT-FORMAT.md +109 -109
  229. package/ftm-retro.yml +2 -2
  230. package/ftm-routine/SKILL.md +170 -170
  231. package/ftm-routine.yml +4 -4
  232. package/ftm-state/blackboard/capabilities.json +5 -5
  233. package/ftm-state/blackboard/capabilities.schema.json +27 -27
  234. package/ftm-state/blackboard/context.json +37 -23
  235. package/ftm-state/blackboard/experiences/doom-statusline-fix.json +26 -0
  236. package/ftm-state/blackboard/experiences/hackathon-pages-site.json +26 -0
  237. package/ftm-state/blackboard/experiences/hindsight-sso-kickoff.json +42 -0
  238. package/ftm-state/blackboard/experiences/index.json +58 -9
  239. package/ftm-state/blackboard/experiences/learning-ragnarok-api-access.json +23 -0
  240. package/ftm-state/blackboard/experiences/nordlayer-members-auto-assign.json +26 -0
  241. package/ftm-state/blackboard/experiences/saml2aws-stale-session-fix.json +41 -0
  242. package/ftm-state/blackboard/patterns.json +6 -6
  243. package/ftm-state/schemas/context.schema.json +130 -130
  244. package/ftm-state/schemas/experience-index.schema.json +77 -77
  245. package/ftm-state/schemas/experience.schema.json +78 -78
  246. package/ftm-state/schemas/patterns.schema.json +44 -44
  247. package/ftm-upgrade/SKILL.md +194 -194
  248. package/ftm-upgrade/scripts/check-version.sh +76 -76
  249. package/ftm-upgrade/scripts/upgrade.sh +143 -143
  250. package/ftm-upgrade.yml +2 -2
  251. package/ftm-verify.yml +2 -2
  252. package/ftm.yml +2 -2
  253. package/hooks/ftm-auto-log.sh +137 -0
  254. package/hooks/ftm-blackboard-enforcer.sh +93 -93
  255. package/hooks/ftm-discovery-reminder.sh +90 -90
  256. package/hooks/ftm-drafts-gate.sh +61 -61
  257. package/hooks/ftm-event-logger.mjs +107 -107
  258. package/hooks/ftm-install-hooks.sh +240 -0
  259. package/hooks/ftm-learning-capture.sh +117 -0
  260. package/hooks/ftm-map-autodetect.sh +79 -79
  261. package/hooks/ftm-pending-sync-check.sh +22 -22
  262. package/hooks/ftm-plan-gate.sh +92 -92
  263. package/hooks/ftm-post-commit-trigger.sh +57 -57
  264. package/hooks/ftm-post-compaction.sh +138 -0
  265. package/hooks/ftm-pre-compaction.sh +147 -0
  266. package/hooks/ftm-session-end.sh +52 -0
  267. package/hooks/ftm-session-snapshot.sh +213 -0
  268. package/hooks/ftm-task-loader.sh +100 -0
  269. package/hooks/settings-template.json +91 -81
  270. package/install.sh +363 -363
  271. package/package.json +84 -84
  272. package/uninstall.sh +25 -25
@@ -1,60 +1,60 @@
1
- # Claude Investigation Prompt Template
2
-
3
- Use this for spawning the Claude subagent in Step 1 (and rebuttal rounds). Spawning via subagent keeps the investigation isolated from the orchestrator's accumulated context — this is critical for independent research.
4
-
5
- ## Round 1: Independent Research
6
-
7
- ```
8
- You are one of three AI peers in a deliberation council. The other two peers are Codex (OpenAI) and Gemini (Google). Your job is to independently investigate the following problem by reading the codebase, then give your honest, well-reasoned position.
9
-
10
- IMPORTANT: Do your own research. Read files, search code, trace through logic. Your position must be grounded in what you actually find in the code, not assumptions. Cite specific files and line numbers.
11
-
12
- PROBLEM:
13
- {council_prompt}
14
-
15
- WORKING DIRECTORY: {cwd}
16
-
17
- Instructions:
18
- 1. Start by exploring the relevant parts of the codebase — read files, search for patterns, trace dependencies
19
- 2. Take notes on what you find as you go
20
- 3. After you've done sufficient research, formulate your position
21
-
22
- Give your response in this format:
23
- 1. RESEARCH SUMMARY: What files you examined, what you found (with file:line references)
24
- 2. POSITION: Your clear stance (1-2 sentences)
25
- 3. REASONING: Why you believe this, grounded in specific code you read
26
- 4. CONCERNS: What could go wrong with your approach
27
- 5. CONFIDENCE: High/Medium/Low and why
28
- ```
29
-
30
- ## Rebuttal Rounds (Rounds 2-5)
31
-
32
- The rebuttal subagent also runs isolated so it doesn't anchor on the orchestrator's context.
33
-
34
- ```
35
- Round {N} of the deliberation council.
36
-
37
- Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
38
-
39
- PEER 1's research and position:
40
- {peer1_previous_full}
41
-
42
- PEER 2's research and position:
43
- {peer2_previous_full}
44
-
45
- YOUR previous research and position:
46
- {claude_previous_full}
47
-
48
- Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
49
-
50
- 1. Directly address the strongest point from each other model
51
- 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
52
- 3. State whether you've changed your position (and why, or why not)
53
- 4. If you agree with another model, say so explicitly
54
-
55
- UPDATED POSITION: [same/changed] ...
56
- NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
57
- KEY RESPONSE TO PEER 1: ...
58
- KEY RESPONSE TO PEER 2: ...
59
- REMAINING DISAGREEMENTS: ...
60
- ```
1
+ # Claude Investigation Prompt Template
2
+
3
+ Use this for spawning the Claude subagent in Step 1 (and rebuttal rounds). Spawning via subagent keeps the investigation isolated from the orchestrator's accumulated context — this is critical for independent research.
4
+
5
+ ## Round 1: Independent Research
6
+
7
+ ```
8
+ You are one of three AI peers in a deliberation council. The other two peers are Codex (OpenAI) and Gemini (Google). Your job is to independently investigate the following problem by reading the codebase, then give your honest, well-reasoned position.
9
+
10
+ IMPORTANT: Do your own research. Read files, search code, trace through logic. Your position must be grounded in what you actually find in the code, not assumptions. Cite specific files and line numbers.
11
+
12
+ PROBLEM:
13
+ {council_prompt}
14
+
15
+ WORKING DIRECTORY: {cwd}
16
+
17
+ Instructions:
18
+ 1. Start by exploring the relevant parts of the codebase — read files, search for patterns, trace dependencies
19
+ 2. Take notes on what you find as you go
20
+ 3. After you've done sufficient research, formulate your position
21
+
22
+ Give your response in this format:
23
+ 1. RESEARCH SUMMARY: What files you examined, what you found (with file:line references)
24
+ 2. POSITION: Your clear stance (1-2 sentences)
25
+ 3. REASONING: Why you believe this, grounded in specific code you read
26
+ 4. CONCERNS: What could go wrong with your approach
27
+ 5. CONFIDENCE: High/Medium/Low and why
28
+ ```
29
+
30
+ ## Rebuttal Rounds (Rounds 2-5)
31
+
32
+ The rebuttal subagent also runs isolated so it doesn't anchor on the orchestrator's context.
33
+
34
+ ```
35
+ Round {N} of the deliberation council.
36
+
37
+ Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
38
+
39
+ PEER 1's research and position:
40
+ {peer1_previous_full}
41
+
42
+ PEER 2's research and position:
43
+ {peer2_previous_full}
44
+
45
+ YOUR previous research and position:
46
+ {claude_previous_full}
47
+
48
+ Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
49
+
50
+ 1. Directly address the strongest point from each other model
51
+ 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
52
+ 3. State whether you've changed your position (and why, or why not)
53
+ 4. If you agree with another model, say so explicitly
54
+
55
+ UPDATED POSITION: [same/changed] ...
56
+ NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
57
+ KEY RESPONSE TO PEER 1: ...
58
+ KEY RESPONSE TO PEER 2: ...
59
+ REMAINING DISAGREEMENTS: ...
60
+ ```
@@ -1,58 +1,58 @@
1
- # Codex Investigation Prompt Template
2
-
3
- Use this for spawning Codex via CLI. The `--full-auto` flag gives Codex sandboxed read access to the workspace so it can explore files on its own.
4
-
5
- ## Round 1: Independent Research
6
-
7
- ```bash
8
- cd {cwd} && codex exec --full-auto "You are one of three AI peers in a deliberation council. The other two peers are a subagent investigator and Gemini (Google). Your job is to independently investigate the following problem by reading the codebase, then give your honest, well-reasoned position.
9
-
10
- IMPORTANT: Do your own research. Read files, search code, trace through logic. Your position must be grounded in what you actually find in the code, not assumptions. Cite specific files and line numbers.
11
-
12
- PROBLEM:
13
- {council_prompt}
14
-
15
- Instructions:
16
- 1. Start by exploring the relevant parts of the codebase — read files, search for patterns, trace dependencies
17
- 2. Take notes on what you find as you go
18
- 3. After you have done sufficient research, formulate your position
19
-
20
- Give your response in this format:
21
- 1. RESEARCH SUMMARY: What files you examined, what you found (with file:line references)
22
- 2. POSITION: Your clear stance (1-2 sentences)
23
- 3. REASONING: Why you believe this, grounded in specific code you read
24
- 4. CONCERNS: What could go wrong with your approach
25
- 5. CONFIDENCE: High/Medium/Low and why"
26
- ```
27
-
28
- ## Rebuttal Rounds (Rounds 2-5)
29
-
30
- Use `--full-auto` in rebuttal rounds as well — Codex may want to verify another model's claims by reading files it hadn't looked at before.
31
-
32
- ```bash
33
- cd {cwd} && codex exec --full-auto "Round {N} of the deliberation council.
34
-
35
- Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
36
-
37
- PEER 1's research and position:
38
- {peer1_previous_full}
39
-
40
- PEER 2's research and position:
41
- {peer2_previous_full}
42
-
43
- YOUR previous research and position:
44
- {codex_previous_full}
45
-
46
- Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
47
-
48
- 1. Directly address the strongest point from each other model
49
- 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
50
- 3. State whether you've changed your position (and why, or why not)
51
- 4. If you agree with another model, say so explicitly
52
-
53
- UPDATED POSITION: [same/changed] ...
54
- NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
55
- KEY RESPONSE TO PEER 1: ...
56
- KEY RESPONSE TO PEER 2: ...
57
- REMAINING DISAGREEMENTS: ..."
58
- ```
1
+ # Codex Investigation Prompt Template
2
+
3
+ Use this for spawning Codex via CLI. The `--full-auto` flag gives Codex sandboxed read access to the workspace so it can explore files on its own.
4
+
5
+ ## Round 1: Independent Research
6
+
7
+ ```bash
8
+ cd {cwd} && codex exec --full-auto "You are one of three AI peers in a deliberation council. The other two peers are a subagent investigator and Gemini (Google). Your job is to independently investigate the following problem by reading the codebase, then give your honest, well-reasoned position.
9
+
10
+ IMPORTANT: Do your own research. Read files, search code, trace through logic. Your position must be grounded in what you actually find in the code, not assumptions. Cite specific files and line numbers.
11
+
12
+ PROBLEM:
13
+ {council_prompt}
14
+
15
+ Instructions:
16
+ 1. Start by exploring the relevant parts of the codebase — read files, search for patterns, trace dependencies
17
+ 2. Take notes on what you find as you go
18
+ 3. After you have done sufficient research, formulate your position
19
+
20
+ Give your response in this format:
21
+ 1. RESEARCH SUMMARY: What files you examined, what you found (with file:line references)
22
+ 2. POSITION: Your clear stance (1-2 sentences)
23
+ 3. REASONING: Why you believe this, grounded in specific code you read
24
+ 4. CONCERNS: What could go wrong with your approach
25
+ 5. CONFIDENCE: High/Medium/Low and why"
26
+ ```
27
+
28
+ ## Rebuttal Rounds (Rounds 2-5)
29
+
30
+ Use `--full-auto` in rebuttal rounds as well — Codex may want to verify another model's claims by reading files it hadn't looked at before.
31
+
32
+ ```bash
33
+ cd {cwd} && codex exec --full-auto "Round {N} of the deliberation council.
34
+
35
+ Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
36
+
37
+ PEER 1's research and position:
38
+ {peer1_previous_full}
39
+
40
+ PEER 2's research and position:
41
+ {peer2_previous_full}
42
+
43
+ YOUR previous research and position:
44
+ {codex_previous_full}
45
+
46
+ Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
47
+
48
+ 1. Directly address the strongest point from each other model
49
+ 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
50
+ 3. State whether you've changed your position (and why, or why not)
51
+ 4. If you agree with another model, say so explicitly
52
+
53
+ UPDATED POSITION: [same/changed] ...
54
+ NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
55
+ KEY RESPONSE TO PEER 1: ...
56
+ KEY RESPONSE TO PEER 2: ...
57
+ REMAINING DISAGREEMENTS: ..."
58
+ ```
@@ -1,58 +1,58 @@
1
- # Gemini Investigation Prompt Template
2
-
3
- Use this for spawning Gemini via CLI. The `--yolo` flag lets Gemini auto-approve file reads so it can explore without getting stuck on permission prompts.
4
-
5
- ## Round 1: Independent Research
6
-
7
- ```bash
8
- cd {cwd} && gemini -p "You are one of three AI peers in a deliberation council. The other two peers are a subagent investigator and Codex (OpenAI). Your job is to independently investigate the following problem by reading the codebase, then give your honest, well-reasoned position.
9
-
10
- IMPORTANT: Do your own research. Read files, search code, trace through logic. Your position must be grounded in what you actually find in the code, not assumptions. Cite specific files and line numbers.
11
-
12
- PROBLEM:
13
- {council_prompt}
14
-
15
- Instructions:
16
- 1. Start by exploring the relevant parts of the codebase — read files, search for patterns, trace dependencies
17
- 2. Take notes on what you find as you go
18
- 3. After you have done sufficient research, formulate your position
19
-
20
- Give your response in this format:
21
- 1. RESEARCH SUMMARY: What files you examined, what you found (with file:line references)
22
- 2. POSITION: Your clear stance (1-2 sentences)
23
- 3. REASONING: Why you believe this, grounded in specific code you read
24
- 4. CONCERNS: What could go wrong with your approach
25
- 5. CONFIDENCE: High/Medium/Low and why" --yolo
26
- ```
27
-
28
- ## Rebuttal Rounds (Rounds 2-5)
29
-
30
- Use `--yolo` in rebuttal rounds as well — Gemini may want to verify another model's claims by reading files it hadn't looked at before.
31
-
32
- ```bash
33
- cd {cwd} && gemini -p "Round {N} of the deliberation council.
34
-
35
- Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
36
-
37
- PEER 1's research and position:
38
- {peer1_previous_full}
39
-
40
- PEER 2's research and position:
41
- {peer2_previous_full}
42
-
43
- YOUR previous research and position:
44
- {gemini_previous_full}
45
-
46
- Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
47
-
48
- 1. Directly address the strongest point from each other model
49
- 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
50
- 3. State whether you've changed your position (and why, or why not)
51
- 4. If you agree with another model, say so explicitly
52
-
53
- UPDATED POSITION: [same/changed] ...
54
- NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
55
- KEY RESPONSE TO PEER 1: ...
56
- KEY RESPONSE TO PEER 2: ...
57
- REMAINING DISAGREEMENTS: ..." --yolo
58
- ```
1
+ # Gemini Investigation Prompt Template
2
+
3
+ Use this for spawning Gemini via CLI. The `--yolo` flag lets Gemini auto-approve file reads so it can explore without getting stuck on permission prompts.
4
+
5
+ ## Round 1: Independent Research
6
+
7
+ ```bash
8
+ cd {cwd} && gemini -p "You are one of three AI peers in a deliberation council. The other two peers are a subagent investigator and Codex (OpenAI). Your job is to independently investigate the following problem by reading the codebase, then give your honest, well-reasoned position.
9
+
10
+ IMPORTANT: Do your own research. Read files, search code, trace through logic. Your position must be grounded in what you actually find in the code, not assumptions. Cite specific files and line numbers.
11
+
12
+ PROBLEM:
13
+ {council_prompt}
14
+
15
+ Instructions:
16
+ 1. Start by exploring the relevant parts of the codebase — read files, search for patterns, trace dependencies
17
+ 2. Take notes on what you find as you go
18
+ 3. After you have done sufficient research, formulate your position
19
+
20
+ Give your response in this format:
21
+ 1. RESEARCH SUMMARY: What files you examined, what you found (with file:line references)
22
+ 2. POSITION: Your clear stance (1-2 sentences)
23
+ 3. REASONING: Why you believe this, grounded in specific code you read
24
+ 4. CONCERNS: What could go wrong with your approach
25
+ 5. CONFIDENCE: High/Medium/Low and why" --yolo
26
+ ```
27
+
28
+ ## Rebuttal Rounds (Rounds 2-5)
29
+
30
+ Use `--yolo` in rebuttal rounds as well — Gemini may want to verify another model's claims by reading files it hadn't looked at before.
31
+
32
+ ```bash
33
+ cd {cwd} && gemini -p "Round {N} of the deliberation council.
34
+
35
+ Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
36
+
37
+ PEER 1's research and position:
38
+ {peer1_previous_full}
39
+
40
+ PEER 2's research and position:
41
+ {peer2_previous_full}
42
+
43
+ YOUR previous research and position:
44
+ {gemini_previous_full}
45
+
46
+ Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
47
+
48
+ 1. Directly address the strongest point from each other model
49
+ 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
50
+ 3. State whether you've changed your position (and why, or why not)
51
+ 4. If you agree with another model, say so explicitly
52
+
53
+ UPDATED POSITION: [same/changed] ...
54
+ NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
55
+ KEY RESPONSE TO PEER 1: ...
56
+ KEY RESPONSE TO PEER 2: ...
57
+ REMAINING DISAGREEMENTS: ..." --yolo
58
+ ```
@@ -1,57 +1,57 @@
1
- # Rebuttal Round Prompt Template
2
-
3
- Use this to construct the prompt sent to each model in rebuttal rounds (Steps 3-4). The prompt must be fully self-contained — Codex and Gemini are stateless between rounds, so every round's prompt must include the full history.
4
-
5
- ## Template
6
-
7
- ```
8
- Round {N} of the deliberation council.
9
-
10
- Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
11
-
12
- MODEL A's research and position:
13
- {model_a_previous_full}
14
-
15
- MODEL B's research and position:
16
- {model_b_previous_full}
17
-
18
- MODEL C's research and position:
19
- {model_c_previous_full}
20
-
21
- Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
22
-
23
- 1. Directly address the strongest point from each other model
24
- 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
25
- 3. State whether you've changed your position (and why, or why not)
26
- 4. If you agree with another model, say so explicitly
27
-
28
- UPDATED POSITION: [same/changed] ...
29
- NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
30
- KEY RESPONSE TO MODEL A: ...
31
- KEY RESPONSE TO MODEL B: ...
32
- REMAINING DISAGREEMENTS: ...
33
- ```
34
-
35
- ## Construction Rules
36
-
37
- - Replace `{model_a/b/c_previous_full}` with each model's complete response from the prior round — research summary, position, reasoning, concerns, and confidence
38
- - Do NOT summarize or truncate prior responses — the full research context is what allows models to verify each other's findings
39
- - Include ALL prior rounds' positions if building a multi-round history, not just the most recent
40
- - Use the same CLI flags as Round 1 (`--full-auto` for Codex, `--yolo` for Gemini) so models can do follow-up research
41
-
42
- ## Orchestrator State
43
-
44
- Between rounds, the orchestrator holds all state. Keep a running record of:
45
- - Each model's research findings per round (files examined, what was found)
46
- - Each model's position per round
47
- - Whether any model changed position and why
48
-
49
- This record feeds the next round's rebuttal prompt. Without it, models cannot engage meaningfully with each other's evidence.
50
-
51
- ## What to Watch For
52
-
53
- When presenting round results to the user, highlight:
54
- - **Position changes**: which model moved and what evidence caused the shift
55
- - **New research**: if a model read files others hadn't looked at
56
- - **Convergence signal**: models independently finding the same evidence
57
- - **Persistent divergence**: models who've both read the same code and still disagree — this is a genuine hard problem
1
+ # Rebuttal Round Prompt Template
2
+
3
+ Use this to construct the prompt sent to each model in rebuttal rounds (Steps 3-4). The prompt must be fully self-contained — Codex and Gemini are stateless between rounds, so every round's prompt must include the full history.
4
+
5
+ ## Template
6
+
7
+ ```
8
+ Round {N} of the deliberation council.
9
+
10
+ Here's what happened in the previous round. Each model independently researched the codebase and formed a position:
11
+
12
+ MODEL A's research and position:
13
+ {model_a_previous_full}
14
+
15
+ MODEL B's research and position:
16
+ {model_b_previous_full}
17
+
18
+ MODEL C's research and position:
19
+ {model_c_previous_full}
20
+
21
+ Now respond. You may do additional codebase research if you want to verify claims the other models made or investigate angles they raised. Then:
22
+
23
+ 1. Directly address the strongest point from each other model
24
+ 2. If another model cited code you haven't looked at, go read it and see if you agree with their interpretation
25
+ 3. State whether you've changed your position (and why, or why not)
26
+ 4. If you agree with another model, say so explicitly
27
+
28
+ UPDATED POSITION: [same/changed] ...
29
+ NEW EVIDENCE (if any): [anything new you found by following up on other models' research]
30
+ KEY RESPONSE TO MODEL A: ...
31
+ KEY RESPONSE TO MODEL B: ...
32
+ REMAINING DISAGREEMENTS: ...
33
+ ```
34
+
35
+ ## Construction Rules
36
+
37
+ - Replace `{model_a/b/c_previous_full}` with each model's complete response from the prior round — research summary, position, reasoning, concerns, and confidence
38
+ - Do NOT summarize or truncate prior responses — the full research context is what allows models to verify each other's findings
39
+ - Include ALL prior rounds' positions if building a multi-round history, not just the most recent
40
+ - Use the same CLI flags as Round 1 (`--full-auto` for Codex, `--yolo` for Gemini) so models can do follow-up research
41
+
42
+ ## Orchestrator State
43
+
44
+ Between rounds, the orchestrator holds all state. Keep a running record of:
45
+ - Each model's research findings per round (files examined, what was found)
46
+ - Each model's position per round
47
+ - Whether any model changed position and why
48
+
49
+ This record feeds the next round's rebuttal prompt. Without it, models cannot engage meaningfully with each other's evidence.
50
+
51
+ ## What to Watch For
52
+
53
+ When presenting round results to the user, highlight:
54
+ - **Position changes**: which model moved and what evidence caused the shift
55
+ - **New research**: if a model read files others hadn't looked at
56
+ - **Convergence signal**: models independently finding the same evidence
57
+ - **Persistent divergence**: models who've both read the same code and still disagree — this is a genuine hard problem
@@ -1,47 +1,47 @@
1
- # Prerequisites: Tool Availability Checks
2
-
3
- ## Required CLI Tools
4
-
5
- The council requires both external CLI tools to be installed and authenticated:
6
-
7
- - **Codex**: `npm install -g @openai/codex` (authenticated via `codex login`)
8
- - **Gemini**: `npm install -g @google/gemini-cli` (authenticated via Google)
9
-
10
- ## Availability Check
11
-
12
- Before the first round, verify both tools are available:
13
-
14
- ```bash
15
- which codex && which gemini
16
- ```
17
-
18
- ## Fallback Logic
19
-
20
- | Scenario | Action |
21
- |---|---|
22
- | Both tools missing | Tell the user what to install and stop — don't attempt a degraded council |
23
- | One tool missing | Report which tool is missing. A 2-model debate loses the tiebreaker benefit — ask the user if they want to proceed or install the missing tool first |
24
- | Auth failure at runtime | Report the error to the user. Continue with the remaining models. A 2-model debate is better than nothing |
25
- | Rate limit or sandbox error at runtime | Report the error. Continue with the remaining models |
26
-
27
- **Do not silently proceed with a degraded council.** Always tell the user which tool is unavailable and why. The tiebreaker value of a 3-model council is significant for close decisions.
28
-
29
- ## Runtime Timeout Configuration
30
-
31
- Set timeouts per round type:
32
-
33
- - **Round 1 (Independent Research)**: 300s (5 minutes) — models are reading files and searching code
34
- - **Rebuttal rounds (2-5)**: 180s — less exploration, more focused follow-up
35
-
36
- If one model times out in any round, report it and continue with the other two.
37
-
38
- ## Working Directory
39
-
40
- Make sure both CLI tools run from the same working directory as the current session. This ensures all models look at the same codebase.
41
-
42
- Pass `cd {cwd} &&` before CLI commands if needed:
43
-
44
- ```bash
45
- cd /path/to/project && codex exec --full-auto "..."
46
- cd /path/to/project && gemini -p "..." --yolo
47
- ```
1
+ # Prerequisites: Tool Availability Checks
2
+
3
+ ## Required CLI Tools
4
+
5
+ The council requires both external CLI tools to be installed and authenticated:
6
+
7
+ - **Codex**: `npm install -g @openai/codex` (authenticated via `codex login`)
8
+ - **Gemini**: `npm install -g @google/gemini-cli` (authenticated via Google)
9
+
10
+ ## Availability Check
11
+
12
+ Before the first round, verify both tools are available:
13
+
14
+ ```bash
15
+ which codex && which gemini
16
+ ```
17
+
18
+ ## Fallback Logic
19
+
20
+ | Scenario | Action |
21
+ |---|---|
22
+ | Both tools missing | Tell the user what to install and stop — don't attempt a degraded council |
23
+ | One tool missing | Report which tool is missing. A 2-model debate loses the tiebreaker benefit — ask the user if they want to proceed or install the missing tool first |
24
+ | Auth failure at runtime | Report the error to the user. Continue with the remaining models. A 2-model debate is better than nothing |
25
+ | Rate limit or sandbox error at runtime | Report the error. Continue with the remaining models |
26
+
27
+ **Do not silently proceed with a degraded council.** Always tell the user which tool is unavailable and why. The tiebreaker value of a 3-model council is significant for close decisions.
28
+
29
+ ## Runtime Timeout Configuration
30
+
31
+ Set timeouts per round type:
32
+
33
+ - **Round 1 (Independent Research)**: 300s (5 minutes) — models are reading files and searching code
34
+ - **Rebuttal rounds (2-5)**: 180s — less exploration, more focused follow-up
35
+
36
+ If one model times out in any round, report it and continue with the other two.
37
+
38
+ ## Working Directory
39
+
40
+ Make sure both CLI tools run from the same working directory as the current session. This ensures all models look at the same codebase.
41
+
42
+ Pass `cd {cwd} &&` before CLI commands if needed:
43
+
44
+ ```bash
45
+ cd /path/to/project && codex exec --full-auto "..."
46
+ cd /path/to/project && gemini -p "..." --yolo
47
+ ```