@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,83 +1,84 @@
|
|
|
1
|
-
# Template — Analyst Report (AUDIT mode)
|
|
2
|
-
|
|
3
|
-
Human-readable source of truth. You review and confirm this; the machine spec
|
|
4
|
-
is derived from it. Written to
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- Row
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
- [ ]
|
|
78
|
-
- [ ]
|
|
79
|
-
- [ ]
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
|
|
1
|
+
# Template — Analyst Report (AUDIT mode)
|
|
2
|
+
|
|
3
|
+
Human-readable source of truth. You review and confirm this; the machine spec
|
|
4
|
+
is derived from it. Written to `<analyzer_dir>/{analysis-name}/report.md`;
|
|
5
|
+
COPIED to `<report_out_dir>/{analysis-name}/` only on the stop-here branch.
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Analysis Report — {analysis-name}
|
|
9
|
+
mode: audit
|
|
10
|
+
depth: standard | deep
|
|
11
|
+
source_doc: <path or "pasted">
|
|
12
|
+
scope: <X — the requested scope only>
|
|
13
|
+
analyzed_at: DDMMYY HH:MM:SS
|
|
14
|
+
model: opus-5-5-high # the RESOLVED model of the agent that produced this
|
|
15
|
+
# (mini writes sonnet-5-high) — never copied from here
|
|
16
|
+
grounding: repo-read | repo-read+scouts # scouts only in deep mode
|
|
17
|
+
|
|
18
|
+
## In-scope rows (X only)
|
|
19
|
+
|
|
20
|
+
Each row = one audit line that belongs to scope X, reconciled against code. Every
|
|
21
|
+
"Code reality" cell carries quote-anchored file:line evidence
|
|
22
|
+
(`file:line — "verbatim snippet"`, never paraphrased; a ref with no quote
|
|
23
|
+
auto-downgrades to UNVERIFIED), OR the row is tagged ASSUMPTION/UNVERIFIED (and
|
|
24
|
+
appears below as an open question). A row whose code reality is a claim of
|
|
25
|
+
ABSENCE ("no retry exists") instead carries `searched:` — the concrete
|
|
26
|
+
globs/greps run. In deep mode EVERY row is verified, not just the load-bearing
|
|
27
|
+
ones.
|
|
28
|
+
|
|
29
|
+
| # | Claim (result + notes) | Code reality | Evidence (file:line + quote / searched:) | Files/modules | Status | Resolution |
|
|
30
|
+
|---|------------------------|--------------|------------------------------------------|---------------|--------|------------|
|
|
31
|
+
| 1 | PASS — "UUID validated" | present | auth/uuid.x:8 — "validateUuid(id)" | auth/uuid.x | verified | — |
|
|
32
|
+
| 2 | PASS — notes: "consider adding retry" | no retry | searched: `retry`, `backoff` in svc/ — no hits | svc/x | diverged | user: retry OUT of scope |
|
|
33
|
+
| 3 | FAIL — "missing UUID check" | field renamed to ref_id | models/user.x:20 — "ref_id:" | models/x | diverged | user: update premise; check ref_id |
|
|
34
|
+
|
|
35
|
+
Status: verified | diverged | resolved
|
|
36
|
+
- verified: claim matches code (with evidence), nothing to challenge.
|
|
37
|
+
- diverged: claim vs code mismatch → was challenged.
|
|
38
|
+
- resolved: a diverged row the user decided on (Resolution column holds the call).
|
|
39
|
+
|
|
40
|
+
## Assumptions & Open Questions
|
|
41
|
+
- UNVERIFIED (resolved): row 7 cited a "legacy flag" not found in code — user
|
|
42
|
+
confirmed it was removed; row dropped.
|
|
43
|
+
|
|
44
|
+
## Additional context (do not build)
|
|
45
|
+
Anchored, non-actionable context pulled from an ADJACENT scope because an in-scope
|
|
46
|
+
row depends on it. Read for understanding; never a task. Each item names the
|
|
47
|
+
in-scope row it serves + why. Omit this whole section if none survived.
|
|
48
|
+
| Anchor (in-scope #) | From scope | Dependency | Touchpoint to respect | Evidence (file:line) |
|
|
49
|
+
|---------------------|-----------|------------|-----------------------|----------------------|
|
|
50
|
+
| Row 3 (ref_id check) | models (Y) | consumes-output | ref_id is set by the user loader before validation | models/user.x:20 |
|
|
51
|
+
|
|
52
|
+
## Alternatives & risks (DEEP mode only — omit in standard)
|
|
53
|
+
- Row 3 fix: add ref_id check in the model (recommended) vs at the API edge —
|
|
54
|
+
edge version duplicates validation across 3 handlers.
|
|
55
|
+
|
|
56
|
+
## Challenges raised & answers
|
|
57
|
+
- Row 2: notes suggested retry — user confirmed OUT of scope X.
|
|
58
|
+
- Row 3: audit says missing UUID check, code renamed field to ref_id — user
|
|
59
|
+
confirmed implement the check against ref_id.
|
|
60
|
+
|
|
61
|
+
## Row numbering — `R#` is the SPEC's namespace, never the report's
|
|
62
|
+
Refer to report rows as **"row N"** only. Labelling a report row `R1` collides
|
|
63
|
+
with the spec's own `R#` ids, and the derivation lint compares the two id sets:
|
|
64
|
+
report-`R1` (a build item) vs spec-`R1` (audit row 1) either false-passes or
|
|
65
|
+
false-bounces. A row that legitimately duplicates another's `files[]` (e.g. a
|
|
66
|
+
doc's closing `Recommendation:` line) carries `yields_build_work: false` in the
|
|
67
|
+
spec rather than a prose qualifier.
|
|
68
|
+
|
|
69
|
+
## Excluded scopes (recognized, not detailed)
|
|
70
|
+
- Recognized Y, Z in the source doc; excluded from this report per scope = X.
|
|
71
|
+
|
|
72
|
+
## Handoff readiness (checklist — all five or handoff_ready is false)
|
|
73
|
+
The first three are checkable IN this report. The last two can only become true
|
|
74
|
+
AFTER this report is confirmed and frozen, so on a correct run they stay
|
|
75
|
+
unticked here and are satisfied in the spec — a reader of report.md alone must
|
|
76
|
+
not read that as a failed checklist.
|
|
77
|
+
- [ ] all BLOCKING challenges resolved (every diverged row decided)
|
|
78
|
+
- [ ] zero open UNVERIFIED on any in-scope row
|
|
79
|
+
- [ ] every row has status + evidence-or-resolution
|
|
80
|
+
- [ ] spec derived AFTER the user confirmed this report (satisfied
|
|
81
|
+
post-confirmation — see the spec)
|
|
82
|
+
- [ ] scope_closed: true written into the spec (satisfied post-confirmation —
|
|
83
|
+
see the spec)
|
|
84
|
+
```
|
|
@@ -1,63 +1,64 @@
|
|
|
1
|
-
# Template — Analyst Report (PROSE mode)
|
|
2
|
-
|
|
3
|
-
Human-readable source of truth. Written to
|
|
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
|
-
- Approach
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- [ ]
|
|
60
|
-
- [ ]
|
|
61
|
-
- [ ]
|
|
62
|
-
- [ ]
|
|
63
|
-
|
|
1
|
+
# Template — Analyst Report (PROSE mode)
|
|
2
|
+
|
|
3
|
+
Human-readable source of truth. Written to `<analyzer_dir>/{analysis-name}/report.md`;
|
|
4
|
+
COPIED to `<report_out_dir>/{analysis-name}/` only on the stop-here branch.
|
|
5
|
+
|
|
6
|
+
```markdown
|
|
7
|
+
# Analysis Report — {analysis-name}
|
|
8
|
+
mode: prose
|
|
9
|
+
depth: standard | deep
|
|
10
|
+
source_doc: <path or "pasted">
|
|
11
|
+
scope: <X — the requested scope only>
|
|
12
|
+
analyzed_at: DDMMYY HH:MM:SS
|
|
13
|
+
model: opus-5-5-high # the RESOLVED model of the agent that produced this
|
|
14
|
+
# (mini writes sonnet-5-high) — never copied from here
|
|
15
|
+
grounding: repo-read | repo-read+scouts # scouts only in deep mode
|
|
16
|
+
|
|
17
|
+
## In-scope requirements (X only)
|
|
18
|
+
|
|
19
|
+
Every "Code reality" cell carries quote-anchored file:line evidence
|
|
20
|
+
(`file:line — "verbatim snippet"`, never paraphrased; a ref with no quote
|
|
21
|
+
auto-downgrades to UNVERIFIED), OR the row is tagged ASSUMPTION/UNVERIFIED (and
|
|
22
|
+
appears below as an open question). Absence claims (status missing) instead
|
|
23
|
+
carry `searched:` — the concrete globs/greps run.
|
|
24
|
+
|
|
25
|
+
| # | Requirement (from doc) | Code reality | Evidence (file:line + quote / searched:) | Files/modules | Status | Resolution |
|
|
26
|
+
|---|------------------------|--------------|------------------------------------------|---------------|--------|------------|
|
|
27
|
+
| 1 | "notifications must paginate" | list is unbounded | searched: `paginate`, `cursor`, `limit` in api/notifications — no hits | api/notifications/x | missing | implement pagination |
|
|
28
|
+
| 2 | "respect existing auth" | auth middleware present | auth/mw.x:10 — "app.use(requireAuth)" | auth/mw.x | exists | reuse, no change |
|
|
29
|
+
|
|
30
|
+
Status: exists | missing | conflict | resolved
|
|
31
|
+
|
|
32
|
+
## Assumptions & Open Questions
|
|
33
|
+
Anything not grounded to code, plus every ambiguity — each was raised as a
|
|
34
|
+
recommended-option challenge and resolved (or is still open).
|
|
35
|
+
- ASSUMPTION (resolved): "paginate" = cursor-based (recommended) — user confirmed.
|
|
36
|
+
- UNVERIFIED (open): whether a rate-limit already exists — evidence not found.
|
|
37
|
+
|
|
38
|
+
## Additional context (do not build)
|
|
39
|
+
Anchored, non-actionable context pulled from an ADJACENT scope because an in-scope
|
|
40
|
+
requirement depends on it. Read for understanding; never a task. Each item names
|
|
41
|
+
the in-scope requirement it serves + why. Omit this whole section if none survived.
|
|
42
|
+
| Anchor (in-scope #) | From scope | Dependency | Touchpoint to respect | Evidence (file:line) |
|
|
43
|
+
|---------------------|-----------|------------|-----------------------|----------------------|
|
|
44
|
+
| Req 1 (pagination) | listing (Y) | guards-invariant | shared list serializer caps a page at 100 | api/serializers/list.x:31 |
|
|
45
|
+
|
|
46
|
+
## Alternatives & risks (DEEP mode only — omit in standard)
|
|
47
|
+
- Approach A (recommended): reuse existing cursor helper — low blast radius, 3 files.
|
|
48
|
+
- Approach B: new offset paginator — simpler read, breaks existing cursor clients.
|
|
49
|
+
- Risk: pagination touches the shared list serializer (dependents: 4 call sites).
|
|
50
|
+
|
|
51
|
+
## Challenges raised & answers
|
|
52
|
+
- Req 3 appeared to require an admin panel (belongs to scope Z) — user confirmed
|
|
53
|
+
OUT of scope X.
|
|
54
|
+
|
|
55
|
+
## Excluded scopes (recognized, not detailed)
|
|
56
|
+
- Recognized Y, Z; excluded per scope = X.
|
|
57
|
+
|
|
58
|
+
## Handoff readiness (checklist — all five or handoff_ready is false)
|
|
59
|
+
- [ ] all BLOCKING challenges resolved
|
|
60
|
+
- [ ] zero open UNVERIFIED on any in-scope requirement
|
|
61
|
+
- [ ] every requirement has status + evidence-or-resolution
|
|
62
|
+
- [ ] spec derived AFTER the user confirmed this report
|
|
63
|
+
- [ ] scope_closed: true written into the spec
|
|
64
|
+
```
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
# Template — Analyst Report (REQUIREMENT mode — no document)
|
|
2
|
-
|
|
3
|
-
Used when there is NO source document: the user's plain-language request IS the
|
|
4
|
-
requirement, reconciled against the existing code. Human-readable source of
|
|
5
|
-
truth. Written to `<analyzer_dir>/{analysis-name}/report.md` (config
|
|
6
|
-
`analyzer_dir` — the internal artifact dir); it is COPIED to
|
|
7
|
-
`<report_out_dir>/{analysis-name}/report.md` only on the report-only /
|
|
8
|
-
stop-here branch. The old "written to analyst_report/…" wording described the
|
|
9
|
-
copy target as if it were the write target.
|
|
10
|
-
|
|
11
|
-
```markdown
|
|
12
|
-
# Analysis Report — {analysis-name}
|
|
13
|
-
mode: requirement
|
|
14
|
-
depth: standard | deep
|
|
15
|
-
source: "pasted request" # the user's own words, verbatim
|
|
16
|
-
scope: <X — the requested scope only>
|
|
17
|
-
analyzed_at: DDMMYY HH:MM:SS
|
|
18
|
-
model: opus-5-high
|
|
19
|
-
# (mini writes sonnet-5-high) — never copied from here
|
|
20
|
-
grounding: repo-read | repo-read+scouts # scouts only in deep mode
|
|
21
|
-
|
|
22
|
-
## Restated requirement (analyst's words)
|
|
23
|
-
One or two sentences restating the request — restating is what surfaces
|
|
24
|
-
misreadings. If the restatement rests on any assumption, tag it and ask.
|
|
25
|
-
|
|
26
|
-
## In-scope requirement parts (X only)
|
|
27
|
-
|
|
28
|
-
Each part of the request, reconciled against code. Every "Code reality" cell
|
|
29
|
-
carries quote-anchored file:line evidence (`file:line — "verbatim snippet"`,
|
|
30
|
-
never paraphrased; a ref with no quote auto-downgrades to UNVERIFIED), OR the
|
|
31
|
-
part is tagged ASSUMPTION/UNVERIFIED (and appears below as an open question).
|
|
32
|
-
Absence claims (status missing/buildable) instead carry `searched:` — the
|
|
33
|
-
concrete globs/greps run. In deep mode EVERY part is verified.
|
|
34
|
-
|
|
35
|
-
| # | Requirement part (from request) | Code reality | Evidence (file:line + quote / searched:) | Files/modules | Status | Resolution |
|
|
36
|
-
|---|---------------------------------|--------------|------------------------------------------|---------------|--------|------------|
|
|
37
|
-
| 1 | "add CSV export to reports" | reports render HTML only | searched: `export*`, `csv`, `download` — no hits | web/reports/x | missing | new export path |
|
|
38
|
-
| 2 | "reuse current auth" | auth guard on report routes | web/reports/routes.x:12 — "requireAuth(" | web/reports/x | exists | reuse, no change |
|
|
39
|
-
|
|
40
|
-
Status: buildable | exists | conflict | resolved
|
|
41
|
-
- buildable: not present, but consistent with the code — safe to build.
|
|
42
|
-
- exists: already implemented — flag so the planner doesn't duplicate.
|
|
43
|
-
- conflict: request contradicts existing behavior → challenged.
|
|
44
|
-
- resolved: a challenged part the user decided on.
|
|
45
|
-
|
|
46
|
-
## Assumptions & Open Questions
|
|
47
|
-
Every ambiguity in the request + anything not grounded to code. Each raised as a
|
|
48
|
-
recommended-option challenge and resolved (or still open).
|
|
49
|
-
- ASSUMPTION (resolved): "export" = download file (recommended) vs email — user
|
|
50
|
-
confirmed download.
|
|
51
|
-
- UNVERIFIED (open): whether a reports permission gate exists — evidence not found.
|
|
52
|
-
|
|
53
|
-
## Additional context (do not build)
|
|
54
|
-
Anchored, non-actionable context pulled from an ADJACENT scope because an in-scope
|
|
55
|
-
request part depends on it. Read for understanding; never a task. Each item names
|
|
56
|
-
the in-scope part it serves + why. Omit this whole section if none survived.
|
|
57
|
-
| Anchor (in-scope #) | From scope | Dependency | Touchpoint to respect | Evidence (file:line) |
|
|
58
|
-
|---------------------|-----------|------------|-----------------------|----------------------|
|
|
59
|
-
| Part 1 (CSV export) | reporting (Y) | consumes-output | report query already paginates; export must page too | web/reports/query.x:44 |
|
|
60
|
-
|
|
61
|
-
## Alternatives & risks (DEEP mode only — omit in standard)
|
|
62
|
-
- Approach A (recommended): stream CSV from the existing query — low blast radius.
|
|
63
|
-
- Approach B: precompute + cache — faster reads, adds a cache dependency.
|
|
64
|
-
- Risk: export reuses the report query (dependents: 2 schedulers).
|
|
65
|
-
|
|
66
|
-
## Challenges raised & answers
|
|
67
|
-
- Part 3 ("admin-only export") looked like scope Z (admin) — user confirmed OUT.
|
|
68
|
-
|
|
69
|
-
## Excluded scopes (recognized, not detailed)
|
|
70
|
-
- Recognized Y, Z implied by the request; excluded per scope = X.
|
|
71
|
-
|
|
72
|
-
## Handoff readiness (checklist — all five or handoff_ready is false)
|
|
73
|
-
- [ ] all BLOCKING challenges resolved
|
|
74
|
-
- [ ] zero open UNVERIFIED on any in-scope part
|
|
75
|
-
- [ ] every part has status + evidence-or-resolution
|
|
76
|
-
- [ ] spec derived AFTER the user confirmed this report
|
|
77
|
-
- [ ] scope_closed: true written into the spec
|
|
78
|
-
```
|
|
1
|
+
# Template — Analyst Report (REQUIREMENT mode — no document)
|
|
2
|
+
|
|
3
|
+
Used when there is NO source document: the user's plain-language request IS the
|
|
4
|
+
requirement, reconciled against the existing code. Human-readable source of
|
|
5
|
+
truth. Written to `<analyzer_dir>/{analysis-name}/report.md` (config
|
|
6
|
+
`analyzer_dir` — the internal artifact dir); it is COPIED to
|
|
7
|
+
`<report_out_dir>/{analysis-name}/report.md` only on the report-only /
|
|
8
|
+
stop-here branch. The old "written to analyst_report/…" wording described the
|
|
9
|
+
copy target as if it were the write target.
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Analysis Report — {analysis-name}
|
|
13
|
+
mode: requirement
|
|
14
|
+
depth: standard | deep
|
|
15
|
+
source: "pasted request" # the user's own words, verbatim
|
|
16
|
+
scope: <X — the requested scope only>
|
|
17
|
+
analyzed_at: DDMMYY HH:MM:SS
|
|
18
|
+
model: opus-5-5-high # the RESOLVED model of the agent that produced this
|
|
19
|
+
# (mini writes sonnet-5-high) — never copied from here
|
|
20
|
+
grounding: repo-read | repo-read+scouts # scouts only in deep mode
|
|
21
|
+
|
|
22
|
+
## Restated requirement (analyst's words)
|
|
23
|
+
One or two sentences restating the request — restating is what surfaces
|
|
24
|
+
misreadings. If the restatement rests on any assumption, tag it and ask.
|
|
25
|
+
|
|
26
|
+
## In-scope requirement parts (X only)
|
|
27
|
+
|
|
28
|
+
Each part of the request, reconciled against code. Every "Code reality" cell
|
|
29
|
+
carries quote-anchored file:line evidence (`file:line — "verbatim snippet"`,
|
|
30
|
+
never paraphrased; a ref with no quote auto-downgrades to UNVERIFIED), OR the
|
|
31
|
+
part is tagged ASSUMPTION/UNVERIFIED (and appears below as an open question).
|
|
32
|
+
Absence claims (status missing/buildable) instead carry `searched:` — the
|
|
33
|
+
concrete globs/greps run. In deep mode EVERY part is verified.
|
|
34
|
+
|
|
35
|
+
| # | Requirement part (from request) | Code reality | Evidence (file:line + quote / searched:) | Files/modules | Status | Resolution |
|
|
36
|
+
|---|---------------------------------|--------------|------------------------------------------|---------------|--------|------------|
|
|
37
|
+
| 1 | "add CSV export to reports" | reports render HTML only | searched: `export*`, `csv`, `download` — no hits | web/reports/x | missing | new export path |
|
|
38
|
+
| 2 | "reuse current auth" | auth guard on report routes | web/reports/routes.x:12 — "requireAuth(" | web/reports/x | exists | reuse, no change |
|
|
39
|
+
|
|
40
|
+
Status: buildable | exists | conflict | resolved
|
|
41
|
+
- buildable: not present, but consistent with the code — safe to build.
|
|
42
|
+
- exists: already implemented — flag so the planner doesn't duplicate.
|
|
43
|
+
- conflict: request contradicts existing behavior → challenged.
|
|
44
|
+
- resolved: a challenged part the user decided on.
|
|
45
|
+
|
|
46
|
+
## Assumptions & Open Questions
|
|
47
|
+
Every ambiguity in the request + anything not grounded to code. Each raised as a
|
|
48
|
+
recommended-option challenge and resolved (or still open).
|
|
49
|
+
- ASSUMPTION (resolved): "export" = download file (recommended) vs email — user
|
|
50
|
+
confirmed download.
|
|
51
|
+
- UNVERIFIED (open): whether a reports permission gate exists — evidence not found.
|
|
52
|
+
|
|
53
|
+
## Additional context (do not build)
|
|
54
|
+
Anchored, non-actionable context pulled from an ADJACENT scope because an in-scope
|
|
55
|
+
request part depends on it. Read for understanding; never a task. Each item names
|
|
56
|
+
the in-scope part it serves + why. Omit this whole section if none survived.
|
|
57
|
+
| Anchor (in-scope #) | From scope | Dependency | Touchpoint to respect | Evidence (file:line) |
|
|
58
|
+
|---------------------|-----------|------------|-----------------------|----------------------|
|
|
59
|
+
| Part 1 (CSV export) | reporting (Y) | consumes-output | report query already paginates; export must page too | web/reports/query.x:44 |
|
|
60
|
+
|
|
61
|
+
## Alternatives & risks (DEEP mode only — omit in standard)
|
|
62
|
+
- Approach A (recommended): stream CSV from the existing query — low blast radius.
|
|
63
|
+
- Approach B: precompute + cache — faster reads, adds a cache dependency.
|
|
64
|
+
- Risk: export reuses the report query (dependents: 2 schedulers).
|
|
65
|
+
|
|
66
|
+
## Challenges raised & answers
|
|
67
|
+
- Part 3 ("admin-only export") looked like scope Z (admin) — user confirmed OUT.
|
|
68
|
+
|
|
69
|
+
## Excluded scopes (recognized, not detailed)
|
|
70
|
+
- Recognized Y, Z implied by the request; excluded per scope = X.
|
|
71
|
+
|
|
72
|
+
## Handoff readiness (checklist — all five or handoff_ready is false)
|
|
73
|
+
- [ ] all BLOCKING challenges resolved
|
|
74
|
+
- [ ] zero open UNVERIFIED on any in-scope part
|
|
75
|
+
- [ ] every part has status + evidence-or-resolution
|
|
76
|
+
- [ ] spec derived AFTER the user confirmed this report
|
|
77
|
+
- [ ] scope_closed: true written into the spec
|
|
78
|
+
```
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orc-analyze-mini
|
|
3
3
|
description: >
|
|
4
|
-
Fast-lane System Analyst for ORC-MINI (Sonnet 5, high effort).
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
user with recommended options. Use for "/orc-analyze-mini", "quickly analyze
|
|
11
|
-
this doc", "fast doc analysis", "quick requirement check", "fast requirement
|
|
12
|
-
analysis", or when orc-mini meets a document or an ambiguous requirement.
|
|
13
|
-
Distinct from /orc-analyze: ALWAYS single-pass — NO deep mode, NO scouts —
|
|
14
|
-
trading depth for speed and tokens; switch to /orc-analyze (deep) when you
|
|
15
|
-
need a wider code sweep, verify-every-claim, or alternatives with trade-offs.
|
|
16
|
-
The orchestrator dispatches this to a subagent — it never analyzes itself.
|
|
4
|
+
Fast-lane System Analyst for ORC-MINI (Sonnet 5, high effort). Use for
|
|
5
|
+
"/orc-analyze-mini", "quickly analyze this doc", "fast doc analysis", "quick
|
|
6
|
+
requirement check", "fast requirement analysis", or when orc-mini meets a
|
|
7
|
+
document or an ambiguous requirement. Writes a scope-bounded requirement
|
|
8
|
+
report with file:line evidence. ALWAYS single-pass — NO deep mode, NO scouts;
|
|
9
|
+
use /orc-analyze for depth.
|
|
17
10
|
---
|
|
18
11
|
|
|
19
12
|
# ORC-ANALYZE-MINI
|
|
@@ -39,48 +32,37 @@ for the formats; this skill does not duplicate them.
|
|
|
39
32
|
silently dropped.
|
|
40
33
|
- **No deep mode, no scouts.** Always single-pass.
|
|
41
34
|
- **Concrete escalation thresholds** (recommend the full `/orc-analyze`, Opus
|
|
42
|
-
|
|
35
|
+
5.5 high, and let the user choose — the boundary is not self-assessed vibes):
|
|
43
36
|
source doc > ~10 pages, OR > 12 in-scope requirements, OR > 3 conflict rows,
|
|
44
37
|
OR audit mode with > 5 stale-premise rows.
|
|
45
38
|
- **Model:** Sonnet 5, high effort.
|
|
46
39
|
|
|
47
40
|
## What's identical
|
|
48
41
|
|
|
42
|
+
The full analyst's **hard rules 2, 3, 3a, 4a, 5 and 6** apply unchanged
|
|
43
|
+
(`../orc-analyze/SKILL.md` §Hard rules): quote-anchored evidence-or-mark with
|
|
44
|
+
`searched:` on absence claims, the read ladder (`../_shared/read-ladder.md`),
|
|
45
|
+
recommended-option challenges, two perimeters with the **Additional context (do
|
|
46
|
+
not build)** section, and a spec derived from the confirmed report (with the Evidence column and the
|
|
47
|
+
Assumptions & Open Questions section). Anchored context is self-read (no
|
|
48
|
+
scouts). Also the same:
|
|
49
|
+
|
|
49
50
|
- **Doc-optional intake:** auto-detect + confirm mode — prose / audit
|
|
50
|
-
(documents) or **requirement** (NO doc; the
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
auto-downgrades to `UNVERIFIED`), OR tagged `ASSUMPTION`/`UNVERIFIED` and
|
|
55
|
-
turned into a question — never a silent guess. **Absence claims**
|
|
56
|
-
(missing/buildable) carry `searched:` — the concrete globs/greps run.
|
|
57
|
-
- **The read ladder:** locate → outline → range → full, escalating only as far as
|
|
58
|
-
the question needs (`../_shared/read-ladder.md`). Trimmed depth is not a lower
|
|
59
|
-
evidence floor — it is fewer wasted full reads reaching the same anchors.
|
|
60
|
-
- **Recommended-option challenges:** each challenge is a 2–3 option set with one
|
|
61
|
-
flagged recommended option + reason (blocking one at a time, advisory batched).
|
|
62
|
-
- Two perimeters: the deliverable stays scope X (Y/Z never become tasks), but
|
|
63
|
-
anchored, non-actionable adjacent context is gathered when an in-scope item
|
|
64
|
-
depends on it — touchpoint-bounded, self-read (no scouts), each item anchored to
|
|
65
|
-
the requirement it serves + labeled "do not build". Same **Additional context
|
|
66
|
-
(do not build)** section in report + spec. Unanchored context is dropped.
|
|
67
|
-
- Two artifacts, spec derived from the confirmed report, same folder
|
|
68
|
-
`orc/analyzer/{analysis-name}/` (internal; copied out only on report-only),
|
|
69
|
-
including the Evidence column and Assumptions & Open Questions section. The
|
|
70
|
-
spec is stamped with `git_head` + `dirty` for plan-time staleness detection.
|
|
51
|
+
(documents) or **requirement** (NO doc; the request is the source of truth).
|
|
52
|
+
- Same folder `orc/analyzer/{analysis-name}/` (internal; copied out only on
|
|
53
|
+
report-only). The spec is stamped with `git_head` + `dirty` for plan-time
|
|
54
|
+
staleness detection.
|
|
71
55
|
- Same branch: report-only, or take into build (hand both files to orc-mini,
|
|
72
|
-
which continues with the mini planner
|
|
73
|
-
|
|
56
|
+
which continues with the mini planner and runs the same evidence spot-check +
|
|
57
|
+
derivation lint gates).
|
|
74
58
|
|
|
75
59
|
## Behavior trace (always on)
|
|
76
60
|
|
|
77
|
-
`../_shared/phases/trace.md` (`core`, at run start; `orc lane phases`
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
Nothing else about the protocol is restated here; a phase that ends with
|
|
83
|
-
`zero new trace lines is a protocol violation`.
|
|
61
|
+
`../_shared/phases/trace.md` (`core`, at run start; `orc lane phases orc-analyze-mini --json` →
|
|
62
|
+
`trace_grammar` gives the verbs). Lane token `analyze`, tier
|
|
63
|
+
**Single-dispatch**. At run start write `log_dir/.current` =
|
|
64
|
+
`run-analyze-<slug>-<DDMMYY>-<HHMMSS>.txt` AND `touch the trace file` of that name
|
|
65
|
+
in the SAME step. A phase that ends with `zero new trace lines is a protocol violation`.
|
|
84
66
|
|
|
85
67
|
## Workflow checkpoint (gate before deriving the spec)
|
|
86
68
|
|
|
@@ -108,29 +90,12 @@ survived. Return exactly:
|
|
|
108
90
|
|
|
109
91
|
Never build or spawn.
|
|
110
92
|
|
|
111
|
-
##
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
**ONE catalogue, and it is not you:** `orc lane calls orc-analyze-mini --json` names every
|
|
122
|
-
CLI call this lane makes, each with its exit-code contract, its cost, when to run
|
|
123
|
-
it, and what an EMPTY answer means. Never invent a spelling, never re-word an
|
|
124
|
-
exit code, and never re-derive a state word — the CLI's state words are the only
|
|
125
|
-
state words, and **an exit code is an ANSWER wherever that contract says so, not
|
|
126
|
-
a failure**. A call the answer does not name is a call this lane does not make.
|
|
127
|
-
Exit ≠ 0 from the catalogue itself → say the CLI is unavailable and name the
|
|
128
|
-
command you are about to run, out loud, before running it.
|
|
129
|
-
|
|
130
|
-
## Rules — the anti-slop card (`../_shared/phases/rules.md`)
|
|
131
|
-
|
|
132
|
-
`orc rules slice --lane orc-analyze-mini --json` is the ONLY assembler; never build
|
|
133
|
-
the card here. It rides under the house rules and above the task —
|
|
134
|
-
**house rules > your project's rules > ORC's own packs** — and its `line` prints
|
|
135
|
-
VERBATIM at preflight. Returns gain `rules_applied[]`, `rules_conflicts[]` (a gap,
|
|
136
|
-
never a silent choice) and `rules_overridden[]`.
|
|
93
|
+
## Lane contract (`../_shared/lane-contract.md` — read it ONLY when a call exits ≠ 0)
|
|
94
|
+
|
|
95
|
+
- **Calls:** `orc lane calls orc-analyze-mini --json` names every call and its exit codes.
|
|
96
|
+
**An exit code is an ANSWER where it says so, not a failure.** Make no other call.
|
|
97
|
+
- **Config:** `orc lane config orc-analyze-mini --json`. Obey `effective`. Never merge
|
|
98
|
+
`.claude/orc.config.yaml` yourself (`../_shared/config-precedence.md`). Nothing
|
|
99
|
+
here is contested, gated or a stop: no preflight line, no gate to honour.
|
|
100
|
+
- **Rules:** `orc rules slice --lane orc-analyze-mini --json` is the ONLY assembler
|
|
101
|
+
(`../_shared/phases/rules.md`). Its `line` prints VERBATIM at preflight.
|