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.
- package/CHANGELOG.md +44 -426
- package/README.md +135 -34
- package/dist/src/index.d.ts +11 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/v2/acceptance-proof.d.ts +3 -0
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
- package/dist/src/v2/acceptance-proof.js +2 -8
- package/dist/src/v2/acceptance-proof.js.map +1 -1
- package/dist/src/v2/adapters/gh-issue-adapter.d.ts +5 -3
- package/dist/src/v2/adapters/gh-issue-adapter.d.ts.map +1 -1
- package/dist/src/v2/adapters/gh-issue-adapter.js +67 -12
- package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -1
- package/dist/src/v2/adapters/issues.d.ts +16 -2
- package/dist/src/v2/adapters/issues.d.ts.map +1 -1
- package/dist/src/v2/adapters/issues.js +15 -5
- package/dist/src/v2/adapters/issues.js.map +1 -1
- package/dist/src/v2/adapters/mission-coordinator-lock.d.ts +1 -0
- package/dist/src/v2/adapters/mission-coordinator-lock.d.ts.map +1 -1
- package/dist/src/v2/adapters/mission-coordinator-lock.js +5 -1
- package/dist/src/v2/adapters/mission-coordinator-lock.js.map +1 -1
- package/dist/src/v2/cli-contract.d.ts +3 -3
- package/dist/src/v2/cli-contract.d.ts.map +1 -1
- package/dist/src/v2/cli-contract.js +9 -1
- package/dist/src/v2/cli-contract.js.map +1 -1
- package/dist/src/v2/cli.d.ts +24 -0
- package/dist/src/v2/cli.d.ts.map +1 -0
- package/dist/src/v2/{candidate-cli.js → cli.js} +30 -26
- package/dist/src/v2/cli.js.map +1 -0
- package/dist/src/v2/code-review-report.d.ts +66 -0
- package/dist/src/v2/code-review-report.d.ts.map +1 -0
- package/dist/src/v2/code-review-report.js +259 -0
- package/dist/src/v2/code-review-report.js.map +1 -0
- package/dist/src/v2/codex-process.d.ts +8 -1
- package/dist/src/v2/codex-process.d.ts.map +1 -1
- package/dist/src/v2/codex-process.js +22 -0
- package/dist/src/v2/codex-process.js.map +1 -1
- package/dist/src/v2/config.d.ts +4 -3
- package/dist/src/v2/config.d.ts.map +1 -1
- package/dist/src/v2/config.js +8 -3
- package/dist/src/v2/config.js.map +1 -1
- package/dist/src/v2/contained-report-operation.d.ts +100 -0
- package/dist/src/v2/contained-report-operation.d.ts.map +1 -0
- package/dist/src/v2/contained-report-operation.js +200 -0
- package/dist/src/v2/contained-report-operation.js.map +1 -0
- package/dist/src/v2/containment.d.ts +10 -0
- package/dist/src/v2/containment.d.ts.map +1 -1
- package/dist/src/v2/containment.js +49 -1
- package/dist/src/v2/containment.js.map +1 -1
- package/dist/src/v2/direct-delivery.d.ts +96 -0
- package/dist/src/v2/direct-delivery.d.ts.map +1 -0
- package/dist/src/v2/direct-delivery.js +482 -0
- package/dist/src/v2/direct-delivery.js.map +1 -0
- package/dist/src/v2/immutable-workflow-publisher.d.ts +40 -0
- package/dist/src/v2/immutable-workflow-publisher.d.ts.map +1 -0
- package/dist/src/v2/immutable-workflow-publisher.js +218 -0
- package/dist/src/v2/immutable-workflow-publisher.js.map +1 -0
- package/dist/src/v2/implementation-reviewer.d.ts +81 -0
- package/dist/src/v2/implementation-reviewer.d.ts.map +1 -0
- package/dist/src/v2/implementation-reviewer.js +157 -0
- package/dist/src/v2/implementation-reviewer.js.map +1 -0
- package/dist/src/v2/owner-control-lock.d.ts +41 -0
- package/dist/src/v2/owner-control-lock.d.ts.map +1 -0
- package/dist/src/v2/owner-control-lock.js +174 -0
- package/dist/src/v2/owner-control-lock.js.map +1 -0
- package/dist/src/v2/proof-report.d.ts.map +1 -1
- package/dist/src/v2/proof-report.js +55 -29
- package/dist/src/v2/proof-report.js.map +1 -1
- package/dist/src/v2/route-continuations.d.ts +32 -0
- package/dist/src/v2/route-continuations.d.ts.map +1 -0
- package/dist/src/v2/route-continuations.js +2 -0
- package/dist/src/v2/route-continuations.js.map +1 -0
- package/dist/src/v2/route-coordinator.d.ts +77 -0
- package/dist/src/v2/route-coordinator.d.ts.map +1 -0
- package/dist/src/v2/route-coordinator.js +370 -0
- package/dist/src/v2/route-coordinator.js.map +1 -0
- package/dist/src/v2/route-decision.d.ts +129 -0
- package/dist/src/v2/route-decision.d.ts.map +1 -0
- package/dist/src/v2/route-decision.js +400 -0
- package/dist/src/v2/route-decision.js.map +1 -0
- package/dist/src/v2/run-issue.d.ts +64 -6
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +962 -92
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/run-store.d.ts +25 -1
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +129 -4
- package/dist/src/v2/run-store.js.map +1 -1
- package/dist/src/v2/runtime-assets.d.ts +15 -13
- package/dist/src/v2/runtime-assets.d.ts.map +1 -1
- package/dist/src/v2/runtime-assets.js +263 -416
- package/dist/src/v2/runtime-assets.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +17 -9
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +564 -64
- package/dist/src/v2/runtime.js.map +1 -1
- package/dist/src/v2/setup-cli.d.ts.map +1 -1
- package/dist/src/v2/setup-cli.js +4 -10
- package/dist/src/v2/setup-cli.js.map +1 -1
- package/dist/src/v2/setup-runtime.d.ts.map +1 -1
- package/dist/src/v2/setup-runtime.js +19 -131
- package/dist/src/v2/setup-runtime.js.map +1 -1
- package/dist/src/v2/setup-store.d.ts +0 -5
- package/dist/src/v2/setup-store.d.ts.map +1 -1
- package/dist/src/v2/setup-store.js +3 -106
- package/dist/src/v2/setup-store.js.map +1 -1
- package/dist/src/v2/setup.d.ts +6 -43
- package/dist/src/v2/setup.d.ts.map +1 -1
- package/dist/src/v2/setup.js +13 -192
- package/dist/src/v2/setup.js.map +1 -1
- package/dist/src/v2/spec-coordinator.d.ts +85 -0
- package/dist/src/v2/spec-coordinator.d.ts.map +1 -0
- package/dist/src/v2/spec-coordinator.js +88 -0
- package/dist/src/v2/spec-coordinator.js.map +1 -0
- package/dist/src/v2/spec-delivery.d.ts +143 -0
- package/dist/src/v2/spec-delivery.d.ts.map +1 -0
- package/dist/src/v2/spec-delivery.js +401 -0
- package/dist/src/v2/spec-delivery.js.map +1 -0
- package/dist/src/v2/triage-route.d.ts +68 -0
- package/dist/src/v2/triage-route.d.ts.map +1 -0
- package/dist/src/v2/triage-route.js +223 -0
- package/dist/src/v2/triage-route.js.map +1 -0
- package/dist/src/v2/waiting-human-coordinator.d.ts +49 -0
- package/dist/src/v2/waiting-human-coordinator.d.ts.map +1 -0
- package/dist/src/v2/waiting-human-coordinator.js +509 -0
- package/dist/src/v2/waiting-human-coordinator.js.map +1 -0
- package/dist/src/v2/waiting-human.d.ts +143 -0
- package/dist/src/v2/waiting-human.d.ts.map +1 -0
- package/dist/src/v2/waiting-human.js +408 -0
- package/dist/src/v2/waiting-human.js.map +1 -0
- package/dist/src/v2/workflow-assets.d.ts +98 -0
- package/dist/src/v2/workflow-assets.d.ts.map +1 -0
- package/dist/src/v2/workflow-assets.js +646 -0
- package/dist/src/v2/workflow-assets.js.map +1 -0
- package/docs/deep-dive.md +275 -52
- package/internal-workflow/docs/agents/bug-workflow-routing.md +24 -0
- package/internal-workflow/docs/agents/bugfix-quality-gate.md +11 -0
- package/internal-workflow/docs/agents/coding-skill-routing.md +123 -0
- package/internal-workflow/docs/agents/confidence-rubric.md +65 -0
- package/internal-workflow/docs/agents/contract-test-ledger.md +60 -0
- package/internal-workflow/docs/agents/review-gates.md +42 -0
- package/internal-workflow/docs/agents/review-protocol.md +98 -0
- package/internal-workflow/docs/agents/tool-usage.md +88 -0
- package/internal-workflow/evals/coding-skill-evals.json +66 -0
- package/internal-workflow/manifest.json +1 -0
- package/internal-workflow/operations/acceptance-proof/SKILL.md +9 -0
- package/internal-workflow/operations/ambiguity-review/SKILL.md +5 -0
- package/internal-workflow/operations/code-review/SKILL.md +23 -0
- package/internal-workflow/operations/implementation/SKILL.md +24 -0
- package/internal-workflow/operations/spec-author/SKILL.md +12 -0
- package/internal-workflow/operations/spec-review/SKILL.md +12 -0
- package/internal-workflow/operations/triage/SKILL.md +12 -0
- package/internal-workflow/profiles/analyst_deep.toml +9 -0
- package/internal-workflow/profiles/implementer_standard.toml +9 -0
- package/internal-workflow/profiles/proof_agent.toml +8 -0
- package/internal-workflow/profiles/reviewer_deep.toml +9 -0
- package/internal-workflow/profiles/reviewer_standard.toml +9 -0
- package/internal-workflow/schemas/ambiguity-review-v1.json +1 -0
- package/internal-workflow/schemas/code-review-v1.json +1 -0
- package/internal-workflow/schemas/implementation-report-v1.json +1 -0
- package/internal-workflow/schemas/proof-report-v1.json +1 -0
- package/internal-workflow/schemas/spec-author-v1.json +1 -0
- package/internal-workflow/schemas/spec-review-v1.json +30 -0
- package/internal-workflow/schemas/triage-route-v1.json +1 -0
- package/internal-workflow/skills/acceptance-proof/agents/openai.yaml +6 -0
- package/{internal-skills → internal-workflow/skills}/agent-auto/SKILL.md +6 -1
- package/internal-workflow/skills/agent-auto/agents/openai.yaml +6 -0
- package/internal-workflow/skills/code-debugger/SKILL.md +122 -0
- package/internal-workflow/skills/code-debugger/agents/openai.yaml +7 -0
- package/internal-workflow/skills/code-review/SKILL.md +279 -0
- package/internal-workflow/skills/code-review/agents/openai.yaml +4 -0
- package/internal-workflow/skills/code-review/references/bug-classes.md +56 -0
- package/internal-workflow/skills/code-review/references/cleanup-lens.md +52 -0
- package/internal-workflow/skills/code-review/references/framework-lenses.md +34 -0
- package/internal-workflow/skills/code-review/references/targeted-recipes.md +49 -0
- package/internal-workflow/skills/diagnosing-bugs/SKILL.md +138 -0
- package/internal-workflow/skills/diagnosing-bugs/agents/openai.yaml +6 -0
- package/internal-workflow/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/internal-workflow/skills/implementation-spec-maker/SKILL.md +102 -0
- package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +6 -0
- package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +31 -0
- package/internal-workflow/skills/implementation-spec-maker/references/spec-template.md +146 -0
- package/internal-workflow/skills/implementation-spec-review/SKILL.md +115 -0
- package/internal-workflow/skills/implementation-spec-review/agents/openai.yaml +6 -0
- package/internal-workflow/skills/implementation-spec-review/evals/evals.json +24 -0
- package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +93 -0
- package/internal-workflow/skills/small-task-implementer/SKILL.md +104 -0
- package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +6 -0
- package/internal-workflow/skills/spec-implementer/SKILL.md +126 -0
- package/internal-workflow/skills/spec-implementer/agents/openai.yaml +6 -0
- package/internal-workflow/skills/spec-implementer/evals/evals.json +30 -0
- package/internal-workflow/skills/spec-implementer/references/review-loop.md +94 -0
- package/internal-workflow/skills/tdd/SKILL.md +72 -0
- package/internal-workflow/skills/tdd/agents/openai.yaml +6 -0
- package/internal-workflow/skills/tdd/interface-design.md +31 -0
- package/internal-workflow/skills/tdd/mocking.md +59 -0
- package/internal-workflow/skills/tdd/refactoring.md +10 -0
- package/internal-workflow/skills/tdd/tests.md +77 -0
- package/internal-workflow/skills/triage/AGENT-BRIEF.md +192 -0
- package/internal-workflow/skills/triage/OUT-OF-SCOPE.md +101 -0
- package/internal-workflow/skills/triage/SKILL.md +134 -0
- package/internal-workflow/skills/triage/agents/openai.yaml +6 -0
- package/package.json +14 -8
- package/dist/src/v2/adapters/target-activity-fence.d.ts +0 -23
- package/dist/src/v2/adapters/target-activity-fence.d.ts.map +0 -1
- package/dist/src/v2/adapters/target-activity-fence.js +0 -249
- package/dist/src/v2/adapters/target-activity-fence.js.map +0 -1
- package/dist/src/v2/candidate-cli.d.ts +0 -22
- package/dist/src/v2/candidate-cli.d.ts.map +0 -1
- package/dist/src/v2/candidate-cli.js.map +0 -1
- package/dist/src/v2/legacy-cutover.d.ts +0 -52
- package/dist/src/v2/legacy-cutover.d.ts.map +0 -1
- package/dist/src/v2/legacy-cutover.js +0 -87
- package/dist/src/v2/legacy-cutover.js.map +0 -1
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/SKILL.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/android.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/browser.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/ios.md +0 -0
- /package/{internal-skills → internal-workflow/skills}/acceptance-proof/tools/android-lease.mjs +0 -0
- /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.
|