@azure-id/orc 1.9.1 → 2.0.2
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 +390 -0
- package/README-id.md +20 -36
- package/README.md +24 -34
- package/bin/build-agents.js +206 -109
- package/bin/cli.js +760 -62
- package/bin/gotcha-import.js +1081 -0
- package/bin/gotcha.js +1286 -0
- package/bin/graph-query.js +1 -1
- package/bin/graph.js +717 -717
- package/bin/habit.js +1453 -0
- package/bin/mockrun-catalog.js +281 -276
- package/bin/onboarding-content.js +4 -4
- package/bin/pricing.json +207 -200
- package/bin/run-undo.js +398 -0
- package/bin/trace-write.js +657 -0
- package/bin/verify-contracts.js +527 -81
- package/bin/verify-package.js +58 -11
- package/bin/webui/api.js +26 -0
- package/bin/webui/app.html +239 -232
- package/bin/webui/css/00-tokens.css +110 -92
- package/bin/webui/css/04-motion.css +249 -152
- package/bin/webui/css/06-responsive.css +203 -178
- package/bin/webui/css/panels/behaviour.css +205 -0
- package/bin/webui/css/panels/knowledge.css +563 -116
- package/bin/webui/fixtures/behaviour.js +532 -0
- package/bin/webui/fixtures/extra.js +2036 -2036
- package/bin/webui/fixtures/hookui.js +5 -5
- package/bin/webui/fixtures/index.js +34 -0
- package/bin/webui/fixtures/knowledge.js +7 -1
- package/bin/webui/fixtures/settings.js +305 -305
- package/bin/webui/fixtures/stats.js +16 -0
- package/bin/webui/i18n/en/behaviour.json +143 -0
- package/bin/webui/i18n/en/knowledge.json +117 -2
- package/bin/webui/i18n/en/nav.json +25 -24
- package/bin/webui/i18n/en/tour.json +37 -35
- package/bin/webui/i18n/id/behaviour.json +143 -0
- package/bin/webui/i18n/id/knowledge.json +117 -2
- package/bin/webui/i18n/id/nav.json +25 -24
- package/bin/webui/i18n/id/tour.json +37 -35
- package/bin/webui/js/01-i18n.js +155 -154
- package/bin/webui/js/90-tour.js +498 -494
- package/bin/webui/js/91-shortcuts.js +126 -126
- package/bin/webui/js/99-boot.js +121 -118
- package/bin/webui/js/panels/behaviour.js +1022 -0
- package/bin/webui/js/panels/knowledge.js +552 -7
- package/bin/webui/js/panels/overview.js +13 -4
- package/mock-run/INDEX.md +109 -107
- package/mock-run/context-combiner.md +100 -100
- package/mock-run/gotcha-import.md +118 -0
- package/mock-run/habits.md +129 -0
- package/mock-run/orc-budget.md +534 -534
- package/mock-run/orc-challenge-council.md +262 -262
- package/mock-run/orc-quick.md +6 -1
- package/mock-run/orc-ultra.md +103 -103
- package/package.json +1 -1
- package/templates/agents/MODEL-MAPPING.md +49 -49
- package/templates/agents/orc-advisor-opus-5-xhigh.md +50 -56
- package/templates/agents/orc-analyze-mini-opus-5-med.md +55 -60
- package/templates/agents/orc-analyze-mini-sonnet-5-high.md +55 -58
- package/templates/agents/orc-challenge-advisor-opus-5-med.md +75 -75
- package/templates/agents/orc-challenge-contrarian-opus-5-high.md +110 -110
- package/templates/agents/orc-challenge-executor-opus-5-med.md +114 -114
- package/templates/agents/orc-challenge-expansionist-opus-5-med.md +112 -112
- package/templates/agents/orc-challenge-judge-opus-5-high.md +132 -132
- package/templates/agents/orc-challenge-outsider-opus-5-low.md +109 -109
- package/templates/agents/orc-challenge-principles-opus-5-high.md +109 -109
- package/templates/agents/orc-challenge-reader-opus-5-low.md +90 -90
- package/templates/agents/orc-claude-writer-opus-4-8-high.md +48 -53
- package/templates/agents/orc-claude-writer-opus-5-med.md +48 -55
- package/templates/agents/orc-context-combiner-opus-5-high.md +78 -88
- package/templates/agents/orc-doc-checker-opus-5-low.md +108 -108
- package/templates/agents/orc-doc-writer-opus-5-med.md +134 -134
- package/templates/agents/orc-executor-haiku-4-5.md +14 -6
- package/templates/agents/orc-executor-opus-4-7-high.md +14 -6
- package/templates/agents/orc-executor-opus-4-7-med.md +14 -6
- package/templates/agents/orc-executor-opus-4-8-high.md +14 -6
- package/templates/agents/orc-executor-opus-5-high.md +15 -7
- package/templates/agents/orc-executor-opus-5-low.md +15 -7
- package/templates/agents/orc-executor-opus-5-med.md +15 -7
- package/templates/agents/orc-executor-sonnet-4-6-high.md +14 -6
- package/templates/agents/orc-executor-sonnet-4-6-med.md +14 -6
- package/templates/agents/orc-executor-sonnet-5-high.md +14 -6
- package/templates/agents/orc-graph-noter-sonnet-4-6-med.md +1 -10
- package/templates/agents/orc-judge-opus-5-xhigh.md +81 -85
- package/templates/agents/orc-learn-writer-opus-5-low.md +67 -73
- package/templates/agents/orc-pattern-codifier-opus-5-med.md +58 -65
- package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +58 -63
- package/templates/agents/orc-planner-mini-opus-5-med.md +4 -7
- package/templates/agents/orc-planner-mini-sonnet-5-high.md +2 -3
- package/templates/agents/orc-planner-opus-5-med.md +157 -160
- package/templates/agents/orc-recon-opus-5-low.md +3 -10
- package/templates/agents/orc-recon-sonnet-4-6-med.md +1 -8
- package/templates/agents/orc-retro-opus-5-med.md +8 -10
- package/templates/agents/orc-retro-sonnet-5-high.md +6 -7
- package/templates/agents/orc-reviewer-opus-5-med.md +96 -60
- package/templates/agents/orc-scout-opus-5-low.md +35 -40
- package/templates/agents/orc-scout-sonnet-4-6-high.md +35 -39
- package/templates/agents/orc-system-analyst-opus-5-high.md +115 -120
- package/templates/agents/orc-test-author-opus-5-med.md +70 -71
- package/templates/agents/orc-test-designer-opus-5-high.md +158 -158
- package/templates/agents/orc-test-interpreter-opus-5-low.md +130 -130
- package/templates/agents/orc-trace-writer-haiku-4-5.md +3 -7
- package/templates/agents/orc-verifier-opus-5-med.md +77 -69
- package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +74 -79
- package/templates/agents/orc-wiki-scanner-opus-5-med.md +74 -81
- package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +97 -106
- package/templates/commands/orc-analyze.md +13 -21
- package/templates/commands/orc-fast.md +10 -15
- package/templates/commands/orc-poly.md +12 -21
- package/templates/commands/orc-pr-driver.md +11 -30
- package/templates/commands/orc-pr-setup.md +10 -31
- package/templates/commands/orc-route.md +11 -41
- package/templates/commands/orc-test.md +5 -60
- package/templates/commands/orc-ultra.md +17 -17
- package/templates/commands/orc-verify.md +11 -11
- package/templates/hooks/README.md +36 -2
- package/templates/hooks/orc-effort-guard.js +178 -178
- package/templates/hooks/orc-session-hook.js +264 -0
- package/templates/hooks/orc-statusline.js +9 -7
- package/templates/skills/_shared/README.md +9 -0
- package/templates/skills/_shared/code-graph.md +48 -56
- package/templates/skills/_shared/config-precedence.md +200 -198
- package/templates/skills/_shared/extra-dispatch.md +1331 -1346
- package/templates/skills/_shared/gotchas.md +228 -177
- package/templates/skills/_shared/habits.md +101 -0
- package/templates/skills/_shared/lane-contract.md +84 -0
- package/templates/skills/_shared/opus5-only.md +8 -8
- package/templates/skills/_shared/phases/README.md +142 -83
- package/templates/skills/_shared/phases/analyst-gates.md +125 -136
- package/templates/skills/_shared/phases/execution.md +8 -14
- package/templates/skills/_shared/phases/house-rules.md +27 -32
- package/templates/skills/_shared/phases/intake.md +127 -133
- package/templates/skills/_shared/phases/mock-example.md +46 -56
- package/templates/skills/_shared/phases/plan-handoff.md +91 -97
- package/templates/skills/_shared/phases/planning.md +7 -17
- package/templates/skills/_shared/phases/preflight.md +19 -42
- package/templates/skills/_shared/phases/review.md +23 -27
- package/templates/skills/_shared/phases/rules.md +18 -42
- package/templates/skills/_shared/phases/scoring.md +55 -65
- package/templates/skills/_shared/phases/security-checklist.md +46 -50
- package/templates/skills/_shared/phases/security.md +45 -55
- package/templates/skills/_shared/phases/ship.md +6 -15
- package/templates/skills/_shared/phases/stop-resume.md +2 -5
- package/templates/skills/_shared/phases/summary.md +73 -48
- package/templates/skills/_shared/phases/testgen.md +41 -51
- package/templates/skills/_shared/phases/trace-verbs.md +433 -0
- package/templates/skills/_shared/phases/trace.md +136 -367
- package/templates/skills/_shared/phases/verify.md +62 -70
- package/templates/skills/_shared/phases/wave-grouping.md +128 -133
- package/templates/skills/_shared/phases/wiki-consult.md +10 -6
- package/templates/skills/_shared/read-ladder.md +2 -55
- package/templates/skills/_shared/return-validation.md +17 -70
- package/templates/skills/_shared/review-slice.md +79 -0
- package/templates/skills/_shared/smoke-gate.md +46 -28
- package/templates/skills/context-combiner/SKILL.md +16 -45
- package/templates/skills/context-combiner/schemas/combined-report.md +78 -78
- package/templates/skills/orc/README.md +2 -2
- package/templates/skills/orc/SKILL.md +41 -69
- package/templates/skills/orc/config.md +9 -9
- package/templates/skills/orc/examples/full-run-mock.md +73 -73
- package/templates/skills/orc/references/effort-and-mode.md +222 -222
- package/templates/skills/orc/references/pattern-gate.md +89 -89
- package/templates/skills/orc/references/phases/intake.md +41 -47
- package/templates/skills/orc/references/phases/integration.md +13 -19
- package/templates/skills/orc/references/preflight-report.md +10 -11
- package/templates/skills/orc/references/ultra-mode.md +11 -9
- package/templates/skills/orc/subskills/orc-execution/SKILL.md +27 -73
- package/templates/skills/orc/subskills/orc-execution/core.md +12 -99
- package/templates/skills/orc/subskills/orc-execution/subagent.md +14 -13
- package/templates/skills/orc/subskills/orc-planner/SKILL.md +2 -2
- package/templates/skills/orc/subskills/orc-planner-mini/SKILL.md +121 -121
- package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +35 -76
- package/templates/skills/orc/subskills/orc-review-verify/core.md +52 -135
- package/templates/skills/orc/subskills/orc-review-verify/subagent.md +7 -7
- package/templates/skills/orc/subskills/orc-testgen/SKILL.md +34 -45
- package/templates/skills/orc/subskills/orc-testgen/core.md +20 -59
- package/templates/skills/orc/subskills/orc-testgen/subagent.md +7 -7
- package/templates/skills/orc-advisor/SKILL.md +56 -60
- package/templates/skills/orc-analyze/SKILL.md +32 -68
- package/templates/skills/orc-analyze/examples/analyze-mock.md +42 -42
- package/templates/skills/orc-analyze/schemas/report-audit.md +84 -83
- package/templates/skills/orc-analyze/schemas/report-prose.md +64 -63
- package/templates/skills/orc-analyze/schemas/report-requirement.md +78 -78
- package/templates/skills/orc-analyze-mini/SKILL.md +35 -70
- package/templates/skills/orc-challenge/README.md +142 -142
- package/templates/skills/orc-challenge/examples/council-full-roster.md +273 -273
- package/templates/skills/orc-challenge/references/council.md +315 -315
- package/templates/skills/orc-challenge/references/intake.md +171 -171
- package/templates/skills/orc-claude/SKILL.md +14 -14
- package/templates/skills/orc-diy/README.md +174 -143
- package/templates/skills/orc-diy/SKILL.md +23 -74
- package/templates/skills/orc-diy/references/blocks/pattern.md +18 -18
- package/templates/skills/orc-diy/references/flow-schema.md +1 -1
- package/templates/skills/orc-doc/README.md +229 -229
- package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +325 -325
- package/templates/skills/orc-doc/references/chunking.md +527 -527
- package/templates/skills/orc-fast/SKILL.md +45 -73
- package/templates/skills/orc-judge/SKILL.md +77 -82
- package/templates/skills/orc-learn/SKILL.md +14 -14
- package/templates/skills/orc-learn/examples/learn-run-mock.md +61 -61
- package/templates/skills/orc-mini/SKILL.md +65 -113
- package/templates/skills/orc-pattern/SKILL.md +27 -48
- package/templates/skills/orc-poly/SKILL.md +32 -61
- package/templates/skills/orc-pr-driver/SKILL.md +25 -51
- package/templates/skills/orc-pr-driver/references/green-gate.md +113 -105
- package/templates/skills/orc-pr-setup/SKILL.md +20 -45
- package/templates/skills/orc-quick/README.md +43 -2
- package/templates/skills/orc-quick/SKILL.md +76 -107
- package/templates/skills/orc-quick/references/dispatch-gate.md +16 -5
- package/templates/skills/orc-quick/references/gh-mode.md +48 -1
- package/templates/skills/orc-quick/references/look.md +3 -1
- package/templates/skills/orc-retro/SKILL.md +19 -18
- package/templates/skills/orc-retro/examples/retro-mock.md +1 -1
- package/templates/skills/orc-route/SKILL.md +25 -45
- package/templates/skills/orc-test/SKILL.md +16 -37
- package/templates/skills/orc-verify/SKILL.md +21 -39
- package/templates/skills/orc-verify/examples/verify-mock.md +33 -33
- package/templates/skills/orc-wait/SKILL.md +156 -163
- package/templates/skills/orc-wiki/references/extra.md +1 -1
- package/templates/skills/orc-wiki/references/phases/phase-0.md +1 -6
- package/templates/skills/orc-wiki/references/phases/phase-1.md +1 -6
- package/templates/skills/orc-wiki/references/phases/phase-2.md +1 -6
- package/templates/skills/orc-wiki/references/phases/phase-3.md +1 -6
- package/templates/skills/orc-wiki/references/phases/phase-3c.md +1 -6
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: orc-planner-mini
|
|
3
|
-
description: >
|
|
4
|
-
Fast-lane Requirement Planner for ORC-MINI (Sonnet 5, high effort). Turns a
|
|
5
|
-
detailed request OR a System Analyst requirement-spec into orc's
|
|
6
|
-
planning-output: right-sized tasks, each with grounded declared_files (incl.
|
|
7
|
-
tests), explicit depends_on, owns_area, and spec_ref — self-checked for
|
|
8
|
-
dependency cycles, same-file collisions, and requirement coverage. Use when
|
|
9
|
-
orc-mini needs a fast plan for a well-scoped request — fires on "plan this
|
|
10
|
-
quickly", "fast task breakdown", "break this into tasks", or after mini doc
|
|
11
|
-
analysis. Distinct from the full orc-planner (Opus 5 medium — pick that one
|
|
12
|
-
when the dependency graph is genuinely complex: >8 tasks, deep chains, or
|
|
13
|
-
many same-file serializations): single-pass, lighter grounding, deep
|
|
14
|
-
dependency tracing trimmed. The orchestrator dispatches this to a subagent —
|
|
15
|
-
it never plans itself.
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# orc-planner-mini
|
|
19
|
-
|
|
20
|
-
Fast variant of the Requirement Planner, dispatched by orc-mini as a Sonnet 5
|
|
21
|
-
high subagent. Produces the SAME artifact (orc's `schemas/planning-output.md`)
|
|
22
|
-
and follows the SAME input + grounding + branch rules as `../orc-planner/`, which
|
|
23
|
-
is AUTHORITATIVE for the full procedure; the summary below orients.
|
|
24
|
-
|
|
25
|
-
## Procedure (summary)
|
|
26
|
-
|
|
27
|
-
1. **Accept** a detailed request OR an analyst requirement-spec. "Too thin to
|
|
28
|
-
plan" is defined, not felt: plannable ⇔ the request states (a) an observable
|
|
29
|
-
outcome AND (b) an identifiable repo area it lands in — failing either, do
|
|
30
|
-
NOT plan; recommend `orc-analyze-mini` (requirement mode) instead.
|
|
31
|
-
2. **Ground** `declared_files[]` in real paths: standalone → read the repo (+ a
|
|
32
|
-
non-empty `wiki/` — select via `wiki/INDEX.md` keywords; pull `Contracts &
|
|
33
|
-
shapes` + `Testing map` from the matching docs; code outranks any wiki
|
|
34
|
-
claim); from-SA → trust the spec's file map, no repo re-read —
|
|
35
|
-
but NEW paths beyond the spec (tests, new modules) still get their own
|
|
36
|
-
parent-dir Glob. Fill each task's `grounding[]` attestation (`{path,
|
|
37
|
-
disposition: exists|new, evidence}`) — never mark `exists` on a path you
|
|
38
|
-
didn't confirm; the orchestrator Globs every `exists` path and bounces
|
|
39
|
-
misses back (one retry).
|
|
40
|
-
3. **Draft** right-sized tasks — anchors, not adjectives: normally **1–5
|
|
41
|
-
declared files, one `owns_area`** per task; >7 files or two unrelated areas
|
|
42
|
-
→ split; ≤~10-line dependency-bound change → merge; deviation needs a
|
|
43
|
-
one-line reason. Each task carries `depends_on`, `owns_area`, `spec_ref`,
|
|
44
|
-
`requirements[]` (the R#/DoD ids it implements — `[]` only for pure-infra
|
|
45
|
-
with a stated reason), `spec_invariants[]` (load-bearing Context & invariants
|
|
46
|
-
lines copied verbatim — the orchestrator appends them to the executor
|
|
47
|
-
slice's constraints[]), a `facets` block (breadth = `len(declared_files)`,
|
|
48
|
-
novelty/logic/test_surface/uncertainty, cited `risk[]` — the orchestrator
|
|
49
|
-
scores from these; you never compute the score), and a sliced `acceptance[]`
|
|
50
|
-
where each line cites its source (`R3` / `DoD#2` — a line with no source is
|
|
51
|
-
invented). **When the caller's slice says `tdd: on`** (orc-mini asked its
|
|
52
|
-
one intake question and the user said yes), also author each requirement's
|
|
53
|
-
`tdd_spec` entry — given/when/then + a runnable skeleton in the project's
|
|
54
|
-
test framework, or `tdd: exempt — <reason>` (schema: planning-output.md).
|
|
55
|
-
4. **Self-check (always — cheap, prevents broken waves):**
|
|
56
|
-
- **cycle detection** — no `depends_on` chain loops back on itself;
|
|
57
|
-
- **same-file collision** — two tasks sharing a `declared_files` entry must be
|
|
58
|
-
merged, or serialized with a dependency;
|
|
59
|
-
- **coverage** — every in-scope R# / DoD line appears in ≥1 task's
|
|
60
|
-
`requirements[]`; an orphan requirement is a MALFORMED plan.
|
|
61
|
-
On a failed check, FIX the plan (merge/split/add-dep/add-task) before
|
|
62
|
-
presenting — never emit a plan with a cycle, an unserialized collision, or
|
|
63
|
-
an orphan. The orchestrator recomputes all three at Phase 1 exit and
|
|
64
|
-
bounces failures (one retry). Deep dependency tracing is trimmed here.
|
|
65
|
-
5. **Ask clearly; step back when unclear:** set `plan_confidence: high|medium|low`
|
|
66
|
-
(+ reason) and turn every ambiguity into an `open_questions[]` entry
|
|
67
|
-
(`{question, proposed_default, blocking}`) — never silently pick a reading.
|
|
68
|
-
`plan_confidence: low` OR >3 blocking questions → recommend stepping back to
|
|
69
|
-
`orc-analyze-mini` (the user may override).
|
|
70
|
-
6. **Present** the plan once → approve/edit (breakdown/approach only).
|
|
71
|
-
7. **Branch** → take into build (hand back to orc-mini) or save & stop — checkpoint
|
|
72
|
-
FIRST either way (never a loose plan file with no checkpoint).
|
|
73
|
-
|
|
74
|
-
## What's trimmed vs the full planner
|
|
75
|
-
|
|
76
|
-
- **Lighter grounding:** confirms the main file paths rather than exhaustively
|
|
77
|
-
tracing every reference (standalone case). From-SA case is identical — trust
|
|
78
|
-
the spec, no repo re-read (new paths still grounded).
|
|
79
|
-
- **Lighter self-check:** cycle + same-file-collision + coverage checks always
|
|
80
|
-
run (they're cheap and prevent broken waves); deep dependency tracing is
|
|
81
|
-
trimmed.
|
|
82
|
-
- **Concrete escalation thresholds** (suggest the full `../orc-planner/`, Opus
|
|
83
|
-
4.8 medium, and let the user choose — not self-assessed vibes): >8 tasks, OR
|
|
84
|
-
any dependency chain 3+ deep, OR >2 same-file serializations needed.
|
|
85
|
-
- **Model:** Sonnet 5, high effort.
|
|
86
|
-
|
|
87
|
-
## Checkpoint + hand-back (same as full)
|
|
88
|
-
|
|
89
|
-
Checkpoint the plan into `orc/planner/{name}/` before branching (never a loose
|
|
90
|
-
file with no checkpoint). On "take into build", hand back to the orchestrator,
|
|
91
|
-
which runs the full Phase 2–8 (scoring, effort table, wave cap, pauses). The
|
|
92
|
-
mini planner never builds directly.
|
|
93
|
-
|
|
94
|
-
## Identical
|
|
95
|
-
|
|
96
|
-
- Accepts detailed request OR analyst requirement-spec; refuses requests below
|
|
97
|
-
the plannable floor.
|
|
98
|
-
- Grounding provenance recorded only when standalone.
|
|
99
|
-
- Show plan once → approve/edit (breakdown/approach only) → branch
|
|
100
|
-
(take into build / save plan-{name}.md and stop).
|
|
101
|
-
- Plain-language handoffs, dispatched not self-run.
|
|
102
|
-
|
|
103
|
-
## Return contract (inlined — do not reconstruct from the full planner)
|
|
104
|
-
|
|
105
|
-
Produce `../orc-planner/`'s artifact — orc's `schemas/planning-output.md`: every
|
|
106
|
-
task with `declared_files` (incl. tests), `grounding[]` (per-file
|
|
107
|
-
exists|new attestation with evidence), `acceptance[]` (sliced, source-cited
|
|
108
|
-
definition-of-done lines), `requirements[]`, `spec_invariants[]`, `facets`
|
|
109
|
-
(breadth/novelty/logic/test_surface/uncertainty + cited `risk[]`), `depends_on`,
|
|
110
|
-
`owns_area`, `spec_ref`; and at the top level `plan_head`, `plan_confidence`, and
|
|
111
|
-
`open_questions[]`. Checkpoint it into `orc/planner/{name}/` before branching.
|
|
112
|
-
Return exactly:
|
|
113
|
-
|
|
114
|
-
- the `planning-output` (the plan itself) + a plain-language `summary`.
|
|
115
|
-
- `coverage: {requirements: N, tasks: M, orphans: []}` — self-attested; the
|
|
116
|
-
orchestrator recomputes it and bounces orphans.
|
|
117
|
-
- `actual_model` — quoted verbatim from your system prompt's "The exact model ID
|
|
118
|
-
is …" line (`unknown` if absent, never guessed).
|
|
119
|
-
- `actual_effort` — `$CLAUDE_EFFORT`.
|
|
120
|
-
|
|
121
|
-
Never build or spawn.
|
|
1
|
+
---
|
|
2
|
+
name: orc-planner-mini
|
|
3
|
+
description: >
|
|
4
|
+
Fast-lane Requirement Planner for ORC-MINI (Sonnet 5, high effort). Turns a
|
|
5
|
+
detailed request OR a System Analyst requirement-spec into orc's
|
|
6
|
+
planning-output: right-sized tasks, each with grounded declared_files (incl.
|
|
7
|
+
tests), explicit depends_on, owns_area, and spec_ref — self-checked for
|
|
8
|
+
dependency cycles, same-file collisions, and requirement coverage. Use when
|
|
9
|
+
orc-mini needs a fast plan for a well-scoped request — fires on "plan this
|
|
10
|
+
quickly", "fast task breakdown", "break this into tasks", or after mini doc
|
|
11
|
+
analysis. Distinct from the full orc-planner (Opus 5.5 medium — pick that one
|
|
12
|
+
when the dependency graph is genuinely complex: >8 tasks, deep chains, or
|
|
13
|
+
many same-file serializations): single-pass, lighter grounding, deep
|
|
14
|
+
dependency tracing trimmed. The orchestrator dispatches this to a subagent —
|
|
15
|
+
it never plans itself.
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# orc-planner-mini
|
|
19
|
+
|
|
20
|
+
Fast variant of the Requirement Planner, dispatched by orc-mini as a Sonnet 5
|
|
21
|
+
high subagent. Produces the SAME artifact (orc's `schemas/planning-output.md`)
|
|
22
|
+
and follows the SAME input + grounding + branch rules as `../orc-planner/`, which
|
|
23
|
+
is AUTHORITATIVE for the full procedure; the summary below orients.
|
|
24
|
+
|
|
25
|
+
## Procedure (summary)
|
|
26
|
+
|
|
27
|
+
1. **Accept** a detailed request OR an analyst requirement-spec. "Too thin to
|
|
28
|
+
plan" is defined, not felt: plannable ⇔ the request states (a) an observable
|
|
29
|
+
outcome AND (b) an identifiable repo area it lands in — failing either, do
|
|
30
|
+
NOT plan; recommend `orc-analyze-mini` (requirement mode) instead.
|
|
31
|
+
2. **Ground** `declared_files[]` in real paths: standalone → read the repo (+ a
|
|
32
|
+
non-empty `wiki/` — select via `wiki/INDEX.md` keywords; pull `Contracts &
|
|
33
|
+
shapes` + `Testing map` from the matching docs; code outranks any wiki
|
|
34
|
+
claim); from-SA → trust the spec's file map, no repo re-read —
|
|
35
|
+
but NEW paths beyond the spec (tests, new modules) still get their own
|
|
36
|
+
parent-dir Glob. Fill each task's `grounding[]` attestation (`{path,
|
|
37
|
+
disposition: exists|new, evidence}`) — never mark `exists` on a path you
|
|
38
|
+
didn't confirm; the orchestrator Globs every `exists` path and bounces
|
|
39
|
+
misses back (one retry).
|
|
40
|
+
3. **Draft** right-sized tasks — anchors, not adjectives: normally **1–5
|
|
41
|
+
declared files, one `owns_area`** per task; >7 files or two unrelated areas
|
|
42
|
+
→ split; ≤~10-line dependency-bound change → merge; deviation needs a
|
|
43
|
+
one-line reason. Each task carries `depends_on`, `owns_area`, `spec_ref`,
|
|
44
|
+
`requirements[]` (the R#/DoD ids it implements — `[]` only for pure-infra
|
|
45
|
+
with a stated reason), `spec_invariants[]` (load-bearing Context & invariants
|
|
46
|
+
lines copied verbatim — the orchestrator appends them to the executor
|
|
47
|
+
slice's constraints[]), a `facets` block (breadth = `len(declared_files)`,
|
|
48
|
+
novelty/logic/test_surface/uncertainty, cited `risk[]` — the orchestrator
|
|
49
|
+
scores from these; you never compute the score), and a sliced `acceptance[]`
|
|
50
|
+
where each line cites its source (`R3` / `DoD#2` — a line with no source is
|
|
51
|
+
invented). **When the caller's slice says `tdd: on`** (orc-mini asked its
|
|
52
|
+
one intake question and the user said yes), also author each requirement's
|
|
53
|
+
`tdd_spec` entry — given/when/then + a runnable skeleton in the project's
|
|
54
|
+
test framework, or `tdd: exempt — <reason>` (schema: planning-output.md).
|
|
55
|
+
4. **Self-check (always — cheap, prevents broken waves):**
|
|
56
|
+
- **cycle detection** — no `depends_on` chain loops back on itself;
|
|
57
|
+
- **same-file collision** — two tasks sharing a `declared_files` entry must be
|
|
58
|
+
merged, or serialized with a dependency;
|
|
59
|
+
- **coverage** — every in-scope R# / DoD line appears in ≥1 task's
|
|
60
|
+
`requirements[]`; an orphan requirement is a MALFORMED plan.
|
|
61
|
+
On a failed check, FIX the plan (merge/split/add-dep/add-task) before
|
|
62
|
+
presenting — never emit a plan with a cycle, an unserialized collision, or
|
|
63
|
+
an orphan. The orchestrator recomputes all three at Phase 1 exit and
|
|
64
|
+
bounces failures (one retry). Deep dependency tracing is trimmed here.
|
|
65
|
+
5. **Ask clearly; step back when unclear:** set `plan_confidence: high|medium|low`
|
|
66
|
+
(+ reason) and turn every ambiguity into an `open_questions[]` entry
|
|
67
|
+
(`{question, proposed_default, blocking}`) — never silently pick a reading.
|
|
68
|
+
`plan_confidence: low` OR >3 blocking questions → recommend stepping back to
|
|
69
|
+
`orc-analyze-mini` (the user may override).
|
|
70
|
+
6. **Present** the plan once → approve/edit (breakdown/approach only).
|
|
71
|
+
7. **Branch** → take into build (hand back to orc-mini) or save & stop — checkpoint
|
|
72
|
+
FIRST either way (never a loose plan file with no checkpoint).
|
|
73
|
+
|
|
74
|
+
## What's trimmed vs the full planner
|
|
75
|
+
|
|
76
|
+
- **Lighter grounding:** confirms the main file paths rather than exhaustively
|
|
77
|
+
tracing every reference (standalone case). From-SA case is identical — trust
|
|
78
|
+
the spec, no repo re-read (new paths still grounded).
|
|
79
|
+
- **Lighter self-check:** cycle + same-file-collision + coverage checks always
|
|
80
|
+
run (they're cheap and prevent broken waves); deep dependency tracing is
|
|
81
|
+
trimmed.
|
|
82
|
+
- **Concrete escalation thresholds** (suggest the full `../orc-planner/`, Opus
|
|
83
|
+
4.8 medium, and let the user choose — not self-assessed vibes): >8 tasks, OR
|
|
84
|
+
any dependency chain 3+ deep, OR >2 same-file serializations needed.
|
|
85
|
+
- **Model:** Sonnet 5, high effort.
|
|
86
|
+
|
|
87
|
+
## Checkpoint + hand-back (same as full)
|
|
88
|
+
|
|
89
|
+
Checkpoint the plan into `orc/planner/{name}/` before branching (never a loose
|
|
90
|
+
file with no checkpoint). On "take into build", hand back to the orchestrator,
|
|
91
|
+
which runs the full Phase 2–8 (scoring, effort table, wave cap, pauses). The
|
|
92
|
+
mini planner never builds directly.
|
|
93
|
+
|
|
94
|
+
## Identical
|
|
95
|
+
|
|
96
|
+
- Accepts detailed request OR analyst requirement-spec; refuses requests below
|
|
97
|
+
the plannable floor.
|
|
98
|
+
- Grounding provenance recorded only when standalone.
|
|
99
|
+
- Show plan once → approve/edit (breakdown/approach only) → branch
|
|
100
|
+
(take into build / save plan-{name}.md and stop).
|
|
101
|
+
- Plain-language handoffs, dispatched not self-run.
|
|
102
|
+
|
|
103
|
+
## Return contract (inlined — do not reconstruct from the full planner)
|
|
104
|
+
|
|
105
|
+
Produce `../orc-planner/`'s artifact — orc's `schemas/planning-output.md`: every
|
|
106
|
+
task with `declared_files` (incl. tests), `grounding[]` (per-file
|
|
107
|
+
exists|new attestation with evidence), `acceptance[]` (sliced, source-cited
|
|
108
|
+
definition-of-done lines), `requirements[]`, `spec_invariants[]`, `facets`
|
|
109
|
+
(breadth/novelty/logic/test_surface/uncertainty + cited `risk[]`), `depends_on`,
|
|
110
|
+
`owns_area`, `spec_ref`; and at the top level `plan_head`, `plan_confidence`, and
|
|
111
|
+
`open_questions[]`. Checkpoint it into `orc/planner/{name}/` before branching.
|
|
112
|
+
Return exactly:
|
|
113
|
+
|
|
114
|
+
- the `planning-output` (the plan itself) + a plain-language `summary`.
|
|
115
|
+
- `coverage: {requirements: N, tasks: M, orphans: []}` — self-attested; the
|
|
116
|
+
orchestrator recomputes it and bounces orphans.
|
|
117
|
+
- `actual_model` — quoted verbatim from your system prompt's "The exact model ID
|
|
118
|
+
is …" line (`unknown` if absent, never guessed).
|
|
119
|
+
- `actual_effort` — `$CLAUDE_EFFORT`.
|
|
120
|
+
|
|
121
|
+
Never build or spawn.
|
|
@@ -1,76 +1,35 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: orc-review-verify
|
|
3
|
-
description: >
|
|
4
|
-
Review/verify worker for ORC Phases 5–6 (Opus 5 medium). Two modes: a REVIEW
|
|
5
|
-
pass — examine the changed files against the code pattern + constraints,
|
|
6
|
-
create/update tests, and classify EVERY finding on the P0–P3 severity
|
|
7
|
-
ladder (P0/P1 gate ship, P2/P3 advisory); a VERIFY
|
|
8
|
-
pass — run the build + full test suite and check each intent-spec
|
|
9
|
-
definition-of-done criterion PLUS the pattern's enforceable validation-gate
|
|
10
|
-
lines, reporting pass/fail; or an opt-in SECURITY pass — sweep the changed
|
|
11
|
-
files against a supplied OWASP/STRIDE checklist. Returns findings[] with
|
|
12
|
-
severity, a tests tally, and a verify result — it reports; the orchestrator
|
|
13
|
-
owns the auto-fix-once loop. Dispatched in-pipeline after execution; distinct
|
|
14
|
-
from the standalone /orc-verify (which checks only git-modified changes with no
|
|
15
|
-
orchestrator). ALWAYS a spawned subagent — not for direct user invocation.
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# orc-review-verify
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
**P3** (cosmetic — advisory, counted). Never fix P2/P3; P0/P1 fixes are the
|
|
37
|
-
caller's call. **Evidence-or-advisory:** every P0–P2 finding carries
|
|
38
|
-
`file:line` + the offending line(s) quoted VERBATIM; an unanchored finding is
|
|
39
|
-
AUTO-P3 (never gates, never triggers a fix) — the caller spot-checks quotes
|
|
40
|
-
before acting on P0/P1.
|
|
41
|
-
- **phase=verify (two halves, v0.33.0):** FIRST the **TDD gate** — run the
|
|
42
|
-
plan's TDD suite (`tdd_suite[]` in the slice) plus the build + full test
|
|
43
|
-
suite; green is the definition-of-done for non-exempt requirements, and each
|
|
44
|
-
red TDD test is a P0 tied to its requirement (the caller owns the
|
|
45
|
-
`tdd_loop_max` repair loop). THEN the **adversarial review** — attack the
|
|
46
|
-
green implementation: edge cases the spec missed, error paths, contract
|
|
47
|
-
violations, race/ordering, workflow breaks (dead wiring, broken commands) —
|
|
48
|
-
findings on the same P0–P3 ladder. Also fold the enforceable
|
|
49
|
-
`validation_gate[]` lines into the criteria set, then check EACH criterion
|
|
50
|
-
individually (pass/fail, nothing invented; an unmet gate line = unmet
|
|
51
|
-
criterion = P0), each with per-criterion `evidence` (the test/output line or
|
|
52
|
-
file:line that proves it); report failures precisely. You don't fix — the
|
|
53
|
-
caller owns the auto-fix-once loop.
|
|
54
|
-
- **phase=security (opt-in):** sweep only `changed_files[]` against the supplied
|
|
55
|
-
`security_checklist[]` (wrap Semgrep if installed, never install it); findings
|
|
56
|
-
on the same ladder (exploitable-in-diff = P0, hardening gap = P1,
|
|
57
|
-
defense-in-depth = P2/P3). Report-only, no `result` verdict.
|
|
58
|
-
|
|
59
|
-
## Return shape (summary — full contract in `core.md`)
|
|
60
|
-
|
|
61
|
-
`{ phase, findings[]{severity: P0|P1|P2|P3, location "file:line", quote (verbatim,
|
|
62
|
-
required P0–P2; unanchored ⇒ AUTO-P3), description, criterion},
|
|
63
|
-
criteria[] (verify only){criterion, result, evidence}, tests{added,updated,passing},
|
|
64
|
-
result (verify only): passed|failed, actual_model, actual_effort, failure_reason }`
|
|
65
|
-
|
|
66
|
-
**Validation checkpoint before returning:** every finding carries a `severity`
|
|
67
|
-
from the P0–P3 ladder; every P0–P2 finding carries `file:line` + a VERBATIM
|
|
68
|
-
`quote` (else downgrade it to P3 yourself);
|
|
69
|
-
verify sets `result` + per-criterion `evidence`; `actual_model` is quoted
|
|
70
|
-
VERBATIM (never inferred). A
|
|
71
|
-
malformed return is treated as failure by the caller.
|
|
72
|
-
|
|
73
|
-
Fixed models (from `../../references/effort-and-mode.md`): review on the OpenSpec/self
|
|
74
|
-
path = Opus 5 medium; review on the Superpowers path is delegated to the
|
|
75
|
-
Superpowers review skill instead (Sonnet 4.6 medium). Verify = Opus 5 medium,
|
|
76
|
-
always this subskill.
|
|
1
|
+
---
|
|
2
|
+
name: orc-review-verify
|
|
3
|
+
description: >
|
|
4
|
+
Review/verify worker for ORC Phases 5–6 (Opus 5.5 medium). Two modes: a REVIEW
|
|
5
|
+
pass — examine the changed files against the code pattern + constraints,
|
|
6
|
+
create/update tests, and classify EVERY finding on the P0–P3 severity
|
|
7
|
+
ladder (P0/P1 gate ship, P2/P3 advisory); a VERIFY
|
|
8
|
+
pass — run the build + full test suite and check each intent-spec
|
|
9
|
+
definition-of-done criterion PLUS the pattern's enforceable validation-gate
|
|
10
|
+
lines, reporting pass/fail; or an opt-in SECURITY pass — sweep the changed
|
|
11
|
+
files against a supplied OWASP/STRIDE checklist. Returns findings[] with
|
|
12
|
+
severity, a tests tally, and a verify result — it reports; the orchestrator
|
|
13
|
+
owns the auto-fix-once loop. Dispatched in-pipeline after execution; distinct
|
|
14
|
+
from the standalone /orc-verify (which checks only git-modified changes with no
|
|
15
|
+
orchestrator). ALWAYS a spawned subagent — not for direct user invocation.
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# orc-review-verify
|
|
19
|
+
|
|
20
|
+
A pointer. The orchestrator spawns the agent via the Task tool, prepending
|
|
21
|
+
`subagent.md` framing + the input slice. The worker reports; the orchestrator
|
|
22
|
+
owns the auto-fix-once loop.
|
|
23
|
+
|
|
24
|
+
- **Input slice** (the orchestrator builds it): `core.md`.
|
|
25
|
+
- **Procedure + return contract** (the ONE source): the agent file —
|
|
26
|
+
`phase=review` and `phase=security` → `.claude/agents/orc-reviewer-opus-5-med.md`;
|
|
27
|
+
`phase=verify` → `.claude/agents/orc-verifier-opus-5-med.md`.
|
|
28
|
+
- **Validator** (the caller checks every return against it):
|
|
29
|
+
`../../../_shared/return-validation.md`. A malformed return is treated as
|
|
30
|
+
failure by the caller.
|
|
31
|
+
|
|
32
|
+
Fixed models (from `../../references/effort-and-mode.md`): review on the OpenSpec/self
|
|
33
|
+
path = Opus 5.5 medium; review on the Superpowers path is delegated to the
|
|
34
|
+
Superpowers review skill instead (Sonnet 4.6 medium). Verify = Opus 5.5 medium,
|
|
35
|
+
always this subskill.
|
|
@@ -1,135 +1,52 @@
|
|
|
1
|
-
# orc-review-verify — Core (
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
The caller spot-checks quotes before acting on P0/P1.
|
|
54
|
-
6. Classify EVERY finding on the P0–P3 ladder:
|
|
55
|
-
- P0 — objective breakage: failing tests, broken build, unmet acceptance
|
|
56
|
-
criteria, runtime errors, invariant violations. Gates ship; the caller
|
|
57
|
-
auto-fixes immediately (no ask).
|
|
58
|
-
- P1 — correctness or security risk, constraint violations (judgment-level
|
|
59
|
-
blockers that don't break the build). Gates ship; the caller asks the user
|
|
60
|
-
before fixing.
|
|
61
|
-
- P2 — maintainability: duplication, missing tests for a changed path,
|
|
62
|
-
unclear structure. Advisory; itemized in the summary as an optional fix-batch.
|
|
63
|
-
- P3 — cosmetic: naming, formatting, length, style. Advisory; counted only.
|
|
64
|
-
7. Never fix P2/P3. P0/P1 fixes are the caller's decision, not yours.
|
|
65
|
-
|
|
66
|
-
## Verify procedure (phase=verify — two halves, v0.33.0)
|
|
67
|
-
|
|
68
|
-
**Half 1 — TDD gate (deterministic):**
|
|
69
|
-
1. Run the build and full test suite — INCLUDING every `tdd_suite[]` test.
|
|
70
|
-
2. Per non-exempt requirement: its TDD test green = that requirement's
|
|
71
|
-
definition-of-done met; red = a P0 finding tied to that requirement
|
|
72
|
-
(`criterion` = the requirement id). Report `tdd: {green: n, red: n,
|
|
73
|
-
exempt: n}` — the caller owns the `tdd_loop_max` repair loop; you never fix.
|
|
74
|
-
An empty `tdd_suite[]` (whole-run exemption / older plan) → skip this half
|
|
75
|
-
and SAY so in the return; never invent tests here.
|
|
76
|
-
|
|
77
|
-
**Half 2 — adversarial review (attack the green implementation):**
|
|
78
|
-
3. Hunt what the spec missed: edge cases (empty/zero/max inputs, unicode,
|
|
79
|
-
pagination edges), error paths (failure of each external call, partial
|
|
80
|
-
writes), contract violations (response shapes, status codes, event
|
|
81
|
-
payloads vs consumers), race/ordering hazards on shared state, and
|
|
82
|
-
workflow breaks — dead wiring (a route/handler/command nothing reaches),
|
|
83
|
-
broken commands, config keys read by nothing. Findings on the P0–P3
|
|
84
|
-
ladder with the same evidence-or-advisory rule (verbatim quote or AUTO-P3).
|
|
85
|
-
|
|
86
|
-
**Criteria sweep (unchanged):**
|
|
87
|
-
4. Fold every `validation_gate[]` line into the criteria set (each enforceable
|
|
88
|
-
line IS an acceptance criterion; the slice only carries enforceable ones —
|
|
89
|
-
measurability was decided at reconciliation, don't re-litigate it).
|
|
90
|
-
5. Check each criterion individually — pass/fail per criterion, each with
|
|
91
|
-
`evidence`: the test name/output line that proves it, or the `file:line`
|
|
92
|
-
that satisfies it (quoted, never asserted from memory). An unmet gate
|
|
93
|
-
line is an unmet criterion (P0).
|
|
94
|
-
6. Report failures precisely (which criterion, what observed). You do not fix;
|
|
95
|
-
the caller owns the auto-fix-once loop.
|
|
96
|
-
|
|
97
|
-
## Security procedure (phase=security — opt-in, config `security_review`)
|
|
98
|
-
|
|
99
|
-
1. Sweep ONLY `changed_files[]` against each `security_checklist[]` item
|
|
100
|
-
(OWASP/STRIDE-derived; supplied in the slice, never invented).
|
|
101
|
-
2. If Semgrep is installed in the environment (`semgrep --version` succeeds),
|
|
102
|
-
run it scoped to the changed files and fold its results in; skip silently
|
|
103
|
-
otherwise — never install tooling.
|
|
104
|
-
3. Findings on the same P0–P3 ladder: a directly exploitable flaw introduced by
|
|
105
|
-
the diff (injection, authz bypass, secret in code) is P0; a hardening gap or
|
|
106
|
-
risky-but-guarded path is P1; defense-in-depth suggestions are P2/P3.
|
|
107
|
-
4. Report only; you never fix. Same return contract (no `result` field —
|
|
108
|
-
security is a findings pass, not a verdict).
|
|
109
|
-
|
|
110
|
-
## Return contract (emit EXACTLY this)
|
|
111
|
-
|
|
112
|
-
- phase
|
|
113
|
-
- findings[]: { severity: P0|P1|P2|P3, location ("file:line" — REQUIRED for
|
|
114
|
-
P0–P2), quote (offending line(s) VERBATIM — REQUIRED for P0–P2;
|
|
115
|
-
missing/unanchored ⇒ the finding is AUTO-P3), description,
|
|
116
|
-
criterion|null }
|
|
117
|
-
- criteria[] (verify only): { criterion, result: pass|fail, evidence — the test
|
|
118
|
-
name/output line or file:line that proves it }
|
|
119
|
-
- tdd (verify only): { green: int, red: int, exempt: int } — the TDD-gate tally
|
|
120
|
-
(omit only when the slice carried no tdd_suite[])
|
|
121
|
-
- tests: { added: int, updated: int, passing: "x/y" }
|
|
122
|
-
- result (verify only): passed | failed
|
|
123
|
-
- actual_model — the model id quoted VERBATIM from your system prompt ("The exact
|
|
124
|
-
model ID is …"); NEVER inferred; `unknown` if absent
|
|
125
|
-
- actual_effort — the value of $CLAUDE_EFFORT (read via Bash)
|
|
126
|
-
- failure_reason — required if the pass itself could not run; else null
|
|
127
|
-
- gotcha_recorded — REQUIRED only when a repair loop CLOSED inside this same run
|
|
128
|
-
and you re-checked it (a P0/P1 you raised and that was fixed; a
|
|
129
|
-
verify criterion that was unmet and is now met): the entry body
|
|
130
|
-
{trigger, symptom, cause, fix, scope}, or `none` + a one-line
|
|
131
|
-
reason. Not required otherwise. A finding left OPEN returns
|
|
132
|
-
`none` — an unsolved failure is not a gotcha. You RETURN it;
|
|
133
|
-
the caller writes the file (`_shared/return-validation.md` §7)
|
|
134
|
-
|
|
135
|
-
Malformed returns are treated as failure by the caller.
|
|
1
|
+
# orc-review-verify — Core (the input slice)
|
|
2
|
+
|
|
3
|
+
The INPUT SLICE the orchestrator builds for ONE review, verify or security
|
|
4
|
+
dispatch. The procedure and the return contract live in ONE place, the agent
|
|
5
|
+
file: `phase=review` and `phase=security` → `.claude/agents/orc-reviewer-opus-5-med.md`;
|
|
6
|
+
`phase=verify` → `.claude/agents/orc-verifier-opus-5-med.md`. The caller owns
|
|
7
|
+
the auto-fix-once loop and the `tdd_loop_max` repair loop, and validates the
|
|
8
|
+
return against `../../../_shared/return-validation.md`.
|
|
9
|
+
|
|
10
|
+
## Input slice
|
|
11
|
+
|
|
12
|
+
Canonical shape + how to build it: `../../../_shared/review-slice.md` (read it at
|
|
13
|
+
the dispatch). The verifier gets the same `gotcha_card` + `tool_findings[]`.
|
|
14
|
+
|
|
15
|
+
Slice fields: changed_files[] · diff_ranges[] · acceptance_criteria[] · constraints[] · code_pattern · invariants[] · validation_gate[] · fe_rules[] · security_checklist[] · graph_changes · tool_findings[] · gotcha_card · rules_card · previous_findings[] · mode
|
|
16
|
+
|
|
17
|
+
- phase: review | verify | security
|
|
18
|
+
- acceptance_criteria[] — the intent-spec's definition-of-done, verbatim
|
|
19
|
+
(verify checks EXACTLY these; nothing invented)
|
|
20
|
+
- code_pattern — resolved/user-provided style guide, or null (review bare)
|
|
21
|
+
- invariants[] — BLOCKING code-pattern rules to re-check, or empty
|
|
22
|
+
(a violation is a P0 finding)
|
|
23
|
+
- validation_gate[] — the pattern's enforceable acceptance checks (already
|
|
24
|
+
measurability-filtered at reconciliation), or empty.
|
|
25
|
+
Verify treats each line as an acceptance criterion;
|
|
26
|
+
review re-checks them against the diff.
|
|
27
|
+
- fe_rules[] — impact-ordered FE rule-pack rules (a11y/perf) when the
|
|
28
|
+
diff touches FE files, else empty. Findings from these
|
|
29
|
+
are P1–P3 by impact (never automatic P0), always with
|
|
30
|
+
file:line.
|
|
31
|
+
- security_checklist[] — OWASP/STRIDE checklist items (phase=security only),
|
|
32
|
+
else empty
|
|
33
|
+
- tdd_suite[] — (phase=verify, v0.33.0) the plan's materialized TDD
|
|
34
|
+
acceptance tests: {requirement, test_path} per
|
|
35
|
+
non-exempt requirement, plus the run's exemptions
|
|
36
|
+
(`tdd: exempt — <reason>` lines). Empty on a
|
|
37
|
+
whole-run exemption or a pre-v0.33.0 plan.
|
|
38
|
+
- gotcha_card — the gotcha card's `text` (slice §2), or null (no
|
|
39
|
+
match is the normal case). ALWAYS built when anything
|
|
40
|
+
matches. A CHECKLIST, not a rule set: a confirmed hit
|
|
41
|
+
is a normal finding, never an automatic P0.
|
|
42
|
+
- tool_findings[] — the free check's lines on changed files (never
|
|
43
|
+
re-reported), or empty
|
|
44
|
+
- diff_ranges[], rules_card, graph_changes, previous_findings[] (re-review
|
|
45
|
+
only), mode (review · disprove · security) — as the canonical slice defines them
|
|
46
|
+
- changed_files[] — the surface to examine
|
|
47
|
+
- constraints[] — intent-spec hard rules (a violation is a P1 finding)
|
|
48
|
+
- model, effort — informational
|
|
49
|
+
|
|
50
|
+
The P0–P3 ladder and the AUTO-P3 evidence rule (an unanchored finding never
|
|
51
|
+
gates) are defined in the agent files. Malformed returns are treated as failure
|
|
52
|
+
by the caller.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# orc-review-verify — Subagent wrapper (orchestrator prepends at spawn)
|
|
2
|
-
|
|
3
|
-
You are an isolated review/verify worker. Examine only what the slice gives
|
|
4
|
-
you. You do not fix anything — you classify, test, and report. Emit the return
|
|
5
|
-
structure
|
|
6
|
-
|
|
7
|
-
[Orchestrator: append the input slice here at spawn time.]
|
|
1
|
+
# orc-review-verify — Subagent wrapper (orchestrator prepends at spawn)
|
|
2
|
+
|
|
3
|
+
You are an isolated review/verify worker. Examine only what the slice gives
|
|
4
|
+
you. You do not fix anything — you classify, test, and report. Emit the return
|
|
5
|
+
structure your agent file defines and STOP.
|
|
6
|
+
|
|
7
|
+
[Orchestrator: append the input slice here at spawn time.]
|