thehood 0.1.0-preview.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 (274) hide show
  1. package/CODE_OF_CONDUCT.md +21 -0
  2. package/CONTRIBUTING.md +58 -0
  3. package/LICENSE +21 -0
  4. package/PRIVACY.md +49 -0
  5. package/README.md +264 -0
  6. package/SECURITY.md +31 -0
  7. package/dist/bridges/chatgptWebBridge.d.ts +2 -0
  8. package/dist/bridges/chatgptWebBridge.js +981 -0
  9. package/dist/bridges/chatgptWebBridge.js.map +1 -0
  10. package/dist/cli/args.d.ts +9 -0
  11. package/dist/cli/args.js +82 -0
  12. package/dist/cli/args.js.map +1 -0
  13. package/dist/cli/format.d.ts +56 -0
  14. package/dist/cli/format.js +752 -0
  15. package/dist/cli/format.js.map +1 -0
  16. package/dist/cli/main.d.ts +2 -0
  17. package/dist/cli/main.js +996 -0
  18. package/dist/cli/main.js.map +1 -0
  19. package/dist/cli/mcpConfig.d.ts +36 -0
  20. package/dist/cli/mcpConfig.js +98 -0
  21. package/dist/cli/mcpConfig.js.map +1 -0
  22. package/dist/index.d.ts +37 -0
  23. package/dist/index.js +38 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/mcp/protocol.d.ts +44 -0
  26. package/dist/mcp/protocol.js +33 -0
  27. package/dist/mcp/protocol.js.map +1 -0
  28. package/dist/mcp/server.d.ts +1 -0
  29. package/dist/mcp/server.js +106 -0
  30. package/dist/mcp/server.js.map +1 -0
  31. package/dist/mcp/tools.d.ts +10 -0
  32. package/dist/mcp/tools.js +2200 -0
  33. package/dist/mcp/tools.js.map +1 -0
  34. package/dist/mcp/validation.d.ts +8 -0
  35. package/dist/mcp/validation.js +67 -0
  36. package/dist/mcp/validation.js.map +1 -0
  37. package/dist/providers/chatgptWeb.d.ts +2 -0
  38. package/dist/providers/chatgptWeb.js +26 -0
  39. package/dist/providers/chatgptWeb.js.map +1 -0
  40. package/dist/providers/claudeCode.d.ts +4 -0
  41. package/dist/providers/claudeCode.js +32 -0
  42. package/dist/providers/claudeCode.js.map +1 -0
  43. package/dist/providers/codexCli.d.ts +6 -0
  44. package/dist/providers/codexCli.js +25 -0
  45. package/dist/providers/codexCli.js.map +1 -0
  46. package/dist/providers/codexCliModels.d.ts +23 -0
  47. package/dist/providers/codexCliModels.js +147 -0
  48. package/dist/providers/codexCliModels.js.map +1 -0
  49. package/dist/providers/localCommand.d.ts +26 -0
  50. package/dist/providers/localCommand.js +614 -0
  51. package/dist/providers/localCommand.js.map +1 -0
  52. package/dist/providers/markdownPayload.d.ts +7 -0
  53. package/dist/providers/markdownPayload.js +29 -0
  54. package/dist/providers/markdownPayload.js.map +1 -0
  55. package/dist/providers/responseSchema.d.ts +3 -0
  56. package/dist/providers/responseSchema.js +187 -0
  57. package/dist/providers/responseSchema.js.map +1 -0
  58. package/dist/providers/router.d.ts +3 -0
  59. package/dist/providers/router.js +21 -0
  60. package/dist/providers/router.js.map +1 -0
  61. package/dist/providers/stub.d.ts +2 -0
  62. package/dist/providers/stub.js +177 -0
  63. package/dist/providers/stub.js.map +1 -0
  64. package/dist/providers/types.d.ts +37 -0
  65. package/dist/providers/types.js +2 -0
  66. package/dist/providers/types.js.map +1 -0
  67. package/dist/runtime/agentBoard.d.ts +79 -0
  68. package/dist/runtime/agentBoard.js +166 -0
  69. package/dist/runtime/agentBoard.js.map +1 -0
  70. package/dist/runtime/agentBoardArtifact.d.ts +9 -0
  71. package/dist/runtime/agentBoardArtifact.js +171 -0
  72. package/dist/runtime/agentBoardArtifact.js.map +1 -0
  73. package/dist/runtime/agentRunner.d.ts +17 -0
  74. package/dist/runtime/agentRunner.js +92 -0
  75. package/dist/runtime/agentRunner.js.map +1 -0
  76. package/dist/runtime/approvalInbox.d.ts +54 -0
  77. package/dist/runtime/approvalInbox.js +143 -0
  78. package/dist/runtime/approvalInbox.js.map +1 -0
  79. package/dist/runtime/approvalPolicy.d.ts +11 -0
  80. package/dist/runtime/approvalPolicy.js +58 -0
  81. package/dist/runtime/approvalPolicy.js.map +1 -0
  82. package/dist/runtime/artifacts.d.ts +23 -0
  83. package/dist/runtime/artifacts.js +48 -0
  84. package/dist/runtime/artifacts.js.map +1 -0
  85. package/dist/runtime/browserManager.d.ts +37 -0
  86. package/dist/runtime/browserManager.js +356 -0
  87. package/dist/runtime/browserManager.js.map +1 -0
  88. package/dist/runtime/canonicalMemory.d.ts +23 -0
  89. package/dist/runtime/canonicalMemory.js +134 -0
  90. package/dist/runtime/canonicalMemory.js.map +1 -0
  91. package/dist/runtime/chatGptPageReadiness.d.ts +16 -0
  92. package/dist/runtime/chatGptPageReadiness.js +74 -0
  93. package/dist/runtime/chatGptPageReadiness.js.map +1 -0
  94. package/dist/runtime/commandRunner.d.ts +18 -0
  95. package/dist/runtime/commandRunner.js +115 -0
  96. package/dist/runtime/commandRunner.js.map +1 -0
  97. package/dist/runtime/commandSafety.d.ts +7 -0
  98. package/dist/runtime/commandSafety.js +61 -0
  99. package/dist/runtime/commandSafety.js.map +1 -0
  100. package/dist/runtime/config.d.ts +10 -0
  101. package/dist/runtime/config.js +107 -0
  102. package/dist/runtime/config.js.map +1 -0
  103. package/dist/runtime/crewLanes.d.ts +2 -0
  104. package/dist/runtime/crewLanes.js +123 -0
  105. package/dist/runtime/crewLanes.js.map +1 -0
  106. package/dist/runtime/criticPolicy.d.ts +17 -0
  107. package/dist/runtime/criticPolicy.js +50 -0
  108. package/dist/runtime/criticPolicy.js.map +1 -0
  109. package/dist/runtime/defaults.d.ts +5 -0
  110. package/dist/runtime/defaults.js +100 -0
  111. package/dist/runtime/defaults.js.map +1 -0
  112. package/dist/runtime/directives.d.ts +3 -0
  113. package/dist/runtime/directives.js +218 -0
  114. package/dist/runtime/directives.js.map +1 -0
  115. package/dist/runtime/doctor.d.ts +36 -0
  116. package/dist/runtime/doctor.js +185 -0
  117. package/dist/runtime/doctor.js.map +1 -0
  118. package/dist/runtime/errors.d.ts +20 -0
  119. package/dist/runtime/errors.js +41 -0
  120. package/dist/runtime/errors.js.map +1 -0
  121. package/dist/runtime/externalTransfer.d.ts +20 -0
  122. package/dist/runtime/externalTransfer.js +156 -0
  123. package/dist/runtime/externalTransfer.js.map +1 -0
  124. package/dist/runtime/fanout.d.ts +64 -0
  125. package/dist/runtime/fanout.js +263 -0
  126. package/dist/runtime/fanout.js.map +1 -0
  127. package/dist/runtime/gitEvidence.d.ts +10 -0
  128. package/dist/runtime/gitEvidence.js +80 -0
  129. package/dist/runtime/gitEvidence.js.map +1 -0
  130. package/dist/runtime/handoffs.d.ts +32 -0
  131. package/dist/runtime/handoffs.js +100 -0
  132. package/dist/runtime/handoffs.js.map +1 -0
  133. package/dist/runtime/ids.d.ts +2 -0
  134. package/dist/runtime/ids.js +4 -0
  135. package/dist/runtime/ids.js.map +1 -0
  136. package/dist/runtime/localStateIgnore.d.ts +9 -0
  137. package/dist/runtime/localStateIgnore.js +98 -0
  138. package/dist/runtime/localStateIgnore.js.map +1 -0
  139. package/dist/runtime/loop.d.ts +14 -0
  140. package/dist/runtime/loop.js +1863 -0
  141. package/dist/runtime/loop.js.map +1 -0
  142. package/dist/runtime/loopRecommendation.d.ts +109 -0
  143. package/dist/runtime/loopRecommendation.js +566 -0
  144. package/dist/runtime/loopRecommendation.js.map +1 -0
  145. package/dist/runtime/loopResponsibilities.d.ts +2 -0
  146. package/dist/runtime/loopResponsibilities.js +395 -0
  147. package/dist/runtime/loopResponsibilities.js.map +1 -0
  148. package/dist/runtime/loopRunner.d.ts +28 -0
  149. package/dist/runtime/loopRunner.js +81 -0
  150. package/dist/runtime/loopRunner.js.map +1 -0
  151. package/dist/runtime/operatorNextActions.d.ts +2 -0
  152. package/dist/runtime/operatorNextActions.js +344 -0
  153. package/dist/runtime/operatorNextActions.js.map +1 -0
  154. package/dist/runtime/paths.d.ts +9 -0
  155. package/dist/runtime/paths.js +14 -0
  156. package/dist/runtime/paths.js.map +1 -0
  157. package/dist/runtime/permissions.d.ts +9 -0
  158. package/dist/runtime/permissions.js +73 -0
  159. package/dist/runtime/permissions.js.map +1 -0
  160. package/dist/runtime/progressPacket.d.ts +12 -0
  161. package/dist/runtime/progressPacket.js +512 -0
  162. package/dist/runtime/progressPacket.js.map +1 -0
  163. package/dist/runtime/protectedPaths.d.ts +6 -0
  164. package/dist/runtime/protectedPaths.js +48 -0
  165. package/dist/runtime/protectedPaths.js.map +1 -0
  166. package/dist/runtime/providers.d.ts +13 -0
  167. package/dist/runtime/providers.js +60 -0
  168. package/dist/runtime/providers.js.map +1 -0
  169. package/dist/runtime/reconciliation.d.ts +17 -0
  170. package/dist/runtime/reconciliation.js +283 -0
  171. package/dist/runtime/reconciliation.js.map +1 -0
  172. package/dist/runtime/redaction.d.ts +1 -0
  173. package/dist/runtime/redaction.js +5 -0
  174. package/dist/runtime/redaction.js.map +1 -0
  175. package/dist/runtime/remoteRepoContext.d.ts +77 -0
  176. package/dist/runtime/remoteRepoContext.js +316 -0
  177. package/dist/runtime/remoteRepoContext.js.map +1 -0
  178. package/dist/runtime/repoContext.d.ts +50 -0
  179. package/dist/runtime/repoContext.js +399 -0
  180. package/dist/runtime/repoContext.js.map +1 -0
  181. package/dist/runtime/repoGateway.d.ts +64 -0
  182. package/dist/runtime/repoGateway.js +308 -0
  183. package/dist/runtime/repoGateway.js.map +1 -0
  184. package/dist/runtime/responseContracts.d.ts +3 -0
  185. package/dist/runtime/responseContracts.js +86 -0
  186. package/dist/runtime/responseContracts.js.map +1 -0
  187. package/dist/runtime/reviewLanes.d.ts +2 -0
  188. package/dist/runtime/reviewLanes.js +343 -0
  189. package/dist/runtime/reviewLanes.js.map +1 -0
  190. package/dist/runtime/reviewRouting.d.ts +51 -0
  191. package/dist/runtime/reviewRouting.js +152 -0
  192. package/dist/runtime/reviewRouting.js.map +1 -0
  193. package/dist/runtime/revisionPacket.d.ts +38 -0
  194. package/dist/runtime/revisionPacket.js +144 -0
  195. package/dist/runtime/revisionPacket.js.map +1 -0
  196. package/dist/runtime/revisionTrail.d.ts +2 -0
  197. package/dist/runtime/revisionTrail.js +162 -0
  198. package/dist/runtime/revisionTrail.js.map +1 -0
  199. package/dist/runtime/role-assignment.d.ts +4 -0
  200. package/dist/runtime/role-assignment.js +21 -0
  201. package/dist/runtime/role-assignment.js.map +1 -0
  202. package/dist/runtime/roleRoster.d.ts +28 -0
  203. package/dist/runtime/roleRoster.js +96 -0
  204. package/dist/runtime/roleRoster.js.map +1 -0
  205. package/dist/runtime/runInsights.d.ts +121 -0
  206. package/dist/runtime/runInsights.js +305 -0
  207. package/dist/runtime/runInsights.js.map +1 -0
  208. package/dist/runtime/runMonitor.d.ts +33 -0
  209. package/dist/runtime/runMonitor.js +143 -0
  210. package/dist/runtime/runMonitor.js.map +1 -0
  211. package/dist/runtime/runtime.d.ts +15 -0
  212. package/dist/runtime/runtime.js +199 -0
  213. package/dist/runtime/runtime.js.map +1 -0
  214. package/dist/runtime/runtimeInfo.d.ts +9 -0
  215. package/dist/runtime/runtimeInfo.js +76 -0
  216. package/dist/runtime/runtimeInfo.js.map +1 -0
  217. package/dist/runtime/store.d.ts +4 -0
  218. package/dist/runtime/store.js +48 -0
  219. package/dist/runtime/store.js.map +1 -0
  220. package/dist/runtime/summons.d.ts +25 -0
  221. package/dist/runtime/summons.js +403 -0
  222. package/dist/runtime/summons.js.map +1 -0
  223. package/dist/runtime/teamPresets.d.ts +14 -0
  224. package/dist/runtime/teamPresets.js +153 -0
  225. package/dist/runtime/teamPresets.js.map +1 -0
  226. package/dist/runtime/types.d.ts +505 -0
  227. package/dist/runtime/types.js +28 -0
  228. package/dist/runtime/types.js.map +1 -0
  229. package/dist/runtime/validationCommands.d.ts +18 -0
  230. package/dist/runtime/validationCommands.js +106 -0
  231. package/dist/runtime/validationCommands.js.map +1 -0
  232. package/dist/tui/dashboard.d.ts +41 -0
  233. package/dist/tui/dashboard.js +1115 -0
  234. package/dist/tui/dashboard.js.map +1 -0
  235. package/docs/ARCHITECTURE.md +277 -0
  236. package/docs/CLI_SPEC.md +396 -0
  237. package/docs/CODEX_SETUP.md +288 -0
  238. package/docs/COMPLETION_CONTRACT.md +52 -0
  239. package/docs/CONTRIBUTOR_GUIDE.md +70 -0
  240. package/docs/DEMO.md +62 -0
  241. package/docs/GLOSSARY.md +46 -0
  242. package/docs/GOAL_LOOP_SCHEDULE.md +50 -0
  243. package/docs/KNOWN_LIMITATIONS.md +29 -0
  244. package/docs/LICENSING.md +21 -0
  245. package/docs/LOOP_RECIPES.md +290 -0
  246. package/docs/LOOP_SELECTION_UX.md +118 -0
  247. package/docs/MCP_SPEC.md +689 -0
  248. package/docs/MEMORY_AND_RECONCILIATION.md +222 -0
  249. package/docs/NPM_PUBLISHING.md +51 -0
  250. package/docs/OPEN_DECISIONS.md +81 -0
  251. package/docs/PROMPT_SCHEMAS.md +411 -0
  252. package/docs/PROVIDER_ADAPTERS.md +323 -0
  253. package/docs/PROVIDER_MATRIX.md +21 -0
  254. package/docs/PUBLIC_REPO_READINESS.md +49 -0
  255. package/docs/RESEARCH_NOTES.md +92 -0
  256. package/docs/ROADMAP.md +94 -0
  257. package/docs/ROLE_CONTRACTS.md +252 -0
  258. package/docs/RUNTIME_LOOP.md +240 -0
  259. package/docs/SECURITY_AND_PRIVACY.md +161 -0
  260. package/docs/TESTING_AND_VERIFICATION.md +180 -0
  261. package/docs/TRUST_MODEL.md +65 -0
  262. package/docs/decisions/0001-runtime-first-cli-and-mcp.md +23 -0
  263. package/docs/decisions/0002-provider-neutral-role-mapping.md +43 -0
  264. package/docs/decisions/0003-separate-implementation-and-verification.md +27 -0
  265. package/docs/product/README.md +14 -0
  266. package/docs/product/model-selection.md +88 -0
  267. package/docs/product/positioning.md +37 -0
  268. package/docs/product/pro-usage-modes.md +70 -0
  269. package/docs/product/roadmap.md +57 -0
  270. package/docs/product/role-policy.md +89 -0
  271. package/docs/product/runtime-invariants.md +44 -0
  272. package/docs/release/v0.1.0-preview.0.md +48 -0
  273. package/examples/stub-demo/README.md +25 -0
  274. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tui/dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,277 @@
1
+ # Architecture
2
+
3
+ TheHood is a local orchestration runtime. It coordinates multiple model providers and agent tools while keeping authority in deterministic local code.
4
+
5
+ The runtime is the product core. The CLI, MCP server, and macOS menubar app are control surfaces over that same runtime.
6
+
7
+ ## Goals
8
+
9
+ - Let users choose which model performs each role.
10
+ - Run agent loops with explicit state, permissions, logs, and approval gates.
11
+ - Support Codex through MCP without making Codex responsible for orchestration safety.
12
+ - Support ChatGPT Pro as an orchestrator through a user-authenticated adapter.
13
+ - Support ChatGPT Pro as an MCP connector client that can inspect local repo state through TheHood tools.
14
+ - Support Claude, GPT, Codex, Claude Code, and local models as interchangeable role participants.
15
+ - Keep verification independent from implementation.
16
+ - Make runs inspectable and reproducible enough for public, trusted use.
17
+ - Make provider session context disposable by preserving canonical runtime memory and rehydrating models from exact artifacts.
18
+
19
+ ## Non-Goals
20
+
21
+ - Do not bypass provider access controls, quotas, or subscriptions.
22
+ - Do not scrape hidden chain-of-thought.
23
+ - Do not let browser automation become the source of authority.
24
+ - Do not make the macOS app own orchestration logic.
25
+ - Do not merge agent output without runtime and user approval gates.
26
+
27
+ ## System Diagram
28
+
29
+ ```text
30
+ +----------------------+
31
+ | Codex |
32
+ | MCP client/cockpit |
33
+ +----------+-----------+
34
+ |
35
+ | MCP tools
36
+ v
37
+ +-------------+ +----------+-----------+ +------------------+
38
+ | CLI +------->| TheHood MCP +------->| Local runtime |
39
+ | control | | server | | state machine |
40
+ +------+------+ +----------------------+ +---+----------+---+
41
+ | | |
42
+ | local API | |
43
+ v v v
44
+ +------+-------+ +-------+--+ +---+------+
45
+ | macOS menu | | Worktree | | Logs |
46
+ | trigger UI | | manager | | store |
47
+ +--------------+ +----------+ +----------+
48
+ |
49
+ v
50
+ +-------------------+-------------------+-------------+-------------+
51
+ | | | |
52
+ v v v v
53
+ +------+-------+ +-------+------+ +--------+-------+ +--------+------+
54
+ | ChatGPT Pro | | OpenAI API | | Anthropic API | | CLI agents |
55
+ | adapter | | adapter | | adapter | | Codex/Claude |
56
+ +--------------+ +--------------+ +----------------+ +---------------+
57
+ ```
58
+
59
+ ## Runtime Components
60
+
61
+ ### Run Store
62
+
63
+ Persists every run and its state transitions.
64
+
65
+ Minimum data:
66
+
67
+ - `run_id`
68
+ - `repo_path`
69
+ - `user_goal`
70
+ - `mode`
71
+ - `role_mapping`
72
+ - `state`
73
+ - `iterations`
74
+ - `approval_events`
75
+ - `tool_events`
76
+ - `diff_snapshots`
77
+ - `test_logs`
78
+ - `final_report`
79
+
80
+ ### State Machine
81
+
82
+ Owns the loop. It decides which stage comes next based on structured outputs, test results, approval state, and stop conditions.
83
+
84
+ Expected states:
85
+
86
+ - `created`
87
+ - `planning`
88
+ - `awaiting_approval`
89
+ - `delegating`
90
+ - `implementing`
91
+ - `verifying`
92
+ - `critiquing`
93
+ - `integrating`
94
+ - `completed`
95
+ - `failed`
96
+ - `aborted`
97
+
98
+ ### Permission Manager
99
+
100
+ Enforces role permissions before tools run.
101
+
102
+ Examples:
103
+
104
+ - Verifier cannot edit.
105
+ - Critic cannot edit.
106
+ - QA tester cannot edit.
107
+ - Researcher cannot edit.
108
+ - Implementer can edit only allowed paths.
109
+ - Integrator can apply approved patches.
110
+ - Test files are protected unless the run explicitly allows test changes.
111
+
112
+ ### Tool Runner
113
+
114
+ Executes deterministic commands and captures raw logs.
115
+
116
+ The runner is responsible for:
117
+
118
+ - command execution
119
+ - timeout handling
120
+ - exit code capture
121
+ - stdout and stderr capture
122
+ - environment redaction
123
+ - artifact storage
124
+
125
+ ### Memory Store
126
+
127
+ Preserves canonical project memory as exact run records, events, approvals, provider directives, provider responses, diffs, command logs, validation results, verifier verdicts, final reports, and reconciliation artifacts.
128
+
129
+ Index and retrieval layers can make memory searchable, but they are derived from canonical artifacts. If an index, reflection, or summary disagrees with a source artifact, the artifact wins.
130
+
131
+ ### Worktree Manager
132
+
133
+ Keeps implementer work isolated from the user's active checkout when possible.
134
+
135
+ Responsibilities:
136
+
137
+ - create scoped worktrees
138
+ - capture diffs
139
+ - detect dirty state
140
+ - prevent accidental unrelated reversions
141
+ - apply approved changes back to the target checkout
142
+
143
+ ### Provider Router
144
+
145
+ Maps role requests to provider adapters.
146
+
147
+ Example:
148
+
149
+ ```yaml
150
+ roles:
151
+ orchestrator:
152
+ provider: codex-cli
153
+ model: default
154
+ implementer:
155
+ provider: codex-cli
156
+ model: default
157
+ qa:
158
+ provider: codex-cli
159
+ model: spark
160
+ verifier:
161
+ provider: codex-cli
162
+ model: spark
163
+ critic:
164
+ provider: codex-cli
165
+ model: spark
166
+ ```
167
+
168
+ This is the product default. Users can tune any role, including orchestrator, through repo config or CLI role assignment. For example, a user may choose `chatgpt-web:chatgpt-pro` for Pro planning, `claude-code:sonnet` for critique, `claude-code:fable` for a future Claude Code alias, or a future Codex alias such as `codex-cli:fable` when that model is available in their local CLI.
169
+
170
+ Provider model policy is explicit:
171
+
172
+ - `listed` providers accept only configured model names.
173
+ - `discovered` providers expose live catalogs when the local tool supports discovery.
174
+ - `passthrough` providers allow custom model names because the user's bridge, CLI, connector, or API account is the source of truth.
175
+
176
+ This keeps TheHood from hardcoding stale model menus while still letting `doctor` flag unsupported live-discovered models such as a missing Codex alias.
177
+
178
+ Providers can expose multiple access modes:
179
+
180
+ | Mode | Meaning |
181
+ | --- | --- |
182
+ | `agent-bridge` | TheHood invokes a provider adapter or local agent command. |
183
+ | `api-agent` | TheHood invokes an API model and can mediate tool calls. |
184
+ | `mcp-connector` | An external MCP host such as ChatGPT connects to TheHood and calls runtime tools. |
185
+
186
+ The runtime contract is the same regardless of access mode. The mode changes the transport and who initiates the model call, not who owns permissions, repo access, approvals, logs, or verification.
187
+
188
+ Repo-local config overlays must not hide newly added built-in provider models or access modes. The runtime merges built-in provider definitions with `.thehood/config.json` so stale local configs can keep user choices while still seeing new built-in capabilities such as `codex-cli:spark` and `stub:qa`.
189
+
190
+ Team presets are runtime-owned role-map templates, not separate loops. Applying a preset writes normal repo role assignments such as Codex default, ChatGPT Pro orchestrator, Claude second judge, Spark plus Sonnet, Claude builder, or Pro plus Claude high assurance; doctor, provider readiness, approval gates, and role invariants still apply exactly as they do for manual role assignment.
191
+
192
+ Same-run summons use the same provider router and role contracts. CLI and MCP can request a read-only planner, researcher, QA tester, verifier, or critic with a brief and optional one-call provider assignment, but the runtime still builds the directive, records the handoff, enforces approval gates, validates the response, and stores artifacts on the run. Fan-out composes several bounded summons and records a group artifact; it does not move orchestration logic into CLI or MCP.
193
+
194
+ ### Agent Contracts
195
+
196
+ Each role has a schema-bound contract:
197
+
198
+ - input variables
199
+ - allowed tools
200
+ - disallowed tools
201
+ - output schema
202
+ - done definition
203
+ - evidence requirements
204
+
205
+ The runtime validates structured outputs before acting on them.
206
+
207
+ The QA tester contract is advisory. It can inspect runtime evidence, call out missed cases, and recommend deterministic validation, but only runtime-captured command evidence can satisfy the runtime QA/validation lane.
208
+
209
+ The critic contract is also advisory. Automatic critic calls are initiated by runtime policy from structured QA, verifier, and validation evidence and are recorded as `critic_trigger` artifacts.
210
+
211
+ When QA, critic, or verifier evidence contains a fixable revision finding, the runtime can write a compact `revision_packet` artifact and delegate a repair pass back to the implementer. The packet carries refs, reason code, repair objective, and acceptance criteria; it does not give reviewers edit tools or let the implementer self-verify.
212
+
213
+ ### Rehydration And Reconciliation
214
+
215
+ Before calling a model provider, the runtime can build a bounded context packet from canonical memory. The packet includes exact refs and selected excerpts so a provider can reason without relying on browser or API session history.
216
+
217
+ After implementation and verification, the runtime can send an approved progress packet back to the planner or orchestrator for reconciliation. The provider may update its plan state or recommend the next slice, but the runtime still owns approvals, evidence, and state transitions.
218
+
219
+ ## Control Surfaces
220
+
221
+ ### CLI
222
+
223
+ The CLI is the first-class control plane.
224
+
225
+ It should support:
226
+
227
+ - setup
228
+ - role configuration
229
+ - run creation
230
+ - approvals
231
+ - status
232
+ - logs
233
+ - abort/resume
234
+ - MCP server startup
235
+
236
+ ### MCP Server
237
+
238
+ The MCP server exposes runtime actions to Codex.
239
+
240
+ Codex should call the MCP tools, then the runtime does the actual orchestration.
241
+
242
+ The same MCP surface can also be used by ChatGPT Developer Mode through a connector or Secure MCP Tunnel. In that mode, ChatGPT is the MCP host, TheHood is the repo/runtime gateway, and TheHood returns exact bounded tool results such as file reads, search matches, git status, diffs, run status, and artifacts.
243
+
244
+ ### macOS Menubar App
245
+
246
+ The menubar app is a thin companion.
247
+
248
+ It can:
249
+
250
+ - show active runs
251
+ - approve or reject next steps
252
+ - pause and resume
253
+ - swap role mappings
254
+ - open logs and diffs
255
+ - trigger common workflows
256
+
257
+ It must not:
258
+
259
+ - own agent state
260
+ - own orchestration decisions
261
+ - bypass runtime permissions
262
+ - execute tools directly
263
+
264
+ ## Authority Model
265
+
266
+ TheHood separates suggestion, execution, and acceptance:
267
+
268
+ ```text
269
+ Model proposes plan or action
270
+ Runtime validates schema and permissions
271
+ Runtime executes deterministic tools
272
+ Verifier inspects evidence without edit power
273
+ User approves sensitive transitions
274
+ Runtime integrates approved output
275
+ ```
276
+
277
+ No model should be trusted as the only source of truth for its own work.