@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.
- package/CHANGELOG.md +2367 -2218
- package/README-id.md +49 -107
- package/README.md +45 -133
- package/bin/build-agents.js +18 -11
- package/bin/cli.js +33060 -29855
- package/bin/onboarding-content.js +0 -3
- package/bin/test-run.js +491 -0
- package/bin/verify-contracts.js +4256 -3277
- package/bin/verify-package.js +563 -498
- package/bin/webui/api.js +1186 -1163
- package/bin/webui/app.html +9 -0
- package/bin/webui/css/06-responsive.css +120 -108
- package/bin/webui/css/panels/extra.css +29 -0
- package/bin/webui/css/panels/lanes.css +134 -0
- package/bin/webui/css/panels/settings.css +79 -3
- package/bin/webui/fixtures/extra.js +2036 -1934
- package/bin/webui/fixtures/flow.js +2 -2
- package/bin/webui/fixtures/index.js +503 -486
- package/bin/webui/fixtures/lanes.js +218 -0
- package/bin/webui/fixtures/settings.js +261 -34
- package/bin/webui/fixtures/stats.js +3 -3
- package/bin/webui/i18n/TERMS.md +135 -134
- package/bin/webui/i18n/en/extra.json +345 -313
- package/bin/webui/i18n/en/lanes.json +29 -0
- package/bin/webui/i18n/en/nav.json +1 -0
- package/bin/webui/i18n/en/overview.json +2 -0
- package/bin/webui/i18n/en/settings.json +16 -5
- package/bin/webui/i18n/id/extra.json +345 -313
- package/bin/webui/i18n/id/lanes.json +29 -0
- package/bin/webui/i18n/id/nav.json +1 -0
- package/bin/webui/i18n/id/overview.json +2 -0
- package/bin/webui/i18n/id/settings.json +15 -4
- package/bin/webui/js/01-i18n.js +1 -0
- package/bin/webui/js/panels/extra.js +3199 -3011
- package/bin/webui/js/panels/lanes.js +259 -0
- package/bin/webui/js/panels/overview.js +10 -0
- package/bin/webui/js/panels/settings.js +149 -3
- package/package.json +39 -39
- package/templates/agents/MODEL-MAPPING.md +23 -35
- package/templates/agents/orc-executor-opus-4-7-high.md +1 -1
- package/templates/agents/orc-executor-opus-4-7-med.md +1 -1
- package/templates/agents/orc-executor-opus-4-8-high.md +1 -1
- package/templates/agents/orc-executor-opus-5-high.md +1 -1
- package/templates/agents/orc-executor-opus-5-low.md +1 -1
- package/templates/agents/orc-executor-opus-5-med.md +1 -1
- package/templates/agents/orc-retro-opus-5-med.md +73 -73
- package/templates/agents/orc-retro-sonnet-5-high.md +72 -72
- package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -107
- package/templates/commands/orc-route.md +1 -1
- package/templates/commands/orc.md +1 -1
- package/templates/skills/_shared/README.md +7 -3
- package/templates/skills/_shared/config-precedence.md +198 -0
- package/templates/skills/_shared/drift-recovery.md +1 -1
- package/templates/skills/_shared/extra-dispatch.md +159 -7
- package/templates/skills/_shared/interview.md +1 -1
- package/templates/skills/_shared/opus5-only.md +9 -7
- package/templates/skills/_shared/phases/README.md +82 -0
- package/templates/skills/{orc/references → _shared/phases}/analyst-gates.md +15 -3
- package/templates/skills/_shared/phases/execution.md +143 -0
- package/templates/skills/{orc/references → _shared/phases}/house-rules.md +13 -1
- package/templates/skills/{orc/references → _shared/phases}/intake.md +15 -2
- package/templates/skills/_shared/phases/mock-example.md +56 -0
- package/templates/skills/{orc/references → _shared/phases}/plan-handoff.md +16 -3
- package/templates/skills/_shared/phases/planning.md +135 -0
- package/templates/skills/_shared/phases/preflight.md +76 -0
- package/templates/skills/_shared/phases/review.md +53 -0
- package/templates/skills/_shared/phases/scoring.md +65 -0
- package/templates/skills/{orc/references → _shared/phases}/security-checklist.md +12 -1
- package/templates/skills/_shared/phases/security.md +55 -0
- package/templates/skills/_shared/phases/ship.md +88 -0
- package/templates/skills/{orc/references/stop-and-resume.md → _shared/phases/stop-resume.md} +169 -160
- package/templates/skills/_shared/phases/summary.md +48 -0
- package/templates/skills/_shared/phases/testgen.md +51 -0
- package/templates/skills/{orc/references/trace-protocol.md → _shared/phases/trace.md} +49 -6
- package/templates/skills/_shared/phases/verify.md +70 -0
- package/templates/skills/{orc/references → _shared/phases}/wave-grouping.md +14 -2
- package/templates/skills/{orc/references → _shared/phases}/wiki-consult.md +13 -1
- package/templates/skills/_shared/read-ladder.md +48 -0
- package/templates/skills/context-combiner/SKILL.md +214 -187
- package/templates/skills/orc/README.md +148 -150
- package/templates/skills/orc/SKILL.md +70 -358
- package/templates/skills/orc/config.md +137 -389
- package/templates/skills/orc/examples/full-run-mock.md +1 -1
- package/templates/skills/orc/references/effort-and-mode.md +16 -18
- package/templates/skills/orc/references/phases/intake.md +47 -0
- package/templates/skills/orc/references/phases/integration.md +19 -0
- package/templates/skills/orc/references/preflight-report.md +4 -4
- package/templates/skills/orc/references/ultra-mode.md +117 -123
- package/templates/skills/orc/schemas/planning-output.md +279 -279
- package/templates/skills/orc/subskills/orc-planner/SKILL.md +260 -264
- package/templates/skills/orc/subskills/orc-pr/stack-gate.md +4 -1
- package/templates/skills/orc-aftermath/SKILL.md +153 -136
- package/templates/skills/orc-analyze/SKILL.md +247 -220
- package/templates/skills/orc-analyze/references/branching.md +51 -51
- package/templates/skills/orc-analyze/references/thin-input.md +1 -1
- package/templates/skills/orc-analyze-mini/SKILL.md +128 -112
- package/templates/skills/orc-boundary/SKILL.md +244 -208
- package/templates/skills/orc-brainstorm/SKILL.md +372 -339
- package/templates/skills/orc-budget/SKILL.md +243 -225
- package/templates/skills/orc-challenge/README.md +1 -1
- package/templates/skills/orc-challenge/SKILL.md +293 -255
- package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
- package/templates/skills/orc-claude/SKILL.md +216 -199
- package/templates/skills/orc-diy/README.md +2 -1
- package/templates/skills/orc-diy/SKILL.md +129 -70
- package/templates/skills/orc-diy/references/blocks/analyze.md +1 -1
- package/templates/skills/orc-diy/references/compile.md +21 -7
- package/templates/skills/orc-diy/references/flow-schema.md +2 -2
- package/templates/skills/orc-doc/SKILL.md +44 -7
- package/templates/skills/orc-explain/SKILL.md +19 -0
- package/templates/skills/orc-export/SKILL.md +26 -5
- package/templates/skills/orc-fast/SKILL.md +215 -187
- package/templates/skills/orc-grill/SKILL.md +233 -207
- package/templates/skills/orc-handoff/SKILL.md +223 -204
- package/templates/skills/orc-learn/SKILL.md +176 -156
- package/templates/skills/orc-mini/SKILL.md +41 -23
- package/templates/skills/orc-pact/SKILL.md +250 -218
- package/templates/skills/orc-pattern/SKILL.md +149 -124
- package/templates/skills/orc-poly/SKILL.md +237 -216
- package/templates/skills/orc-poly/references/gather.md +1 -1
- package/templates/skills/orc-pr-driver/SKILL.md +196 -167
- package/templates/skills/orc-pr-driver/references/orc-run-split.md +1 -1
- package/templates/skills/orc-pr-setup/SKILL.md +212 -184
- package/templates/skills/orc-quick/README.md +2 -2
- package/templates/skills/orc-quick/SKILL.md +45 -12
- package/templates/skills/orc-quick/references/dispatch-gate.md +2 -3
- package/templates/skills/orc-retro/SKILL.md +244 -222
- package/templates/skills/orc-retro/examples/retro-mock.md +171 -171
- package/templates/skills/orc-route/SKILL.md +183 -165
- package/templates/skills/orc-verify/SKILL.md +100 -86
- package/templates/skills/orc-wiki/SKILL.md +55 -206
- package/templates/skills/orc-wiki/references/phases/phase-0.md +71 -0
- package/templates/skills/orc-wiki/references/phases/phase-1.md +35 -0
- package/templates/skills/orc-wiki/references/phases/phase-2.md +52 -0
- package/templates/skills/orc-wiki/references/phases/phase-3.md +57 -0
- package/templates/skills/orc-wiki/references/phases/phase-3c.md +36 -0
- package/templates/agents/orc-advisor-fable-5.md +0 -50
- package/templates/agents/orc-analyst-fable-5.md +0 -115
- package/templates/agents/orc-judge-fable-5.md +0 -79
- package/templates/agents/orc-planner-fable-5.md +0 -152
- package/templates/agents/orc-reviewer-fable-5.md +0 -57
- package/templates/skills/_shared/fable5-override.md +0 -56
- package/templates/skills/orc-diy/references/blocks/execution.md +0 -42
- package/templates/skills/orc-diy/references/blocks/mock-example.md +0 -22
- package/templates/skills/orc-diy/references/blocks/planning.md +0 -34
- package/templates/skills/orc-diy/references/blocks/review.md +0 -18
- package/templates/skills/orc-diy/references/blocks/scoring.md +0 -16
- package/templates/skills/orc-diy/references/blocks/security.md +0 -25
- package/templates/skills/orc-diy/references/blocks/ship.md +0 -25
- package/templates/skills/orc-diy/references/blocks/summary.md +0 -18
- package/templates/skills/orc-diy/references/blocks/testgen.md +0 -17
- package/templates/skills/orc-diy/references/blocks/trace.md +0 -28
- package/templates/skills/orc-diy/references/blocks/verify.md +0 -25
|
@@ -1,204 +1,223 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: orc-handoff
|
|
3
|
-
description: >
|
|
4
|
-
The lane for people who do not read code. Use for "/orc-handoff", "I want to
|
|
5
|
-
change the text on the empty cart page", "can I edit this myself", "what can a
|
|
6
|
-
PM safely change here". Two modes. MAP finds the files a non-engineer can own —
|
|
7
|
-
screen text, content, settings with a validator, feature flags, docs — and grades
|
|
8
|
-
each one: green (a check will catch a mistake), amber (the check is manual), red
|
|
9
|
-
(looks like content, is not). DO changes one value: it shows you the file, the
|
|
10
|
-
check, and the undo command BEFORE it edits, then runs the check and tells you in
|
|
11
|
-
plain words. It never touches a red file. It never commits.
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# ORC-HANDOFF
|
|
15
|
-
|
|
16
|
-
**This whole folder is written in simple English on purpose.** Many people who use
|
|
17
|
-
this lane do not read code, and many do not read English first. Keep every file
|
|
18
|
-
here short, plain, and free of jargon. Same standing rule as `../orc-quick/`.
|
|
19
|
-
|
|
20
|
-
## What this lane is for
|
|
21
|
-
|
|
22
|
-
You want to change something small and you should not have to ask an engineer.
|
|
23
|
-
|
|
24
|
-
- the words on a page
|
|
25
|
-
- a title, a label, a button
|
|
26
|
-
- a setting that has a safe list of values
|
|
27
|
-
- a feature switch that is on or off
|
|
28
|
-
- a document
|
|
29
|
-
|
|
30
|
-
You do not need to read code. You do not need a terminal. You need to know two
|
|
31
|
-
things before you change anything: **will something catch my mistake**, and **how
|
|
32
|
-
do I undo it**. This lane always tells you both, before it edits.
|
|
33
|
-
|
|
34
|
-
## The idea that makes this safe
|
|
35
|
-
|
|
36
|
-
**The grade does not come from the file type. It comes from whether a cheap check
|
|
37
|
-
exists for that file.**
|
|
38
|
-
|
|
39
|
-
A settings file with a validator is **green**. The exact same file with no
|
|
40
|
-
validator is **amber**. That is why this is a real safety rule and not a feeling.
|
|
41
|
-
|
|
42
|
-
| Grade | What it means |
|
|
43
|
-
|---|---|
|
|
44
|
-
| 🟢 GREEN | Change it. A check runs after, and it will catch a mistake. |
|
|
45
|
-
| 🟡 AMBER | Change it. But the check is a person, not a program. Here is the check. |
|
|
46
|
-
| 🔴 RED | This looks like content. It is not. ORC will not touch it. |
|
|
47
|
-
|
|
48
|
-
**A red file is never edited.** Not by you through this lane, not by ORC. The lane
|
|
49
|
-
says why, says who to ask, and **offers** `/orc-quick` instead. It is an offer, not
|
|
50
|
-
a redirect — the same rule `/orc-quick` follows when a job is too big.
|
|
51
|
-
|
|
52
|
-
## Rules this lane never breaks
|
|
53
|
-
|
|
54
|
-
- **The undo command is shown BEFORE the edit, not after.** After is too late.
|
|
55
|
-
- **It never stages and never commits.** It prints the git command for you.
|
|
56
|
-
- **It never re-grades a file to make a change possible.** If it is red now, it is
|
|
57
|
-
red for this request.
|
|
58
|
-
- **It only changes a value that already exists.** It never creates a new key. A
|
|
59
|
-
new key is a code change.
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Mode 1 — MAP: what can I own?
|
|
64
|
-
|
|
65
|
-
Find the files a non-engineer can safely own, and grade each one. Look for:
|
|
66
|
-
|
|
67
|
-
- screen text and translations
|
|
68
|
-
- content files (markdown, pages, posts)
|
|
69
|
-
- settings files that have a validator or a schema
|
|
70
|
-
- feature switches
|
|
71
|
-
- example or seed data
|
|
72
|
-
- documents
|
|
73
|
-
- design values (colours, spacing) when they live in their own file
|
|
74
|
-
|
|
75
|
-
For **each** file, record four things. All four, every time:
|
|
76
|
-
|
|
77
|
-
1. **what it is**, in plain words ("the words users see on the empty cart page")
|
|
78
|
-
2. **the grade**, and the reason for it
|
|
79
|
-
3. **the exact check** — the command that proves the file is still fine
|
|
80
|
-
4. **the exact undo** — the command that puts it back
|
|
81
|
-
|
|
82
|
-
The grade comes from step 3. **No check found → amber, or red if the file drives
|
|
83
|
-
behaviour rather than showing text.** Never green without a real check.
|
|
84
|
-
|
|
85
|
-
Write it to `orc-handoff/surfaces.md` at the top of the project. Shape and field
|
|
86
|
-
rules: `references/surfaces.md`. Then run `orc handoff surfaces` and show what it
|
|
87
|
-
says — the CLI is what everything else reads.
|
|
88
|
-
|
|
89
|
-
**A file with no check is not a failure of the map.** Say so plainly: "this one has
|
|
90
|
-
no automatic check, so it is amber, and here is what to look at by hand."
|
|
91
|
-
|
|
92
|
-
## Mode 2 — DO: change one value
|
|
93
|
-
|
|
94
|
-
Five steps. Do not skip step 2.
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
H1 find find the file · show the value now · show its grade
|
|
98
|
-
H2 confirm ONE message: this is the file, this is the check, this is the undo
|
|
99
|
-
H3 edit one value, through `orc handoff set`
|
|
100
|
-
H4 check run the file's own check · say what happened in plain words
|
|
101
|
-
H5 record add a numbered entry to orc-handoff/<slug>/handoff-log.md
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### H1 — find
|
|
105
|
-
|
|
106
|
-
Search the mapped surfaces first. If the map does not exist yet, run MAP for just
|
|
107
|
-
the area the user named — never the whole project for one small change.
|
|
108
|
-
|
|
109
|
-
Show the value as it is now. If you cannot find it, say so and ask for more — a
|
|
110
|
-
guessed key is a wrong edit.
|
|
111
|
-
|
|
112
|
-
### H2 — confirm (one message, always)
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
File: web/locales/en.json
|
|
116
|
-
Now: "Your cart is empty"
|
|
117
|
-
New: "Nothing in here yet"
|
|
118
|
-
Grade: 🟢 green
|
|
119
|
-
|
|
120
|
-
After I change it I will run: npm run i18n:check
|
|
121
|
-
To undo it, run: git checkout -- web/locales/en.json
|
|
122
|
-
|
|
123
|
-
Change it? (yes / no)
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**This message is not optional, even when the change looks tiny.** It is the whole
|
|
127
|
-
consent step.
|
|
128
|
-
|
|
129
|
-
### H3 — edit
|
|
130
|
-
|
|
131
|
-
Always through `orc handoff set <id> <key> <value>`. Never edit the file yourself.
|
|
132
|
-
One writer means one set of rules, and the browser panel uses the same one.
|
|
133
|
-
|
|
134
|
-
`handoff_write: false` makes this project **map only** — no writes at all. Say that
|
|
135
|
-
plainly and stop; do not work around it.
|
|
136
|
-
|
|
137
|
-
### H4 — check
|
|
138
|
-
|
|
139
|
-
Green surfaces: the CLI runs the check and reports it.
|
|
140
|
-
|
|
141
|
-
- **passed** → say so in one line.
|
|
142
|
-
- **failed** → say what failed, show the undo command again, and **do not try to
|
|
143
|
-
fix it**. Fixing a failed check is code work.
|
|
144
|
-
|
|
145
|
-
Amber surfaces: the change is made, and the check is a **task for a person**. Never
|
|
146
|
-
report an amber change as verified. Say: "this file has no automatic check, so
|
|
147
|
-
nothing has confirmed your change yet. Please check: <the manual check>."
|
|
148
|
-
|
|
149
|
-
### H5 — record
|
|
150
|
-
|
|
151
|
-
One numbered entry per change, in `orc-handoff/<slug>/handoff-log.md`. Shape:
|
|
152
|
-
`references/handoff-log.md`. One file per thread, named from the first slug, never
|
|
153
|
-
staged.
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## Preflight (ONE time, silent)
|
|
158
|
-
|
|
159
|
-
1. **Config.** Read `log_dir` and `handoff_write`. Nothing else.
|
|
160
|
-
2. **Trace.** Write `log_dir/.current` = `run-handoff-<slug>-<DDMMYY>-<HHMMSS>.txt`
|
|
161
|
-
AND `touch the trace file` in the SAME step. Both, or neither.
|
|
162
|
-
3. **Probe.** `orc handoff surfaces --json` (exit 1 = no map yet, which is normal
|
|
163
|
-
on a first run). Use `../_shared/detecting-artifacts.md`, never a raw `find`.
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
## How this lane fails — and the rule that stops it
|
|
188
|
-
|
|
189
|
-
| Failure | What stops it |
|
|
190
|
-
|---|---|
|
|
191
|
-
| A file is called safe because it is JSON | The grade comes from the CHECK, not the file type |
|
|
192
|
-
| Someone edits money code through a text change | Red is never edited. Ever |
|
|
193
|
-
| A change looks verified but nothing checked it | Amber returns a manual TASK, never a pass |
|
|
194
|
-
| The user cannot undo it | The undo command is shown BEFORE the edit |
|
|
195
|
-
| It commits something by surprise | It never stages and never commits |
|
|
196
|
-
| It re-grades a file to be helpful | The grade never moves inside one request |
|
|
197
|
-
| It creates a new setting | It only changes values that already exist |
|
|
198
|
-
| The words are too hard to read | This whole folder is simple English |
|
|
199
|
-
|
|
200
|
-
## Rules this lane always keeps
|
|
201
|
-
|
|
202
|
-
Show the undo first · never touch a red file · never commit · never create a key ·
|
|
203
|
-
never call an amber change verified · write through `orc handoff set` only · keep
|
|
204
|
-
every word simple.
|
|
1
|
+
---
|
|
2
|
+
name: orc-handoff
|
|
3
|
+
description: >
|
|
4
|
+
The lane for people who do not read code. Use for "/orc-handoff", "I want to
|
|
5
|
+
change the text on the empty cart page", "can I edit this myself", "what can a
|
|
6
|
+
PM safely change here". Two modes. MAP finds the files a non-engineer can own —
|
|
7
|
+
screen text, content, settings with a validator, feature flags, docs — and grades
|
|
8
|
+
each one: green (a check will catch a mistake), amber (the check is manual), red
|
|
9
|
+
(looks like content, is not). DO changes one value: it shows you the file, the
|
|
10
|
+
check, and the undo command BEFORE it edits, then runs the check and tells you in
|
|
11
|
+
plain words. It never touches a red file. It never commits.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ORC-HANDOFF
|
|
15
|
+
|
|
16
|
+
**This whole folder is written in simple English on purpose.** Many people who use
|
|
17
|
+
this lane do not read code, and many do not read English first. Keep every file
|
|
18
|
+
here short, plain, and free of jargon. Same standing rule as `../orc-quick/`.
|
|
19
|
+
|
|
20
|
+
## What this lane is for
|
|
21
|
+
|
|
22
|
+
You want to change something small and you should not have to ask an engineer.
|
|
23
|
+
|
|
24
|
+
- the words on a page
|
|
25
|
+
- a title, a label, a button
|
|
26
|
+
- a setting that has a safe list of values
|
|
27
|
+
- a feature switch that is on or off
|
|
28
|
+
- a document
|
|
29
|
+
|
|
30
|
+
You do not need to read code. You do not need a terminal. You need to know two
|
|
31
|
+
things before you change anything: **will something catch my mistake**, and **how
|
|
32
|
+
do I undo it**. This lane always tells you both, before it edits.
|
|
33
|
+
|
|
34
|
+
## The idea that makes this safe
|
|
35
|
+
|
|
36
|
+
**The grade does not come from the file type. It comes from whether a cheap check
|
|
37
|
+
exists for that file.**
|
|
38
|
+
|
|
39
|
+
A settings file with a validator is **green**. The exact same file with no
|
|
40
|
+
validator is **amber**. That is why this is a real safety rule and not a feeling.
|
|
41
|
+
|
|
42
|
+
| Grade | What it means |
|
|
43
|
+
|---|---|
|
|
44
|
+
| 🟢 GREEN | Change it. A check runs after, and it will catch a mistake. |
|
|
45
|
+
| 🟡 AMBER | Change it. But the check is a person, not a program. Here is the check. |
|
|
46
|
+
| 🔴 RED | This looks like content. It is not. ORC will not touch it. |
|
|
47
|
+
|
|
48
|
+
**A red file is never edited.** Not by you through this lane, not by ORC. The lane
|
|
49
|
+
says why, says who to ask, and **offers** `/orc-quick` instead. It is an offer, not
|
|
50
|
+
a redirect — the same rule `/orc-quick` follows when a job is too big.
|
|
51
|
+
|
|
52
|
+
## Rules this lane never breaks
|
|
53
|
+
|
|
54
|
+
- **The undo command is shown BEFORE the edit, not after.** After is too late.
|
|
55
|
+
- **It never stages and never commits.** It prints the git command for you.
|
|
56
|
+
- **It never re-grades a file to make a change possible.** If it is red now, it is
|
|
57
|
+
red for this request.
|
|
58
|
+
- **It only changes a value that already exists.** It never creates a new key. A
|
|
59
|
+
new key is a code change.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Mode 1 — MAP: what can I own?
|
|
64
|
+
|
|
65
|
+
Find the files a non-engineer can safely own, and grade each one. Look for:
|
|
66
|
+
|
|
67
|
+
- screen text and translations
|
|
68
|
+
- content files (markdown, pages, posts)
|
|
69
|
+
- settings files that have a validator or a schema
|
|
70
|
+
- feature switches
|
|
71
|
+
- example or seed data
|
|
72
|
+
- documents
|
|
73
|
+
- design values (colours, spacing) when they live in their own file
|
|
74
|
+
|
|
75
|
+
For **each** file, record four things. All four, every time:
|
|
76
|
+
|
|
77
|
+
1. **what it is**, in plain words ("the words users see on the empty cart page")
|
|
78
|
+
2. **the grade**, and the reason for it
|
|
79
|
+
3. **the exact check** — the command that proves the file is still fine
|
|
80
|
+
4. **the exact undo** — the command that puts it back
|
|
81
|
+
|
|
82
|
+
The grade comes from step 3. **No check found → amber, or red if the file drives
|
|
83
|
+
behaviour rather than showing text.** Never green without a real check.
|
|
84
|
+
|
|
85
|
+
Write it to `orc-handoff/surfaces.md` at the top of the project. Shape and field
|
|
86
|
+
rules: `references/surfaces.md`. Then run `orc handoff surfaces` and show what it
|
|
87
|
+
says — the CLI is what everything else reads.
|
|
88
|
+
|
|
89
|
+
**A file with no check is not a failure of the map.** Say so plainly: "this one has
|
|
90
|
+
no automatic check, so it is amber, and here is what to look at by hand."
|
|
91
|
+
|
|
92
|
+
## Mode 2 — DO: change one value
|
|
93
|
+
|
|
94
|
+
Five steps. Do not skip step 2.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
H1 find find the file · show the value now · show its grade
|
|
98
|
+
H2 confirm ONE message: this is the file, this is the check, this is the undo
|
|
99
|
+
H3 edit one value, through `orc handoff set`
|
|
100
|
+
H4 check run the file's own check · say what happened in plain words
|
|
101
|
+
H5 record add a numbered entry to orc-handoff/<slug>/handoff-log.md
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### H1 — find
|
|
105
|
+
|
|
106
|
+
Search the mapped surfaces first. If the map does not exist yet, run MAP for just
|
|
107
|
+
the area the user named — never the whole project for one small change.
|
|
108
|
+
|
|
109
|
+
Show the value as it is now. If you cannot find it, say so and ask for more — a
|
|
110
|
+
guessed key is a wrong edit.
|
|
111
|
+
|
|
112
|
+
### H2 — confirm (one message, always)
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
File: web/locales/en.json
|
|
116
|
+
Now: "Your cart is empty"
|
|
117
|
+
New: "Nothing in here yet"
|
|
118
|
+
Grade: 🟢 green
|
|
119
|
+
|
|
120
|
+
After I change it I will run: npm run i18n:check
|
|
121
|
+
To undo it, run: git checkout -- web/locales/en.json
|
|
122
|
+
|
|
123
|
+
Change it? (yes / no)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**This message is not optional, even when the change looks tiny.** It is the whole
|
|
127
|
+
consent step.
|
|
128
|
+
|
|
129
|
+
### H3 — edit
|
|
130
|
+
|
|
131
|
+
Always through `orc handoff set <id> <key> <value>`. Never edit the file yourself.
|
|
132
|
+
One writer means one set of rules, and the browser panel uses the same one.
|
|
133
|
+
|
|
134
|
+
`handoff_write: false` makes this project **map only** — no writes at all. Say that
|
|
135
|
+
plainly and stop; do not work around it.
|
|
136
|
+
|
|
137
|
+
### H4 — check
|
|
138
|
+
|
|
139
|
+
Green surfaces: the CLI runs the check and reports it.
|
|
140
|
+
|
|
141
|
+
- **passed** → say so in one line.
|
|
142
|
+
- **failed** → say what failed, show the undo command again, and **do not try to
|
|
143
|
+
fix it**. Fixing a failed check is code work.
|
|
144
|
+
|
|
145
|
+
Amber surfaces: the change is made, and the check is a **task for a person**. Never
|
|
146
|
+
report an amber change as verified. Say: "this file has no automatic check, so
|
|
147
|
+
nothing has confirmed your change yet. Please check: <the manual check>."
|
|
148
|
+
|
|
149
|
+
### H5 — record
|
|
150
|
+
|
|
151
|
+
One numbered entry per change, in `orc-handoff/<slug>/handoff-log.md`. Shape:
|
|
152
|
+
`references/handoff-log.md`. One file per thread, named from the first slug, never
|
|
153
|
+
staged.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Preflight (ONE time, silent)
|
|
158
|
+
|
|
159
|
+
1. **Config.** Read `log_dir` and `handoff_write`. Nothing else.
|
|
160
|
+
2. **Trace.** Write `log_dir/.current` = `run-handoff-<slug>-<DDMMYY>-<HHMMSS>.txt`
|
|
161
|
+
AND `touch the trace file` in the SAME step. Both, or neither.
|
|
162
|
+
3. **Probe.** `orc handoff surfaces --json` (exit 1 = no map yet, which is normal
|
|
163
|
+
on a first run). Use `../_shared/detecting-artifacts.md`, never a raw `find`.
|
|
164
|
+
|
|
165
|
+
The SHAPE of these steps — the order, and the four rules that make it worth
|
|
166
|
+
having — is `../_shared/phases/preflight.md` (`core`). The probes
|
|
167
|
+
themselves are this lane's own and stay here.
|
|
168
|
+
|
|
169
|
+
## Where this shows up in `/orc`
|
|
170
|
+
|
|
171
|
+
At ship, if any changed file was a GREEN surface:
|
|
172
|
+
|
|
173
|
+
> 2 of these were changes a PM could have made alone — try `/orc-handoff` next
|
|
174
|
+
> time.
|
|
175
|
+
|
|
176
|
+
One sentence. That is the whole seam, and it is how anyone finds out this lane
|
|
177
|
+
exists.
|
|
178
|
+
|
|
179
|
+
## Behavior trace (always on)
|
|
180
|
+
|
|
181
|
+
`../_shared/phases/trace.md` (`core`, at run start; `orc lane phases` names
|
|
182
|
+
the file and the layers). Lane token `handoff`, tier **Single-dispatch** —
|
|
183
|
+
exactly ONE end-of-run packet, dispatched solo before `.current` is deleted.
|
|
184
|
+
Nothing else about the protocol is restated here; a phase that ends with
|
|
185
|
+
`zero new trace lines is a protocol violation`.
|
|
186
|
+
|
|
187
|
+
## How this lane fails — and the rule that stops it
|
|
188
|
+
|
|
189
|
+
| Failure | What stops it |
|
|
190
|
+
|---|---|
|
|
191
|
+
| A file is called safe because it is JSON | The grade comes from the CHECK, not the file type |
|
|
192
|
+
| Someone edits money code through a text change | Red is never edited. Ever |
|
|
193
|
+
| A change looks verified but nothing checked it | Amber returns a manual TASK, never a pass |
|
|
194
|
+
| The user cannot undo it | The undo command is shown BEFORE the edit |
|
|
195
|
+
| It commits something by surprise | It never stages and never commits |
|
|
196
|
+
| It re-grades a file to be helpful | The grade never moves inside one request |
|
|
197
|
+
| It creates a new setting | It only changes values that already exist |
|
|
198
|
+
| The words are too hard to read | This whole folder is simple English |
|
|
199
|
+
|
|
200
|
+
## Rules this lane always keeps
|
|
201
|
+
|
|
202
|
+
Show the undo first · never touch a red file · never commit · never create a key ·
|
|
203
|
+
never call an amber change verified · write through `orc handoff set` only · keep
|
|
204
|
+
every word simple.
|
|
205
|
+
|
|
206
|
+
## Config
|
|
207
|
+
|
|
208
|
+
Resolve with `orc lane config orc-handoff --json` and obey `effective`. Never merge
|
|
209
|
+
`.claude/orc.config.yaml` yourself, and never re-derive a precedence. Exit ≠ 0 →
|
|
210
|
+
say so and use `../_shared/config-precedence.md`'s documented defaults, out
|
|
211
|
+
loud. Nothing this lane reads is contested, gated or a stop, so it owes no
|
|
212
|
+
preflight line and has no gate to honour.
|
|
213
|
+
|
|
214
|
+
## Calls
|
|
215
|
+
|
|
216
|
+
**ONE catalogue, and it is not you:** `orc lane calls orc-handoff --json` names every
|
|
217
|
+
CLI call this lane makes, each with its exit-code contract, its cost, when to run
|
|
218
|
+
it, and what an EMPTY answer means. Never invent a spelling, never re-word an
|
|
219
|
+
exit code, and never re-derive a state word — the CLI's state words are the only
|
|
220
|
+
state words, and **an exit code is an ANSWER wherever that contract says so, not
|
|
221
|
+
a failure**. A call the answer does not name is a call this lane does not make.
|
|
222
|
+
Exit ≠ 0 from the catalogue itself → say the CLI is unavailable and name the
|
|
223
|
+
command you are about to run, out loud, before running it.
|