@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/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,396 @@ Format: `### v<version> — <title> _(<date>)_`.
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
### v2.0.2 — the lanes record what you answered, and the reviewer always gets the card _(2026-09-28)_
|
|
14
|
+
|
|
15
|
+
**Still on the unscoped `orc` package?** Do this once first - your `orc upgrade`
|
|
16
|
+
is the pre-v0.56.0 one and cannot install itself. Full detail in the CAUTION at
|
|
17
|
+
the top of this file.
|
|
18
|
+
|
|
19
|
+
- **Step 1 - release the command from the old package:** `npm uninstall -g orc`
|
|
20
|
+
- **Step 2 - install the current package:** `npm i -g @azure-id/orc`
|
|
21
|
+
- **Step 3 - re-apply it to your project:** `orc update`
|
|
22
|
+
|
|
23
|
+
**Do not use `npm i -g -f`.** Full detail in v0.56.0 below.
|
|
24
|
+
|
|
25
|
+
A patch from the live evals of 2.0 (E1–E4 in the eval sandbox). The habits feature did
|
|
26
|
+
not work in live use until this release: the lanes forgot to record answers, used their
|
|
27
|
+
own option and question names, and recorded a follow-up decision as the same question.
|
|
28
|
+
Each fix below is in the CLI or a hook, not in more lane prose.
|
|
29
|
+
|
|
30
|
+
- **`orc trace write` checks every `ASK` as it arrives.** A wrong option id, an unknown
|
|
31
|
+
question id, or a repeat of the same question with no new executor dispatch (a
|
|
32
|
+
follow-up) is kept OUT of the trace and handed back with the real ids, first in the
|
|
33
|
+
answer. The rest of the packet is written.
|
|
34
|
+
- **The FINISH packet names the questions nobody recorded.** With `habits` on, the answer
|
|
35
|
+
lists each registered question of the lane that has no `ASK` in the run, with its
|
|
36
|
+
option ids. A late packet with `run: <trace name>` still lands after `.current` is gone.
|
|
37
|
+
- **Habit evidence is not split by context.** The "any context" row counts every answer;
|
|
38
|
+
a row with `kind`/`branch` is a refinement. A dispatch-gate answer may list a
|
|
39
|
+
third-party slot. The habit cache version changed, so a parser change clears it.
|
|
40
|
+
- **The narration guard** (session hook, `Stop`). A run that dispatched agents and wrote
|
|
41
|
+
NO narration line is stopped ONCE, with the command that fixes it. Never twice, never
|
|
42
|
+
for a subagent.
|
|
43
|
+
- **The reviewer always gets the gotcha card** (session hook, `SubagentStart`). A live
|
|
44
|
+
review got no card in 5 of 5 runs. Now every `orc-reviewer-*`, `orc-verifier-*` and
|
|
45
|
+
`orc-judge-*` receives the card for the files git sees as changed. `orc update` wires
|
|
46
|
+
the new event; `orc doctor` names it when it is missing.
|
|
47
|
+
- **`/orc-quick` takes the undo snapshot.** Its own start step names
|
|
48
|
+
`orc run snapshot` (before: 3 of 8 runs took it; after: 6 of 6).
|
|
49
|
+
- **`rules_card_compact` is `on` by default.** Eval E4 (12 runs) passed: no new
|
|
50
|
+
`unmet[]`, no new `rules_conflicts[]`, the smoke gate green on the first try in 6 of 6
|
|
51
|
+
runs with the compact card against 3 of 6 without. `off` gives the full card.
|
|
52
|
+
|
|
53
|
+
**Eval results:** E1 (the trim broke nothing) passed · E2 (habits) passed — 6 answers →
|
|
54
|
+
the offer "5 of 5" → accepted → the next run marks `→ usual` and still asks; with
|
|
55
|
+
`habits: off` zero `ASK` lines · E3 (the gotcha card): E3 (the gotcha card): with the card the reviewer found all 3 recurring defects in 5 of 5 runs (without: 2.4 of 3; the float-money defect 5 of 5 against 2 of 5), ordinary recall was equal (3.0), false positives fell from 2.2 to 1.0 per run. The planned gap of 1.0 could not be reached: without the card the reviewer already finds 2 of the 3, so the most the card could add was 0.6, and it added all of it · E4 passed (above).
|
|
56
|
+
|
|
57
|
+
**What you have to do:** `orc update`.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### v2.0.1 — the trace keeps the gate name, and the lanes find the habits rule _(2026-09-27)_
|
|
62
|
+
|
|
63
|
+
**Still on the unscoped `orc` package?** Do this once first - your `orc upgrade`
|
|
64
|
+
is the pre-v0.56.0 one and cannot install itself. Full detail in the CAUTION at
|
|
65
|
+
the top of this file.
|
|
66
|
+
|
|
67
|
+
- **Step 1 - release the command from the old package:** `npm uninstall -g orc`
|
|
68
|
+
- **Step 2 - install the current package:** `npm i -g @azure-id/orc`
|
|
69
|
+
- **Step 3 - re-apply it to your project:** `orc update`
|
|
70
|
+
|
|
71
|
+
**Do not use `npm i -g -f`.** Full detail in v0.56.0 below.
|
|
72
|
+
|
|
73
|
+
A patch. The first live runs of 2.0.0 in the eval sandbox found four defects. Nothing
|
|
74
|
+
changes for a user who has `habits` off, except that traces are complete again.
|
|
75
|
+
|
|
76
|
+
- **`orc trace write` keeps the gate name.** A lane often sent `verb: GATE` and put
|
|
77
|
+
the rest in the tail. The CLI then wrote `GATE :: …`, and the name and the
|
|
78
|
+
`pass|bounce|escalate` word were lost (`orc stats` and `/orc-retro` read them).
|
|
79
|
+
The CLI now puts each event into the shape of its own grammar in `TRACE_VERBS`:
|
|
80
|
+
- `note:`, `detail:` or `text:` is used as the tail when `tail` is missing
|
|
81
|
+
(before: an EMPTY `.txt` line);
|
|
82
|
+
- a ` :: ` inside `verb` splits into head and tail, and a tail that starts with
|
|
83
|
+
`::` loses it (before: `GATE x :: :: …`);
|
|
84
|
+
- a verb with no ` :: ` in its grammar (`OUTCOME`, `FINDING`, `PHASE` …) that
|
|
85
|
+
has only a tail is joined to its head;
|
|
86
|
+
- a verb whose grammar needs head arguments (`GATE <name> pass|…`, `ASK <qid>`,
|
|
87
|
+
`DISPATCH <agent>`, `SCORE task=…`) is repaired from `args :: detail` in the
|
|
88
|
+
tail, or REFUSED by name (exit 2, nothing written) — the lane then uses the
|
|
89
|
+
writer agent.
|
|
90
|
+
`_shared/phases/trace.md` says it once: `verb` = the WHOLE head, `tail` = the detail.
|
|
91
|
+
- **The lanes find the habits rule.** The `habits{}` pointer sat in each spine's
|
|
92
|
+
lane-contract block, far from the step that reads the answer, and a live
|
|
93
|
+
`/orc-quick` run with `habits: propose` never opened `_shared/habits.md` and
|
|
94
|
+
wrote no `ASK`. The rule now sits IN the step that reads `orc lane config`:
|
|
95
|
+
`/orc-quick` Q0 step 1, `/orc-mini` Phase 0, and `_shared/phases/preflight.md`
|
|
96
|
+
step 1 (orc, fast, test, pr-setup). The orc and fast spine copies were removed.
|
|
97
|
+
|
|
98
|
+
**What you have to do:** `orc update`.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### v2.0.0 — the coding lanes remember what you fixed and how you work _(2026-09-27)_
|
|
103
|
+
|
|
104
|
+
**Still on the unscoped `orc` package?** Do this once first - your `orc upgrade`
|
|
105
|
+
is the pre-v0.56.0 one and cannot install itself. Full detail in the CAUTION at
|
|
106
|
+
the top of this file.
|
|
107
|
+
|
|
108
|
+
- **Step 1 - release the command from the old package:** `npm uninstall -g orc`
|
|
109
|
+
- **Step 2 - install the current package:** `npm i -g @azure-id/orc`
|
|
110
|
+
- **Step 3 - re-apply it to your project:** `orc update`
|
|
111
|
+
|
|
112
|
+
**Do not use `npm i -g -f`.** Full detail in v0.56.0 below.
|
|
113
|
+
|
|
114
|
+
This release does five things. The coding lanes load less than half the text
|
|
115
|
+
they loaded before. ORC can learn the answers you give to its questions, but
|
|
116
|
+
only when you turn that on, and it applies nothing without your yes. The repair
|
|
117
|
+
memory (gotchas) learns from reviews, Sonar, SARIF, PR threads and closed
|
|
118
|
+
defects. The reviewer returns more facts about each finding. And a set of small
|
|
119
|
+
tools: `orc undo`, `orc pr threads`, `orc ci failed`, `orc ci flaky`, an
|
|
120
|
+
end-of-run card, questions per run in `orc stats`, a terminal bell, and the run
|
|
121
|
+
pointer after a compact.
|
|
122
|
+
|
|
123
|
+
**BREAKING.** This is a major version because five contracts change in a way
|
|
124
|
+
that a 1.9.x user or a fork can see:
|
|
125
|
+
|
|
126
|
+
1. **`/orc-quick` now takes part in the review memory.** Before, quick did not
|
|
127
|
+
read gotchas and did not record them, and its dispatch gate said never to
|
|
128
|
+
remember an answer for the next entry. Now quick reads the gotcha card when
|
|
129
|
+
it offers a review, records the review outcome, and shows a habit
|
|
130
|
+
suggestion on its `→ suggested` line (only when `habits` is not `off`). The
|
|
131
|
+
gate is still asked every time.
|
|
132
|
+
2. **The reviewer return has new REQUIRED fields**: `category` (a closed set of
|
|
133
|
+
11 values), `scenario` on every P0 and P1, and `pre_existing`. A forked or
|
|
134
|
+
hand-edited reviewer agent that does not return them fails the return
|
|
135
|
+
validation, and the orchestrator treats its return as malformed.
|
|
136
|
+
3. **The closed trace verb set is larger**: `ASK` (one answered question),
|
|
137
|
+
`FINDING-OUTCOME` (what became of each finding at review close) and the
|
|
138
|
+
`GATE flaky` result. `FINDING` has optional tail fields
|
|
139
|
+
(`pre=` `suppressed=` `folded=`). A trace reader that treats the verb set as
|
|
140
|
+
closed must learn them. Old traces parse as before.
|
|
141
|
+
4. **The lane spines have a new shape.** The shared lane contract text moved to
|
|
142
|
+
`_shared/lane-contract.md`, and worker instructions live in the agent files
|
|
143
|
+
only. `orc update` overwrites an installed spine as it always did, so a
|
|
144
|
+
hand patch on a spine is lost.
|
|
145
|
+
5. **Config resolution has a new rank, `learned`,** below your config file and
|
|
146
|
+
above the shipped default, and a new state word `learned`. Both appear ONLY
|
|
147
|
+
when `habits` is not `off`.
|
|
148
|
+
|
|
149
|
+
Nothing is removed: no config key is retired, no command is renamed, and no file
|
|
150
|
+
that you own moves.
|
|
151
|
+
|
|
152
|
+
**T — the lanes load less.** Each lane reads the same rules from fewer bytes.
|
|
153
|
+
The trace protocol went from 36,089 to 7,885 bytes (the full verb table is now
|
|
154
|
+
on demand, and each lane gets only its own verbs from `orc lane phases`). The
|
|
155
|
+
file banners, history and repeated exit codes left the payload. The coding
|
|
156
|
+
spines have a 16,384-byte cap. Worker instructions have one source, the agent
|
|
157
|
+
file. The descriptions that load in every session went from 11,711 to 6,587
|
|
158
|
+
characters, and three internal skills are hidden from the skill list.
|
|
159
|
+
`orc lane config --json` now carries a `probes{}` block, so a preflight reads
|
|
160
|
+
up to seven probe answers from one call. `orc trace write --packet -` writes
|
|
161
|
+
the `.txt` and the `.jsonl` of a trace from one packet (the Haiku trace writer
|
|
162
|
+
is now the fallback). 16 more agent files are generated from
|
|
163
|
+
`agents-src/twins/`, and `node bin/build-agents.js --check` (part of
|
|
164
|
+
`npm run verify`) covers them.
|
|
165
|
+
|
|
166
|
+
Always-loaded bytes per lane (`spine + command + when: "always"` references):
|
|
167
|
+
|
|
168
|
+
| Lane | 1.9.2 | after the trim | 2.0.0 | change |
|
|
169
|
+
|---|---|---|---|---|
|
|
170
|
+
| orc | 60,169 | 29,289 | 29,124 | −52 % |
|
|
171
|
+
| orc-mini | 56,153 | 24,851 | 24,697 | −56 % |
|
|
172
|
+
| orc-fast | 59,142 | 27,793 | 27,750 | −53 % |
|
|
173
|
+
| orc-quick | 61,858 | 30,998 | 30,768 | −50 % |
|
|
174
|
+
| orc-verify | 42,330 | 13,224 | 13,035 | −69 % |
|
|
175
|
+
| orc-test | 61,566 | 28,295 | 27,994 | −55 % |
|
|
176
|
+
| orc-pr-setup | 56,130 | 24,673 | 24,380 | −57 % |
|
|
177
|
+
| orc-pr-driver | 48,456 | 18,071 | 17,882 | −63 % |
|
|
178
|
+
| orc-analyze | 52,351 | 21,514 | 21,339 | −59 % |
|
|
179
|
+
| orc-analyze-mini | 43,792 | 13,401 | 13,212 | −70 % |
|
|
180
|
+
| orc-poly | 51,483 | 20,826 | 20,637 | −60 % |
|
|
181
|
+
| orc-route | 47,454 | 16,923 | 16,734 | −65 % |
|
|
182
|
+
| orc-wait | 7,082 | 6,696 | 6,693 | −5 % |
|
|
183
|
+
| orc-diy | 8,098 | 5,292 | 5,278 | −35 % |
|
|
184
|
+
| context-combiner | 13,193 | 11,472 | 11,472 | −13 % |
|
|
185
|
+
| orc-pattern | 45,748 | 16,249 | 16,060 | −65 % |
|
|
186
|
+
| orc-advisor | 2,916 | 2,605 | 2,605 | −11 % |
|
|
187
|
+
| orc-judge | 4,679 | 4,280 | 4,280 | −9 % |
|
|
188
|
+
| **sum** | **722,600** | **316,452** | **313,940** | **−57 %** |
|
|
189
|
+
|
|
190
|
+
The habits, gotchas and review work that came after the trim added no byte to
|
|
191
|
+
any lane above its trimmed value: the new text is read on demand.
|
|
192
|
+
|
|
193
|
+
**H — habits (off by default).** New key `habits`: `off` · `observe` ·
|
|
194
|
+
`propose`.
|
|
195
|
+
|
|
196
|
+
- `off` (the default) costs zero tokens: `orc lane config --json` has no
|
|
197
|
+
habits field (with `--no-probes` it is byte-identical to 1.9.2), and no lane
|
|
198
|
+
writes an `ASK` line.
|
|
199
|
+
- `observe`: each answered question writes one `ASK` line into the trace.
|
|
200
|
+
`orc habit show` computes your usual answers from those lines. It proposes
|
|
201
|
+
nothing.
|
|
202
|
+
- `propose`: at the END of a run, at most once, ORC asks whether an answer you
|
|
203
|
+
keep giving should become your usual one. The rule is fixed in the CLI: at
|
|
204
|
+
least 5 full-weight answers, a Wilson lower bound of 0.55 or more, and the
|
|
205
|
+
last 3 answers the same.
|
|
206
|
+
- Nothing is applied without your yes. There is no automatic level, and
|
|
207
|
+
`auto` is refused by name. An accepted habit is the `learned` rank, below
|
|
208
|
+
your config file: `orc config set` always wins. `orc habit forget <id>`
|
|
209
|
+
undoes it.
|
|
210
|
+
- A habit can learn only toward the careful side: `review_before_push: on`,
|
|
211
|
+
`mini_tdd: on`, `quick_update_tests: on`. A habit to skip a review, to drop
|
|
212
|
+
TDD or to continue on a stale wiki is never applied. A dispatch gate is
|
|
213
|
+
asked every time; a habit only orders the offer.
|
|
214
|
+
- 30 question points in the lanes carry an `(H <qid>)` mark.
|
|
215
|
+
`orc habit points` lists them.
|
|
216
|
+
- Commands: `orc habit show | log | points | why | accept | decline | forget |
|
|
217
|
+
reset | doctor | export | purge`, and `orc habit repo` for the soft
|
|
218
|
+
preferences read from git history (commit, branch and test naming).
|
|
219
|
+
- New keys: `review_before_push` (`ask`), `mini_tdd` (`ask`),
|
|
220
|
+
`quick_update_tests` (`ask`).
|
|
221
|
+
|
|
222
|
+
**G — gotchas v2, importers and sync.** The repair memory learns from more
|
|
223
|
+
sources, and the reviewer gets a card.
|
|
224
|
+
|
|
225
|
+
- `orc gotcha add | match | card | filter | observe | accept | quality | why`,
|
|
226
|
+
`orc gotcha list --candidates` and `orc gotcha export --review-md`.
|
|
227
|
+
- `orc gotcha card` is the reviewer card, sized by `gotcha_card_budget`
|
|
228
|
+
(600 tokens, minimum 200). It is always on: `gotcha_card_budget` is a size,
|
|
229
|
+
not an off switch. An entry that does not fit is counted in the card header.
|
|
230
|
+
- Observations go to `.claude/orc/observations.jsonl`. A candidate becomes an
|
|
231
|
+
entry by a fixed rule: an in-lane red → green with a reproduction, a miss, a
|
|
232
|
+
security finding with a CWE tag or a HIGH impact, or 3 addressed cases in 2
|
|
233
|
+
PRs within 90 days. `orc gotcha accept <C-id>` promotes one by hand.
|
|
234
|
+
- `orc gotcha filter` drops suppressed, folded and noisy advice. It never
|
|
235
|
+
removes a P0 or a P1.
|
|
236
|
+
- Importers: `orc gotcha import sarif <file>`,
|
|
237
|
+
`orc gotcha import sonar` (the token comes from `SONAR_TOKEN` only),
|
|
238
|
+
`orc gotcha import pr <n>` (human threads only) and
|
|
239
|
+
`orc gotcha import issues`. `orc gotcha sync` runs every source that is
|
|
240
|
+
available, incremental and time-boxed. New keys: `gotcha_card_budget`,
|
|
241
|
+
`gotcha_sync_hours` (6), `sonar_url`, `sonar_project`, `sonar_org`.
|
|
242
|
+
- A v1 `gotchas.md` stays valid, with no rewrite. The 1.9.2 parser still reads
|
|
243
|
+
a file that 2.0.0 wrote (a test copies its regex).
|
|
244
|
+
- The status line gotcha count now shows a number. It was always empty.
|
|
245
|
+
|
|
246
|
+
**R — the reviewer v2.** New `_shared/review-slice.md` names the slice fields
|
|
247
|
+
once. The reviewer gets the diff ranges, the gotcha card, the rules card and
|
|
248
|
+
the tool findings. It returns `category`, `cwe`, `scenario`, `pre_existing`,
|
|
249
|
+
`group` and `confidence` on each finding. `/orc` and `/orc-ultra` can dispatch
|
|
250
|
+
a disprove pass on a P0/P1. A re-review gets the previous findings. At review
|
|
251
|
+
close the lane records each outcome, and `orc gotcha quality` measures the
|
|
252
|
+
acceptance per category.
|
|
253
|
+
|
|
254
|
+
**Q — quality of life.**
|
|
255
|
+
|
|
256
|
+
- **`orc undo --run <slug>`** prints the commands that revert ONLY the files the
|
|
257
|
+
run changed, back to the snapshot taken at run start
|
|
258
|
+
(`orc run snapshot`). It changes nothing until you add `--apply`. An edit you
|
|
259
|
+
made before the run stays.
|
|
260
|
+
- **`orc pr threads <n>`** lists the unresolved review threads.
|
|
261
|
+
**`orc ci failed`** lists the failing CI steps. Both are read-only.
|
|
262
|
+
`/orc-quick` takes a red CI, or Sonar and SARIF issues, as a request.
|
|
263
|
+
- **`orc ci flaky`** tells a flaky local red from a real one. A flaky re-run
|
|
264
|
+
does not use a repair round, and the trace gets `GATE flaky`.
|
|
265
|
+
- **The end-of-run card** names what changed and the undo command. Quick
|
|
266
|
+
prints it in place of `git checkout -- .`.
|
|
267
|
+
- **`orc stats --json`** has `questions{}`: questions per run, per lane and per
|
|
268
|
+
point.
|
|
269
|
+
- **`notify: bell`** rings the terminal bell once when a turn of an ORC run
|
|
270
|
+
ends. `off` is the default and is silent.
|
|
271
|
+
- **After a compact**, the session hook prints the run pointer line again.
|
|
272
|
+
- **`rules_card_compact`** (`off`) would give `/orc-mini` and `/orc-fast` the
|
|
273
|
+
compact rules card. It stays off until eval E4 passes.
|
|
274
|
+
|
|
275
|
+
**U — `orc ui` ▸ Behaviour.** A new panel under Stats, key `u`. It shows the
|
|
276
|
+
learning switch (Off · Observe · Propose), your habits with their evidence and
|
|
277
|
+
the buttons the CLI allows, the rhythm of your runs, the gotchas and what the
|
|
278
|
+
reviewer will see, review quality per category, and the answer log. It renders
|
|
279
|
+
the CLI's lines and computes no habit. A `never` habit has no button. With
|
|
280
|
+
`habits: off`, one card replaces the tabs. Reduced motion stops all motion.
|
|
281
|
+
|
|
282
|
+
**Upgrade notes — what a 1.9.2 install keeps, and what changes.**
|
|
283
|
+
|
|
284
|
+
- `.claude/orc.config.yaml` is read as it is. No key is renamed or retired. The
|
|
285
|
+
new keys resolve to their defaults: `habits: off`, `review_before_push: ask`,
|
|
286
|
+
`mini_tdd: ask`, `quick_update_tests: ask`, `gotcha_card_budget: 600`,
|
|
287
|
+
`gotcha_sync_hours: 6`, `notify: off`, `rules_card_compact: off`, and the
|
|
288
|
+
`sonar_*` keys empty.
|
|
289
|
+
- `.claude/orc/gotchas.md` and its archive stay valid, with no rewrite. A
|
|
290
|
+
downgrade to 1.9.2 still parses the file.
|
|
291
|
+
- `gotchas: off` no longer removes the reviewer card, because review learning is
|
|
292
|
+
always on. `orc config set gotchas off` says so. An old `gotchas: off` still
|
|
293
|
+
turns off the executor block (`orc gotcha match` exits 4).
|
|
294
|
+
- Old traces are read as they are. They have no `ASK` lines, so the habits start
|
|
295
|
+
at `none yet`. Nothing is guessed from old `NOTE` lines.
|
|
296
|
+
- Every existing field of `orc lane config --json` and `orc config list --json`
|
|
297
|
+
is unchanged (a test pins them). `probes{}` is added; `habits{}`, the
|
|
298
|
+
`learned` source and the `learned` state appear only when `habits` is on.
|
|
299
|
+
- `orc gotcha status | list | show | prune` are unchanged, with the same exit
|
|
300
|
+
codes.
|
|
301
|
+
- **A DIY flow compiled by 1.9.x is STALE after the update**, because the
|
|
302
|
+
version and the composed layers changed. Run `orc diy compile` after the
|
|
303
|
+
update. Until then `orc diy status` exits 1 and `/orc-diy` offers the compile
|
|
304
|
+
or plain `/orc`.
|
|
305
|
+
- A forked or hand-edited reviewer agent fails the v2 return validation (see
|
|
306
|
+
BREAKING item 2). Hand-edited installed spines are overwritten, as always.
|
|
307
|
+
- **`orc update` wires the new session hook** (`orc-session-hook.js`) into
|
|
308
|
+
`.claude/settings.json`: ONE `Stop` entry and ONE `SessionStart` entry with
|
|
309
|
+
the matcher `compact`. It is always wired. The `Stop` hook reads `notify` first
|
|
310
|
+
and stays silent unless `notify: bell`. `orc doctor` checks both entries, and
|
|
311
|
+
when one is missing it names `orc update` as the fix
|
|
312
|
+
(`session-hook-unwired`).
|
|
313
|
+
- New files are user data: `habits-state.json`, `habits-cache.json`,
|
|
314
|
+
`observations.jsonl`, `gotchas-sync.json`. They are never in the install
|
|
315
|
+
manifest, and they survive `update`, `update --prune` and `doctor --fix`.
|
|
316
|
+
- Node ≥ 18 and zero npm dependencies, as before.
|
|
317
|
+
|
|
318
|
+
**Evals owed.** Four evals are prepared and NOT run. Each needs a live Claude
|
|
319
|
+
Code session in the sandbox:
|
|
320
|
+
|
|
321
|
+
- **E1** — trace parity before and after the trim.
|
|
322
|
+
- **E2** — six `/orc-quick` requests under `habits: propose` give one proposal,
|
|
323
|
+
and the seventh shows `→ usual`.
|
|
324
|
+
- **E3** — five reviews with the gotcha card and five without it. The card
|
|
325
|
+
stays on whatever the result is.
|
|
326
|
+
- **E4** — the compact rules card on `/orc-mini` and `/orc-fast`.
|
|
327
|
+
`rules_card_compact` stays `off` until E4 passes.
|
|
328
|
+
|
|
329
|
+
**What you have to do:** `orc update`. Then, if you use `/orc-diy`,
|
|
330
|
+
`orc diy compile`. To try habits, `orc config set habits observe`.
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
### v1.9.2 — the code graph gets its own tab, and Opus 5 becomes Opus 5.5 _(2026-09-23)_
|
|
335
|
+
|
|
336
|
+
**Still on the unscoped `orc` package?** Do this once first - your `orc upgrade`
|
|
337
|
+
is the pre-v0.56.0 one and cannot install itself. Full detail in the CAUTION at
|
|
338
|
+
the top of this file.
|
|
339
|
+
|
|
340
|
+
- **Step 1 - release the command from the old package:** `npm uninstall -g orc`
|
|
341
|
+
- **Step 2 - install the current package:** `npm i -g @azure-id/orc`
|
|
342
|
+
- **Step 3 - re-apply it to your project:** `orc update`
|
|
343
|
+
|
|
344
|
+
**Do not use `npm i -g -f`.** Full detail in v0.56.0 below.
|
|
345
|
+
|
|
346
|
+
**The code graph has its own tab.** Before this release the graph was one card
|
|
347
|
+
on the Knowledge ▸ Wiki tab: fourteen rows of exact numbers and no picture of
|
|
348
|
+
what any of them meant. `orc ui` ▸ Knowledge now has a sixth tab, **Code
|
|
349
|
+
graph**, and the card on the Wiki tab is gone. The tab reads top to bottom:
|
|
350
|
+
|
|
351
|
+
- **Where your code graph is now.** The four states `OFF` · `NONE` · `FRESH`
|
|
352
|
+
· `DRIFTED` as a ladder, with the action that moves the graph from one to
|
|
353
|
+
the next on each connector. The current state is lit and sends a ring
|
|
354
|
+
outward. Below it is the ONE action that state needs: the config command for
|
|
355
|
+
OFF (copy-able, never a button), the free `orc graph update` button for NONE
|
|
356
|
+
and DRIFTED, nothing for FRESH. The line a lane prints into the chat
|
|
357
|
+
(`line`) is shown verbatim.
|
|
358
|
+
- **How the code graph works.** Five stations — your code, the parser, the
|
|
359
|
+
map, the questions, the short card — with dots that run between them. The
|
|
360
|
+
first three are marked free; the card is marked as what costs context tokens.
|
|
361
|
+
The optional notes layer, the only part that can cost a model, is a separate
|
|
362
|
+
line with the current `code_graph_notes` value.
|
|
363
|
+
- **What a code graph looks like (an example, not your code).** Four files from
|
|
364
|
+
a made-up shop drawn as an SVG: files, symbols, calls (a pulse runs caller to
|
|
365
|
+
callee), refs and imports. Point at a dot, or Tab to it, and its edges light
|
|
366
|
+
up while a caption says what `orc graph ctx` would answer. A legend names
|
|
367
|
+
every mark.
|
|
368
|
+
- **Your graph, in numbers.** Files, symbols, symbols per file and generation
|
|
369
|
+
as tiles that count up to the CLI's own value; the added · changed · deleted
|
|
370
|
+
counts; and the density as a bar, per language when the CLI sent
|
|
371
|
+
`density.by_lang`.
|
|
372
|
+
- **What the graph cost, and what it probably saved.** `paid` (four stacked
|
|
373
|
+
parts) and `avoided` (solid to its low end, striped to its high end) on ONE
|
|
374
|
+
scale. Every read in `read_set`, in the CLI's order, with its count and one
|
|
375
|
+
line on what it answers; a read never asked keeps its slot, muted.
|
|
376
|
+
- **All the numbers, as the CLI sent them.** The old card, unchanged, minus the
|
|
377
|
+
chip and the button the ladder now carries.
|
|
378
|
+
- **What each word means.** Every term on the tab in four groups.
|
|
379
|
+
|
|
380
|
+
The pictures derive nothing: every number is `orc graph status --json` or
|
|
381
|
+
`orc graph gain --json`, drawn to scale. `prefers-reduced-motion` removes all
|
|
382
|
+
three new infinite animations with `display: none` and every finite one with
|
|
383
|
+
`animation: none`, and the tiles skip their count-up. The `graph-drifted`
|
|
384
|
+
doctor finding on Overview now opens the Code graph tab.
|
|
385
|
+
|
|
386
|
+
**Every Opus 5 agent now runs Opus 5.5 (`claude-opus-5-5`).** Every agent and
|
|
387
|
+
generated executor that shipped as `model: claude-opus-5` now ships as
|
|
388
|
+
`model: claude-opus-5-5`, and the prose that named "Opus 5" now names
|
|
389
|
+
"Opus 5.5". Opus 5.5 is cheaper than Opus 5, so the same pipeline costs less.
|
|
390
|
+
`bin/pricing.json` gains the `claude-opus-5-5` row ($4 input · $5 cache write
|
|
391
|
+
· $0.20 cache read · $20 output per million tokens, from the Claude pricing
|
|
392
|
+
page), and `orc budget` prices its forecasts against it.
|
|
393
|
+
|
|
394
|
+
What did NOT change: the agent NAMES (`orc-executor-opus-5-med` and the rest),
|
|
395
|
+
the `opus5_only` key and its "Opus 5-only" mode name. `claude-opus-5` stays
|
|
396
|
+
in the known-model list and keeps its price row, so an existing config and old
|
|
397
|
+
traces still validate and still price.
|
|
398
|
+
|
|
399
|
+
**What you have to do:** `orc update`, to install the new agent files.
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
13
403
|
### v1.9.1 — the graph that was paid for and never asked _(2026-09-23)_
|
|
14
404
|
|
|
15
405
|
**Still on the unscoped `orc` package?** Do this once first - your `orc upgrade`
|
package/README-id.md
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
*Terima permintaan → pahami → rencanakan → beri nilai → kerjakan paralel → periksa → uji → kirim.*
|
|
8
8
|
|
|
9
9
|

|
|
10
|
-

|
|
11
11
|

|
|
12
12
|

|
|
13
13
|

|
|
14
14
|

|
|
15
15
|
|
|
16
|
-
**Versi terbaru:
|
|
16
|
+
**Versi terbaru: v2.0.2** · diperbarui 28-09-2026 · [daftar perubahan lengkap](CHANGELOG.md)
|
|
17
17
|
|
|
18
18
|
**Ada di npm: [`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)** — `npm i -g @azure-id/orc`
|
|
19
19
|
|
|
@@ -271,7 +271,7 @@ pemakaian 5 jam, pemakaian mingguan, dan beberapa hal lain.
|
|
|
271
271
|
| Perintah | Kegunaannya | Contoh jalannya |
|
|
272
272
|
|---|---|---|
|
|
273
273
|
| **`/orc`** | Alur penuh: terima → rencana → gelombang paralel bernilai → periksa → uji → kirim. Rajin menyimpan titik simpan; bisa dilanjutkan di sesi baru. | [lihat](mock-run/orc.md) |
|
|
274
|
-
| **`/orc-ultra`** | Sama, ditambah penasihat Opus 5 **xhigh** dan tiga gerbang penilaian. Analisis dalam, pola kode, tes, dan keamanan dipaksa menyala. Memang mahal. | [lihat](mock-run/orc-ultra.md) |
|
|
274
|
+
| **`/orc-ultra`** | Sama, ditambah penasihat Opus 5.5 **xhigh** dan tiga gerbang penilaian. Analisis dalam, pola kode, tes, dan keamanan dipaksa menyala. Memang mahal. | [lihat](mock-run/orc-ultra.md) |
|
|
275
275
|
| **`/orc-mini`** | Satu agen Sonnet 5, satu pemeriksaan build + tes, lalu kirim. Melewati review penuh dan pengujian. Satu baris **pembacaan kompleksitas** berisi angka menawarkan lane penuh kalau perubahannya lebih luas dari satu area. Bisa pindah ke alur penuh di tengah jalan kalau diminta. | [lihat](templates/skills/orc-mini/examples/mini-run-mock.md) |
|
|
276
276
|
| **`/orc-fast`** | Lane tercepat. Butuh wiki yang masih segar **dan** pola kode yang sudah tersimpan; kalau ada, ia melewati tahap analis dan perencana sepenuhnya. Kalau salah satu syarat tidak ada, ia mundur ke `/orc-mini` — obrolan tidak pernah berhenti. | [lihat](mock-run/orc-fast.md) |
|
|
277
277
|
| **`/orc-quick`** | Minta apa saja: perbaikan kecil, pertanyaan, mencari bug, menaikkan versi dependensi, komentar PR. Lihat → tanya sekali → kerjakan. **Selalu bertanya agen mana yang mau dipakai**, dan tidak ada pengaturan yang bisa mengubah itu. Satu **defect direproduksi merah dulu sebelum diperbaiki**. | [lihat](mock-run/orc-quick.md) |
|
|
@@ -786,45 +786,29 @@ Bacalah sebagai catatan putaran itu, bukan sebagai audit terkini:
|
|
|
786
786
|
**Riwayat lengkap: [CHANGELOG.md](CHANGELOG.md)** — atau `orc changelog`, yang
|
|
787
787
|
hanya mencetak yang lebih baru dari versi yang Anda punya.
|
|
788
788
|
|
|
789
|
-
###
|
|
789
|
+
### v2.0.2 - lane mencatat jawaban Anda, dan reviewer selalu mendapat kartunya _(28-09-2026)_
|
|
790
790
|
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
berkas `.vue` tidak punya simbol, dan panel menulis `0 hook updates` setelah 35.
|
|
791
|
+
**Patch dari eval langsung.** Habits sekarang benar-benar bekerja di run langsung, dan
|
|
792
|
+
reviewer selalu mendapat kartunya:
|
|
794
793
|
|
|
795
|
-
**Jawaban
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
794
|
+
- **Jawaban Anda dicatat dengan benar.** `orc trace write` memeriksa setiap jawaban saat
|
|
795
|
+
masuk dan mengembalikan jawaban yang salah bersama id yang benar. Di akhir run, ia
|
|
796
|
+
menyebut pertanyaan yang belum dicatat.
|
|
797
|
+
- **Reviewer selalu mendapat kartu gotcha.** Sebuah hook memberikannya ke setiap
|
|
798
|
+
reviewer, verifier dan judge.
|
|
799
|
+
- **Run yang tidak menulis trace dihentikan sekali** dan diberi tahu cara memperbaikinya.
|
|
800
|
+
- **`/orc-quick` selalu mengambil snapshot undo.**
|
|
801
|
+
- **Kartu aturan ringkas menyala secara default untuk `/orc-mini` dan `/orc-fast`** (eval E4 lulus).
|
|
800
802
|
|
|
801
|
-
**
|
|
802
|
-
menghitung kartu padahal lane menerima 4 sampai 8 kali lebih banyak. Keduanya
|
|
803
|
-
diperbaiki: baris `hook-update`, dan `paid.envelope` di samping kartu.
|
|
804
|
-
Meterannya juga menulis pembacaan yang belum pernah dilakukan proyek ini.
|
|
805
|
-
|
|
806
|
-
**Peta memberi tahu kapan ia tipis, dan kenapa** — `THIN` di `orc graph
|
|
807
|
-
status`, dan `orc graph audit` baru yang menulis berkas kosong per bahasa,
|
|
808
|
-
yang terpanjang lebih dulu.
|
|
809
|
-
|
|
810
|
-
**Parser membaca Vue Options API** (mesin `graph@6`). Komponen, mixin dan modul
|
|
811
|
-
Vuex menjadi class dengan method; `mixins` menjadi basisnya; konstanta yang
|
|
812
|
-
diekspor dan komponen `<script setup>` diberi nama. Store 1.9.0 memperbarui
|
|
813
|
-
dirinya sendiri satu kali, di preflight berikutnya. Tidak ada yang perlu
|
|
814
|
-
dilakukan.
|
|
815
|
-
|
|
816
|
-
**Pembacaan berbayar membawa isinya:** `ctx --callers-source` (enam baris di
|
|
817
|
-
sekitar setiap titik panggil yang pasti), `lsp_at` untuk language server jika
|
|
818
|
-
kartu menulis `AMBIGUOUS`, dan hitungan pembacaan berkas lebar yang tidak
|
|
819
|
-
diberi petunjuk.
|
|
820
|
-
|
|
821
|
-
**Tidak diukur di sini:** evaluasi sesi langsung tidak dijalankan, dan gerbang
|
|
822
|
-
Vue (di bawah 20 % berkas `.vue` kosong) diukur di proyek Anda sendiri.
|
|
823
|
-
CHANGELOG menyebut setiap batasnya.
|
|
803
|
+
**Yang harus Anda lakukan:** `orc update`.
|
|
824
804
|
|
|
825
805
|
<details>
|
|
826
|
-
<summary><strong>Rilis sebelumnya</strong> —
|
|
806
|
+
<summary><strong>Rilis sebelumnya</strong> — 124 rilis, hanya judulnya. Teks lengkapnya (dalam bahasa Inggris) ada di <a href="CHANGELOG.md">CHANGELOG.md</a>.</summary>
|
|
827
807
|
|
|
808
|
+
- **v2.0.1** — the trace keeps the gate name, and the lanes find the habits rule · _2026-09-27_
|
|
809
|
+
- **v2.0.0** — the coding lanes remember what you fixed and how you work · _2026-09-27_
|
|
810
|
+
- **v1.9.2** — the code graph gets its own tab, and Opus 5 becomes Opus 5.5 · _2026-09-23_
|
|
811
|
+
- **v1.9.1** — the graph that was paid for and never asked · _2026-09-23_
|
|
828
812
|
- **v1.9.0** — the lean lanes learn to look before they leap · _2026-09-21_
|
|
829
813
|
- **v1.8.2** — the map that finds what a grep cannot · _2026-09-21_
|
|
830
814
|
- **v1.8.1** — the guard that only failed on Windows · _2026-09-16_
|
package/README.md
CHANGED
|
@@ -7,14 +7,14 @@
|
|
|
7
7
|
*Intake → analyze → plan → score → parallel subagents → review → verify → ship.*
|
|
8
8
|
|
|
9
9
|

|
|
10
|
-

|
|
11
11
|

|
|
12
12
|

|
|
13
13
|

|
|
14
14
|

|
|
15
15
|

|
|
16
16
|
|
|
17
|
-
**Latest:
|
|
17
|
+
**Latest: v2.0.2** · updated 28-09-2026 · [full changelog](CHANGELOG.md)
|
|
18
18
|
|
|
19
19
|
**On npm: [`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)** — `npm i -g @azure-id/orc`
|
|
20
20
|
|
|
@@ -250,7 +250,7 @@ ORC have terminal hook to see: Context Window %, 5 Hour usage %, Weekly usage %
|
|
|
250
250
|
| Command | What it does | Mocked run |
|
|
251
251
|
|---|---|---|
|
|
252
252
|
| **`/orc`** | The full pipeline: intake → plan → scored parallel waves → review → verify → ship. Checkpoints eagerly; resumes in a fresh session. | [see it](mock-run/orc.md) |
|
|
253
|
-
| **`/orc-ultra`** | The same, plus an Opus 5 **xhigh** advisor and three judgment gates. Deep analysis, patterns, tests and security forced on. Costly by design. | [see it](mock-run/orc-ultra.md) |
|
|
253
|
+
| **`/orc-ultra`** | The same, plus an Opus 5.5 **xhigh** advisor and three judgment gates. Deep analysis, patterns, tests and security forced on. Costly by design. | [see it](mock-run/orc-ultra.md) |
|
|
254
254
|
| **`/orc-mini`** | One Sonnet 5 executor, a build + test smoke gate, ship. Skips full review and verify. A one-line **complexity read** with counts behind it offers the full lane when the change is wider than one area. Switches to the full flow mid-run on request. | [see it](templates/skills/orc-mini/examples/mini-run-mock.md) |
|
|
255
255
|
| **`/orc-fast`** | The fastest lane. Needs a fresh wiki **and** a cached code pattern; then it skips the analyst and planner entirely. A missing prerequisite falls back to `/orc-mini` — the chat never stops. | [see it](mock-run/orc-fast.md) |
|
|
256
256
|
| **`/orc-quick`** | Ask for anything: a fix, a question, a defect hunt, a dependency bump, PR comments. Look → ask once → do. **It always asks which agent to dispatch**, and no setting can change that. A defect is **reproduced red before it is fixed**. | [see it](mock-run/orc-quick.md) |
|
|
@@ -505,7 +505,8 @@ orc ui --stop # shut this project's server down
|
|
|
505
505
|
| Settings | every config key, grouped, each with its own control | staged edits, applied together |
|
|
506
506
|
| Runs | run history as an accordion: a row opens in place into state-of-play, resume prompt, checkpoint, trace tail | — |
|
|
507
507
|
| **Knowledge** | **five tabs**: the wiki's tier AND its **contents** (every doc, what it covers, how often it is read), coverage against your tracked files, the code patterns with the conflicts the codifier flagged, repair memory with a **preview-then-apply** prune, and a read-only view of the linked repos | `wiki sync`, `gotcha prune` |
|
|
508
|
-
| Stats | lane and agent usage, downgrades, and a **Cost** tab whose stacked bar keeps cache-read visible | — |
|
|
508
|
+
| Stats | lane and agent usage, downgrades, questions per run, and a **Cost** tab whose stacked bar keeps cache-read visible | — |
|
|
509
|
+
| **Behaviour** | the learning switch (Off · Observe · Propose), your habits with their evidence, the rhythm of your runs, the gotchas and the exact card the reviewer sees, review quality per category, and the answer log | `config set habits`, `habit accept` / `decline` / `forget`, `gotcha accept` |
|
|
509
510
|
| Flow | the compiled DIY flow, its gate, and a stepper of every phase in order | `diy set`, `diy compile`, presets |
|
|
510
511
|
| Crosslink | **Design** (the boundary as a graph) and **Settings** (each peer's freshness) | `crosslink add` / `remove` |
|
|
511
512
|
| Promises · Boundary · Self-serve | the pact ledger, the boundary cards, and the surfaces a non-developer can change | `pact check`, `pact sync`, `handoff set` |
|
|
@@ -663,7 +664,7 @@ bin/webui/ `orc ui` — the local control panel: css/ + js/ + i18n/<lang>
|
|
|
663
664
|
fixtures/, one file per layer and per panel. Zero deps, no build step
|
|
664
665
|
bin/mockrun-catalog.js the mocked-run catalogue (derived from the files on disk)
|
|
665
666
|
mock-run/ the mocked runs themselves — start at INDEX.md
|
|
666
|
-
guides/ configuration · model selection · documents · knowledge reads · other AI models
|
|
667
|
+
guides/ configuration · model selection · documents · knowledge reads · other AI models · habits and gotchas
|
|
667
668
|
```
|
|
668
669
|
|
|
669
670
|
The `orc` skill is a thin **spine**: it loads a reference or a subskill only when
|
|
@@ -685,6 +686,7 @@ Some lanes ship a full how-to next to the skill, in plain language:
|
|
|
685
686
|
| [ORC-PR-DRIVER](templates/skills/orc-pr-driver/README.md) | you have a stack plan and want to build, submit and merge it |
|
|
686
687
|
| [Rules](guides/rules.md) | you want the 65 anti-slop rules, the precedence ladder and the lint |
|
|
687
688
|
| [Configuration](guides/configuration.md) · [Model selection](guides/model-selection.md) | you want every key, or the scoring bands |
|
|
689
|
+
| [Habits and gotchas](guides/habits-and-gotchas.md) | you want to know how a habit is proposed, how to import Sonar, SARIF or PR history, and how to undo |
|
|
688
690
|
| [Other AI models](guides/extra-models.md) | you want part of the ladder to run somewhere other than Claude |
|
|
689
691
|
|
|
690
692
|
Every skill also ships its own `SKILL.md` and `references/`. The guides above are
|
|
@@ -728,41 +730,29 @@ a current audit: [EVAL-REPORT.md](EVAL-REPORT.md).
|
|
|
728
730
|
**Full history: [CHANGELOG.md](CHANGELOG.md)** — or `orc changelog`, which prints
|
|
729
731
|
only what is newer than the version you have.
|
|
730
732
|
|
|
731
|
-
###
|
|
733
|
+
### v2.0.2 — the lanes record what you answered, and the reviewer always gets the card _(2026-09-28)_
|
|
732
734
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
429 `.vue` files had no symbol, and the panel said `0 hook updates` after 35.
|
|
735
|
+
**A patch from the live evals.** Habits now really work in a live run, and the reviewer
|
|
736
|
+
always gets its card:
|
|
736
737
|
|
|
737
|
-
**
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
738
|
+
- **Your answers are recorded correctly.** `orc trace write` checks every answer as it
|
|
739
|
+
arrives and hands a wrong one back with the right ids. At the end of a run it names
|
|
740
|
+
any question nobody recorded.
|
|
741
|
+
- **The reviewer always gets the gotcha card.** A hook hands it to every reviewer,
|
|
742
|
+
verifier and judge, so a lane that forgets it cannot lose it.
|
|
743
|
+
- **A run that writes no trace is stopped once** and told how to fix it.
|
|
744
|
+
- **`/orc-quick` always takes the undo snapshot.**
|
|
745
|
+
- **The compact rules card is on by default for `/orc-mini` and `/orc-fast`** (eval E4 passed).
|
|
741
746
|
|
|
742
|
-
**
|
|
743
|
-
`paid` counted the card while the lane received 4 to 8 times more. Both are
|
|
744
|
-
fixed: a `hook-update` row, and `paid.envelope` beside the cards. The meter
|
|
745
|
-
also lists the reads this project has never made.
|
|
746
|
-
|
|
747
|
-
**The map says when it is thin, and why** — `THIN` on `orc graph status`, and
|
|
748
|
-
a new `orc graph audit` that lists the empty files by language, longest first.
|
|
749
|
-
|
|
750
|
-
**The parser reads the Vue Options API** (engine `graph@6`). A component, a
|
|
751
|
-
mixin and a Vuex module are a class with methods; `mixins` are its bases;
|
|
752
|
-
exported constants and `<script setup>` components are named. A 1.9.0 store
|
|
753
|
-
upgrades itself once, at the next preflight. Nothing to do.
|
|
754
|
-
|
|
755
|
-
**The paid reads carry what they were paid for:** `ctx --callers-source` (six
|
|
756
|
-
lines around each confident call site), `lsp_at` for a language server when a
|
|
757
|
-
card says `AMBIGUOUS`, and a count of the wide whole-file reads no hint named.
|
|
758
|
-
|
|
759
|
-
**Not measured here:** the live-session evaluation did not run, and the Vue gate
|
|
760
|
-
(under 20 % empty `.vue` files) is measured on your own project. The CHANGELOG
|
|
761
|
-
names every limit.
|
|
747
|
+
**What you have to do:** `orc update`.
|
|
762
748
|
|
|
763
749
|
<details>
|
|
764
|
-
<summary><strong>Earlier releases</strong> —
|
|
750
|
+
<summary><strong>Earlier releases</strong> — 124 of them, titles only. Full text in <a href="CHANGELOG.md">CHANGELOG.md</a>.</summary>
|
|
765
751
|
|
|
752
|
+
- **v2.0.1** — the trace keeps the gate name, and the lanes find the habits rule · _2026-09-27_
|
|
753
|
+
- **v2.0.0** — the coding lanes remember what you fixed and how you work · _2026-09-27_
|
|
754
|
+
- **v1.9.2** — the code graph gets its own tab, and Opus 5 becomes Opus 5.5 · _2026-09-23_
|
|
755
|
+
- **v1.9.1** — the graph that was paid for and never asked · _2026-09-23_
|
|
766
756
|
- **v1.9.0** — the lean lanes learn to look before they leap · _2026-09-21_
|
|
767
757
|
- **v1.8.2** — the map that finds what a grep cannot · _2026-09-21_
|
|
768
758
|
- **v1.8.1** — the guard that only failed on Windows · _2026-09-16_
|