@azure-id/orc 0.56.1 → 1.0.0

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 (153) hide show
  1. package/CHANGELOG.md +2367 -2218
  2. package/README-id.md +49 -107
  3. package/README.md +45 -133
  4. package/bin/build-agents.js +18 -11
  5. package/bin/cli.js +33060 -29855
  6. package/bin/onboarding-content.js +0 -3
  7. package/bin/test-run.js +491 -0
  8. package/bin/verify-contracts.js +4256 -3277
  9. package/bin/verify-package.js +563 -498
  10. package/bin/webui/api.js +1186 -1163
  11. package/bin/webui/app.html +9 -0
  12. package/bin/webui/css/06-responsive.css +120 -108
  13. package/bin/webui/css/panels/extra.css +29 -0
  14. package/bin/webui/css/panels/lanes.css +134 -0
  15. package/bin/webui/css/panels/settings.css +79 -3
  16. package/bin/webui/fixtures/extra.js +2036 -1934
  17. package/bin/webui/fixtures/flow.js +2 -2
  18. package/bin/webui/fixtures/index.js +503 -486
  19. package/bin/webui/fixtures/lanes.js +218 -0
  20. package/bin/webui/fixtures/settings.js +261 -34
  21. package/bin/webui/fixtures/stats.js +3 -3
  22. package/bin/webui/i18n/TERMS.md +135 -134
  23. package/bin/webui/i18n/en/extra.json +345 -313
  24. package/bin/webui/i18n/en/lanes.json +29 -0
  25. package/bin/webui/i18n/en/nav.json +1 -0
  26. package/bin/webui/i18n/en/overview.json +2 -0
  27. package/bin/webui/i18n/en/settings.json +16 -5
  28. package/bin/webui/i18n/id/extra.json +345 -313
  29. package/bin/webui/i18n/id/lanes.json +29 -0
  30. package/bin/webui/i18n/id/nav.json +1 -0
  31. package/bin/webui/i18n/id/overview.json +2 -0
  32. package/bin/webui/i18n/id/settings.json +15 -4
  33. package/bin/webui/js/01-i18n.js +1 -0
  34. package/bin/webui/js/panels/extra.js +3199 -3011
  35. package/bin/webui/js/panels/lanes.js +259 -0
  36. package/bin/webui/js/panels/overview.js +10 -0
  37. package/bin/webui/js/panels/settings.js +149 -3
  38. package/package.json +39 -39
  39. package/templates/agents/MODEL-MAPPING.md +23 -35
  40. package/templates/agents/orc-executor-opus-4-7-high.md +1 -1
  41. package/templates/agents/orc-executor-opus-4-7-med.md +1 -1
  42. package/templates/agents/orc-executor-opus-4-8-high.md +1 -1
  43. package/templates/agents/orc-executor-opus-5-high.md +1 -1
  44. package/templates/agents/orc-executor-opus-5-low.md +1 -1
  45. package/templates/agents/orc-executor-opus-5-med.md +1 -1
  46. package/templates/agents/orc-retro-opus-5-med.md +73 -73
  47. package/templates/agents/orc-retro-sonnet-5-high.md +72 -72
  48. package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -107
  49. package/templates/commands/orc-route.md +1 -1
  50. package/templates/commands/orc.md +1 -1
  51. package/templates/skills/_shared/README.md +7 -3
  52. package/templates/skills/_shared/config-precedence.md +198 -0
  53. package/templates/skills/_shared/drift-recovery.md +1 -1
  54. package/templates/skills/_shared/extra-dispatch.md +159 -7
  55. package/templates/skills/_shared/interview.md +1 -1
  56. package/templates/skills/_shared/opus5-only.md +9 -7
  57. package/templates/skills/_shared/phases/README.md +82 -0
  58. package/templates/skills/{orc/references → _shared/phases}/analyst-gates.md +15 -3
  59. package/templates/skills/_shared/phases/execution.md +143 -0
  60. package/templates/skills/{orc/references → _shared/phases}/house-rules.md +13 -1
  61. package/templates/skills/{orc/references → _shared/phases}/intake.md +15 -2
  62. package/templates/skills/_shared/phases/mock-example.md +56 -0
  63. package/templates/skills/{orc/references → _shared/phases}/plan-handoff.md +16 -3
  64. package/templates/skills/_shared/phases/planning.md +135 -0
  65. package/templates/skills/_shared/phases/preflight.md +76 -0
  66. package/templates/skills/_shared/phases/review.md +53 -0
  67. package/templates/skills/_shared/phases/scoring.md +65 -0
  68. package/templates/skills/{orc/references → _shared/phases}/security-checklist.md +12 -1
  69. package/templates/skills/_shared/phases/security.md +55 -0
  70. package/templates/skills/_shared/phases/ship.md +88 -0
  71. package/templates/skills/{orc/references/stop-and-resume.md → _shared/phases/stop-resume.md} +169 -160
  72. package/templates/skills/_shared/phases/summary.md +48 -0
  73. package/templates/skills/_shared/phases/testgen.md +51 -0
  74. package/templates/skills/{orc/references/trace-protocol.md → _shared/phases/trace.md} +49 -6
  75. package/templates/skills/_shared/phases/verify.md +70 -0
  76. package/templates/skills/{orc/references → _shared/phases}/wave-grouping.md +14 -2
  77. package/templates/skills/{orc/references → _shared/phases}/wiki-consult.md +13 -1
  78. package/templates/skills/_shared/read-ladder.md +48 -0
  79. package/templates/skills/context-combiner/SKILL.md +214 -187
  80. package/templates/skills/orc/README.md +148 -150
  81. package/templates/skills/orc/SKILL.md +70 -358
  82. package/templates/skills/orc/config.md +137 -389
  83. package/templates/skills/orc/examples/full-run-mock.md +1 -1
  84. package/templates/skills/orc/references/effort-and-mode.md +16 -18
  85. package/templates/skills/orc/references/phases/intake.md +47 -0
  86. package/templates/skills/orc/references/phases/integration.md +19 -0
  87. package/templates/skills/orc/references/preflight-report.md +4 -4
  88. package/templates/skills/orc/references/ultra-mode.md +117 -123
  89. package/templates/skills/orc/schemas/planning-output.md +279 -279
  90. package/templates/skills/orc/subskills/orc-planner/SKILL.md +260 -264
  91. package/templates/skills/orc/subskills/orc-pr/stack-gate.md +4 -1
  92. package/templates/skills/orc-aftermath/SKILL.md +153 -136
  93. package/templates/skills/orc-analyze/SKILL.md +247 -220
  94. package/templates/skills/orc-analyze/references/branching.md +51 -51
  95. package/templates/skills/orc-analyze/references/thin-input.md +1 -1
  96. package/templates/skills/orc-analyze-mini/SKILL.md +128 -112
  97. package/templates/skills/orc-boundary/SKILL.md +244 -208
  98. package/templates/skills/orc-brainstorm/SKILL.md +372 -339
  99. package/templates/skills/orc-budget/SKILL.md +243 -225
  100. package/templates/skills/orc-challenge/README.md +1 -1
  101. package/templates/skills/orc-challenge/SKILL.md +293 -255
  102. package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
  103. package/templates/skills/orc-claude/SKILL.md +216 -199
  104. package/templates/skills/orc-diy/README.md +2 -1
  105. package/templates/skills/orc-diy/SKILL.md +129 -70
  106. package/templates/skills/orc-diy/references/blocks/analyze.md +1 -1
  107. package/templates/skills/orc-diy/references/compile.md +21 -7
  108. package/templates/skills/orc-diy/references/flow-schema.md +2 -2
  109. package/templates/skills/orc-doc/SKILL.md +44 -7
  110. package/templates/skills/orc-explain/SKILL.md +19 -0
  111. package/templates/skills/orc-export/SKILL.md +26 -5
  112. package/templates/skills/orc-fast/SKILL.md +215 -187
  113. package/templates/skills/orc-grill/SKILL.md +233 -207
  114. package/templates/skills/orc-handoff/SKILL.md +223 -204
  115. package/templates/skills/orc-learn/SKILL.md +176 -156
  116. package/templates/skills/orc-mini/SKILL.md +41 -23
  117. package/templates/skills/orc-pact/SKILL.md +250 -218
  118. package/templates/skills/orc-pattern/SKILL.md +149 -124
  119. package/templates/skills/orc-poly/SKILL.md +237 -216
  120. package/templates/skills/orc-poly/references/gather.md +1 -1
  121. package/templates/skills/orc-pr-driver/SKILL.md +196 -167
  122. package/templates/skills/orc-pr-driver/references/orc-run-split.md +1 -1
  123. package/templates/skills/orc-pr-setup/SKILL.md +212 -184
  124. package/templates/skills/orc-quick/README.md +2 -2
  125. package/templates/skills/orc-quick/SKILL.md +45 -12
  126. package/templates/skills/orc-quick/references/dispatch-gate.md +2 -3
  127. package/templates/skills/orc-retro/SKILL.md +244 -222
  128. package/templates/skills/orc-retro/examples/retro-mock.md +171 -171
  129. package/templates/skills/orc-route/SKILL.md +183 -165
  130. package/templates/skills/orc-verify/SKILL.md +100 -86
  131. package/templates/skills/orc-wiki/SKILL.md +55 -206
  132. package/templates/skills/orc-wiki/references/phases/phase-0.md +71 -0
  133. package/templates/skills/orc-wiki/references/phases/phase-1.md +35 -0
  134. package/templates/skills/orc-wiki/references/phases/phase-2.md +52 -0
  135. package/templates/skills/orc-wiki/references/phases/phase-3.md +57 -0
  136. package/templates/skills/orc-wiki/references/phases/phase-3c.md +36 -0
  137. package/templates/agents/orc-advisor-fable-5.md +0 -50
  138. package/templates/agents/orc-analyst-fable-5.md +0 -115
  139. package/templates/agents/orc-judge-fable-5.md +0 -79
  140. package/templates/agents/orc-planner-fable-5.md +0 -152
  141. package/templates/agents/orc-reviewer-fable-5.md +0 -57
  142. package/templates/skills/_shared/fable5-override.md +0 -56
  143. package/templates/skills/orc-diy/references/blocks/execution.md +0 -42
  144. package/templates/skills/orc-diy/references/blocks/mock-example.md +0 -22
  145. package/templates/skills/orc-diy/references/blocks/planning.md +0 -34
  146. package/templates/skills/orc-diy/references/blocks/review.md +0 -18
  147. package/templates/skills/orc-diy/references/blocks/scoring.md +0 -16
  148. package/templates/skills/orc-diy/references/blocks/security.md +0 -25
  149. package/templates/skills/orc-diy/references/blocks/ship.md +0 -25
  150. package/templates/skills/orc-diy/references/blocks/summary.md +0 -18
  151. package/templates/skills/orc-diy/references/blocks/testgen.md +0 -17
  152. package/templates/skills/orc-diy/references/blocks/trace.md +0 -28
  153. package/templates/skills/orc-diy/references/blocks/verify.md +0 -25
@@ -1,134 +1,135 @@
1
- # Panel wording — the term list
2
-
3
- > One page. It exists so the next two hundred strings stay consistent, because
4
- > without it a wording pass drifts back within two releases.
5
-
6
- The panel's **instruction text** is written in Simplified Technical English
7
- (ASD-STE100 in spirit, not in certification). Instruction text is anything the
8
- user must **act on**: a button, a field label, a hint, an error, a gate, a
9
- countdown, an install or connect step.
10
-
11
- **Rationale prose keeps its voice** and only gets shorter. Sentences like *"It
12
- stops someone at your keyboard, not someone who copied the file"* draw a
13
- distinction STE has no vocabulary for; flattened, they become true and useless.
14
-
15
- ---
16
-
17
- ## The rule that is not negotiable
18
-
19
- > **NEVER simplify a CLI-computed value.**
20
-
21
- A state word, an exit reason, a doctor message, a config key, a model id, a
22
- provider id, a path, a band or a command is **not prose** and is not the panel's
23
- to rewrite. A simplified state word is a state that does not exist — the same
24
- failure as a translated config key.
25
-
26
- This applies to `bin/cli.js --json` output in every panel, in every language.
27
-
28
- ---
29
-
30
- ## How to write an instruction
31
-
32
- - One instruction per sentence.
33
- - 20 words maximum.
34
- - Active voice, present tense, "you" as the subject.
35
- - The condition comes **before** the action: *"If the test is green, save the key."*
36
- - No phrasal verb where a single verb exists.
37
-
38
- ---
39
-
40
- ## One word, one meaning
41
-
42
- Pick the left column. Never use the right column for the same idea.
43
-
44
- | use | never |
45
- |---|---|
46
- | **connect** (make a connection to a provider) | add, link, hook up, set up |
47
- | **test** (prove a connection answers) | probe, ping, check, try |
48
- | **delete** (remove permanently) | remove, forget, drop, clear, wipe |
49
- | **save** (write and keep) | store, persist, remember |
50
- | **enable** / **disable** | turn on, turn off, switch on, activate |
51
- | **configure** | set up, sort out |
52
- | **run** (execute a command) | fire, kick off, trigger, invoke |
53
- | **open** (a file, a window, a terminal) | bring up, pull up, launch |
54
- | **install** | get, grab, pull |
55
- | **refresh** (read again) | reload, re-fetch, sync |
56
- | **stop** (end before it finishes) | halt, abort, kill, cancel |
57
- | **wait** | hold, pause, hang on |
58
- | **choose** | pick, select from |
59
- | **show** | display, render, surface |
60
- | **key** (a credential value) | token, secret, api key |
61
- | **passphrase** (what opens the vault) | password, phrase, secret |
62
- | **deadline** (when a saved passphrase ends) | expiry, timeout, TTL, lifetime |
63
- | **connection** (a configured profile) | profile, endpoint, provider link |
64
- | **document** | doc, file, artefact |
65
- | **section** | part, chunk, block |
66
- | **command** | line, invocation |
67
-
68
- Two exceptions, both because they are the CLI's own words and the rule above
69
- outranks this table:
70
-
71
- - `profile` where the CLI prints `profile`;
72
- - `ping`, `probe` and `forget` where they are the **name of a command**
73
- (`orc extra ping`, `orc extra session --forget`).
74
-
75
- ---
76
-
77
- ## Where each rule applies
78
-
79
- | STE, strictly | keep the voice |
80
- |---|---|
81
- | button and control labels | the honesty sentences (the passphrase deadline, `tok=none`, "zero reroutes is not evidence") |
82
- | field labels and hints | the boundary card |
83
- | error and refusal text | the "why this design" notes |
84
- | every gate and countdown sentence | trace-format explanations |
85
- | install and connect steps | |
86
- | the passphrase modal, **end to end** — it is a procedure and it cannot be dismissed | |
87
-
88
- ---
89
-
90
- ## Keys that keep their voice
91
-
92
- The default is STE: **a new key is instruction text unless it is listed here.**
93
- Opting out is a deliberate line in a diff somebody reads, which is the same
94
- shape as the contract-lint table.
95
-
96
- These are the sentences doing the most work in this subsystem, and STE has no
97
- vocabulary for the distinctions they draw. Flattened, they become true and
98
- useless. The test parses this fenced list by name.
99
-
100
- ```prose-keys
101
- extra.boundary.leaves
102
- extra.boundary.whom
103
- extra.boundary.cannot
104
- extra.boundary.fence
105
- extra.boundary.probe
106
- extra.providers.subWhy
107
- extra.providers.noModels
108
- extra.providers.stale
109
- extra.routing.gapWhy
110
- extra.gate.hiddenWhy
111
- extra.cost.noRate
112
- extra.cost.sourcesWhy
113
- extra.live.noReport
114
- extra.tools.subWhy
115
- extra.tools.altNone
116
- extra.tools.neverElevates
117
- extra.add.vaultWarn
118
- extra.session.honesty
119
- extra.lanes.subWhy
120
- extra.guard.subWhy
121
- extra.recovery.noteWhy
122
- extra.slots.subWhy
123
- extra.slots.keepsSlotWhy
124
- ```
125
-
126
- ---
127
-
128
- ## What is NOT checked automatically
129
-
130
- There is no STE checker in this repo and there is not going to be one: a real
131
- one needs the approved dictionary, which is licensed. A test asserts the cheap
132
- half no string in the STE set is over 20 words, and no banned synonym appears
133
- and the rest is this page plus review. A checker that half-works would be
134
- worse than none, because people would trust it.
1
+ # Panel wording — the term list
2
+
3
+ > One page. It exists so the next two hundred strings stay consistent, because
4
+ > without it a wording pass drifts back within two releases.
5
+
6
+ The panel's **instruction text** is written in Simplified Technical English
7
+ (ASD-STE100 in spirit, not in certification). Instruction text is anything the
8
+ user must **act on**: a button, a field label, a hint, an error, a gate, a
9
+ countdown, an install or connect step.
10
+
11
+ **Rationale prose keeps its voice** and only gets shorter. Sentences like *"It
12
+ stops someone at your keyboard, not someone who copied the file"* draw a
13
+ distinction STE has no vocabulary for; flattened, they become true and useless.
14
+
15
+ ---
16
+
17
+ ## The rule that is not negotiable
18
+
19
+ > **NEVER simplify a CLI-computed value.**
20
+
21
+ A state word, an exit reason, a doctor message, a config key, a model id, a
22
+ provider id, a path, a band or a command is **not prose** and is not the panel's
23
+ to rewrite. A simplified state word is a state that does not exist — the same
24
+ failure as a translated config key.
25
+
26
+ This applies to `bin/cli.js --json` output in every panel, in every language.
27
+
28
+ ---
29
+
30
+ ## How to write an instruction
31
+
32
+ - One instruction per sentence.
33
+ - 20 words maximum.
34
+ - Active voice, present tense, "you" as the subject.
35
+ - The condition comes **before** the action: *"If the test is green, save the key."*
36
+ - No phrasal verb where a single verb exists.
37
+
38
+ ---
39
+
40
+ ## One word, one meaning
41
+
42
+ Pick the left column. Never use the right column for the same idea.
43
+
44
+ | use | never |
45
+ |---|---|
46
+ | **connect** (make a connection to a provider) | add, link, hook up, set up |
47
+ | **test** (prove a connection answers) | probe, ping, check, try |
48
+ | **delete** (remove permanently) | remove, forget, drop, clear, wipe |
49
+ | **save** (write and keep) | store, persist, remember |
50
+ | **enable** / **disable** | turn on, turn off, switch on, activate |
51
+ | **configure** | set up, sort out |
52
+ | **run** (execute a command) | fire, kick off, trigger, invoke |
53
+ | **open** (a file, a window, a terminal) | bring up, pull up, launch |
54
+ | **install** | get, grab, pull |
55
+ | **refresh** (read again) | reload, re-fetch, sync |
56
+ | **stop** (end before it finishes) | halt, abort, kill, cancel |
57
+ | **wait** | hold, pause, hang on |
58
+ | **choose** | pick, select from |
59
+ | **show** | display, render, surface |
60
+ | **key** (a credential value) | token, secret, api key |
61
+ | **passphrase** (what opens the vault) | password, phrase, secret |
62
+ | **deadline** (when a saved passphrase ends) | expiry, timeout, TTL, lifetime |
63
+ | **connection** (a configured profile) | profile, endpoint, provider link |
64
+ | **document** | doc, file, artefact |
65
+ | **section** | part, chunk, block |
66
+ | **command** | line, invocation |
67
+
68
+ Two exceptions, both because they are the CLI's own words and the rule above
69
+ outranks this table:
70
+
71
+ - `profile` where the CLI prints `profile`;
72
+ - `ping`, `probe` and `forget` where they are the **name of a command**
73
+ (`orc extra ping`, `orc extra session --forget`).
74
+
75
+ ---
76
+
77
+ ## Where each rule applies
78
+
79
+ | STE, strictly | keep the voice |
80
+ |---|---|
81
+ | button and control labels | the honesty sentences (the passphrase deadline, `tok=none`, "zero reroutes is not evidence") |
82
+ | field labels and hints | the boundary card |
83
+ | error and refusal text | the "why this design" notes |
84
+ | every gate and countdown sentence | trace-format explanations |
85
+ | install and connect steps | |
86
+ | the passphrase modal, **end to end** — it is a procedure and it cannot be dismissed | |
87
+
88
+ ---
89
+
90
+ ## Keys that keep their voice
91
+
92
+ The default is STE: **a new key is instruction text unless it is listed here.**
93
+ Opting out is a deliberate line in a diff somebody reads, which is the same
94
+ shape as the contract-lint table.
95
+
96
+ These are the sentences doing the most work in this subsystem, and STE has no
97
+ vocabulary for the distinctions they draw. Flattened, they become true and
98
+ useless. The test parses this fenced list by name.
99
+
100
+ ```prose-keys
101
+ extra.boundary.leaves
102
+ extra.boundary.whom
103
+ extra.boundary.cannot
104
+ extra.boundary.fence
105
+ extra.boundary.probe
106
+ extra.providers.subWhy
107
+ extra.providers.noModels
108
+ extra.providers.stale
109
+ extra.routing.gapWhy
110
+ extra.gate.hiddenWhy
111
+ extra.cost.noRate
112
+ extra.cost.sourcesWhy
113
+ extra.live.noReport
114
+ extra.tools.subWhy
115
+ extra.tools.altNone
116
+ extra.tools.neverElevates
117
+ extra.add.vaultWarn
118
+ extra.session.honesty
119
+ extra.lanes.subWhy
120
+ extra.guard.subWhy
121
+ extra.recovery.noteWhy
122
+ extra.demotion.noteWhy
123
+ extra.slots.subWhy
124
+ extra.slots.keepsSlotWhy
125
+ ```
126
+
127
+ ---
128
+
129
+ ## What is NOT checked automatically
130
+
131
+ There is no STE checker in this repo and there is not going to be one: a real
132
+ one needs the approved dictionary, which is licensed. A test asserts the cheap
133
+ half no string in the STE set is over 20 words, and no banned synonym appears
134
+ and the rest is this page plus review. A checker that half-works would be
135
+ worse than none, because people would trust it.