@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
package/mock-run/INDEX.md
CHANGED
|
@@ -1,107 +1,109 @@
|
|
|
1
|
-
# Mocked runs — what each ORC lane looks like when it runs
|
|
2
|
-
|
|
3
|
-
New to ORC? Start here. Every file below is a **mocked run**: the screen you
|
|
4
|
-
would see, the questions you would be asked, and the files that would land on
|
|
5
|
-
disk — written the way the real lane writes them.
|
|
6
|
-
|
|
7
|
-
Nothing here was executed. It is documentation, and it is here because you
|
|
8
|
-
should not have to spend tokens to find out what a command does.
|
|
9
|
-
|
|
10
|
-
All of it uses **easy English**, short sentences, and the same fake project.
|
|
11
|
-
|
|
12
|
-
> **Read it in the panel instead:** `orc ui` ▸ **Mocked Skill Use** — the same
|
|
13
|
-
> documents, searchable, with a reading pane. From the terminal:
|
|
14
|
-
> `orc mock-run list` and `orc mock-run show <slug>`.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Start here
|
|
19
|
-
|
|
20
|
-
| Doc | What it shows |
|
|
21
|
-
|---|---|
|
|
22
|
-
| [The example project](the-example-project.md) | `shopcart`, the fake project every mock uses, and how to read these files |
|
|
23
|
-
| [A normal day](a-normal-day.md) | `/orc-pact`, `/orc-boundary`, `/orc-budget`, `/orc-aftermath` and the rest, all inside one ordinary run |
|
|
24
|
-
|
|
25
|
-
## Build a change
|
|
26
|
-
|
|
27
|
-
| Doc | Lane | One line |
|
|
28
|
-
|---|---|---|
|
|
29
|
-
| [orc](orc.md) | `/orc` | The full pipeline: intake → plan → score → parallel waves → review → verify → ship |
|
|
30
|
-
| [orc-ultra](orc-ultra.md) | `/orc-ultra` | The same, plus an advisor and three judgment gates. Costs the most |
|
|
31
|
-
| [orc-mini](../templates/skills/orc-mini/examples/mini-run-mock.md) | `/orc-mini` | One executor, a smoke gate, ship |
|
|
32
|
-
| [orc-fast](orc-fast.md) | `/orc-fast` | No analyst, no planner — the wiki and the pattern already did that work |
|
|
33
|
-
| [orc-quick](orc-quick.md) | `/orc-quick` | Ask for anything. Look → ask once → do, and it always asks which agent |
|
|
34
|
-
| [orc-diy](orc-diy.md) | `/orc-diy` | Your own lane, composed in the terminal and compiled |
|
|
35
|
-
|
|
36
|
-
## Decide what to build
|
|
37
|
-
|
|
38
|
-
| Doc | Lane | One line |
|
|
39
|
-
|---|---|---|
|
|
40
|
-
| [orc-brainstorm](orc-brainstorm.md) | `/orc-brainstorm` | No idea yet: it generates the options and **you** pick |
|
|
41
|
-
| [orc-grill](orc-grill.md) | `/orc-grill` | One vague idea, sharpened by questions — it never answers its own |
|
|
42
|
-
| [orc-doc](orc-doc.md) | `/orc-doc` | A PRD, TSD, agreement, report or runbook — written in parts, so nothing holds it all |
|
|
43
|
-
| [orc-plan](orc-plan.md) | `/orc-plan` | A real task plan: grounded files, dependencies, facets, test dispositions |
|
|
44
|
-
| [orc-route](orc-route.md) | `/orc-route` | You have a plan — which lane should build it, and which cannot |
|
|
45
|
-
| [orc-explain](orc-explain.md) | `/orc-explain` | "Wait, what?" — it says the last message again, properly |
|
|
46
|
-
| [orc-analyze](../templates/skills/orc-analyze/examples/analyze-mock.md) | `/orc-analyze` | A document turned into code-grounded requirements |
|
|
47
|
-
| [orc-analyze-mini](../templates/skills/orc-analyze-mini/examples/quick-analysis-mock.md) | *(inside `/orc-mini`)* | The same, single pass, much cheaper |
|
|
48
|
-
| [context-combiner](context-combiner.md) | — | Two related analyses merged into one spec, with a 100% conservation gate |
|
|
49
|
-
| [orc-poly](../templates/skills/orc-poly/examples/poly-run-mock.md) | `/orc-poly` | One change across two or more repos, without drift |
|
|
50
|
-
|
|
51
|
-
## Teach ORC your project
|
|
52
|
-
|
|
53
|
-
| Doc | Lane | One line |
|
|
54
|
-
|---|---|---|
|
|
55
|
-
| [orc-rules](orc-rules.md) | `orc rules` | The anti-slop rules: 65 shipped read-only, plus your own, which win |
|
|
56
|
-
| [orc-wiki](../templates/skills/orc-wiki/examples/wiki-run-mock.md) | `/orc-wiki` | Scan the codebase into an evidence-anchored knowledge base |
|
|
57
|
-
| [orc-pattern](orc-pattern.md) | `/orc-pattern` | Learn your real conventions so executors match your house style |
|
|
58
|
-
| [orc-learn](../templates/skills/orc-learn/examples/learn-run-mock.md) | `/orc-learn` | Onboarding docs for a human, per feature |
|
|
59
|
-
| [orc-claude](../templates/skills/orc-claude/examples/claude-run-mock.md) | `/orc-claude` | Build or refresh this repo's `CLAUDE.md` from verified facts |
|
|
60
|
-
| [orc-export](orc-export.md) | `/orc-export` | Compile it all into a portable `AGENTS.md` so ORC is not a trap |
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
|
67
|
-
|
|
68
|
-
| [orc-
|
|
69
|
-
| [orc-
|
|
70
|
-
| [orc-
|
|
71
|
-
| [orc-
|
|
72
|
-
| [orc-
|
|
73
|
-
| [orc-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
|
87
|
-
|
|
88
|
-
| [orc-
|
|
89
|
-
| [
|
|
90
|
-
| [extra
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
1
|
+
# Mocked runs — what each ORC lane looks like when it runs
|
|
2
|
+
|
|
3
|
+
New to ORC? Start here. Every file below is a **mocked run**: the screen you
|
|
4
|
+
would see, the questions you would be asked, and the files that would land on
|
|
5
|
+
disk — written the way the real lane writes them.
|
|
6
|
+
|
|
7
|
+
Nothing here was executed. It is documentation, and it is here because you
|
|
8
|
+
should not have to spend tokens to find out what a command does.
|
|
9
|
+
|
|
10
|
+
All of it uses **easy English**, short sentences, and the same fake project.
|
|
11
|
+
|
|
12
|
+
> **Read it in the panel instead:** `orc ui` ▸ **Mocked Skill Use** — the same
|
|
13
|
+
> documents, searchable, with a reading pane. From the terminal:
|
|
14
|
+
> `orc mock-run list` and `orc mock-run show <slug>`.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Start here
|
|
19
|
+
|
|
20
|
+
| Doc | What it shows |
|
|
21
|
+
|---|---|
|
|
22
|
+
| [The example project](the-example-project.md) | `shopcart`, the fake project every mock uses, and how to read these files |
|
|
23
|
+
| [A normal day](a-normal-day.md) | `/orc-pact`, `/orc-boundary`, `/orc-budget`, `/orc-aftermath` and the rest, all inside one ordinary run |
|
|
24
|
+
|
|
25
|
+
## Build a change
|
|
26
|
+
|
|
27
|
+
| Doc | Lane | One line |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| [orc](orc.md) | `/orc` | The full pipeline: intake → plan → score → parallel waves → review → verify → ship |
|
|
30
|
+
| [orc-ultra](orc-ultra.md) | `/orc-ultra` | The same, plus an advisor and three judgment gates. Costs the most |
|
|
31
|
+
| [orc-mini](../templates/skills/orc-mini/examples/mini-run-mock.md) | `/orc-mini` | One executor, a smoke gate, ship |
|
|
32
|
+
| [orc-fast](orc-fast.md) | `/orc-fast` | No analyst, no planner — the wiki and the pattern already did that work |
|
|
33
|
+
| [orc-quick](orc-quick.md) | `/orc-quick` | Ask for anything. Look → ask once → do, and it always asks which agent |
|
|
34
|
+
| [orc-diy](orc-diy.md) | `/orc-diy` | Your own lane, composed in the terminal and compiled |
|
|
35
|
+
|
|
36
|
+
## Decide what to build
|
|
37
|
+
|
|
38
|
+
| Doc | Lane | One line |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| [orc-brainstorm](orc-brainstorm.md) | `/orc-brainstorm` | No idea yet: it generates the options and **you** pick |
|
|
41
|
+
| [orc-grill](orc-grill.md) | `/orc-grill` | One vague idea, sharpened by questions — it never answers its own |
|
|
42
|
+
| [orc-doc](orc-doc.md) | `/orc-doc` | A PRD, TSD, agreement, report or runbook — written in parts, so nothing holds it all |
|
|
43
|
+
| [orc-plan](orc-plan.md) | `/orc-plan` | A real task plan: grounded files, dependencies, facets, test dispositions |
|
|
44
|
+
| [orc-route](orc-route.md) | `/orc-route` | You have a plan — which lane should build it, and which cannot |
|
|
45
|
+
| [orc-explain](orc-explain.md) | `/orc-explain` | "Wait, what?" — it says the last message again, properly |
|
|
46
|
+
| [orc-analyze](../templates/skills/orc-analyze/examples/analyze-mock.md) | `/orc-analyze` | A document turned into code-grounded requirements |
|
|
47
|
+
| [orc-analyze-mini](../templates/skills/orc-analyze-mini/examples/quick-analysis-mock.md) | *(inside `/orc-mini`)* | The same, single pass, much cheaper |
|
|
48
|
+
| [context-combiner](context-combiner.md) | — | Two related analyses merged into one spec, with a 100% conservation gate |
|
|
49
|
+
| [orc-poly](../templates/skills/orc-poly/examples/poly-run-mock.md) | `/orc-poly` | One change across two or more repos, without drift |
|
|
50
|
+
|
|
51
|
+
## Teach ORC your project
|
|
52
|
+
|
|
53
|
+
| Doc | Lane | One line |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| [orc-rules](orc-rules.md) | `orc rules` | The anti-slop rules: 65 shipped read-only, plus your own, which win |
|
|
56
|
+
| [orc-wiki](../templates/skills/orc-wiki/examples/wiki-run-mock.md) | `/orc-wiki` | Scan the codebase into an evidence-anchored knowledge base |
|
|
57
|
+
| [orc-pattern](orc-pattern.md) | `/orc-pattern` | Learn your real conventions so executors match your house style |
|
|
58
|
+
| [orc-learn](../templates/skills/orc-learn/examples/learn-run-mock.md) | `/orc-learn` | Onboarding docs for a human, per feature |
|
|
59
|
+
| [orc-claude](../templates/skills/orc-claude/examples/claude-run-mock.md) | `/orc-claude` | Build or refresh this repo's `CLAUDE.md` from verified facts |
|
|
60
|
+
| [orc-export](orc-export.md) | `/orc-export` | Compile it all into a portable `AGENTS.md` so ORC is not a trap |
|
|
61
|
+
| [habits](habits.md) | `orc habit` | The answers you keep giving, proposed once at the end of a run. Off by default, never applied without your yes |
|
|
62
|
+
| [gotcha-import](gotcha-import.md) | `orc gotcha import` | Teach the repair memory from SARIF, Sonar, PR threads and closed defects |
|
|
63
|
+
|
|
64
|
+
## Check what happened
|
|
65
|
+
|
|
66
|
+
| Doc | Lane | One line |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| [orc-verify](../templates/skills/orc-verify/examples/verify-mock.md) | `/orc-verify` | Verify only your git-modified changes. Read-only |
|
|
69
|
+
| [orc-challenge](orc-challenge.md) | `/orc-challenge` | Grade a finished document, then stop and make you fix it in another session |
|
|
70
|
+
| [orc-challenge-council](orc-challenge-council.md) | `/orc-challenge` | Six more ways of looking at the same document — and you choose which ones run |
|
|
71
|
+
| [orc-pact](orc-pact.md) | `/orc-pact` | The promises your system makes, and which are in doubt right now |
|
|
72
|
+
| [orc-boundary](orc-boundary.md) | `/orc-boundary` | What the agent should **not** try here, and what would change that |
|
|
73
|
+
| [orc-aftermath](orc-aftermath.md) | `/orc-aftermath` | Did what we shipped hold up. Churn is a signal, never a verdict |
|
|
74
|
+
| [orc-budget](orc-budget.md) | `/orc-budget` | What a run costs, in the unit you are billed in |
|
|
75
|
+
| [orc-retro](../templates/skills/orc-retro/examples/retro-mock.md) | `/orc-retro` | Mine the behavior traces into a calibration report |
|
|
76
|
+
|
|
77
|
+
## Ship and hand over
|
|
78
|
+
|
|
79
|
+
| Doc | Lane | One line |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| [orc-pr-setup / orc-pr-driver](orc-pr-setup.md) | `/orc-pr-setup`, `/orc-pr-driver` | Split a big change into a stack of PRs, then build and merge them |
|
|
82
|
+
| [orc-handoff](orc-handoff.md) | `/orc-handoff` | What a non-developer can safely change, graded by whether a check exists |
|
|
83
|
+
|
|
84
|
+
## Panel and terminal
|
|
85
|
+
|
|
86
|
+
| Doc | One line |
|
|
87
|
+
|---|---|
|
|
88
|
+
| [orc-ui](orc-ui.md) | The local control panel for everything that is not ai (**video placeholder here**) |
|
|
89
|
+
| [orc-cli](orc-cli.md) | The terminal commands: install, config, probes, run state, stats |
|
|
90
|
+
| [orc-extra](orc-extra.md) | Run some of ORC's work on a different AI model, and still know what left your machine |
|
|
91
|
+
| [extra-recovery](extra-recovery.md) | When that other model stops half-way: what it left on disk, whose fault it was, and how to continue |
|
|
92
|
+
| [extra-slots](extra-slots.md) | The four lanes that never score a task: giving one JOB to a cheaper model, and what ORC says before it does |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Two kinds of document
|
|
97
|
+
|
|
98
|
+
- **Walkthroughs** (this folder) — written for a person, in easy English.
|
|
99
|
+
- **Annotated examples** (`templates/skills/<skill>/examples/`) — dense, written
|
|
100
|
+
for the model, and shipped inside your `.claude/` install. Both appear in
|
|
101
|
+
`orc mock-run list` and in the **Mocked Skill Use** panel.
|
|
102
|
+
|
|
103
|
+
## Adding one
|
|
104
|
+
|
|
105
|
+
Drop a `.md` file in this folder with a `# Title` heading and a `> one line`
|
|
106
|
+
summary under it. It appears in `orc mock-run`, in the panel, and here — no list
|
|
107
|
+
to update anywhere else. Reading order comes from `GROUP_OF` in
|
|
108
|
+
[`bin/mockrun-catalog.js`](../bin/mockrun-catalog.js); a file nobody placed
|
|
109
|
+
there still shows, under **More**.
|
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
# Mock run — the context combiner
|
|
2
|
-
|
|
3
|
-
> Two analyses of two related documents, merged into one spec — and it proves
|
|
4
|
-
> that nothing was lost.
|
|
5
|
-
|
|
6
|
-
There is no slash command for this. It is offered by `/orc-analyze` when two or
|
|
7
|
-
more related analyses already exist.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 1. What it does
|
|
12
|
-
|
|
13
|
-
You analysed the refund policy PDF last week. Today you analysed the support
|
|
14
|
-
escalation doc. Both talk about refunds. Building from either one alone means
|
|
15
|
-
building half the thing.
|
|
16
|
-
|
|
17
|
-
The combiner pools **every** requirement from **every** source and gives each
|
|
18
|
-
one exactly one outcome. Then it counts. If the count is not 100%, it does not
|
|
19
|
-
hand off.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## 2. The run
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
/orc-analyze … Phase F:
|
|
27
|
-
|
|
28
|
-
Two related analyses found. Merge them into one spec?
|
|
29
|
-
· refund-policy 11 requirements 2026-08-04
|
|
30
|
-
· support-escalation 7 requirements 2026-08-12
|
|
31
|
-
|
|
32
|
-
> yes
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
Dispatching orc-context-combiner-opus-5-high …
|
|
37
|
-
returned as: claude-opus-5 / high ✓
|
|
38
|
-
|
|
39
|
-
Phase B — are these really related?
|
|
40
|
-
shared files api/refunds/ (both), web/refunds/ (both)
|
|
41
|
-
shared subject refund state and who is told about it
|
|
42
|
-
Verdict: related. Continuing.
|
|
43
|
-
|
|
44
|
-
Phase C — pooled 18 requirements, reconciled one at a time
|
|
45
|
-
|
|
46
|
-
exact duplicate R-04 = S-02 "refund state must be visible to support"
|
|
47
|
-
→ ONE row, both sources cited
|
|
48
|
-
partial overlap R-07 "notify the customer" vs S-05 "notify support"
|
|
49
|
-
→ SPLIT into two rows, never collapsed into "notify"
|
|
50
|
-
conflict R-09 says refunds are final; S-06 describes a re-open
|
|
51
|
-
→ CONFLICT, raised to you (below)
|
|
52
|
-
ordering S-01 must happen before R-02 (it creates the state)
|
|
53
|
-
|
|
54
|
-
Phase D — one question at a time
|
|
55
|
-
|
|
56
|
-
❓ R-09 vs S-06 — can a closed refund be re-opened?
|
|
57
|
-
R-09 (policy PDF, p.4): "a completed refund is final"
|
|
58
|
-
S-06 (escalation doc, §2): "support may re-open within 14 days"
|
|
59
|
-
➡️ The escalation doc is newer. I recommend S-06 wins, with R-09 kept
|
|
60
|
-
as a note. Your call.
|
|
61
|
-
|
|
62
|
-
> S-06 wins, and add the 14 days as a hard rule
|
|
63
|
-
|
|
64
|
-
Phase E — conservation gate
|
|
65
|
-
source requirements 18
|
|
66
|
-
rows in the merged spec 19 (one split into two)
|
|
67
|
-
every source id has exactly one outcome:
|
|
68
|
-
kept 15 · merged 2 · split 1→2 · resolved-by-you 1 · dropped 0
|
|
69
|
-
coverage_pct: 100 → handoff allowed
|
|
70
|
-
|
|
71
|
-
Phase F — written
|
|
72
|
-
combined-report.md
|
|
73
|
-
combined-requirement-spec.md (a normal spec, plus the source map)
|
|
74
|
-
|
|
75
|
-
Evidence freshness: 2 anchors from last week no longer match HEAD.
|
|
76
|
-
api/refunds/create.ts:31 → now :44 (flagged, not silently fixed)
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## 3. What to notice
|
|
82
|
-
|
|
83
|
-
- **Nothing may vanish quietly.** Below 100% coverage there is no handoff.
|
|
84
|
-
Dropping a requirement is allowed — but only as your explicit decision, and
|
|
85
|
-
it is recorded as one.
|
|
86
|
-
- **A partial overlap is split, never collapsed.** Collapsing two similar
|
|
87
|
-
requirements into one shorter sentence is how scope disappears.
|
|
88
|
-
- **Old evidence is re-checked against HEAD**, because an anchor that was true
|
|
89
|
-
last week is not a fact today.
|
|
90
|
-
- **The merged spec is a normal spec.** The planner and the build pipeline do
|
|
91
|
-
not know or care that it came from two documents.
|
|
92
|
-
- **Full lane only.** There is no mini version of this, and it never builds
|
|
93
|
-
anything or spawns anything itself.
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## 4. Related
|
|
98
|
-
|
|
99
|
-
- Where it starts: [`/orc-analyze`](../templates/skills/orc-analyze/examples/analyze-mock.md)
|
|
100
|
-
- What happens next: [`/orc-plan`](orc-plan.md)
|
|
1
|
+
# Mock run — the context combiner
|
|
2
|
+
|
|
3
|
+
> Two analyses of two related documents, merged into one spec — and it proves
|
|
4
|
+
> that nothing was lost.
|
|
5
|
+
|
|
6
|
+
There is no slash command for this. It is offered by `/orc-analyze` when two or
|
|
7
|
+
more related analyses already exist.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. What it does
|
|
12
|
+
|
|
13
|
+
You analysed the refund policy PDF last week. Today you analysed the support
|
|
14
|
+
escalation doc. Both talk about refunds. Building from either one alone means
|
|
15
|
+
building half the thing.
|
|
16
|
+
|
|
17
|
+
The combiner pools **every** requirement from **every** source and gives each
|
|
18
|
+
one exactly one outcome. Then it counts. If the count is not 100%, it does not
|
|
19
|
+
hand off.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. The run
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/orc-analyze … Phase F:
|
|
27
|
+
|
|
28
|
+
Two related analyses found. Merge them into one spec?
|
|
29
|
+
· refund-policy 11 requirements 2026-08-04
|
|
30
|
+
· support-escalation 7 requirements 2026-08-12
|
|
31
|
+
|
|
32
|
+
> yes
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Dispatching orc-context-combiner-opus-5-high …
|
|
37
|
+
returned as: claude-opus-5-5 / high ✓
|
|
38
|
+
|
|
39
|
+
Phase B — are these really related?
|
|
40
|
+
shared files api/refunds/ (both), web/refunds/ (both)
|
|
41
|
+
shared subject refund state and who is told about it
|
|
42
|
+
Verdict: related. Continuing.
|
|
43
|
+
|
|
44
|
+
Phase C — pooled 18 requirements, reconciled one at a time
|
|
45
|
+
|
|
46
|
+
exact duplicate R-04 = S-02 "refund state must be visible to support"
|
|
47
|
+
→ ONE row, both sources cited
|
|
48
|
+
partial overlap R-07 "notify the customer" vs S-05 "notify support"
|
|
49
|
+
→ SPLIT into two rows, never collapsed into "notify"
|
|
50
|
+
conflict R-09 says refunds are final; S-06 describes a re-open
|
|
51
|
+
→ CONFLICT, raised to you (below)
|
|
52
|
+
ordering S-01 must happen before R-02 (it creates the state)
|
|
53
|
+
|
|
54
|
+
Phase D — one question at a time
|
|
55
|
+
|
|
56
|
+
❓ R-09 vs S-06 — can a closed refund be re-opened?
|
|
57
|
+
R-09 (policy PDF, p.4): "a completed refund is final"
|
|
58
|
+
S-06 (escalation doc, §2): "support may re-open within 14 days"
|
|
59
|
+
➡️ The escalation doc is newer. I recommend S-06 wins, with R-09 kept
|
|
60
|
+
as a note. Your call.
|
|
61
|
+
|
|
62
|
+
> S-06 wins, and add the 14 days as a hard rule
|
|
63
|
+
|
|
64
|
+
Phase E — conservation gate
|
|
65
|
+
source requirements 18
|
|
66
|
+
rows in the merged spec 19 (one split into two)
|
|
67
|
+
every source id has exactly one outcome:
|
|
68
|
+
kept 15 · merged 2 · split 1→2 · resolved-by-you 1 · dropped 0
|
|
69
|
+
coverage_pct: 100 → handoff allowed
|
|
70
|
+
|
|
71
|
+
Phase F — written
|
|
72
|
+
combined-report.md
|
|
73
|
+
combined-requirement-spec.md (a normal spec, plus the source map)
|
|
74
|
+
|
|
75
|
+
Evidence freshness: 2 anchors from last week no longer match HEAD.
|
|
76
|
+
api/refunds/create.ts:31 → now :44 (flagged, not silently fixed)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 3. What to notice
|
|
82
|
+
|
|
83
|
+
- **Nothing may vanish quietly.** Below 100% coverage there is no handoff.
|
|
84
|
+
Dropping a requirement is allowed — but only as your explicit decision, and
|
|
85
|
+
it is recorded as one.
|
|
86
|
+
- **A partial overlap is split, never collapsed.** Collapsing two similar
|
|
87
|
+
requirements into one shorter sentence is how scope disappears.
|
|
88
|
+
- **Old evidence is re-checked against HEAD**, because an anchor that was true
|
|
89
|
+
last week is not a fact today.
|
|
90
|
+
- **The merged spec is a normal spec.** The planner and the build pipeline do
|
|
91
|
+
not know or care that it came from two documents.
|
|
92
|
+
- **Full lane only.** There is no mini version of this, and it never builds
|
|
93
|
+
anything or spawns anything itself.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 4. Related
|
|
98
|
+
|
|
99
|
+
- Where it starts: [`/orc-analyze`](../templates/skills/orc-analyze/examples/analyze-mock.md)
|
|
100
|
+
- What happens next: [`/orc-plan`](orc-plan.md)
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Mock run — gotcha import and sync (`orc gotcha`)
|
|
2
|
+
|
|
3
|
+
> Teach the repair memory from what your tools and your reviewers already
|
|
4
|
+
> said: SARIF, Sonar, PR threads and closed defects. No model, and nothing is
|
|
5
|
+
> written to GitHub.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. What it does
|
|
10
|
+
|
|
11
|
+
Gotchas are ORC's repair memory: what this project already got wrong, and how
|
|
12
|
+
it was fixed. Before 2.0.0 only a red → green inside a run could add one. Now
|
|
13
|
+
the CLI also reads four outside sources and turns each finding into an
|
|
14
|
+
**observation** in `.claude/orc/observations.jsonl`.
|
|
15
|
+
|
|
16
|
+
An observation is not an entry yet. A candidate becomes an entry only by a
|
|
17
|
+
fixed rule — or when you promote it yourself. The reviewer then gets a short
|
|
18
|
+
**card** of the entries that match the files it reviews.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 2. Import once, from each source
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
$ orc gotcha import sarif reports/eslint.sarif
|
|
26
|
+
sarif · ESLint · 14 results · 1 suppressed (skipped) · 13 observations
|
|
27
|
+
new since the last ESLint import: 4
|
|
28
|
+
|
|
29
|
+
$ export SONAR_TOKEN=… # the token is never a config key
|
|
30
|
+
$ orc config set sonar_url https://sonarcloud.io
|
|
31
|
+
$ orc config set sonar_project shopcart
|
|
32
|
+
$ orc config set sonar_org shopcart-team
|
|
33
|
+
$ orc gotcha import sonar --branch main
|
|
34
|
+
sonar · 9 issues · 9 observations
|
|
35
|
+
|
|
36
|
+
$ orc gotcha import pr 212
|
|
37
|
+
pr #212 · 6 threads · 5 by people, 1 by a bot (measured, not recorded)
|
|
38
|
+
5 observations (3 addressed · 1 disputed · 1 open)
|
|
39
|
+
|
|
40
|
+
$ orc gotcha import issues --label bug
|
|
41
|
+
issues · 4 closed defects with a closing PR · 4 observations
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Every import is read-only. `gh` is used only to read, and a test with a fake
|
|
45
|
+
`gh` proves that no call writes.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 3. Keep it fresh
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
$ orc gotcha sync
|
|
53
|
+
sarif nothing new
|
|
54
|
+
sonar 2 new issues
|
|
55
|
+
pr #214: 1 new thread
|
|
56
|
+
issues nothing new
|
|
57
|
+
synced · 3 observations · next sync due in 6 h (gotcha_sync_hours)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
`sync` runs every source that is available, reads only what is new, and has a
|
|
61
|
+
time limit. The review step of a lane runs it too. If a source fails, the lane
|
|
62
|
+
goes on — a failed import never blocks a review.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 4. From observations to an entry
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
$ orc gotcha list --candidates
|
|
70
|
+
C-004 money rounding in cart totals 3 addressed cases in 2 PRs → promoted as G-017
|
|
71
|
+
C-007 missing await on db.save 2 addressed cases in 1 PR needs 1 more case in 1 more PR
|
|
72
|
+
C-009 "prefer template literals" 4 disputed proposed suppression
|
|
73
|
+
|
|
74
|
+
$ orc gotcha accept C-007
|
|
75
|
+
C-007 → G-018 (promoted by a person)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The fixed rule promotes a candidate on ONE of these:
|
|
79
|
+
|
|
80
|
+
- a red → green inside a lane, with a reproduction;
|
|
81
|
+
- a miss — an ORC review read those lines and did not flag them;
|
|
82
|
+
- a security finding with a CWE tag or a HIGH impact (one case is enough);
|
|
83
|
+
- 3 addressed cases in 2 PRs within 90 days.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 5. What the reviewer sees
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
$ orc gotcha card --files src/cart/total.ts
|
|
91
|
+
gotchas · 2 of 18 match · budget 600 tokens · 0 dropped
|
|
92
|
+
G-017 money rounding in cart totals — round once, at the end, in cents
|
|
93
|
+
G-011 totals cached across currency switch — clear on currency change
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The card is always on. `gotcha_card_budget` sets its size (600 tokens, at
|
|
97
|
+
least 200). An entry that does not fit is counted in the header, never dropped
|
|
98
|
+
in silence.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 6. What to notice
|
|
103
|
+
|
|
104
|
+
- **People teach, bots are measured.** A bot comment is counted for quality,
|
|
105
|
+
but it never becomes an entry by itself.
|
|
106
|
+
- **`orc gotcha filter` never removes a P0 or a P1.** It removes only
|
|
107
|
+
suppressed, folded and noisy advice.
|
|
108
|
+
- **Your v1 file stays valid.** `gotchas.md` is not rewritten, and ORC 1.9.2
|
|
109
|
+
can still read the file 2.0.0 writes.
|
|
110
|
+
- **Quality is measured.** `orc gotcha quality` shows the acceptance per
|
|
111
|
+
category after five reviews, and `orc ui` ▸ **Behaviour** draws it.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 7. Related
|
|
116
|
+
|
|
117
|
+
- The full guide: [`guides/habits-and-gotchas.md`](../guides/habits-and-gotchas.md)
|
|
118
|
+
- A normal run that uses the card: [orc](orc.md)
|