@azure-id/orc 1.9.0 → 1.9.1

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/README-id.md +57 -58
  3. package/README.md +51 -53
  4. package/bin/cli.js +227 -25
  5. package/bin/graph-audit.js +235 -0
  6. package/bin/graph-extract.js +308 -3
  7. package/bin/graph-gain.js +23 -3
  8. package/bin/graph-map.js +9 -1
  9. package/bin/graph-query.js +152 -10
  10. package/bin/graph-shard.js +6 -1
  11. package/bin/graph-signals.js +287 -4
  12. package/bin/graph.js +717 -658
  13. package/bin/verify-contracts.js +115 -0
  14. package/bin/verify-package.js +4 -0
  15. package/bin/webui/fixtures/knowledge.js +21 -4
  16. package/bin/webui/i18n/en/knowledge.json +5 -2
  17. package/bin/webui/i18n/id/knowledge.json +5 -2
  18. package/bin/webui/js/panels/knowledge.js +21 -2
  19. package/package.json +1 -1
  20. package/templates/agents/orc-executor-haiku-4-5.md +2 -1
  21. package/templates/agents/orc-executor-opus-4-7-high.md +2 -1
  22. package/templates/agents/orc-executor-opus-4-7-med.md +2 -1
  23. package/templates/agents/orc-executor-opus-4-8-high.md +2 -1
  24. package/templates/agents/orc-executor-opus-5-high.md +2 -1
  25. package/templates/agents/orc-executor-opus-5-low.md +2 -1
  26. package/templates/agents/orc-executor-opus-5-med.md +2 -1
  27. package/templates/agents/orc-executor-sonnet-4-6-high.md +2 -1
  28. package/templates/agents/orc-executor-sonnet-4-6-med.md +2 -1
  29. package/templates/agents/orc-executor-sonnet-5-high.md +2 -1
  30. package/templates/agents/orc-recon-opus-5-low.md +15 -5
  31. package/templates/agents/orc-recon-sonnet-4-6-med.md +15 -5
  32. package/templates/hooks/README.md +11 -1
  33. package/templates/hooks/orc-graph-hook.js +53 -7
  34. package/templates/skills/_shared/code-graph.md +56 -17
  35. package/templates/skills/_shared/phases/execution.md +4 -4
  36. package/templates/skills/_shared/phases/planning.md +3 -3
  37. package/templates/skills/_shared/phases/preflight.md +1 -1
  38. package/templates/skills/_shared/phases/review.md +3 -1
  39. package/templates/skills/_shared/phases/ship.md +1 -1
  40. package/templates/skills/_shared/phases/trace.md +2 -1
  41. package/templates/skills/_shared/read-ladder.md +14 -1
  42. package/templates/skills/orc/SKILL.md +1 -1
  43. package/templates/skills/orc-fast/SKILL.md +3 -3
  44. package/templates/skills/orc-mini/SKILL.md +13 -17
  45. package/templates/skills/orc-mini/references/complexity.md +25 -11
  46. package/templates/skills/orc-quick/SKILL.md +12 -13
  47. package/templates/skills/orc-quick/references/gh-mode.md +1 -1
  48. package/templates/skills/orc-quick/references/look.md +5 -5
@@ -56,7 +56,7 @@ is a pointer into nothing.
56
56
  knowledge never stops the run, never causes a fallback, never triggers a
57
57
  scan. Print ONE line each.
58
58
  4. **Code graph cache — never skipped** (`../_shared/code-graph.md` §0). Run
59
- `orc graph status --if-enabled --heal --json`: it builds or updates the cache
59
+ `orc graph status --if-enabled --heal --json --brief`: it builds or updates the cache
60
60
  in the same call. Print its `line`; put its `trace` (`GRAPH-CONSULT …`) in the
61
61
  packet VERBATIM. Exit 3 = off → no other graph call this session. Every graph
62
62
  call carries `--if-enabled`, so the CLI reads the `code_graph` keys —
@@ -94,11 +94,11 @@ Print it on ONE line so nothing is skipped in secret:
94
94
 
95
95
  **The dig — graph first** (`references/look.md`). Ask the graph BEFORE any
96
96
  Grep; Grep only for what the graph does not know.
97
- - Names a file or symbol → `orc graph ctx <targets> --if-enabled --json`, 5 at
97
+ - Names a file or symbol → `orc graph ctx <targets> --if-enabled --json --brief`, 5 at
98
98
  most. Names none → `orc graph map --focus "<3–6 words>" --budget 800
99
- --if-enabled --json`, then `ctx` on the files it ranks first. Asks what breaks
99
+ --if-enabled --json --brief`, then `ctx` on the files it ranks first. Asks what breaks
100
100
  or who uses something → `ctx <symbol> --depth 2` and `orc graph coverage
101
- <files> --if-enabled --json` before you call anything absent. Exit 3 →
101
+ <files> --if-enabled --json --brief` before you call anything absent. Exit 3 →
102
102
  Grep/Glob. Exit 4 → Grep the name, carry EVERY candidate into your question.
103
103
  Copy each `line` into chat, each `trace` into the running record. A `map`
104
104
  answer is ONE call; a card never replaces reading the range it names.
@@ -155,7 +155,7 @@ Rules:
155
155
 
156
156
  Put in the slice: the change sketch, the Q2 answers, 2–3 acceptance bullets, the
157
157
  `graph` block from `orc graph ctx <declared files> --for-slice --if-enabled
158
- --json` (the OUTSIDE view — `references/look.md` §5), the wiki **paths**, the
158
+ --json --brief` (the OUTSIDE view — `references/look.md` §5), the wiki **paths**, the
159
159
  cached pattern (whole text), the `house_rules` card
160
160
  (`../_shared/phases/house-rules.md`, whole text), the `rules_card` under it
161
161
  (`orc rules slice --lane orc-quick --json` → `text`, whole text), PR comments
@@ -187,12 +187,11 @@ say it once; never invent a build command — take it from `wiki-meta.json`'s
187
187
  exit=<n>` then `REPRO green :: <cmd> exit=0`. `repro: none` → say **not
188
188
  reproduced** with the reason (`references/defect.md`).
189
189
 
190
- **Affected tests first.** Run `orc graph changes --if-enabled --json`, keep the
191
- `symbols[]` whose `file` is in the return's `actual_files`, and run the test
192
- files their `tests[]` name BEFORE the suite — when the runner takes a file list.
193
- A runner that takes none → one line saying so. Then print the blast radius from
194
- the same answer, one line, and never a `risk` word without its `why`. Zero
195
- symbols in the graph → `blast radius none indexed (<n> files not in the graph)`.
190
+ **Affected tests first.** Run `orc graph changes --files=<actual_files> --if-enabled
191
+ --json --brief`. Print its `tests_line`, run the files its `tests[]` names BEFORE
192
+ the suite — a runner that takes no file list → one line saying so — and append
193
+ ` → <n> passed`. Then the suite. Then print its `blast_line` VERBATIM: the CLI
194
+ attaches every `risk` word's `why`, so never restate it. Exit 3 → nothing.
196
195
 
197
196
  `tests reached 3 files (ROUTE 2 · call 1) → 12 passed` · then the suite · then
198
197
  `blast radius 3 symbols · callers 7 in 4 files · tests reach 2 · risk high: <symbol> (exported, fan-in 4, no test reaches it)`
@@ -210,13 +209,13 @@ Never offer commit while tests are red.
210
209
 
211
210
  **After a request that WROTE code** (never after a read-only one), so the next
212
211
  request and the next session start from a current cache, in this order:
213
- `orc graph update --notes-pending --files <actual_files> --if-enabled --json`
212
+ `orc graph update --notes-pending --files <actual_files> --if-enabled --json --brief`
214
213
  — ONE call that answers both (print its `line`, copy its `trace`). Exit 0 on
215
214
  `notes` → dispatch `orc-graph-noter-sonnet-4-6-med` in the SAME tool block as
216
215
  this doc write. It is ORC bookkeeping, like the trace writer — not a Q2 gate
217
216
  dispatch (`references/dispatch-gate.md` rule 8). Exit 3 or 5 → nothing. Then,
218
217
  after the entry is appended, `orc graph gain --run <this run> --if-enabled
219
- --json` → print its `line` VERBATIM into chat and the entry. It is an estimate
218
+ --json --brief` → print its `line` VERBATIM into chat and the entry. It is an estimate
220
219
  with a range; never restate it as a saving.
221
220
 
222
221
  Append entry N to `orc-quick/<slug>/quick-context.md`
@@ -70,7 +70,7 @@ It does not tell you what sits there or what depends on it.
70
70
  For each thread the user takes, run one call:
71
71
 
72
72
  ```bash
73
- orc graph ctx <the anchor file:line> --if-enabled --json
73
+ orc graph ctx <the anchor file:line> --if-enabled --json --brief
74
74
  ```
75
75
 
76
76
  It names the symbol the comment sits in, its callers, and the tests that reach
@@ -20,9 +20,9 @@ way round.
20
20
 
21
21
  | The request | The call |
22
22
  |---|---|
23
- | names a file or a symbol | `orc graph ctx <targets> --if-enabled --json` — 5 targets at most |
24
- | names none ("where is the retry logic?") | `orc graph map --focus "<3–6 words from the request>" --budget 800 --if-enabled --json`, then `ctx` on the files it ranks first |
25
- | asks what breaks, or who uses something | `orc graph ctx <symbol> --depth 2 --if-enabled --json`, then `orc graph coverage <files> --if-enabled --json` |
23
+ | names a file or a symbol | `orc graph ctx <targets> --if-enabled --json --brief` — 5 targets at most |
24
+ | names none ("where is the retry logic?") | `orc graph map --focus "<3–6 words from the request>" --budget 800 --if-enabled --json --brief`, then `ctx` on the files it ranks first |
25
+ | asks what breaks, or who uses something | `orc graph ctx <symbol> --depth 2 --if-enabled --json --brief`, then `orc graph coverage <files> --if-enabled --json --brief` |
26
26
 
27
27
  Exit 3 = the graph is off → Grep and Glob, as before, and make no other graph
28
28
  call this session. Exit 1 = no index → the same. **A `map` answer is ONE call**,
@@ -52,7 +52,7 @@ candidate into your Q2 question. Never pick one in silence.
52
52
 
53
53
  "What breaks if I change this?" · "Who uses this?" · "Is it safe to change?"
54
54
 
55
- Run `orc graph coverage <the files in play> --if-enabled --json` FIRST. A file
55
+ Run `orc graph coverage <the files in play> --if-enabled --json --brief` FIRST. A file
56
56
  whose coverage is `partial` is read in the source before you call anything
57
57
  absent in it.
58
58
 
@@ -75,7 +75,7 @@ sentence, word for word:
75
75
  ## 5. What you hand to an executor
76
76
 
77
77
  ```
78
- orc graph ctx <declared files> --for-slice --if-enabled --json
78
+ orc graph ctx <declared files> --for-slice --if-enabled --json --brief
79
79
  ```
80
80
 
81
81
  ONE call, 10 files at most. Its `card` becomes the slice's `graph` block. This