codex-orchestrator 2.0.11 → 2.0.12

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 (262) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +25 -51
  3. package/dist/src/index.d.ts +2 -8
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +1 -4
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/v2/acceptance-proof.d.ts +46 -31
  8. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  9. package/dist/src/v2/acceptance-proof.js +157 -195
  10. package/dist/src/v2/acceptance-proof.js.map +1 -1
  11. package/dist/src/v2/active-attempt.d.ts +94 -0
  12. package/dist/src/v2/active-attempt.d.ts.map +1 -0
  13. package/dist/src/v2/active-attempt.js +200 -0
  14. package/dist/src/v2/active-attempt.js.map +1 -0
  15. package/dist/src/v2/adapters/command.d.ts +6 -0
  16. package/dist/src/v2/adapters/command.d.ts.map +1 -1
  17. package/dist/src/v2/adapters/command.js +43 -2
  18. package/dist/src/v2/adapters/command.js.map +1 -1
  19. package/dist/src/v2/candidate.d.ts +15 -31
  20. package/dist/src/v2/candidate.d.ts.map +1 -1
  21. package/dist/src/v2/candidate.js +7 -29
  22. package/dist/src/v2/candidate.js.map +1 -1
  23. package/dist/src/v2/checked-change.d.ts +3 -2
  24. package/dist/src/v2/checked-change.d.ts.map +1 -1
  25. package/dist/src/v2/checked-change.js +4 -3
  26. package/dist/src/v2/checked-change.js.map +1 -1
  27. package/dist/src/v2/cli-contract.d.ts +1 -1
  28. package/dist/src/v2/cli-contract.d.ts.map +1 -1
  29. package/dist/src/v2/cli-contract.js +4 -6
  30. package/dist/src/v2/cli-contract.js.map +1 -1
  31. package/dist/src/v2/cli.d.ts +8 -0
  32. package/dist/src/v2/cli.d.ts.map +1 -1
  33. package/dist/src/v2/cli.js +13 -0
  34. package/dist/src/v2/cli.js.map +1 -1
  35. package/dist/src/v2/code-review-report.d.ts +10 -18
  36. package/dist/src/v2/code-review-report.d.ts.map +1 -1
  37. package/dist/src/v2/code-review-report.js +63 -60
  38. package/dist/src/v2/code-review-report.js.map +1 -1
  39. package/dist/src/v2/codex-process.d.ts +6 -2
  40. package/dist/src/v2/codex-process.d.ts.map +1 -1
  41. package/dist/src/v2/codex-process.js +25 -9
  42. package/dist/src/v2/codex-process.js.map +1 -1
  43. package/dist/src/v2/config.d.ts +0 -2
  44. package/dist/src/v2/config.d.ts.map +1 -1
  45. package/dist/src/v2/config.js +3 -6
  46. package/dist/src/v2/config.js.map +1 -1
  47. package/dist/src/v2/contained-report-operation.d.ts +41 -196
  48. package/dist/src/v2/contained-report-operation.d.ts.map +1 -1
  49. package/dist/src/v2/contained-report-operation.js +139 -466
  50. package/dist/src/v2/contained-report-operation.js.map +1 -1
  51. package/dist/src/v2/containment.d.ts +1 -0
  52. package/dist/src/v2/containment.d.ts.map +1 -1
  53. package/dist/src/v2/containment.js +12 -2
  54. package/dist/src/v2/containment.js.map +1 -1
  55. package/dist/src/v2/delivery-authority.d.ts +26 -0
  56. package/dist/src/v2/delivery-authority.d.ts.map +1 -0
  57. package/dist/src/v2/delivery-authority.js +44 -0
  58. package/dist/src/v2/delivery-authority.js.map +1 -0
  59. package/dist/src/v2/direct-delivery.d.ts +16 -36
  60. package/dist/src/v2/direct-delivery.d.ts.map +1 -1
  61. package/dist/src/v2/direct-delivery.js +135 -122
  62. package/dist/src/v2/direct-delivery.js.map +1 -1
  63. package/dist/src/v2/immutable-workflow-publisher.d.ts.map +1 -1
  64. package/dist/src/v2/immutable-workflow-publisher.js +3 -1
  65. package/dist/src/v2/immutable-workflow-publisher.js.map +1 -1
  66. package/dist/src/v2/implementation-report.d.ts +3 -1
  67. package/dist/src/v2/implementation-report.d.ts.map +1 -1
  68. package/dist/src/v2/implementation-report.js +17 -4
  69. package/dist/src/v2/implementation-report.js.map +1 -1
  70. package/dist/src/v2/implementation-reviewer.d.ts +41 -12
  71. package/dist/src/v2/implementation-reviewer.d.ts.map +1 -1
  72. package/dist/src/v2/implementation-reviewer.js +114 -42
  73. package/dist/src/v2/implementation-reviewer.js.map +1 -1
  74. package/dist/src/v2/pending-effect-settlement.d.ts +44 -0
  75. package/dist/src/v2/pending-effect-settlement.d.ts.map +1 -0
  76. package/dist/src/v2/pending-effect-settlement.js +69 -0
  77. package/dist/src/v2/pending-effect-settlement.js.map +1 -0
  78. package/dist/src/v2/process-identity.d.ts +45 -0
  79. package/dist/src/v2/process-identity.d.ts.map +1 -0
  80. package/dist/src/v2/process-identity.js +118 -0
  81. package/dist/src/v2/process-identity.js.map +1 -0
  82. package/dist/src/v2/proof-report.d.ts +2 -1
  83. package/dist/src/v2/proof-report.d.ts.map +1 -1
  84. package/dist/src/v2/proof-report.js +10 -4
  85. package/dist/src/v2/proof-report.js.map +1 -1
  86. package/dist/src/v2/review-feedback-coordinator.d.ts +1 -1
  87. package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -1
  88. package/dist/src/v2/review-feedback-coordinator.js +1 -1
  89. package/dist/src/v2/review-feedback-coordinator.js.map +1 -1
  90. package/dist/src/v2/review-feedback.d.ts +14 -20
  91. package/dist/src/v2/review-feedback.d.ts.map +1 -1
  92. package/dist/src/v2/review-feedback.js +45 -87
  93. package/dist/src/v2/review-feedback.js.map +1 -1
  94. package/dist/src/v2/run-issue.d.ts +129 -88
  95. package/dist/src/v2/run-issue.d.ts.map +1 -1
  96. package/dist/src/v2/run-issue.js +1965 -2381
  97. package/dist/src/v2/run-issue.js.map +1 -1
  98. package/dist/src/v2/run-state-projections.d.ts +84 -0
  99. package/dist/src/v2/run-state-projections.d.ts.map +1 -0
  100. package/dist/src/v2/run-state-projections.js +142 -0
  101. package/dist/src/v2/run-state-projections.js.map +1 -0
  102. package/dist/src/v2/run-store.d.ts +99 -81
  103. package/dist/src/v2/run-store.d.ts.map +1 -1
  104. package/dist/src/v2/run-store.js +245 -542
  105. package/dist/src/v2/run-store.js.map +1 -1
  106. package/dist/src/v2/runtime-assets.d.ts +3 -0
  107. package/dist/src/v2/runtime-assets.d.ts.map +1 -1
  108. package/dist/src/v2/runtime-assets.js +104 -0
  109. package/dist/src/v2/runtime-assets.js.map +1 -1
  110. package/dist/src/v2/runtime.d.ts +56 -44
  111. package/dist/src/v2/runtime.d.ts.map +1 -1
  112. package/dist/src/v2/runtime.js +383 -503
  113. package/dist/src/v2/runtime.js.map +1 -1
  114. package/dist/src/v2/setup.js +0 -2
  115. package/dist/src/v2/setup.js.map +1 -1
  116. package/dist/src/v2/validation-progression.d.ts +70 -0
  117. package/dist/src/v2/validation-progression.d.ts.map +1 -0
  118. package/dist/src/v2/validation-progression.js +247 -0
  119. package/dist/src/v2/validation-progression.js.map +1 -0
  120. package/dist/src/v2/workflow-assets.d.ts +9 -3
  121. package/dist/src/v2/workflow-assets.d.ts.map +1 -1
  122. package/dist/src/v2/workflow-assets.js +256 -43
  123. package/dist/src/v2/workflow-assets.js.map +1 -1
  124. package/internal-workflow/docs/agents/bug-workflow-routing.md +9 -7
  125. package/internal-workflow/docs/agents/coding-skill-routing.md +170 -120
  126. package/internal-workflow/docs/agents/tool-usage.md +23 -12
  127. package/internal-workflow/manifest.json +1 -1
  128. package/internal-workflow/operations/code-review/SKILL.md +34 -15
  129. package/internal-workflow/operations/implementation/SKILL.md +21 -16
  130. package/internal-workflow/profiles/implementer.toml +9 -0
  131. package/internal-workflow/profiles/review_coordinator.toml +9 -0
  132. package/internal-workflow/profiles/spec_reviewer.toml +9 -0
  133. package/internal-workflow/profiles/standards_reviewer.toml +9 -0
  134. package/internal-workflow/schemas/code-review-v1.json +1 -1
  135. package/internal-workflow/schemas/implementation-report-v1.json +1 -1
  136. package/internal-workflow/schemas/proof-report-v1.json +1 -1
  137. package/internal-workflow/skills/bug-root-cause-explainer/SKILL.md +114 -0
  138. package/internal-workflow/skills/bug-root-cause-explainer/agents/openai.yaml +7 -0
  139. package/internal-workflow/skills/bug-root-cause-explainer/evals/evals.json +18 -0
  140. package/internal-workflow/skills/code-review/SKILL.md +84 -306
  141. package/internal-workflow/skills/code-review/agents/openai.yaml +5 -3
  142. package/internal-workflow/skills/code-review/evals/evals.json +83 -0
  143. package/internal-workflow/skills/code-review/references/standards-smells.md +41 -0
  144. package/internal-workflow/skills/diagnosing-bugs/SKILL.md +69 -32
  145. package/internal-workflow/skills/diagnosing-bugs/agents/openai.yaml +2 -2
  146. package/internal-workflow/skills/diagnosing-bugs/evals/evals.json +63 -0
  147. package/internal-workflow/skills/grilling/SKILL.md +51 -0
  148. package/internal-workflow/skills/grilling/agents/openai.yaml +6 -0
  149. package/internal-workflow/skills/grilling/evals/evals.json +47 -0
  150. package/internal-workflow/skills/implement/SKILL.md +135 -0
  151. package/internal-workflow/skills/implement/agents/openai.yaml +6 -0
  152. package/internal-workflow/skills/implement/evals/evals.json +150 -0
  153. package/internal-workflow/skills/plan/SKILL.md +59 -0
  154. package/internal-workflow/skills/plan/agents/openai.yaml +6 -0
  155. package/internal-workflow/skills/plan/evals/evals.json +36 -0
  156. package/internal-workflow/skills/prototype/LOGIC.md +130 -0
  157. package/internal-workflow/skills/prototype/SKILL.md +69 -0
  158. package/internal-workflow/skills/prototype/UI.md +157 -0
  159. package/internal-workflow/skills/prototype/agents/openai.yaml +6 -0
  160. package/internal-workflow/skills/prototype/evals/evals.json +67 -0
  161. package/internal-workflow/skills/research/SKILL.md +110 -0
  162. package/internal-workflow/skills/research/agents/openai.yaml +6 -0
  163. package/internal-workflow/skills/research/evals/evals.json +49 -0
  164. package/internal-workflow/skills/tdd/SKILL.md +72 -67
  165. package/internal-workflow/skills/tdd/agents/openai.yaml +2 -2
  166. package/internal-workflow/skills/tdd/evals/evals.json +12 -0
  167. package/internal-workflow/skills/tdd/mocking.md +48 -1
  168. package/internal-workflow/skills/tdd/refactoring.md +3 -3
  169. package/internal-workflow/skills/tickets-orchestrator/SKILL.md +199 -0
  170. package/internal-workflow/skills/tickets-orchestrator/agents/openai.yaml +6 -0
  171. package/internal-workflow/skills/tickets-orchestrator/evals/evals.json +126 -0
  172. package/internal-workflow/skills/tickets-orchestrator/references/delegate-integrate.md +83 -0
  173. package/internal-workflow/skills/tickets-orchestrator/references/finish-delivery.md +69 -0
  174. package/internal-workflow/skills/tickets-orchestrator/references/stop-completion.md +63 -0
  175. package/internal-workflow/skills/to-spec/SKILL.md +133 -0
  176. package/internal-workflow/skills/to-spec/agents/openai.yaml +6 -0
  177. package/internal-workflow/skills/to-spec/evals/evals.json +24 -0
  178. package/internal-workflow/skills/to-tickets/SKILL.md +189 -0
  179. package/internal-workflow/skills/to-tickets/agents/openai.yaml +6 -0
  180. package/internal-workflow/skills/to-tickets/evals/evals.json +79 -0
  181. package/internal-workflow/skills/to-tickets/references/publishing-details.md +117 -0
  182. package/package.json +1 -1
  183. package/dist/src/v2/proof-store.d.ts +0 -54
  184. package/dist/src/v2/proof-store.d.ts.map +0 -1
  185. package/dist/src/v2/proof-store.js +0 -301
  186. package/dist/src/v2/proof-store.js.map +0 -1
  187. package/dist/src/v2/route-continuations.d.ts +0 -32
  188. package/dist/src/v2/route-continuations.d.ts.map +0 -1
  189. package/dist/src/v2/route-continuations.js +0 -2
  190. package/dist/src/v2/route-continuations.js.map +0 -1
  191. package/dist/src/v2/route-coordinator.d.ts +0 -72
  192. package/dist/src/v2/route-coordinator.d.ts.map +0 -1
  193. package/dist/src/v2/route-coordinator.js +0 -275
  194. package/dist/src/v2/route-coordinator.js.map +0 -1
  195. package/dist/src/v2/route-decision.d.ts +0 -120
  196. package/dist/src/v2/route-decision.d.ts.map +0 -1
  197. package/dist/src/v2/route-decision.js +0 -380
  198. package/dist/src/v2/route-decision.js.map +0 -1
  199. package/dist/src/v2/spec-coordinator.d.ts +0 -73
  200. package/dist/src/v2/spec-coordinator.d.ts.map +0 -1
  201. package/dist/src/v2/spec-coordinator.js +0 -126
  202. package/dist/src/v2/spec-coordinator.js.map +0 -1
  203. package/dist/src/v2/spec-delivery.d.ts +0 -112
  204. package/dist/src/v2/spec-delivery.d.ts.map +0 -1
  205. package/dist/src/v2/spec-delivery.js +0 -336
  206. package/dist/src/v2/spec-delivery.js.map +0 -1
  207. package/dist/src/v2/triage-route.d.ts +0 -68
  208. package/dist/src/v2/triage-route.d.ts.map +0 -1
  209. package/dist/src/v2/triage-route.js +0 -223
  210. package/dist/src/v2/triage-route.js.map +0 -1
  211. package/dist/src/v2/waiting-human-coordinator.d.ts +0 -49
  212. package/dist/src/v2/waiting-human-coordinator.d.ts.map +0 -1
  213. package/dist/src/v2/waiting-human-coordinator.js +0 -509
  214. package/dist/src/v2/waiting-human-coordinator.js.map +0 -1
  215. package/dist/src/v2/waiting-human.d.ts +0 -143
  216. package/dist/src/v2/waiting-human.d.ts.map +0 -1
  217. package/dist/src/v2/waiting-human.js +0 -408
  218. package/dist/src/v2/waiting-human.js.map +0 -1
  219. package/internal-workflow/docs/agents/contract-test-ledger.md +0 -71
  220. package/internal-workflow/docs/agents/review-gates.md +0 -42
  221. package/internal-workflow/docs/agents/review-protocol.md +0 -98
  222. package/internal-workflow/evals/coding-skill-evals.json +0 -373
  223. package/internal-workflow/operations/ambiguity-review/SKILL.md +0 -5
  224. package/internal-workflow/operations/qualification-repair/SKILL.md +0 -17
  225. package/internal-workflow/operations/spec-author/SKILL.md +0 -12
  226. package/internal-workflow/operations/spec-review/SKILL.md +0 -12
  227. package/internal-workflow/operations/triage/SKILL.md +0 -12
  228. package/internal-workflow/profiles/analyst_deep.toml +0 -9
  229. package/internal-workflow/profiles/implementer_standard.toml +0 -9
  230. package/internal-workflow/profiles/proof_agent.toml +0 -8
  231. package/internal-workflow/profiles/reviewer_deep.toml +0 -9
  232. package/internal-workflow/profiles/reviewer_standard.toml +0 -9
  233. package/internal-workflow/schemas/ambiguity-review-v1.json +0 -1
  234. package/internal-workflow/schemas/spec-author-v1.json +0 -1
  235. package/internal-workflow/schemas/spec-review-v1.json +0 -30
  236. package/internal-workflow/schemas/triage-route-v1.json +0 -1
  237. package/internal-workflow/skills/agent-auto/SKILL.md +0 -19
  238. package/internal-workflow/skills/agent-auto/agents/openai.yaml +0 -6
  239. package/internal-workflow/skills/code-debugger/SKILL.md +0 -122
  240. package/internal-workflow/skills/code-debugger/agents/openai.yaml +0 -7
  241. package/internal-workflow/skills/code-review/references/bug-classes.md +0 -56
  242. package/internal-workflow/skills/code-review/references/cleanup-lens.md +0 -52
  243. package/internal-workflow/skills/code-review/references/framework-lenses.md +0 -34
  244. package/internal-workflow/skills/code-review/references/targeted-recipes.md +0 -49
  245. package/internal-workflow/skills/implementation-spec-maker/SKILL.md +0 -107
  246. package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +0 -6
  247. package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +0 -32
  248. package/internal-workflow/skills/implementation-spec-maker/references/spec-template.md +0 -146
  249. package/internal-workflow/skills/implementation-spec-review/SKILL.md +0 -131
  250. package/internal-workflow/skills/implementation-spec-review/agents/openai.yaml +0 -6
  251. package/internal-workflow/skills/implementation-spec-review/evals/evals.json +0 -78
  252. package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +0 -121
  253. package/internal-workflow/skills/small-task-implementer/SKILL.md +0 -112
  254. package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +0 -6
  255. package/internal-workflow/skills/spec-implementer/SKILL.md +0 -133
  256. package/internal-workflow/skills/spec-implementer/agents/openai.yaml +0 -6
  257. package/internal-workflow/skills/spec-implementer/evals/evals.json +0 -30
  258. package/internal-workflow/skills/spec-implementer/references/review-loop.md +0 -100
  259. package/internal-workflow/skills/triage/AGENT-BRIEF.md +0 -192
  260. package/internal-workflow/skills/triage/OUT-OF-SCOPE.md +0 -101
  261. package/internal-workflow/skills/triage/SKILL.md +0 -134
  262. package/internal-workflow/skills/triage/agents/openai.yaml +0 -6
@@ -4,21 +4,23 @@ Use the bug skills by user intent and feedback-loop quality:
4
4
 
5
5
  - `bug-root-cause-explainer`: diagnosis-only. Use when the user asks why, wants root cause, options, or no edits. Stop before implementation.
6
6
  - `diagnosing-bugs`: feedback-loop builder. Use when the bug is hard, flaky, unclear, performance-related, or cannot be proven with a tight red/green signal.
7
- - `code-debugger`: implementation. Use when the user asks to fix, chose a fix path, or the bug is obvious and reproducible.
7
+ - `implement`: implementation. Use when the user asks to fix, chose a fix path, or the bug is obvious and reproducible.
8
8
 
9
9
  Handoffs:
10
10
 
11
11
  - Explainer -> Diagnosing Bugs when root cause cannot be proven without a reliable loop.
12
- - Explainer -> Code Debugger after the user chooses a fix path.
13
- - Code Debugger -> Diagnosing Bugs when implementation discovers the bug is unclear, flaky, or lacks a red-capable signal.
14
- - Diagnosing Bugs -> original intent: return diagnosis to the explainer path, or apply the fix through Code Debugger.
12
+ - Explainer -> Implement after the user chooses a fix path.
13
+ - Implement -> Diagnosing Bugs when implementation discovers the bug is unclear, flaky, or lacks a reliable signal.
14
+ - Diagnosing Bugs -> original intent: return diagnosis to the explainer path, or apply the fix through Implement.
15
15
 
16
16
  Inside an active user-authorized implementation/TDD flow, keep a reviewer repair
17
17
  in that same TDD activation only when the defect is high-confidence,
18
18
  source-required, inside the approved behavior/Seam, and has bounded trigger,
19
19
  cause, and repair. Group related cases by protected invariant before one
20
- consolidated repair batch. New product intent, a new Seam, or a risky trade-off
21
- stops for user approval. A separately authorized fix with no active flow, or an
22
- ambiguous reproduction/cause/repair, still routes through `code-debugger`.
20
+ consolidated repair batch for the current reviewed revision. Continue repair,
21
+ affected proof, and targeted Review until approval. New product intent, a new
22
+ Seam, or a risky trade-off stops for user approval. A separately authorized fix with no active flow routes
23
+ through `implement`; ambiguous reproduction/cause/repair first routes through
24
+ `diagnosing-bugs`.
23
25
 
24
26
  Do not collapse diagnosis-only, feedback-loop construction, and implementation into one response unless the user explicitly asked for that full flow.
@@ -1,123 +1,173 @@
1
1
  # Coding Skill Routing
2
2
 
3
- This file is the normative global route and ownership policy. Keep repository
4
- commands, domain facts, credentials, deployment assumptions, and product
5
- behavior in repository `AGENTS.md`, `CONTEXT.md`, ADRs, or local skills.
6
-
7
- ## Ownership
8
-
9
- - Personal skills live only in `../../skills`.
10
- - `agents/openai.yaml` owns invocation metadata; `agents/*.toml` owns named-role
11
- model and effort.
12
- - A shared rule has one owner. Callers link to it instead of copying its prose.
13
- - Skill-specific detail belongs in that skill's `references/` and loads only
14
- when its branch is active.
15
- - Root owns the user dialogue, decisions, critical path, integration, and final
16
- handoff. A reviewer child owns independent review.
17
-
18
- ## Default Implementation Route
19
-
20
- `medium` is the default for behavior-changing implementation. Use:
21
-
22
- - `simple` only for a tiny local change with one obvious proof;
23
- - `medium` for a clear coherent outcome with settled authority, one ownership
24
- path, and credible affected validation—even across several files, modules,
25
- API, persistence, or shared state;
26
- - `high` only when a sensitive mechanism has both a material failure
27
- consequence and an uncertainty amplifier such as unclear ownership,
28
- cross-trust effects, non-local recovery, an unproven external contract, or
29
- proof that cannot isolate the dangerous state.
30
-
31
- Prefer direct root implementation for `simple` and ordinary `medium` work. Use
32
- `$implementation-spec-maker` only for a real execution decision or coordination
33
- gap. Use `$tickets-orchestrator` only for an approved ticket graph, real delivery
34
- dependencies or disjoint parallel slices, or an explicit orchestration request.
35
- Do not manufacture PRDs, tickets, specs, agents, or review checkpoints from
36
- file count or generic risk labels.
37
-
38
- ## Core Routes
39
-
40
- | Situation | Route |
3
+ This file is the normative global coding route. Repository commands, product
4
+ facts, runtime constraints, and domain language remain in repository policy.
5
+
6
+ ## Shared Kernel
7
+
8
+ - **Authority** — perform only the requested outcome and actions authorized by
9
+ the user, Parent PRD, executable ticket, and repository policy. Planning or
10
+ publication never authorizes implementation. Normal direct and single-ticket
11
+ Implement authority includes one scoped local commit after proof and
12
+ applicable Review unless user or repository policy explicitly forbids or
13
+ reserves Git. Push and PR require separate authority.
14
+ - **Preservation** — preserve unrelated and concurrent work plus user-owned
15
+ runtimes. Dirty overlapping or unisolatable scope blocks the affected write
16
+ and commit.
17
+ - **Proof** — claim only the observable outcome proved through the real caller
18
+ seam. Missing required proof or independent-review approval blocks completion
19
+ and the affected commit.
20
+
21
+ These principles are checks, not workflow state or durable artifacts.
22
+
23
+ ## Main Route
24
+
25
+ The user-facing coding flow is Plan, Implement, Review.
26
+
27
+ - [`$plan`](../../skills/plan/SKILL.md) owns product decisions and multi-ticket
28
+ planning composition. It is the sole planning-composition entrypoint.
29
+ - [`$implement`](../../skills/implement/SKILL.md) is the single execution owner
30
+ for clear features, fixes, obvious local edits, and executable tickets.
31
+ - [`$code-review`](../../skills/code-review/SKILL.md) is the direct Review
32
+ entrypoint.
33
+
34
+ Direct non-ticket work stays in the current root context. Do not create a spec,
35
+ ticket, or worker merely because a change spans files or touches an important
36
+ contract. A real product or ownership decision gap returns to Plan. An approved
37
+ multi-ticket dependency graph routes to `$tickets-orchestrator`; a single
38
+ executable ticket never does.
39
+
40
+ Grilling uses dependency-aware frontier rounds. `$grilling` is the model-invoked,
41
+ write-free interview primitive; `$domain-modeling` is the model-invoked sole
42
+ domain-document writer. `$grill-me`, `$grill-with-docs`, and `$wait-what` are
43
+ explicit-only. Explicitly typed wrappers win: `$grill-me` remains write-free
44
+ even when its prompt mentions terminology or ADRs, while `$grill-with-docs`
45
+ keeps the whole `$grilling` interview write-free and invokes
46
+ `$domain-modeling` only after an empty frontier and explicit confirmation.
47
+ Implicit `$grilling` is write-free and cannot mutate domain docs.
48
+
49
+ `$writing-for-agents` is a model-invoked discipline for agent-consumed
50
+ documents and complements `$skill-creator`; it is not a router. Use
51
+ `$resolving-merge-conflicts` only for actual Git conflicts or an explicit
52
+ conflict-resolution request. It composes `$domain-modeling` as sole content
53
+ writer for domain-document conflicts, while each Git operation remains gated by
54
+ existing authority. `$documentation-gardener` may audit domain docs but routes
55
+ every authorized domain-document mutation through `$domain-modeling`.
56
+
57
+ Diagnosis-only work uses `$bug-root-cause-explainer`. Hard, flaky, unclear, or
58
+ performance bugs use `$diagnosing-bugs` to establish a reliable signal, then
59
+ return to Implement when a fix is authorized. External multi-source uncertainty
60
+ uses `$research`. A requested throwaway logic or UI experiment uses `$prototype`
61
+ to answer one bounded design question, then returns production delivery to
62
+ Implement. Grilling, TDD, to-spec, to-tickets, diagnosis, research, prototype,
63
+ and the graph-only Tickets Orchestrator are internal or side primitives.
64
+ Specialized runtime and platform skills remain side tools and do not compete
65
+ with the main flow.
66
+
67
+ ## Phase boundaries
68
+
69
+ Make a context choice only when one phase has actually completed and another is
70
+ about to begin; never interrupt a live phase merely because the conversation is
71
+ long. Apply these conditions in order:
72
+
73
+ 1. **Continue** when the next phase uses the current conversation as a primary
74
+ source and the same active owner and authority still apply.
75
+ 2. **Use an existing fresh-context route** only when the active workflow already
76
+ requires one, such as the single-ticket implementer or independent Review.
77
+ 3. **Use an authorized stable-role child** only for bounded AFK work that the
78
+ active skill already permits; root retains dialogue and integration.
79
+ 4. **Compact through the platform** only when relevant same-owner work must
80
+ continue in the current conversation and observed context pressure makes a
81
+ lossless continuation unreliable.
82
+
83
+ These are branch conditions, not a token threshold, a new handoff skill, or a
84
+ competing router. Plan, Implement, Review, prototype, `$to-spec`, and
85
+ `$to-tickets` keep their existing ownership and stop boundaries.
86
+
87
+ ## Implement Context
88
+
89
+ - A direct request is implemented by root in the current context.
90
+ - One executable ticket launches exactly one fresh `implementer` child. Root
91
+ supplies the complete ticket, Parent PRD, applicable repository policy, and
92
+ bounded write scope; verifies the child identity and completed wait; and
93
+ remains the only Git owner.
94
+ - Multiple executable tickets are graph work and remain owned by
95
+ `$tickets-orchestrator`.
96
+
97
+ Children do not talk to the user, spawn grandchildren, or perform Git actions.
98
+ Root integrates only isolated worker output and never overwrites unrelated work.
99
+
100
+ ## TDD, Proof, And Review
101
+
102
+ Use [`$tdd`](../../skills/tdd/SKILL.md) where possible: an observable behavior
103
+ change has a natural public seam and a meaningful failing signal can precede
104
+ the implementation. Otherwise use direct proof. Do not manufacture tests for
105
+ docs, copy, formatting, mechanical config, deletion, or an outcome that cannot
106
+ fail meaningfully before the edit.
107
+
108
+ A change is substantial when its behavior or contract goes beyond an obvious
109
+ local edit. This includes a public API, persistence, auth or payment,
110
+ concurrency or shared state, and cross-module interaction. Substantial settled
111
+ work launches one fresh `spec_reviewer` and one fresh `standards_reviewer` in
112
+ parallel. Spec checks the result against the request, issue, or Parent PRD;
113
+ Standards checks correctness, repository rules, cleanup, and legacy or duplicate
114
+ ownership.
115
+
116
+ The wait must complete and the coordinator must approve the settled diff from
117
+ the completed independent evidence.
118
+ Docs, copy, formatting, mechanical config, and an obvious local correction may
119
+ finish with direct proof and no reviewer. Reviewer failure or timeout blocks
120
+ approval; root does not replace independent review with self-review.
121
+
122
+ A Review blocker requires a concrete defect or proof gap causally linked to an
123
+ explicit obligation, existing invariant, or mandatory repository rule. The
124
+ reviewer verdict is evidence, not authority: coordinator approval exists when
125
+ the completed independent review has no verified blocker or required-proof
126
+ gap. A Fowler smell, general improvement, preference, or uncertain concern is a
127
+ non-blocking observation without that link. Review remains read-only. Initial
128
+ Review runs both lenses; targeted Review runs only the affected lens, or both
129
+ when the repair is mixed or cannot be isolated.
130
+
131
+ For direct or single-ticket substantial work, Implement consolidates every
132
+ verified blocker into one repair batch for that revision. The original
133
+ Implement authority covers every verified repair that does not widen the
134
+ authorized outcome without another user
135
+ confirmation. After repair it reruns affected proof and launches the affected
136
+ fresh reviewer or reviewer pair over only the repair delta, repaired blockers,
137
+ direct impact cone, and affected proof. Untouched previously approved scope
138
+ retains approval. This loop continues until approval; reviewer count is not a
139
+ stop condition. A complete two-lens Review repeats only when repair impact
140
+ cannot be isolated from previously approved scope.
141
+
142
+ Graph children receive no per-ticket delivery Review. After every checkpoint,
143
+ Tickets Orchestrator owns the initial cumulative review over the complete Parent
144
+ range, then follows the same unlimited repair loop with targeted Review of each
145
+ repair delta and directly affected Parent obligations.
146
+
147
+ Proof and applicable review must approve before staging or commit. Direct and
148
+ single-ticket Implement creates one scoped local commit by default when the
149
+ worktree is isolatable. Explicit user or repository policy that forbids or
150
+ reserves Git overrides that default. Push and PR always require separate
151
+ authority.
152
+
153
+ ## Stable Roles
154
+
155
+ Skills request only these stable roles; concrete model and reasoning effort are
156
+ central configuration details:
157
+
158
+ | Need | Role |
41
159
  | --- | --- |
42
- | Tiny, clear, low-risk edit | `$small-task-implementer` after its Fit Gate |
43
- | Clear feature or fix | Apply the TDD Fit Gate; when it fits, use Root + one `$tdd` activation, otherwise affected validation |
44
- | Missing execution detail | `$implementation-spec-maker` -> artifact review -> `$spec-implementer` |
45
- | Approved implementation spec | `$spec-implementer` |
46
- | Approved dependency graph or explicit orchestration | `$tickets-orchestrator` |
47
- | Product discovery or ticket decomposition | `$to-spec`, `$spec-to-tickets`, or `$wayfinder` as applicable; stop before delivery |
48
- | Explain-only bug | `$bug-root-cause-explainer`; no edits |
49
- | Confirmed bounded bug fix | Apply the TDD Fit Gate, then `$tdd` + `$code-debugger` when it fits; otherwise `$code-debugger` + affected validation |
50
- | Hard, flaky, unclear, or performance bug | `$diagnosing-bugs` before the explain/fix route |
51
- | Review request | `$code-review` in the profile-selected reviewer child |
52
- | External multi-source uncertainty | `$research`; narrow documentation lookup stays inline |
53
- | Commit request | `$commit`; push/PR still require separate authority |
54
-
55
- Generated planning artifacts and labels never authorize implementation. One
56
- deterministic approved ticket may run directly; a graph follows the authorized
57
- delivery workflow.
58
-
59
- ## TDD And Review
60
-
61
- Apply `$tdd` only when all three Fit Gate conditions hold:
62
-
63
- 1. The change alters observable behavior.
64
- 2. A natural public seam can prove that behavior.
65
- 3. A new test will fail before the change for the intended behavioral reason.
66
-
67
- Otherwise use existing regression tests plus affected validation. Do not invoke
68
- TDD merely because implementation files change, and do not manufacture RED
69
- tests for behavior-preserving cleanup, dead-code deletion, documentation, copy,
70
- formatting, generated assets, package maintenance, simple config, builds, or
71
- read-only work. For mixed tasks, activate `$tdd` only for the behavioral slice.
72
- An absence or architecture guard added after cleanup is validation, not a TDD
73
- cycle.
74
-
75
- Review applicability lives in [`review-gates.md`](review-gates.md). Shared
76
- Full/Closure mechanics live in [`review-protocol.md`](review-protocol.md).
77
- Artifact review is owned by
78
- [`implementation-spec-review/references/review-loop.md`](../../skills/implementation-spec-review/references/review-loop.md);
79
- approved-spec implementation review is owned by
80
- [`spec-implementer/references/review-loop.md`](../../skills/spec-implementer/references/review-loop.md).
81
-
82
- Root never substitutes self-review for a required independent reviewer. Use one
83
- `reviewer_fast` for `simple`, one `reviewer_standard` for `medium`, and two
84
- disjoint `reviewer_deep` tracks for `high`. A reviewer Adapter executes inline
85
- only after it is already inside that assigned child.
86
-
87
- ## Delegation
88
-
89
- Run work inline by default. Delegate only when the user, an invoked skill, or
90
- repository policy authorizes it and the task benefits from independent review,
91
- isolated deep analysis, or disjoint implementation ownership.
92
-
93
- | Need | Named role |
94
- | --- | --- |
95
- | Mechanical inventory | `explorer_quick` |
96
- | Bounded cross-module trace | `explorer_fast` |
97
- | Ambiguous architecture, contract, or cause | `analyst_deep` |
98
- | Primary-source external research | `researcher_standard` |
99
- | Independent review | `reviewer_fast`, `reviewer_standard`, or `reviewer_deep` by profile |
100
- | Approved isolated implementation slice | `implementer_standard`; `implementer_deep` only for material uncertainty |
101
-
102
- Keep the root critical path local. Use at most two explorers for disjoint
103
- questions and at most two parallel implementers with disjoint write scopes.
104
- Children do not conduct user dialogue or spawn grandchildren.
105
-
106
- ## Validation And Runtime Safety
107
-
108
- Use targeted behavior proof plus the smallest affected integration check for
109
- simple and medium work. Run a full repository suite only when repository policy
110
- requires it, a broad shared contract cannot be isolated, or the task is `high`.
111
-
112
- For Flutter UI, follow [`tool-usage.md`](tool-usage.md): platform QA owns UI
113
- work and `$flutter-attach-session` is only the attach-safe runtime layer. Treat
114
- live app, IDE, VM Service, and `flutter run` sessions as user-owned.
115
-
116
- Read local evidence before external search: applicable `AGENTS.md`, `CONTEXT.md`,
117
- ADRs, manifests, lockfiles, tests, scripts, and code owners. Mark missing facts
118
- unconfirmed rather than inventing them.
119
-
120
- Contract-risk implementation uses
121
- [`contract-test-ledger.md`](contract-test-ledger.md) only for material
122
- invariants. Long framework lenses, examples, and recipes remain skill-local and
123
- load on demand.
160
+ | Root dialogue, integration, and Git ownership | `root` |
161
+ | One isolated executable ticket | `implementer` |
162
+ | Requirement fidelity and scope drift | `spec_reviewer` |
163
+ | Correctness and repository standards | `standards_reviewer` |
164
+ | Bounded repository exploration | `explorer` |
165
+ | Independent bounded design alternative | `explorer` |
166
+ | Primary-source external research | `researcher` |
167
+
168
+ ## Runtime Safety
169
+
170
+ For Flutter UI, follow [`tool-usage.md`](tool-usage.md). Treat live app, IDE, VM
171
+ Service, and `flutter run` sessions as user-owned. Use the documented
172
+ non-destructive attach path only after ownership discovery; never replace or
173
+ terminate a user-owned session without explicit authority.
@@ -4,13 +4,13 @@
4
4
 
5
5
  Local Flutter UI work always uses a platform QA skill plus the runtime ownership gate:
6
6
 
7
- - Android emulator: use `$flutter-android-debug` as the lifecycle orchestrator and
8
- `test-android-apps:android-emulator-qa` for navigation, interaction, UI trees,
9
- screenshots, and logcat.
7
+ - Android emulator: always use `$flutter-android-debug` as the lifecycle orchestrator
8
+ and `test-android-apps:android-emulator-qa` for navigation, interaction, UI trees,
9
+ screenshots, and logcat, including inspection-only and screenshot-only requests.
10
10
  - iOS Simulator: use `$flutter-ios-debug` for environment/login gates, navigation,
11
11
  interaction, screenshots, and visual comparison.
12
- - Use `$flutter-attach-session` only to discover the runtime owner and perform
13
- reload/restart when that session is safe for this agent to control.
12
+ - Use `$flutter-attach-session` to discover the runtime owner and perform
13
+ reload/restart against the selected live session.
14
14
 
15
15
  Before any install, launch, attach, reload, restart, terminate, or force-stop:
16
16
 
@@ -18,17 +18,28 @@ Before any install, launch, attach, reload, restart, terminate, or force-stop:
18
18
  owner, and expected backend/environment.
19
19
  2. Treat any live PID, VM Service, IDE debug adapter, `flutter run`, or visible app as
20
20
  user-owned state.
21
- 3. If an IDE/debug adapter or machine run owns DevFS, do not create a second attach
22
- controller. Use the owning IDE/terminal reload action or ask the user to trigger it.
23
- A standalone interactive terminal run is the only exception, and only when
24
- discovery marks it attach-safe and the helper receives its confirmed PID.
21
+ 3. If an IDE/debug adapter or machine run owns DevFS, never attach a second Flutter
22
+ compiler/controller. Preserve the session, continue only with inspection or in-app
23
+ navigation, and ask the user to trigger `r`/`R` through the owning controller when
24
+ reload/restart is necessary. Unknown owners remain blocked.
25
25
  4. Use `r` for widget/layout/style/rendering changes and `R` for startup state,
26
26
  dependency injection, providers, globals, routes, or initialization changes.
27
- 5. For a safely attachable standalone runtime, pass the PID confirmed by
28
- `discover --json` as `--expected-pid`; never execute the raw discovered attach command.
29
- 6. Verify that the same PID and expected environment remain after each runtime or
27
+ 5. Always pass the PID confirmed by `discover --json` as `--expected-pid`; never
28
+ execute the raw discovered attach command.
29
+ 6. Confirm that the generated attach command preserves the selected run's effective
30
+ target and every `--dart-define` / `--dart-define-from-file`. Missing compile
31
+ identity must block runtime control rather than fall back to defaults.
32
+ Treat raw define values as sensitive; inspect only the helper's redacted display.
33
+ 7. Verify that the same PID and expected environment remain after each runtime or
30
34
  navigation action.
31
35
 
36
+ The bundled `flutter_session_ctl.py` helper is the only allowed reload/restart
37
+ transport for safely attachable standalone sessions. Never activate, open, focus, or
38
+ automate an IDE for this purpose. Do not use IDE menus, Command Palette, keyboard
39
+ shortcuts, `osascript`, System Events, or other GUI automation. If the helper fails or
40
+ times out, preserve the app process and report its exact failure; do not fall back to
41
+ the IDE.
42
+
32
43
  Requests to inspect, debug, navigate, capture screenshots, or verify UI do not authorize
33
44
  build/install, uninstall, app-data clearing, force-stop, process termination, replacement
34
45
  launch, or a new `flutter run`. Use those only when no live target exists and the user
@@ -1 +1 @@
1
- {"evals":{"shared/coding-skill-evals":{"owner":null,"path":"evals/coding-skill-evals.json"},"skill/implementation-spec-review":{"owner":"implementation-spec-review","path":"skills/implementation-spec-review/evals/evals.json"},"skill/spec-implementer":{"owner":"spec-implementer","path":"skills/spec-implementer/evals/evals.json"},"skill/tdd":{"owner":"tdd","path":"skills/tdd/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"a37c59676bcb8b938a7c82bce8a6ea5becf58ba367866d2712cd469391aea931","size":1603},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"958f4e7c7177c062b2a24fb7db2287be2cfa6e5281f2d156f7eb67b6cb3a0741","size":6434},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/contract-test-ledger.md","sha256":"37424d9dac94f143c0485efc81c85be3806551149c33b4ea9a5e1db2305f0031","size":4424},{"mode":420,"path":"docs/agents/review-gates.md","sha256":"5ca48066b263cf869549c383814cfbdbbad711e5c247a8253bc2996d8fdec496","size":1857},{"mode":420,"path":"docs/agents/review-protocol.md","sha256":"9af5b44c545d76f3a048de424a4ccc78aa7e018bd193e4e5a787b2cef47af071","size":4086},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"b6ade11865a46a5a28d4823c1b70318453f4d350cfc62d2969aa06d73c47be4b","size":4321},{"mode":420,"path":"evals/coding-skill-evals.json","sha256":"83bdb0333546d2553637916879d8aee0a54cbaa102ac5c7e369e02193b084315","size":18943},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/ambiguity-review/SKILL.md","sha256":"20371f30015afef12a2b9dd608d21cc93a93f011873927f7a64e29b36a4fcf99","size":427},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"c415e4383dd7ddeb4b371a0a141a39c4296d95222b26ca3fcc51a34704e10f25","size":1246},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"6f0c9b900d252d9a833d7fdac6868d84900787debf2964e22ffbf86851af45d2","size":1461},{"mode":420,"path":"operations/qualification-repair/SKILL.md","sha256":"b038a0ff20d9cdbb0dbdfc80f72c9d5bd7dd08f07021f97c91176e2d03900680","size":955},{"mode":420,"path":"operations/spec-author/SKILL.md","sha256":"5170f275bd7bc346578028d74d5814a5edd36ccd90d0615c4d5e3d6b6f8af049","size":627},{"mode":420,"path":"operations/spec-review/SKILL.md","sha256":"6cb7b8ea245faa2587ebde07ebe3d364eff41d18d5464ccd2749cf2b9b49f701","size":653},{"mode":420,"path":"operations/triage/SKILL.md","sha256":"39e8301b90a59795dc2b93917d4674c22dc3e4380f011a54ade1de4c7cdc18ae","size":647},{"mode":420,"path":"profiles/analyst_deep.toml","sha256":"06335e3a13b07ef3d7deb9b546a6dad5d765edfa6dbf21c1c4d516e843a4352f","size":380},{"mode":420,"path":"profiles/implementer_standard.toml","sha256":"4074f45ea6fb615382de7ddf04e4ab824185e01932290b95764ff63a3711824e","size":750},{"mode":420,"path":"profiles/proof_agent.toml","sha256":"2fbaf1145a11cb5c574bf1ed7333187d284ed0c3c3d6260c628f82057b8b04e7","size":446},{"mode":420,"path":"profiles/reviewer_deep.toml","sha256":"15ef121b641265a85d0647c46f6dd93d4a9abd8c09bcc746c41e4ca6b4c9af41","size":648},{"mode":420,"path":"profiles/reviewer_standard.toml","sha256":"0a26b24f98b7e8d0ec049cb6fbe623d5da838b2fe71b5accd59bf364a9c97e5c","size":585},{"mode":420,"path":"schemas/ambiguity-review-v1.json","sha256":"48d946ad8e91bd1908d8993ef631b1701ad3cd7a79f34368a07942d7774afeff","size":524},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"b11b266e0a7e0aa19eaf90ebf2b5c33f3bc7263e9c697cbf206e9865084e3439","size":2555},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"a1b580dad03af9be74d895d38a2f6aa9398b6d772c944dc398dac5aca0630d2e","size":1573},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"50d5c610aba30a8d2c5b2fe3f15d235509f8f4e239becbef77529a7eb7a3b570","size":21167},{"mode":420,"path":"schemas/spec-author-v1.json","sha256":"49f945362d1184ad628584b91fbbe75323d13bafa4ca3876093387a9fca06214","size":420},{"mode":420,"path":"schemas/spec-review-v1.json","sha256":"fe9fdd389bcb4c3b7d19609184caf3af4b89e7c1d1e71a7ba0c55c72c5d5562d","size":1386},{"mode":420,"path":"schemas/triage-route-v1.json","sha256":"3ca7ed29237f42e12567797d145d90dd4f1f48fa1e81a7da67434c19747753d8","size":5894},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"6f2d85dfebfd47b2ec7ede95f2e02417b3f0ad860d333360b040d31e3c609525","size":1777},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b62fea63f53f79a8978df81608a7c1f48fa9f06084fba8382904a8f8c8dff9bc","size":2940},{"mode":420,"path":"skills/acceptance-proof/references/browser.md","sha256":"ceefa4fd7db475b6162368511c2742b6d9c6af58d48e7d5d8a773ed5cc3938c4","size":2281},{"mode":420,"path":"skills/acceptance-proof/references/ios.md","sha256":"ae18be2632e1f7c3aa0810a1bafafc7760c807b30b1269408825aa14c224d493","size":2486},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/agent-auto/SKILL.md","sha256":"450c28f7a712f881cdf9f3e48555a47022b46f79df875bac35843a1c15135451","size":1415},{"mode":420,"path":"skills/agent-auto/agents/openai.yaml","sha256":"79a70421300891e3130fc7535c4aa37e01931ff353fbd7b83262c6fcf2032b71","size":266},{"mode":420,"path":"skills/code-debugger/SKILL.md","sha256":"914cf2a1a9971d5d932954b908fbf3fcfea040d46b4d612c2e7932979256bb88","size":7692},{"mode":420,"path":"skills/code-debugger/agents/openai.yaml","sha256":"8dd2f301bee632585371bd6f62dbdcdec95201f553392515342da5d0fc563305","size":322},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"8b3b2f28e6eea29a2a5abd4e0fa6dce9cf1e81d9a642403254dd0ab12e4df67f","size":17541},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"c2697212427a5e119d9127e2f9000594e6c2eb7696e7a40604da7149c79ce478","size":278},{"mode":420,"path":"skills/code-review/references/bug-classes.md","sha256":"1f8648af9914cbd7553d045915f959df0f3b50a88e97c3beefeb955342e7b12d","size":4062},{"mode":420,"path":"skills/code-review/references/cleanup-lens.md","sha256":"6406350bf8ff00f9d2de2d5a8871aa1a9ab0efa33dcc35453eeebe9c96623e69","size":2846},{"mode":420,"path":"skills/code-review/references/framework-lenses.md","sha256":"ca9e7cb09f32f729cec5522e8ff7c7dcc43f76ef986e701e9c0a226514912cd8","size":1820},{"mode":420,"path":"skills/code-review/references/targeted-recipes.md","sha256":"921b422958c97e606637d3fa2d2628239d9176f0316c7e45bbc55b20a22fe3c1","size":2564},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"9a3457d4f12e3810041def93456a0c020df0842200737bf7ecaf06471991c16c","size":9097},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"eca84840bc193ce63cc7aad93d9e7b5f2541739b7bf682e5fa9eded3a8060787","size":262},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/implementation-spec-maker/SKILL.md","sha256":"8148a41ad05e4a2c42a79ec4d056f635e2f21cff0bb1676995a507fd9dce2ead","size":9783},{"mode":420,"path":"skills/implementation-spec-maker/agents/openai.yaml","sha256":"5e9988125a4b69ec62ddfdb141793bebf8e117188d3c9c841031a0020b6d0b8e","size":421},{"mode":420,"path":"skills/implementation-spec-maker/references/source-modes.md","sha256":"e110ae155809d79b7ee3d1c84b121d015222822f4b0f6d74beff3d28f9639d17","size":2145},{"mode":420,"path":"skills/implementation-spec-maker/references/spec-template.md","sha256":"0ba380125eb2e0c114aed6b0f064ac2643edf75bb78c10de72b741776edee6ff","size":5319},{"mode":420,"path":"skills/implementation-spec-review/SKILL.md","sha256":"333ff2e71a6400afbc5a617483067c7d42972788880266d2b5746697dba4714a","size":7152},{"mode":420,"path":"skills/implementation-spec-review/agents/openai.yaml","sha256":"600f9cc4e4f42596e3bf48601a508ddf055efcc396478d5e339d024973f4fb05","size":277},{"mode":420,"path":"skills/implementation-spec-review/evals/evals.json","sha256":"eedf8e60e6eb03e8266f15e88ea099b0709a3e8323133499ecaf7ec3c3efa10c","size":5360},{"mode":420,"path":"skills/implementation-spec-review/references/review-loop.md","sha256":"914e8adf57a1ea400a217e10658aae2fcb79aa198e2653d93406636705988867","size":5829},{"mode":420,"path":"skills/small-task-implementer/SKILL.md","sha256":"a246daa00f5d6c2f20b661f689562627d611738961480c884ec944f8ce46f56f","size":4755},{"mode":420,"path":"skills/small-task-implementer/agents/openai.yaml","sha256":"948c51d9f8026732d3c78f3f590e48ecdd924a9c25fafa72aaeaf20f873cf17a","size":329},{"mode":420,"path":"skills/spec-implementer/SKILL.md","sha256":"007489dd287a705ee69b30ac931f240452b166f4e5c158ec77a7b1c23e4f97d2","size":5924},{"mode":420,"path":"skills/spec-implementer/agents/openai.yaml","sha256":"84ef664ae3538e264fe6746917f081d34eac0738dc28764ddf27d7a448b3615d","size":341},{"mode":420,"path":"skills/spec-implementer/evals/evals.json","sha256":"23d73ddd6e2205b601a36cd07a7dd5ee228ae587d5b9cc5adab9b0993a312ba8","size":1361},{"mode":420,"path":"skills/spec-implementer/references/review-loop.md","sha256":"6f6c088daf1c4fcb9811583ddfdfb9d0357e924fba8a6ef1662faa4b533f499f","size":4713},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"ed184bb3f12b527c3dd25d3c4cdecbbe549ae5c5781ecb52929435524836eeec","size":4200},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"cc49a11a2c08733862d1a406123cda7a050d4a70fa92a4b3ec37f318694b1581","size":301},{"mode":420,"path":"skills/tdd/evals/evals.json","sha256":"8c16ca88cdd4556c803e267dfd8ea82fab11aae7ae9959277bab8bab6f093031","size":692},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"e26596e305ce4c56ee4c31f166a4eb37ce289ac6ef0ce4c7aadfa41ce0bf8191","size":519},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"b05bcb10cfa43c7053abba2984c80c486afc10ef9ab180689427f56c86068fe6","size":362},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/triage/AGENT-BRIEF.md","sha256":"053cd013e1c2c9275111aa6e4b5a12e9838f8d6cd888e8ca0ccaaac576fd74df","size":7070},{"mode":420,"path":"skills/triage/OUT-OF-SCOPE.md","sha256":"8ed8cf27833444060c81b3961a83c0e3d8e6cf2fcb2ddf6f8b07c6655cbb0d85","size":4282},{"mode":420,"path":"skills/triage/SKILL.md","sha256":"5c7c84189fd5146ec1ae55a5669c74372ed7bce588fa7b8523417aa55b312a2e","size":8273},{"mode":420,"path":"skills/triage/agents/openai.yaml","sha256":"466bc430f95132bc6b28d077d50865d4b1fd9218307582343c35b0baf66d7894","size":283}],"generationHash":"6f066ad7c94bff761c9e4ccda31f14c4eeffd51e95f1f23a608d5c528d6bc3e7","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/proof_agent.toml","schemas/proof-report-v1.json","skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"id":"acceptance-proof","outputSchema":"schemas/proof-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"proof-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"proof_agent","resources":[],"sourceSkill":"acceptance-proof"},"ambiguity-review":{"dependencySkills":[],"entry":"operations/ambiguity-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/ambiguity-review/SKILL.md","profiles/reviewer_deep.toml","schemas/ambiguity-review-v1.json"],"id":"ambiguity-review","outputSchema":"schemas/ambiguity-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md"],"sourceSkill":null},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md","operations/code-review/SKILL.md","profiles/reviewer_standard.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"id":"code-review","outputSchema":"schemas/code-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["code-debugger","diagnosing-bugs","small-task-implementer","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"id":"implementation","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer_standard","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md"],"sourceSkill":"agent-auto"},"qualification-repair":{"dependencySkills":["code-debugger","diagnosing-bugs","tdd"],"entry":"operations/qualification-repair/SKILL.md","files":["operations/qualification-repair/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"id":"qualification-repair","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer_standard","resources":[],"sourceSkill":null},"spec-author":{"dependencySkills":[],"entry":"operations/spec-author/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","operations/spec-author/SKILL.md","profiles/implementer_standard.toml","schemas/spec-author-v1.json","skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"id":"spec-author","outputSchema":"schemas/spec-author-v1.json","policy":{"approvalCeiling":"never","cwdClass":"target-state","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"spec-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["target-state"]},"profile":"implementer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md"],"sourceSkill":"implementation-spec-maker"},"spec-review":{"dependencySkills":[],"entry":"operations/spec-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md","operations/spec-review/SKILL.md","profiles/reviewer_deep.toml","schemas/spec-review-v1.json","skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"id":"spec-review","outputSchema":"schemas/spec-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"reviewer_deep","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md"],"sourceSkill":"implementation-spec-review"},"triage":{"dependencySkills":[],"entry":"operations/triage/SKILL.md","files":["docs/agents/coding-skill-routing.md","operations/triage/SKILL.md","profiles/analyst_deep.toml","schemas/triage-route-v1.json","skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"id":"triage","outputSchema":"schemas/triage-route-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"analyst_deep","resources":["docs/agents/coding-skill-routing.md"],"sourceSkill":"triage"}},"profiles":{"analyst_deep":"profiles/analyst_deep.toml","implementer_standard":"profiles/implementer_standard.toml","proof_agent":"profiles/proof_agent.toml","reviewer_deep":"profiles/reviewer_deep.toml","reviewer_standard":"profiles/reviewer_standard.toml"},"skills":{"acceptance-proof":{"entry":"skills/acceptance-proof/SKILL.md","files":["skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"agent-auto":{"entry":"skills/agent-auto/SKILL.md","files":["skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml"],"metadata":"skills/agent-auto/agents/openai.yaml"},"code-debugger":{"entry":"skills/code-debugger/SKILL.md","files":["skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml"],"metadata":"skills/code-debugger/agents/openai.yaml"},"code-review":{"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"entry":"skills/diagnosing-bugs/SKILL.md","files":["skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"implementation-spec-maker":{"entry":"skills/implementation-spec-maker/SKILL.md","files":["skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"metadata":"skills/implementation-spec-maker/agents/openai.yaml"},"implementation-spec-review":{"entry":"skills/implementation-spec-review/SKILL.md","files":["skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"metadata":"skills/implementation-spec-review/agents/openai.yaml"},"small-task-implementer":{"entry":"skills/small-task-implementer/SKILL.md","files":["skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml"],"metadata":"skills/small-task-implementer/agents/openai.yaml"},"spec-implementer":{"entry":"skills/spec-implementer/SKILL.md","files":["skills/spec-implementer/SKILL.md","skills/spec-implementer/agents/openai.yaml","skills/spec-implementer/references/review-loop.md"],"metadata":"skills/spec-implementer/agents/openai.yaml"},"tdd":{"entry":"skills/tdd/SKILL.md","files":["skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/tdd/agents/openai.yaml"},"triage":{"entry":"skills/triage/SKILL.md","files":["skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"metadata":"skills/triage/agents/openai.yaml"}},"sourceFingerprint":"06f1a4ee3020139e29e0025f0db0e413fb97530885911649a7effc779975c776","version":2}
1
+ {"evals":{"skill/bug-root-cause-explainer":{"owner":"bug-root-cause-explainer","path":"skills/bug-root-cause-explainer/evals/evals.json"},"skill/code-review":{"owner":"code-review","path":"skills/code-review/evals/evals.json"},"skill/diagnosing-bugs":{"owner":"diagnosing-bugs","path":"skills/diagnosing-bugs/evals/evals.json"},"skill/grilling":{"owner":"grilling","path":"skills/grilling/evals/evals.json"},"skill/implement":{"owner":"implement","path":"skills/implement/evals/evals.json"},"skill/plan":{"owner":"plan","path":"skills/plan/evals/evals.json"},"skill/prototype":{"owner":"prototype","path":"skills/prototype/evals/evals.json"},"skill/research":{"owner":"research","path":"skills/research/evals/evals.json"},"skill/tdd":{"owner":"tdd","path":"skills/tdd/evals/evals.json"},"skill/tickets-orchestrator":{"owner":"tickets-orchestrator","path":"skills/tickets-orchestrator/evals/evals.json"},"skill/to-spec":{"owner":"to-spec","path":"skills/to-spec/evals/evals.json"},"skill/to-tickets":{"owner":"to-tickets","path":"skills/to-tickets/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"96c35629bdf29fcaf7114bc2835d4ef94ac08d77ae218496c12c2a4e2419734b","size":1709},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"7ffc29b0d8bf7480d8e55bd1154ae266127ddfb73b80401f039343c750275486","size":9253},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"7e1f52fff6c2a9c573851d682cacf85ef7c22d67c00eb2667ca6f06ec5a6f9b0","size":5069},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"5483d29364ab73d16fd28e8117fae17e300b7ea80235e3ceb5415b296b7defed","size":2594},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"61ca8965bfcfc5a57240e214727ddb2c59712761283edccbc8d93e50a2af68e6","size":1771},{"mode":420,"path":"profiles/implementer.toml","sha256":"3e3edd16fd54f810cb381e0c0c6e2933ce323267222a497fe8749d0f281e12b1","size":550},{"mode":420,"path":"profiles/review_coordinator.toml","sha256":"ef9197959946e141334c182897e3335d0243f05afd4ad81288a8481e0efd3795","size":681},{"mode":420,"path":"profiles/spec_reviewer.toml","sha256":"2dd198709c887f5b613461d4ae2b04405ff928cf566a43a731a5f51d67d745bb","size":770},{"mode":420,"path":"profiles/standards_reviewer.toml","sha256":"327c477315595dd50489873a05c7aa0c5ff51afb877bb0746d569ff4e33180fb","size":896},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"756d7aecacb47f1a90d63933a8564fca3211a10bb929b804808c395c385499e1","size":2615},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"70161d4afafabcc6544620a9e6021262738c26a7b62cfb18947e694603c89c21","size":1725},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"104db803c066e42ed5493fec7eecc7e3788fce622df33d5ad4016aba7946f8c8","size":21244},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"6f2d85dfebfd47b2ec7ede95f2e02417b3f0ad860d333360b040d31e3c609525","size":1777},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b62fea63f53f79a8978df81608a7c1f48fa9f06084fba8382904a8f8c8dff9bc","size":2940},{"mode":420,"path":"skills/acceptance-proof/references/browser.md","sha256":"ceefa4fd7db475b6162368511c2742b6d9c6af58d48e7d5d8a773ed5cc3938c4","size":2281},{"mode":420,"path":"skills/acceptance-proof/references/ios.md","sha256":"ae18be2632e1f7c3aa0810a1bafafc7760c807b30b1269408825aa14c224d493","size":2486},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/bug-root-cause-explainer/SKILL.md","sha256":"972305d2d4231b6eb7b39196eb49bc167e0a7f89ab86918ef5ad71a34d9bda43","size":5474},{"mode":420,"path":"skills/bug-root-cause-explainer/agents/openai.yaml","sha256":"a65d3f3b50d38309ef54618e0c00f656ac17a5bee5cc5a5c5faf3bc10954caef","size":403},{"mode":420,"path":"skills/bug-root-cause-explainer/evals/evals.json","sha256":"a2783a1e6be8fd7ca5af3821379cff7a6b8565ae33a8ed194b38573eabba4414","size":656},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"a50c99dc1de7bbad8b78670f7dbb79bc4914f0a506affada59b8e6ace318671d","size":4861},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"cfc3d99b7fbe8cfe04ac994acaacf11ae73dcf1da59dcd2c248d779d415c8413","size":314},{"mode":420,"path":"skills/code-review/evals/evals.json","sha256":"23183a3d13dff991df68b45897b10778ee97884a3cd909f7892ae4fffde7df98","size":3467},{"mode":420,"path":"skills/code-review/references/standards-smells.md","sha256":"e14cf49716f832ea9e6b43cadcac255b8cf3ffe0712b923e68c7c9a69d46a387","size":2408},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"95c48af453d9d99fbcd8ceb1335c1794d110d94a7783dec9185f41d71b7e21c6","size":11826},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"0ae35c16a55e0efa5de2ac756e07a2b058c562a89c53e149145f5de1584e24e6","size":373},{"mode":420,"path":"skills/diagnosing-bugs/evals/evals.json","sha256":"9881149ebe47c9443ff8e7f2dcf02725d742a84806de6e33ec2ba49d31dbc2a2","size":2557},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/grilling/SKILL.md","sha256":"ff7a5707e1320212c9f9bec18507566ce5eed0eee1a4990e9d09074ca76a335b","size":2552},{"mode":420,"path":"skills/grilling/agents/openai.yaml","sha256":"16acd9a4929237685beb879ad38e6235f02e11475cf2a865c443c4d50997c5d8","size":358},{"mode":420,"path":"skills/grilling/evals/evals.json","sha256":"30c3e7137d296156d74b69ee25640e43c82ae650f0f07ed76f12206b34124c39","size":1778},{"mode":420,"path":"skills/implement/SKILL.md","sha256":"f3c09dd6a68d721eb71b3ae9e8640749c4a4ba391dc7d06a6b0a98e3a9c23117","size":7439},{"mode":420,"path":"skills/implement/agents/openai.yaml","sha256":"2ef457435557419cb11139b4172813ee0ca711630df81a1192532c7e8cf8006e","size":266},{"mode":420,"path":"skills/implement/evals/evals.json","sha256":"d8ab1bd16d5143231e65213998f47bed516c772427f4aef8542b412287a469a0","size":6828},{"mode":420,"path":"skills/plan/SKILL.md","sha256":"d551fbe3eeedbd2b45e2a5053a3c15e55d991f4189943d8c3d308629966a5908","size":2874},{"mode":420,"path":"skills/plan/agents/openai.yaml","sha256":"8fffc0a16f3577c93988233529a671db94a6dea55be0ae3fd29e7a6109ae13cf","size":311},{"mode":420,"path":"skills/plan/evals/evals.json","sha256":"4b35ca204b999ac81166f3300e9bfde2a57ca31f999881bd4ba3c1070d265e91","size":2263},{"mode":420,"path":"skills/prototype/LOGIC.md","sha256":"1a6a50011e81db9bf786eb98131d5125b4965681cc5c4d5db3b6dd2a39478c07","size":5828},{"mode":420,"path":"skills/prototype/SKILL.md","sha256":"b185dde586efa763c1fc5dec7b44ed54b0b02a07183e95d7658e5dea4d31424b","size":4027},{"mode":420,"path":"skills/prototype/UI.md","sha256":"39d6c54ad1ece13e87157dbb80fdfe7b627d21368d93889d787af6a9be3c1467","size":6798},{"mode":420,"path":"skills/prototype/agents/openai.yaml","sha256":"b84be88538b40eb72f6b819c939b11d92e29dcb2bed91fba7cd67a0ca6ac3bad","size":301},{"mode":420,"path":"skills/prototype/evals/evals.json","sha256":"7619c1c5b41c3c62c870c557623d49d788d6672828f887b31fff2ab3a390a82a","size":2928},{"mode":420,"path":"skills/research/SKILL.md","sha256":"3effbfd0db25f32330fc34887e6c553b2b062ca605f0df98462a207df44b1373","size":4757},{"mode":420,"path":"skills/research/agents/openai.yaml","sha256":"4475cf777225f81a1c45937389d55f2b485b039b36e8378ef6b001e24f3fd1fe","size":254},{"mode":420,"path":"skills/research/evals/evals.json","sha256":"ba1c1f1a9c841ca3d25faebcfe84dd30993a50dbd9d04274e215c2f44a369554","size":1973},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"c4ef54fe809fb8fa4c55de2810210f9991f85fa442c73797e575d59c9b99d4fe","size":4397},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"62f91ed072157ada9471fece9e9265a9bb7c9eb07fc1453794f4ccf5d107083c","size":285},{"mode":420,"path":"skills/tdd/evals/evals.json","sha256":"58cfcd7c2fedc80e4f1431e4c52481849522944730639265323516c12c70b905","size":1202},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"36891842b9ff463daf1c68e65eb25df6bcc734f476a0d23c930e757c150c7451","size":1817},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"28e5278dac743bc1a37bf5b5e3beba84fe90c0d63ea59abfb5cc206b8667684e","size":398},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/tickets-orchestrator/SKILL.md","sha256":"d8660e3efe05084a21cd6f774b72a123d2641e5e401ab65267b486ff51a85f19","size":11608},{"mode":420,"path":"skills/tickets-orchestrator/agents/openai.yaml","sha256":"a130bb5c109e9385bdcca4edc583f63c0199fe9673c334ba5e336900e9de606a","size":412},{"mode":420,"path":"skills/tickets-orchestrator/evals/evals.json","sha256":"76182497e64cef0458bc74cf7718b0311ea8f45b10359f7b3f969b0740ce0687","size":9936},{"mode":420,"path":"skills/tickets-orchestrator/references/delegate-integrate.md","sha256":"41663556a3817a386dfb292188df9616c5aae1d13af4f989687c8e934c6b6015","size":4463},{"mode":420,"path":"skills/tickets-orchestrator/references/finish-delivery.md","sha256":"cdcafc0f908ff67c810301934721d006f4b791087b9362e29a41c92e88dd1121","size":4246},{"mode":420,"path":"skills/tickets-orchestrator/references/stop-completion.md","sha256":"21ec3fcfc9acbdc9db040b1cf8a1740cc4e18be1dc8827b7f66edca0d611c3dd","size":3568},{"mode":420,"path":"skills/to-spec/SKILL.md","sha256":"25a8c7fd97d5ecf5f734fb3a2f4a0c823aa773910d003e50ab11373eb8174692","size":5450},{"mode":420,"path":"skills/to-spec/agents/openai.yaml","sha256":"02221785807ff9219a80d71f66759f354c417ee003b1ed56787962220c272e21","size":292},{"mode":420,"path":"skills/to-spec/evals/evals.json","sha256":"6790746a293746befa83f7852a4b303da9509ba583099e92d23e4f9df504155e","size":1290},{"mode":420,"path":"skills/to-tickets/SKILL.md","sha256":"4fcf63df1575f84a392667e4165ced78d583824cae84738ab21d5a040ff829d4","size":9236},{"mode":420,"path":"skills/to-tickets/agents/openai.yaml","sha256":"cd9afe48f7a57469c496d99714c872248b71fd4ab9c6e1b94b27e0f9dc046621","size":358},{"mode":420,"path":"skills/to-tickets/evals/evals.json","sha256":"a0682f0317440f24b8f3ba74f1ccc2334c22d1a1abf64f85de2d2617f6a66ac0","size":4949},{"mode":420,"path":"skills/to-tickets/references/publishing-details.md","sha256":"242b9caa3878b71ea333565c1e04a0e867ab11302ddfd8cf8bf7c2589f52acfb","size":4380}],"generationHash":"92ca6a544a9216e40b8d94e1e8c724086dfa571c9b8b006320651e3daf7d78da","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/implementer.toml","schemas/proof-report-v1.json","skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"id":"acceptance-proof","outputSchema":"schemas/proof-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"proof-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer","resources":[],"reviewers":[],"sourceSkill":"acceptance-proof"},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/code-review/SKILL.md","profiles/review_coordinator.toml","profiles/spec_reviewer.toml","profiles/standards_reviewer.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md"],"id":"code-review","outputSchema":"schemas/code-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"review_coordinator","resources":["docs/agents/confidence-rubric.md"],"reviewers":["spec_reviewer","standards_reviewer"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["diagnosing-bugs","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/coding-skill-routing.md","docs/agents/confidence-rubric.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer.toml","schemas/implementation-report-v1.json","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/plan/SKILL.md","skills/plan/agents/openai.yaml","skills/prototype/LOGIC.md","skills/prototype/SKILL.md","skills/prototype/UI.md","skills/prototype/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/tickets-orchestrator/SKILL.md","skills/tickets-orchestrator/agents/openai.yaml","skills/tickets-orchestrator/references/delegate-integrate.md","skills/tickets-orchestrator/references/finish-delivery.md","skills/tickets-orchestrator/references/stop-completion.md","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"id":"implementation","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/tool-usage.md"],"reviewers":[],"sourceSkill":"implement"}},"profiles":{"implementer":"profiles/implementer.toml","review_coordinator":"profiles/review_coordinator.toml","spec_reviewer":"profiles/spec_reviewer.toml","standards_reviewer":"profiles/standards_reviewer.toml"},"skills":{"acceptance-proof":{"dependencySkills":[],"entry":"skills/acceptance-proof/SKILL.md","files":["skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"bug-root-cause-explainer":{"dependencySkills":["diagnosing-bugs"],"entry":"skills/bug-root-cause-explainer/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/confidence-rubric.md","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/bug-root-cause-explainer/agents/openai.yaml"},"code-review":{"dependencySkills":[],"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"dependencySkills":[],"entry":"skills/diagnosing-bugs/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/confidence-rubric.md","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"grilling":{"dependencySkills":[],"entry":"skills/grilling/SKILL.md","files":["skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml"],"metadata":"skills/grilling/agents/openai.yaml"},"implement":{"dependencySkills":[],"entry":"skills/implement/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/implement/agents/openai.yaml"},"plan":{"dependencySkills":[],"entry":"skills/plan/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/plan/SKILL.md","skills/plan/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/plan/agents/openai.yaml"},"prototype":{"dependencySkills":[],"entry":"skills/prototype/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/prototype/LOGIC.md","skills/prototype/SKILL.md","skills/prototype/UI.md","skills/prototype/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/prototype/agents/openai.yaml"},"research":{"dependencySkills":[],"entry":"skills/research/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml"],"metadata":"skills/research/agents/openai.yaml"},"tdd":{"dependencySkills":[],"entry":"skills/tdd/SKILL.md","files":["skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/tdd/agents/openai.yaml"},"tickets-orchestrator":{"dependencySkills":[],"entry":"skills/tickets-orchestrator/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/tickets-orchestrator/SKILL.md","skills/tickets-orchestrator/agents/openai.yaml","skills/tickets-orchestrator/references/delegate-integrate.md","skills/tickets-orchestrator/references/finish-delivery.md","skills/tickets-orchestrator/references/stop-completion.md"],"metadata":"skills/tickets-orchestrator/agents/openai.yaml"},"to-spec":{"dependencySkills":[],"entry":"skills/to-spec/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/to-spec/agents/openai.yaml"},"to-tickets":{"dependencySkills":[],"entry":"skills/to-tickets/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/to-tickets/agents/openai.yaml"}},"sourceFingerprint":"594146470640ca35f7af6d6998710a6b0958e09a5cccfc6e35e1287b57db7f83","version":2}
@@ -1,23 +1,42 @@
1
1
  # Code Review Operation
2
2
 
3
- You are already the independent reviewer selected by the Runner. Follow the
4
- packaged [Code Review skill](../../skills/code-review/SKILL.md) inline with
5
- correctness and spec/standards lenses. Cleanup is its bounded lens, never a
6
- separate operation. Use the declared resources for
7
- [confidence](../../docs/agents/confidence-rubric.md),
8
- [contract tests](../../docs/agents/contract-test-ledger.md),
9
- [review applicability](../../docs/agents/review-gates.md), and
10
- [Full/Closure mechanics](../../docs/agents/review-protocol.md). The supplied
11
- review capsule is the exact target and authority.
3
+ You own one packaged Review invocation selected by the Runner. Follow the
4
+ procedural and lens semantics of packaged
5
+ [Review](../../skills/code-review/SKILL.md). The available roles and their
6
+ packaged profiles are the sole concrete role authority for this invocation;
7
+ do not infer a fixed role inventory from examples in that skill. Launch roles
8
+ available in the supplied capsule through its packaged named agent profile.
9
+ For complete Review launch every available role. For targeted Review select
10
+ only the affected role, or all affected roles when the repair crosses lenses
11
+ or cannot be isolated. Launch each selected role as a fresh child without
12
+ inherited history. The Runner binds every available role to its immutable
13
+ `../../profiles/<role>.toml`; never substitute an ambient profile.
14
+ Capture each non-empty identity, and complete the wait for every child. Apply
15
+ the declared [confidence rubric](../../docs/agents/confidence-rubric.md). The
16
+ supplied review capsule is the exact target and authority.
12
17
 
13
- For Closure, copy every supplied canonical defect's `id`, `class`, `invariant`,
14
- `failure`, and `introducedTargetRevision` exactly. Do not paraphrase immutable
15
- defect fields; express verification through the allowed status, revision,
16
- evidence, and repair-finding outcome fields.
18
+ For `complete`, review the full authorized result for requirement fidelity and
19
+ correctness. For `targeted`, review the supplied exact tree-to-tree repair patch
20
+ against its previous and current immutable target identities, blocker/source
21
+ IDs, and current proof; preserve approval outside the changed scope. Use
22
+ complete review after repair only when the exact repair delta itself cannot be
23
+ proven or safely supplied. Account for every supplied previous finding ID and
24
+ copy canonical defect identity fields exactly. Express verification through
25
+ status, revision, evidence, and finding outcomes.
17
26
 
18
27
  Use `needs-work` for concrete defects that the bounded implementation cycle can
19
28
  repair. Reserve `rejected` for a target or authority that cannot safely proceed
20
29
  through the normal repair lifecycle.
21
30
 
22
- Do not launch another reviewer, edit files, repair findings, or mutate external
23
- state. Return only `schemas/code-review-v1.json` with operation `code-review`.
31
+ For each repairable defect, use exact identities already present in the capsule
32
+ and exact repository paths when relevant. Do not infer impact from partial
33
+ words or command/criterion prose. An unknown validation subset expands the
34
+ Runner-owned checks and Acceptance Proof conservatively; it does not reopen
35
+ untouched Review scope while the exact tree repair delta remains proven.
36
+
37
+ Do not edit files, repair findings, or mutate external state. Reconcile the
38
+ independent reviewer results without erasing a verified blocker. Include every
39
+ selected reviewer role, identity, and verdict in `reviewers`; approval requires
40
+ all selected reviewers to approve. Complete Review selects every available
41
+ reviewer.
42
+ Return only `schemas/code-review-v1.json` with operation `code-review`.