codex-orchestrator 2.0.2 → 2.0.4

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 (221) hide show
  1. package/CHANGELOG.md +44 -426
  2. package/README.md +135 -34
  3. package/dist/src/index.d.ts +11 -1
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +5 -0
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/v2/acceptance-proof.d.ts +3 -0
  8. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  9. package/dist/src/v2/acceptance-proof.js +2 -8
  10. package/dist/src/v2/acceptance-proof.js.map +1 -1
  11. package/dist/src/v2/adapters/gh-issue-adapter.d.ts +5 -3
  12. package/dist/src/v2/adapters/gh-issue-adapter.d.ts.map +1 -1
  13. package/dist/src/v2/adapters/gh-issue-adapter.js +67 -12
  14. package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -1
  15. package/dist/src/v2/adapters/issues.d.ts +16 -2
  16. package/dist/src/v2/adapters/issues.d.ts.map +1 -1
  17. package/dist/src/v2/adapters/issues.js +15 -5
  18. package/dist/src/v2/adapters/issues.js.map +1 -1
  19. package/dist/src/v2/adapters/mission-coordinator-lock.d.ts +1 -0
  20. package/dist/src/v2/adapters/mission-coordinator-lock.d.ts.map +1 -1
  21. package/dist/src/v2/adapters/mission-coordinator-lock.js +5 -1
  22. package/dist/src/v2/adapters/mission-coordinator-lock.js.map +1 -1
  23. package/dist/src/v2/cli-contract.d.ts +3 -3
  24. package/dist/src/v2/cli-contract.d.ts.map +1 -1
  25. package/dist/src/v2/cli-contract.js +9 -1
  26. package/dist/src/v2/cli-contract.js.map +1 -1
  27. package/dist/src/v2/cli.d.ts +24 -0
  28. package/dist/src/v2/cli.d.ts.map +1 -0
  29. package/dist/src/v2/{candidate-cli.js → cli.js} +30 -26
  30. package/dist/src/v2/cli.js.map +1 -0
  31. package/dist/src/v2/code-review-report.d.ts +66 -0
  32. package/dist/src/v2/code-review-report.d.ts.map +1 -0
  33. package/dist/src/v2/code-review-report.js +259 -0
  34. package/dist/src/v2/code-review-report.js.map +1 -0
  35. package/dist/src/v2/codex-process.d.ts +8 -1
  36. package/dist/src/v2/codex-process.d.ts.map +1 -1
  37. package/dist/src/v2/codex-process.js +22 -0
  38. package/dist/src/v2/codex-process.js.map +1 -1
  39. package/dist/src/v2/config.d.ts +4 -3
  40. package/dist/src/v2/config.d.ts.map +1 -1
  41. package/dist/src/v2/config.js +8 -3
  42. package/dist/src/v2/config.js.map +1 -1
  43. package/dist/src/v2/contained-report-operation.d.ts +100 -0
  44. package/dist/src/v2/contained-report-operation.d.ts.map +1 -0
  45. package/dist/src/v2/contained-report-operation.js +200 -0
  46. package/dist/src/v2/contained-report-operation.js.map +1 -0
  47. package/dist/src/v2/containment.d.ts +10 -0
  48. package/dist/src/v2/containment.d.ts.map +1 -1
  49. package/dist/src/v2/containment.js +49 -1
  50. package/dist/src/v2/containment.js.map +1 -1
  51. package/dist/src/v2/direct-delivery.d.ts +96 -0
  52. package/dist/src/v2/direct-delivery.d.ts.map +1 -0
  53. package/dist/src/v2/direct-delivery.js +482 -0
  54. package/dist/src/v2/direct-delivery.js.map +1 -0
  55. package/dist/src/v2/immutable-workflow-publisher.d.ts +40 -0
  56. package/dist/src/v2/immutable-workflow-publisher.d.ts.map +1 -0
  57. package/dist/src/v2/immutable-workflow-publisher.js +218 -0
  58. package/dist/src/v2/immutable-workflow-publisher.js.map +1 -0
  59. package/dist/src/v2/implementation-reviewer.d.ts +81 -0
  60. package/dist/src/v2/implementation-reviewer.d.ts.map +1 -0
  61. package/dist/src/v2/implementation-reviewer.js +157 -0
  62. package/dist/src/v2/implementation-reviewer.js.map +1 -0
  63. package/dist/src/v2/owner-control-lock.d.ts +41 -0
  64. package/dist/src/v2/owner-control-lock.d.ts.map +1 -0
  65. package/dist/src/v2/owner-control-lock.js +174 -0
  66. package/dist/src/v2/owner-control-lock.js.map +1 -0
  67. package/dist/src/v2/proof-report.d.ts.map +1 -1
  68. package/dist/src/v2/proof-report.js +55 -29
  69. package/dist/src/v2/proof-report.js.map +1 -1
  70. package/dist/src/v2/route-continuations.d.ts +32 -0
  71. package/dist/src/v2/route-continuations.d.ts.map +1 -0
  72. package/dist/src/v2/route-continuations.js +2 -0
  73. package/dist/src/v2/route-continuations.js.map +1 -0
  74. package/dist/src/v2/route-coordinator.d.ts +77 -0
  75. package/dist/src/v2/route-coordinator.d.ts.map +1 -0
  76. package/dist/src/v2/route-coordinator.js +370 -0
  77. package/dist/src/v2/route-coordinator.js.map +1 -0
  78. package/dist/src/v2/route-decision.d.ts +129 -0
  79. package/dist/src/v2/route-decision.d.ts.map +1 -0
  80. package/dist/src/v2/route-decision.js +400 -0
  81. package/dist/src/v2/route-decision.js.map +1 -0
  82. package/dist/src/v2/run-issue.d.ts +64 -6
  83. package/dist/src/v2/run-issue.d.ts.map +1 -1
  84. package/dist/src/v2/run-issue.js +962 -92
  85. package/dist/src/v2/run-issue.js.map +1 -1
  86. package/dist/src/v2/run-store.d.ts +25 -1
  87. package/dist/src/v2/run-store.d.ts.map +1 -1
  88. package/dist/src/v2/run-store.js +129 -4
  89. package/dist/src/v2/run-store.js.map +1 -1
  90. package/dist/src/v2/runtime-assets.d.ts +15 -13
  91. package/dist/src/v2/runtime-assets.d.ts.map +1 -1
  92. package/dist/src/v2/runtime-assets.js +263 -416
  93. package/dist/src/v2/runtime-assets.js.map +1 -1
  94. package/dist/src/v2/runtime.d.ts +17 -9
  95. package/dist/src/v2/runtime.d.ts.map +1 -1
  96. package/dist/src/v2/runtime.js +564 -64
  97. package/dist/src/v2/runtime.js.map +1 -1
  98. package/dist/src/v2/setup-cli.d.ts.map +1 -1
  99. package/dist/src/v2/setup-cli.js +4 -10
  100. package/dist/src/v2/setup-cli.js.map +1 -1
  101. package/dist/src/v2/setup-runtime.d.ts.map +1 -1
  102. package/dist/src/v2/setup-runtime.js +19 -131
  103. package/dist/src/v2/setup-runtime.js.map +1 -1
  104. package/dist/src/v2/setup-store.d.ts +0 -5
  105. package/dist/src/v2/setup-store.d.ts.map +1 -1
  106. package/dist/src/v2/setup-store.js +3 -106
  107. package/dist/src/v2/setup-store.js.map +1 -1
  108. package/dist/src/v2/setup.d.ts +6 -43
  109. package/dist/src/v2/setup.d.ts.map +1 -1
  110. package/dist/src/v2/setup.js +13 -192
  111. package/dist/src/v2/setup.js.map +1 -1
  112. package/dist/src/v2/spec-coordinator.d.ts +85 -0
  113. package/dist/src/v2/spec-coordinator.d.ts.map +1 -0
  114. package/dist/src/v2/spec-coordinator.js +88 -0
  115. package/dist/src/v2/spec-coordinator.js.map +1 -0
  116. package/dist/src/v2/spec-delivery.d.ts +143 -0
  117. package/dist/src/v2/spec-delivery.d.ts.map +1 -0
  118. package/dist/src/v2/spec-delivery.js +401 -0
  119. package/dist/src/v2/spec-delivery.js.map +1 -0
  120. package/dist/src/v2/triage-route.d.ts +68 -0
  121. package/dist/src/v2/triage-route.d.ts.map +1 -0
  122. package/dist/src/v2/triage-route.js +223 -0
  123. package/dist/src/v2/triage-route.js.map +1 -0
  124. package/dist/src/v2/waiting-human-coordinator.d.ts +49 -0
  125. package/dist/src/v2/waiting-human-coordinator.d.ts.map +1 -0
  126. package/dist/src/v2/waiting-human-coordinator.js +509 -0
  127. package/dist/src/v2/waiting-human-coordinator.js.map +1 -0
  128. package/dist/src/v2/waiting-human.d.ts +143 -0
  129. package/dist/src/v2/waiting-human.d.ts.map +1 -0
  130. package/dist/src/v2/waiting-human.js +408 -0
  131. package/dist/src/v2/waiting-human.js.map +1 -0
  132. package/dist/src/v2/workflow-assets.d.ts +98 -0
  133. package/dist/src/v2/workflow-assets.d.ts.map +1 -0
  134. package/dist/src/v2/workflow-assets.js +646 -0
  135. package/dist/src/v2/workflow-assets.js.map +1 -0
  136. package/docs/deep-dive.md +275 -52
  137. package/internal-workflow/docs/agents/bug-workflow-routing.md +24 -0
  138. package/internal-workflow/docs/agents/bugfix-quality-gate.md +11 -0
  139. package/internal-workflow/docs/agents/coding-skill-routing.md +123 -0
  140. package/internal-workflow/docs/agents/confidence-rubric.md +65 -0
  141. package/internal-workflow/docs/agents/contract-test-ledger.md +60 -0
  142. package/internal-workflow/docs/agents/review-gates.md +42 -0
  143. package/internal-workflow/docs/agents/review-protocol.md +98 -0
  144. package/internal-workflow/docs/agents/tool-usage.md +88 -0
  145. package/internal-workflow/evals/coding-skill-evals.json +66 -0
  146. package/internal-workflow/manifest.json +1 -0
  147. package/internal-workflow/operations/acceptance-proof/SKILL.md +9 -0
  148. package/internal-workflow/operations/ambiguity-review/SKILL.md +5 -0
  149. package/internal-workflow/operations/code-review/SKILL.md +23 -0
  150. package/internal-workflow/operations/implementation/SKILL.md +24 -0
  151. package/internal-workflow/operations/spec-author/SKILL.md +12 -0
  152. package/internal-workflow/operations/spec-review/SKILL.md +12 -0
  153. package/internal-workflow/operations/triage/SKILL.md +12 -0
  154. package/internal-workflow/profiles/analyst_deep.toml +9 -0
  155. package/internal-workflow/profiles/implementer_standard.toml +9 -0
  156. package/internal-workflow/profiles/proof_agent.toml +8 -0
  157. package/internal-workflow/profiles/reviewer_deep.toml +9 -0
  158. package/internal-workflow/profiles/reviewer_standard.toml +9 -0
  159. package/internal-workflow/schemas/ambiguity-review-v1.json +1 -0
  160. package/internal-workflow/schemas/code-review-v1.json +1 -0
  161. package/internal-workflow/schemas/implementation-report-v1.json +1 -0
  162. package/internal-workflow/schemas/proof-report-v1.json +1 -0
  163. package/internal-workflow/schemas/spec-author-v1.json +1 -0
  164. package/internal-workflow/schemas/spec-review-v1.json +30 -0
  165. package/internal-workflow/schemas/triage-route-v1.json +1 -0
  166. package/internal-workflow/skills/acceptance-proof/agents/openai.yaml +6 -0
  167. package/{internal-skills → internal-workflow/skills}/agent-auto/SKILL.md +6 -1
  168. package/internal-workflow/skills/agent-auto/agents/openai.yaml +6 -0
  169. package/internal-workflow/skills/code-debugger/SKILL.md +122 -0
  170. package/internal-workflow/skills/code-debugger/agents/openai.yaml +7 -0
  171. package/internal-workflow/skills/code-review/SKILL.md +279 -0
  172. package/internal-workflow/skills/code-review/agents/openai.yaml +4 -0
  173. package/internal-workflow/skills/code-review/references/bug-classes.md +56 -0
  174. package/internal-workflow/skills/code-review/references/cleanup-lens.md +52 -0
  175. package/internal-workflow/skills/code-review/references/framework-lenses.md +34 -0
  176. package/internal-workflow/skills/code-review/references/targeted-recipes.md +49 -0
  177. package/internal-workflow/skills/diagnosing-bugs/SKILL.md +138 -0
  178. package/internal-workflow/skills/diagnosing-bugs/agents/openai.yaml +6 -0
  179. package/internal-workflow/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  180. package/internal-workflow/skills/implementation-spec-maker/SKILL.md +102 -0
  181. package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +6 -0
  182. package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +31 -0
  183. package/internal-workflow/skills/implementation-spec-maker/references/spec-template.md +146 -0
  184. package/internal-workflow/skills/implementation-spec-review/SKILL.md +115 -0
  185. package/internal-workflow/skills/implementation-spec-review/agents/openai.yaml +6 -0
  186. package/internal-workflow/skills/implementation-spec-review/evals/evals.json +24 -0
  187. package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +93 -0
  188. package/internal-workflow/skills/small-task-implementer/SKILL.md +104 -0
  189. package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +6 -0
  190. package/internal-workflow/skills/spec-implementer/SKILL.md +126 -0
  191. package/internal-workflow/skills/spec-implementer/agents/openai.yaml +6 -0
  192. package/internal-workflow/skills/spec-implementer/evals/evals.json +30 -0
  193. package/internal-workflow/skills/spec-implementer/references/review-loop.md +94 -0
  194. package/internal-workflow/skills/tdd/SKILL.md +72 -0
  195. package/internal-workflow/skills/tdd/agents/openai.yaml +6 -0
  196. package/internal-workflow/skills/tdd/interface-design.md +31 -0
  197. package/internal-workflow/skills/tdd/mocking.md +59 -0
  198. package/internal-workflow/skills/tdd/refactoring.md +10 -0
  199. package/internal-workflow/skills/tdd/tests.md +77 -0
  200. package/internal-workflow/skills/triage/AGENT-BRIEF.md +192 -0
  201. package/internal-workflow/skills/triage/OUT-OF-SCOPE.md +101 -0
  202. package/internal-workflow/skills/triage/SKILL.md +134 -0
  203. package/internal-workflow/skills/triage/agents/openai.yaml +6 -0
  204. package/package.json +14 -8
  205. package/dist/src/v2/adapters/target-activity-fence.d.ts +0 -23
  206. package/dist/src/v2/adapters/target-activity-fence.d.ts.map +0 -1
  207. package/dist/src/v2/adapters/target-activity-fence.js +0 -249
  208. package/dist/src/v2/adapters/target-activity-fence.js.map +0 -1
  209. package/dist/src/v2/candidate-cli.d.ts +0 -22
  210. package/dist/src/v2/candidate-cli.d.ts.map +0 -1
  211. package/dist/src/v2/candidate-cli.js.map +0 -1
  212. package/dist/src/v2/legacy-cutover.d.ts +0 -52
  213. package/dist/src/v2/legacy-cutover.d.ts.map +0 -1
  214. package/dist/src/v2/legacy-cutover.js +0 -87
  215. package/dist/src/v2/legacy-cutover.js.map +0 -1
  216. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/SKILL.md +0 -0
  217. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/android.md +0 -0
  218. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/browser.md +0 -0
  219. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/ios.md +0 -0
  220. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/tools/android-lease.mjs +0 -0
  221. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/tools/ios-lease.mjs +0 -0
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env bash
2
+ # Human-in-the-loop reproduction loop.
3
+ # Copy this file, edit the steps below, and run it.
4
+ # The agent runs the script; the user follows prompts in their terminal.
5
+ #
6
+ # Usage:
7
+ # bash hitl-loop.template.sh
8
+ #
9
+ # Two helpers:
10
+ # step "<instruction>" → show instruction, wait for Enter
11
+ # capture VAR "<question>" → show question, read response into VAR
12
+ #
13
+ # At the end, captured values are printed as KEY=VALUE for the agent to parse.
14
+
15
+ set -euo pipefail
16
+
17
+ step() {
18
+ printf '\n>>> %s\n' "$1"
19
+ read -r -p " [Enter when done] " _
20
+ }
21
+
22
+ capture() {
23
+ local var="$1" question="$2" answer
24
+ printf '\n>>> %s\n' "$question"
25
+ read -r -p " > " answer
26
+ printf -v "$var" '%s' "$answer"
27
+ }
28
+
29
+ # --- edit below ---------------------------------------------------------
30
+
31
+ step "Open the app at http://localhost:3000 and sign in."
32
+
33
+ capture ERRORED "Click the 'Export' button. Did it throw an error? (y/n)"
34
+
35
+ capture ERROR_MSG "Paste the error message (or 'none'):"
36
+
37
+ # --- edit above ---------------------------------------------------------
38
+
39
+ printf '\n--- Captured ---\n'
40
+ printf 'ERRORED=%s\n' "$ERRORED"
41
+ printf 'ERROR_MSG=%s\n' "$ERROR_MSG"
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: "implementation-spec-maker"
3
+ description: "Turn an approved plan, implementation issue, contract-discovery task, or existing spec into the smallest deterministic implementation spec. Use when downstream coding needs an executable checklist with confirmed scope, targets, commands, contracts, validation, and review evidence; do not use for product discovery or implementation."
4
+ ---
5
+
6
+ # Implementation Spec Maker
7
+
8
+ Create or revise an execution-ready specification for a downstream coding agent. Do not implement code or reopen approved product scope.
9
+
10
+ ## Core Contract
11
+
12
+ - Treat the supplied plan, issue, discovery task, or existing spec as source authority.
13
+ - Preserve approved scope, exclusions, guardrails, rejected approaches, blockers, validation, and required docs.
14
+ - Confirm execution-critical facts from repository evidence or trusted external contracts. Never invent paths, symbols, commands, fixtures, env vars, schemas, ownership, or API behavior.
15
+ - Produce the smallest spec another agent can execute without guessing. Save a useful `blocked` spec when a material unknown cannot be resolved.
16
+ - Reference approved source content instead of repeating it; write only the missing execution delta.
17
+
18
+ ## Preflight
19
+
20
+ 1. Read the source authority, applicable repository instructions, and only the evidence needed to confirm targets, commands, contracts, consumers, fixtures, and validation.
21
+ 2. Reuse valid Evidence Maps and `$research` artifacts. Refresh only claims invalidated by changed files, versions, dates, contracts, or conflicts.
22
+ 3. Read the relevant section of [source modes](references/source-modes.md). Stop or mark the spec blocked when its source-specific requirements are not satisfied.
23
+ 4. Classify and record these independent facts:
24
+ - `spec_mode`: `compact | full` — document and coordination density.
25
+ - `implementation_size`: `small | medium | large` — expected delivery shape.
26
+ - `review_profile`: `simple | medium | high` — consequence and uncertainty,
27
+ resolved through the review loop owned by `$implementation-spec-review`.
28
+ - `expected_repositories`: exact positive integer from approved scope.
29
+
30
+ Do not infer one classification from another. For ticket work, `direct` returns
31
+ to `$tdd`, `compact spec` requests compact mode, and `standard spec` asks the
32
+ maker to choose the smallest deterministic shape. Start a standard ticket in
33
+ compact mode and expand to full only when repository evidence proves a concrete
34
+ ambiguity that compact form cannot remove safely.
35
+
36
+ ## Choose The Smallest Shape
37
+
38
+ Default to `compact`, including coherent high-risk or cross-repository work, when ownership, sequencing, stop conditions, and proof fit clearly.
39
+
40
+ Use `full` only when compact form would leave a concrete ambiguity in safety, contract, ownership, sequencing, validation, revision history, or multi-agent integration. Add only the conditional controls that resolve that ambiguity. Risk alone does not require a long document.
41
+
42
+ Keep `execution_model: "single-agent"` unless write scopes are perfectly disjoint and one integrator contract is necessary. Never assign overlapping ownership of files, schemas, generated artifacts, migrations, source-of-truth rules, or shared contracts.
43
+
44
+ ## Minimum Solution Gate
45
+
46
+ Before drafting slices:
47
+
48
+ 1. Reduce the approved outcome to required behavior, material invariants, and proof.
49
+ 2. State the direct `Minimum Solution` through existing owners, public seams, and repository patterns.
50
+ 3. Set `Added Complexity: None` unless the minimum solution cannot satisfy a named requirement or evidenced failure path.
51
+ 4. For every added mechanism, including a new service, helper, adapter, layer, schema object, transaction, retry policy, job, cache, flag, compatibility path, or coordination boundary, record the exact invariant or failure that requires it and what breaks without it.
52
+ 5. Run the deletion challenge: if removing a proposed mechanism still satisfies all approved behavior, invariants, and proof, remove it from the spec.
53
+
54
+ Judge simplicity by the fewest necessary concepts, owners, states, and integration points, not by line or file count. Do not require complexity scores or alternative-solution essays.
55
+
56
+ ## Draft The Execution Contract
57
+
58
+ Read [the spec template](references/spec-template.md) before drafting, then remove every unused placeholder and optional block.
59
+
60
+ - Name exact source material, approved scope, exclusions, preconditions, confirmed targets, commands, and observable done criteria.
61
+ - Organize behavior-changing work as narrow vertical slices. Start each slice with the first failing behavior test or exact observable proof, then implementation targets and a slice exit gate.
62
+ - For contract-heavy behavior, use `../../docs/agents/contract-test-ledger.md` and include only material invariants with their first RED test or proof.
63
+ - For UI/app-facing behavior, invoke `$ui-evidence-proof` and embed its task-specific workflow, expected screen state, viewport coverage, fresh artifacts, and criterion-to-artifact mapping in the relevant slice.
64
+ - State exact manual/live proof when automation is not applicable.
65
+ - Name one source of truth when behavior or data can drift. Reuse existing owners and public seams; invoke `$codebase-design` only when ownership or a public seam changes.
66
+ - Add task-specific review checkpoints only when a risky slice becomes stable before later work. Otherwise assign its mandatory lenses, applicable targeted recipes, and concrete bug classes to final review coverage.
67
+ - For medium-risk specs, rely on the normal concise `$spec-implementer` completion summary unless a task-specific deviation is needed. For high-risk specs, point `Final Handoff Requirements` to the extended `$spec-implementer` Final Risk Handoff and add only task-specific deviations; do not copy its field list.
68
+ - Keep optional cleanup, compatibility logic, feature flags, telemetry, rollout machinery, generic fallbacks, and speculative abstractions out of the spec unless source authority or a proven failure path requires them.
69
+
70
+ ## Review And Save
71
+
72
+ 1. Save the draft at `docs/implementation-specs/YYYY-MM-DD/HHMM-<slug>.md` with temporary `status: "draft"` and `review_outcome: "Pending"` so review applies to a stable artifact path without presenting it as approved.
73
+ 2. Read `../implementation-spec-review/references/review-loop.md` and invoke
74
+ `$implementation-spec-review` as its Adapter. Supply the saved spec, source
75
+ authority, approved decisions, and evidence; do not restate its topology or
76
+ defect lifecycle.
77
+ 3. Apply one consolidated, scope-preserving repair batch, then follow the owner
78
+ loop until it returns `Approved`, `Blocked`, or an eligible user-authorized
79
+ `Waived` outcome.
80
+ 4. A preflight-blocked spec may be saved with zero reviews and `review_verdict: "Not run"`. Never fabricate approval or use `Not required`.
81
+ 5. Replace temporary lifecycle metadata with outcome, last Adapter verdict,
82
+ mandatory coverage, accepted risks, and open stable IDs. Keep pass/session
83
+ counts only for high, Closure, or interrupted review. Any substantive
84
+ post-approval edit invalidates approval until reviewed again.
85
+
86
+ ## Final Response
87
+
88
+ Return only:
89
+
90
+ ```text
91
+ Spec Status: Ready | Blocked
92
+ Saved Path: <path>
93
+ Execution: <single-agent | multi-agent>; <compact | full>; <small | medium | large>; <n> repository/repositories
94
+ Review: <Approved | Blocked | Waived>; <simple | medium | high>; <coverage or gaps>
95
+ Adapter Verdict: <Approved | Needs Work | Rejected | Not run>
96
+ Verified Defects: <stable IDs or None>
97
+ Accepted Risks: <stable IDs, authority, and reason or None>
98
+ Open Defects: <stable IDs or None>
99
+ Blockers: <unresolved blockers or None>
100
+ ```
101
+
102
+ Do not repeat the specification or downstream implementation/signoff procedure in chat.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "Implementation Spec Maker"
3
+ short_description: "Create lean deterministic implementation specs"
4
+ default_prompt: "Use $implementation-spec-maker to create the smallest deterministic spec while classifying document mode, implementation size, repository count, and review risk independently."
5
+ policy:
6
+ allow_implicit_invocation: true
@@ -0,0 +1,31 @@
1
+ # Source Modes
2
+
3
+ Read the section matching the active source. Apply the common source-authority and evidence rules from `SKILL.md` in every mode.
4
+
5
+ ## Plan-Based
6
+
7
+ - Treat the approved plan as architectural authority.
8
+ - Preserve its scope, vertical-slice boundaries, guardrails, rejected paths, required docs, validation, and blocking assumptions.
9
+ - Block when missing guardrails would let implementation drift or require redesign.
10
+
11
+ ## Issue-Based
12
+
13
+ - Treat one issue's acceptance criteria as the execution contract; parent material supplies product context, not sibling-ticket authority.
14
+ - Read comments for changed decisions, blockers, credentials, external contracts, live prerequisites, and rejected approaches.
15
+ - Preserve relevant `Implementation preparation`, `External contracts`, `Verification`, and `Blocked by` content.
16
+ - Use `source_type: "issue"` when no plan exists. Do not block merely because `source_plan` is absent.
17
+ - Block when acceptance criteria are ambiguous, non-verifiable, or contradicted by repository evidence.
18
+
19
+ ## Contract Discovery
20
+
21
+ - Specify discovery only: exact sources/tools to inspect, evidence to collect, decision record to update, and issue fields/comments to update.
22
+ - Confirm the API surface, auth/secret source, license or terms constraints, acquisition path, deterministic fixture strategy, live-validation prerequisite, and rejected acquisition paths that matter to later implementation.
23
+ - Do not include downstream implementation slices while material external behavior remains unconfirmed.
24
+
25
+ ## Revision
26
+
27
+ - Reconcile the entire existing spec against new authority and current repository evidence.
28
+ - Preserve still-valid completed `[x]` items exactly.
29
+ - Reopen invalid completed items to `[ ]` and add a short `Revision Note:` with evidence.
30
+ - Never silently delete progress or defect history.
31
+ - Mark the spec blocked when completed history or its contract ledger cannot be trusted.
@@ -0,0 +1,146 @@
1
+ # Implementation Spec Template
2
+
3
+ Use the base template for every spec. Add conditional blocks only when their trigger applies, and remove every instruction or placeholder before review.
4
+
5
+ ## Base Template
6
+
7
+ ```markdown
8
+ ---
9
+ title: "<title>"
10
+ created_at: "<ISO timestamp>"
11
+ source_type: "plan | issue | contract-discovery | revised-spec"
12
+ source_plan: "<absolute path or None>"
13
+ source_issues:
14
+ - "<URL/reference or None>"
15
+ status: "draft | ready | blocked"
16
+ execution_model: "single-agent | multi-agent"
17
+ spec_mode: "compact | full"
18
+ implementation_size: "small | medium | large"
19
+ expected_repositories: <positive integer>
20
+ review_profile: "simple | medium | high"
21
+ review_reasons:
22
+ - "<signal: evidence>"
23
+ review_outcome: "Pending"
24
+ review_verdict: "Not run"
25
+ review_coverage: "Not reviewed"
26
+ review_passes: "0"
27
+ ---
28
+
29
+ ## 1. Execution Context
30
+ - **Goal:** <one observable outcome>
31
+ - **Source Material:** <exact references>
32
+ - **Approved Scope:** <strict allowed work>
33
+ - **Out of Scope:** <explicit exclusions or None>
34
+ - **Minimum Solution:** <direct path through existing owners and public seams>
35
+ - **Added Complexity:** None | <repeat one entry per mechanism: `<mechanism>` — required for `<invariant or evidenced failure>`; without it `<concrete breakage>`>
36
+ - **Primary Risk:** <main correctness or coordination risk>
37
+
38
+ ## 2. Preconditions And Evidence
39
+ - **Required Services / Env / Fixtures:** <exact requirements or None>
40
+ - **Blocking Unknowns:** <exact unknowns when blocked, otherwise None>
41
+ - **Confirmed Targets:** <minimal evidence-backed paths and symbols>
42
+ - **Confirmed Commands:** <exact commands>
43
+ - **Protected Paths / Rejected Approaches:** <items or None>
44
+ - **Source of Truth:** <existing owner whenever behavior/data can drift; otherwise omit>
45
+ - **New Boundaries:** <only when ownership or a public seam changes; otherwise omit>
46
+
47
+ ## 3. Execution Slices
48
+
49
+ ### Slice 1 — <narrow end-to-end behavior>
50
+ - [ ] **Test/Proof First:** <failing behavior test or exact observable proof>
51
+ - [ ] **Target:** `<exact/path:symbol>` — <specific action>
52
+ - [ ] **Validation:** <target-level check>
53
+ - [ ] **Exit Gate:** <command or proof that the slice works end-to-end>
54
+
55
+ <repeat only for independently verifiable behavior slices>
56
+
57
+ ## 4. Validation And Done Criteria
58
+ - [ ] **Lint/Format:** <exact command or Not applicable with reason>
59
+ - [ ] **Typecheck/Build:** <exact command or Not applicable with reason>
60
+ - [ ] **Tests:** <exact command or Not applicable with reason>
61
+ - [ ] **Architecture Check:** <exact command or Not applicable with reason>
62
+ - [ ] **Live/Manual Proof:** <exact flow or Not applicable with reason>
63
+ - [ ] **Behavior Proof:** <observable acceptance proof>
64
+ - [ ] **Reconciliation:** every unchecked item is unfinished, blocked with evidence, or intentionally not applicable.
65
+ - [ ] **Final Handoff Requirements:** <high only: extended `$spec-implementer` Final Risk Handoff plus task-specific deviations; omit for ordinary medium work>
66
+ ```
67
+
68
+ ## Conditional Blocks
69
+
70
+ ### Contract Test Ledger
71
+
72
+ Add for contract-heavy behavior using the shared Contract Test Ledger referenced by `SKILL.md`. Keep one row per material invariant and place it before execution slices.
73
+
74
+ ### Review Checkpoint And Focus
75
+
76
+ Add a checkpoint only when the risky target becomes stable before later slices. Otherwise put this compact block in final review coverage:
77
+
78
+ ```markdown
79
+ ## Review Focus
80
+ - **Mandatory Lenses:** <applicable lenses>
81
+ - **Targeted Recipes:** <applicable recipes or None>
82
+ - **Bug Classes:** <concrete failures to hunt>
83
+ ```
84
+
85
+ ### Risk Controls
86
+
87
+ Add in `full` mode only for applicable ambiguity:
88
+
89
+ ```markdown
90
+ ## Risk Controls
91
+ - **Source of Truth:** <owner>
92
+ - **Safety / Contract / State Constraints:** <only applicable constraints>
93
+ - **Forbidden Scope:** <tempting but rejected paths>
94
+ - **Review Timing:** <stable early checkpoint or concrete final-review focus>
95
+ ```
96
+
97
+ ### Write Scope Summary
98
+
99
+ Add for multi-agent work, generated artifacts, broad runtime changes, or when phase targets do not make the write set auditable.
100
+
101
+ ```markdown
102
+ ## Write Scope Summary
103
+ - `<path>` — <Create | Update | Delete>; <responsibility>
104
+ ```
105
+
106
+ ### Integrator Coordination Contract
107
+
108
+ Require only when `execution_model: "multi-agent"`:
109
+
110
+ ```markdown
111
+ ## Integrator Coordination Contract
112
+ | Agent | Exclusive Write Scope | Handoff | Merge Phase |
113
+ | --- | --- | --- | --- |
114
+ | <agent> | <disjoint paths> | <artifact> | <order> |
115
+
116
+ - **Integrator Owner:** <owner>
117
+ - **Forbidden Overlap:** <paths/contracts>
118
+ - **Final Duties:** <integration, validation, reconciliation>
119
+ ```
120
+
121
+ ### Halt Conditions
122
+
123
+ Add only when the common contradiction/guessing stop rule is insufficient. Use 3–6 task-specific conditions.
124
+
125
+ ### Defect Closure Notes
126
+
127
+ Add only when review returns defects:
128
+
129
+ ```markdown
130
+ ## Defect Closure Notes
131
+ - **Review Summary:** <pass counts and coverage>
132
+ - **Verified Defects:** <stable IDs or None>
133
+ - **Accepted Risks:** <stable IDs, authority, and reason or None>
134
+ - **Open Defects:** <stable IDs or None>
135
+ ```
136
+
137
+ ## Terminal Review Metadata
138
+
139
+ Replace the temporary frontmatter values after the owner review loop returns a real terminal outcome:
140
+
141
+ ```yaml
142
+ review_outcome: "Approved | Blocked | Waived"
143
+ review_verdict: "Approved | Needs Work | Rejected | Not run"
144
+ review_coverage: "<covered lenses or Not reviewed>"
145
+ review_passes: "<total; full/closure/fresh counts>"
146
+ ```
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: "implementation-spec-review"
3
+ description: "Review compact or full implementation specs for deterministic executability, proportional scope, validation coverage, safety, and zero-guess execution before coding starts."
4
+ ---
5
+
6
+ # Implementation Spec Review
7
+
8
+ Decide whether a saved implementation spec can be executed safely without
9
+ guessing. Review execution quality, not the product idea. Do not rewrite the
10
+ spec unless explicitly asked.
11
+
12
+ Read:
13
+
14
+ - `references/review-loop.md` when called by `$implementation-spec-maker`;
15
+ - `../../docs/agents/confidence-rubric.md` for defect confidence;
16
+ - `../../docs/agents/contract-test-ledger.md` only when the spec changes a
17
+ material behavior contract.
18
+
19
+ ## Independent Dimensions
20
+
21
+ Keep these classifications independent:
22
+
23
+ - `spec_mode: compact | full` — document/coordination density;
24
+ - `implementation_size: small | medium | large` — delivery shape;
25
+ - `review_profile: simple | medium | high` — consequence and uncertainty;
26
+ - `expected_repositories` — approved repository count.
27
+
28
+ Compact may describe broad or high-risk work when ownership, sequencing, and
29
+ proof remain deterministic. Full is justified only when concrete coordination,
30
+ contract, safety, ownership, or validation ambiguity cannot fit clearly in the
31
+ compact form. Never request full-mode tables or ceremony merely from size or
32
+ risk labels.
33
+
34
+ ## Adapter Contract
35
+
36
+ When called by the maker, use the mode and lenses supplied by
37
+ `references/review-loop.md`, reuse supplied defect IDs, and return actual
38
+ coverage. A reviewer child executes this Adapter inline and never spawns a
39
+ grandchild. If root receives a direct review request, it launches the
40
+ profile-selected reviewer instead of self-reviewing.
41
+
42
+ A standalone reviewer performs one bounded Full over all applicable lenses and
43
+ returns only `Approved | Needs Work | Rejected`; it does not invent owner state
44
+ or claim Closure.
45
+
46
+ ## Review Lenses
47
+
48
+ Scale depth to the profile and inspect only applicable lenses:
49
+
50
+ - **Determinism and evidence:** execution-critical paths, symbols, commands,
51
+ contracts, fixtures, and claims are confirmed rather than invented.
52
+ - **Scope and minimum solution:** the spec preserves approved scope, uses
53
+ existing owners/seams, and ties every added mechanism to a requirement or
54
+ concrete failure path.
55
+ - **Sequencing and ownership:** phases are safe, sources of truth are explicit
56
+ where drift is possible, and multi-agent write scopes are disjoint.
57
+ - **Validation:** each behavior has an observable proof; contract-risk work maps
58
+ each material invariant to its first failing test or exact blocked proof.
59
+ - **Preconditions and stop conditions:** required services, data, env, fixtures,
60
+ and destructive/sensitive constraints are explicit when applicable.
61
+ - **Review focus:** ordinary work relies on one final review; only an explicit
62
+ stable high-risk slice gets an intermediate checkpoint.
63
+ - **Revision integrity:** current content matches its authority and preserves
64
+ still-valid completed work.
65
+ - **Completion:** another agent can tell what to do, what proves success, when
66
+ to stop, and what remains blocked.
67
+
68
+ ## Proportional Expectations
69
+
70
+ Approve a compact spec when targets, ordered work, observable proof, and stop
71
+ conditions are exact enough for the task. Do not require source-of-truth tables,
72
+ file matrices, long halt lists, multi-agent contracts, or defect sections when
73
+ no concrete ambiguity needs them.
74
+
75
+ A lean full spec normally adds only applicable `Risk Controls`, exact phase
76
+ targets/proof, and—when needed—write-scope or integrator coordination. Missing
77
+ ownership, validation, safety, or handoff detail is a defect; missing formatting
78
+ ceremony is not.
79
+
80
+ Prefer deleting or narrowing an unsafe proposal before adding flags, telemetry,
81
+ fallbacks, compatibility paths, or rollout machinery. Optional improvements
82
+ remain optional unless source authority approves them.
83
+
84
+ ## Defects And Decision
85
+
86
+ - **Blocker:** unsafe or impossible to execute as written.
87
+ - **Execution risk:** executable but likely to drift or require rework.
88
+ - **Improvement:** useful but not required for safe execution.
89
+
90
+ Reject exact-looking but ungrounded paths/contracts, unresolved placeholders or
91
+ alternative commands, validation that cannot prove the intended behavior,
92
+ overlapping multi-agent ownership, missing material safety constraints, or any
93
+ step that requires invention.
94
+
95
+ Use:
96
+
97
+ - `Approved` when the current spec is deterministic, bounded, proportional, and
98
+ executable without guessing;
99
+ - `Needs Work` for repairable ambiguity, weak proof, or excess ceremony;
100
+ - `Rejected` when execution would be unsafe or depend on invented decisions.
101
+
102
+ ## Output
103
+
104
+ Answer in Russian and keep technical terms in English. Return:
105
+
106
+ 1. `Вердикт` and one-sentence reason.
107
+ 2. `Режим и покрытие` with Full/Closure and actual lenses.
108
+ 3. Short `Determinism / Evidence / Validation / Safety` scores from 0 to 2.
109
+ 4. Evidence-backed defects first, with supplied ID or `NEW-<LENS>-NN`, class,
110
+ confidence, failure, evidence, smallest repair, and affected section.
111
+ 5. Exact changes needed before execution, or `Ничего`.
112
+ 6. Only genuinely blocking questions, or `Нет`.
113
+
114
+ Do not repeat the spec, propose broad redesign, or turn optional cleanup into a
115
+ mandatory gate.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "Implementation Spec Review"
3
+ short_description: "Review one implementation spec"
4
+ default_prompt: "Review the supplied spec through the assigned package-owned operation and return its exact JSON report."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,24 @@
1
+ {
2
+ "schema_version": 1,
3
+ "skill": "implementation-spec-review",
4
+ "cases": [
5
+ {
6
+ "id": "artifact-profile-by-consequence",
7
+ "prompt": "Review one broad but reversible spec and one narrow spec with irreversible data impact and unclear recovery ownership.",
8
+ "expected": ["broad reversible may remain medium", "narrow dangerous uncertain spec is high"],
9
+ "forbidden": ["classify from file count or spec mode"]
10
+ },
11
+ {
12
+ "id": "artifact-scope-conservation",
13
+ "prompt": "A review can repair the spec either by deleting an unnecessary mechanism or by adding flags, telemetry, and fallback infrastructure.",
14
+ "expected": ["prefer the smallest scope-preserving repair"],
15
+ "forbidden": ["add unapproved operational machinery"]
16
+ },
17
+ {
18
+ "id": "artifact-approval-invalidation",
19
+ "prompt": "An approved spec receives a substantive execution change after review.",
20
+ "expected": ["invalidate approval for the changed revision", "review only invalidated coverage"],
21
+ "forbidden": ["execute under stale approval", "restart unrelated coverage"]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,93 @@
1
+ # Implementation Spec Review Loop
2
+
3
+ This reference owns review orchestration for specs created by
4
+ `implementation-spec-maker`. Read it when the maker requests artifact review.
5
+ The reviewer skill remains the Adapter; the shared review mechanics live in
6
+ `../../../docs/agents/review-protocol.md`.
7
+
8
+ ## Contract
9
+
10
+ Input:
11
+
12
+ - saved spec and pinned revision;
13
+ - source authority and approved decisions;
14
+ - evidence needed to verify execution claims;
15
+ - optional user-raised review profile.
16
+
17
+ Output:
18
+
19
+ - `outcome: Approved | Blocked | Waived`;
20
+ - `adapter_verdict: Approved | Needs Work | Rejected | Not run`;
21
+ - `review_profile: simple | medium | high` and evidence-backed reasons;
22
+ - mandatory-lens coverage and unresolved defects.
23
+
24
+ The Adapter returns only its verdict. The root maps preflight, convergence, and
25
+ waiver state to the artifact outcome.
26
+
27
+ ## Preflight And Profile
28
+
29
+ Before launching a reviewer, confirm source authority, approved scope, current
30
+ spec revision, and mandatory external evidence. Save a useful blocked spec when
31
+ a product or contract decision is missing; do not launch review to discover a
32
+ known authority gap.
33
+
34
+ `medium` is the default. Use:
35
+
36
+ - `simple` for one narrow owner with direct proof and no material uncertainty;
37
+ - `medium` for all ordinary specs, including multi-file, API, persistence, or
38
+ stateful work with clear ownership and bounded proof;
39
+ - `high` only when a sensitive mechanism has both a material failure
40
+ consequence and an uncertainty amplifier such as unclear ownership,
41
+ cross-trust effects, non-local recovery, or an unproven external contract.
42
+
43
+ File count and implementation size never select `high`. The user may raise but
44
+ not lower an evidence-backed profile.
45
+
46
+ ## Scope And Capsule
47
+
48
+ Review the smallest approved solution. Risk may strengthen proof but does not
49
+ authorize flags, telemetry, compatibility paths, generic fallbacks, or rollout
50
+ machinery unless the source or a concrete failure requires them.
51
+
52
+ Give each reviewer a bounded capsule containing the current spec, authority,
53
+ approved scope, evidence, review question, assigned lenses, and current defect
54
+ records. For Closure also include the repaired sections and affected contracts.
55
+ Do not pass raw parent history or unrelated inventories.
56
+
57
+ ## Topology
58
+
59
+ - `simple`: one `reviewer_fast`, one bounded Full.
60
+ - `medium`: one `reviewer_standard`, one bounded Full.
61
+ - `high`: two parallel `reviewer_deep` sessions with disjoint primary lenses:
62
+ Architecture/Execution and Failure/Contracts.
63
+
64
+ Root launches and aggregates reviewers. A reviewer child runs the
65
+ `implementation-spec-review` Adapter inline and never spawns another reviewer.
66
+ Reuse valid coverage for the same revision and question.
67
+
68
+ After one consolidated repair, coordinator verification is enough for ordinary
69
+ medium/low findings. Use shared-protocol Closure only for critical/high defects,
70
+ protected trust/data/concurrency/shared-contract impact, or invalidated
71
+ mandatory coverage. A substantive rewrite gets a new Full only when it
72
+ invalidates existing mandatory lenses.
73
+
74
+ ## Approval
75
+
76
+ Return `Approved` only when the current saved revision matches source authority,
77
+ mandatory lenses are covered, and every blocking defect is verified. Any
78
+ substantive edit invalidates approval; lifecycle metadata alone does not.
79
+
80
+ Return `Blocked` when authority/evidence is missing, repair needs a product or
81
+ ownership decision, no substantive repair exists, or shared no-progress rules
82
+ apply. Return `Waived` only after explicit user instruction and keep skipped
83
+ coverage visible; an open blocker still maps the artifact to `Blocked`.
84
+
85
+ Map outcomes to spec status:
86
+
87
+ - `Approved` -> `ready`;
88
+ - `Blocked` -> `blocked`;
89
+ - eligible `Waived` -> `ready` with visible waiver metadata.
90
+
91
+ Report profile, outcome, Adapter verdict, mandatory coverage, verified/open
92
+ defects, and skipped checks. Do not report counters or session history for a
93
+ normal one-review flow.