@azure-id/orc 2.1.0 → 2.2.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 +374 -0
- package/README.md +49 -36
- package/bin/build-agents.js +7 -5
- package/bin/cli.js +1006 -235
- package/bin/fix.js +21 -18
- package/bin/graph-extract.js +314 -6
- package/bin/graph-gain.js +83 -2
- package/bin/graph-map.js +23 -1
- package/bin/graph-notes.js +1 -1
- package/bin/graph-query.js +1362 -37
- package/bin/graph-resolve.js +1 -1
- package/bin/graph-shard.js +29 -6
- package/bin/graph-signals.js +5 -3
- package/bin/graph.js +7 -3
- package/bin/habit.js +1 -1
- package/bin/pricing.json +8 -1
- package/bin/trace-write.js +40 -11
- package/bin/verify-contracts.js +169 -60
- package/bin/verify-package.js +3 -3
- package/bin/webui/api.js +8 -0
- package/bin/webui/fixtures/extra.js +9 -9
- package/bin/webui/fixtures/flow.js +1 -1
- package/bin/webui/fixtures/index.js +2 -2
- package/bin/webui/fixtures/knowledge.js +8 -1
- package/bin/webui/fixtures/pact.js +112 -111
- package/bin/webui/fixtures/stats.js +2 -2
- package/bin/webui/i18n/en/knowledge.json +2 -0
- package/bin/webui/i18n/id/knowledge.json +2 -0
- package/bin/webui/js/panels/knowledge.js +17 -0
- package/guides/code-graph-benefit.md +116 -0
- package/guides/configuration.md +150 -0
- package/guides/documents.md +262 -0
- package/guides/extra-models.md +448 -0
- package/guides/habits-and-gotchas.md +152 -0
- package/guides/knowledge-reads.md +190 -0
- package/guides/model-selection.md +186 -0
- package/guides/rules.md +305 -0
- package/guides/status-line.md +344 -0
- package/mock-run/a-normal-day.md +2 -2
- package/mock-run/extra-slots.md +177 -177
- package/mock-run/orc-cli.md +3 -2
- package/mock-run/orc-doc.md +452 -448
- package/mock-run/orc-fast.md +2 -2
- package/mock-run/orc-quick.md +146 -146
- package/mock-run/orc.md +4 -4
- package/package.json +2 -1
- package/templates/agents/MODEL-MAPPING.md +12 -12
- package/templates/agents/{orc-executor-haiku-4-5.md → orc-executor-haiku-5-high.md} +21 -8
- package/templates/agents/orc-executor-opus-4-7-high.md +17 -5
- package/templates/agents/orc-executor-opus-4-7-med.md +17 -5
- package/templates/agents/orc-executor-opus-4-8-high.md +17 -5
- package/templates/agents/orc-executor-opus-5-high.md +17 -5
- package/templates/agents/orc-executor-opus-5-low.md +17 -5
- package/templates/agents/orc-executor-opus-5-med.md +17 -5
- package/templates/agents/orc-executor-sonnet-4-6-high.md +17 -5
- package/templates/agents/orc-executor-sonnet-5-high.md +17 -5
- package/templates/agents/orc-executor-sonnet-5-low.md +17 -5
- package/templates/agents/orc-executor-sonnet-5-med.md +17 -5
- package/templates/agents/{orc-graph-noter-sonnet-4-6-med.md → orc-graph-noter-haiku-5-high.md} +4 -4
- package/templates/agents/orc-planner-mini-opus-5-med.md +3 -1
- package/templates/agents/orc-planner-mini-sonnet-5-high.md +3 -1
- package/templates/agents/orc-planner-opus-5-med.md +3 -1
- package/templates/agents/{orc-recon-sonnet-4-6-med.md → orc-recon-sonnet-5-med.md} +4 -4
- package/templates/agents/{orc-trace-writer-haiku-4-5.md → orc-trace-writer-haiku-5-high.md} +4 -3
- package/templates/commands/orc-doc.md +128 -128
- package/templates/commands/orc-export.md +51 -46
- package/templates/commands/orc-fast.md +10 -10
- package/templates/hooks/README.md +8 -3
- package/templates/hooks/orc-effort-guard.js +105 -27
- package/templates/hooks/orc-graph-hook.js +252 -4
- package/templates/hooks/orc-statusline.js +13 -6
- package/templates/hooks/orc-trace.js +1 -1
- package/templates/skills/_shared/README.md +2 -2
- package/templates/skills/_shared/code-graph.md +185 -251
- package/templates/skills/_shared/extra-dispatch.md +4 -4
- package/templates/skills/_shared/lane-contract.md +7 -3
- package/templates/skills/_shared/opus5-only.md +3 -3
- package/templates/skills/_shared/phases/execution.md +13 -11
- package/templates/skills/_shared/phases/planning.md +27 -9
- package/templates/skills/_shared/phases/preflight.md +3 -3
- package/templates/skills/_shared/phases/review.md +4 -3
- package/templates/skills/_shared/phases/ship.md +7 -10
- package/templates/skills/_shared/phases/summary.md +2 -3
- package/templates/skills/_shared/phases/trace-verbs.md +21 -16
- package/templates/skills/_shared/phases/trace.md +3 -3
- package/templates/skills/_shared/phases/wiki-consult.md +2 -2
- package/templates/skills/_shared/pr-templates.md +108 -106
- package/templates/skills/_shared/read-ladder.md +8 -2
- package/templates/skills/_shared/return-validation.md +10 -6
- package/templates/skills/_shared/review-slice.md +1 -1
- package/templates/skills/_shared/stack-plan.md +135 -135
- package/templates/skills/_shared/wait.md +14 -2
- package/templates/skills/context-combiner/SKILL.md +2 -2
- package/templates/skills/orc/SKILL.md +7 -7
- package/templates/skills/orc/config.md +2 -2
- package/templates/skills/orc/examples/full-run-mock.md +7 -7
- package/templates/skills/orc/references/effort-and-mode.md +222 -222
- package/templates/skills/orc/schemas/planning-output.md +3 -0
- package/templates/skills/orc-aftermath/SKILL.md +15 -15
- package/templates/skills/orc-analyze/SKILL.md +2 -2
- package/templates/skills/orc-analyze-mini/SKILL.md +2 -2
- package/templates/skills/orc-boundary/SKILL.md +15 -15
- package/templates/skills/orc-boundary/references/card.md +81 -78
- package/templates/skills/orc-boundary/references/gate.md +113 -113
- package/templates/skills/orc-brainstorm/SKILL.md +15 -15
- package/templates/skills/orc-budget/SKILL.md +15 -15
- package/templates/skills/orc-challenge/README.md +1 -1
- package/templates/skills/orc-challenge/SKILL.md +16 -16
- package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
- package/templates/skills/orc-claude/SKILL.md +4 -4
- package/templates/skills/orc-claude/examples/claude-run-mock.md +1 -1
- package/templates/skills/orc-diy/SKILL.md +2 -2
- package/templates/skills/orc-diy/references/blocks/wiki.md +26 -26
- package/templates/skills/orc-diy/references/flow-schema.md +2 -2
- package/templates/skills/orc-doc/README.md +2 -2
- package/templates/skills/orc-doc/SKILL.md +501 -490
- package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +12 -1
- package/templates/skills/orc-doc/references/chunking.md +6 -4
- package/templates/skills/orc-doc/references/gates.md +311 -311
- package/templates/skills/orc-doc/references/resume-protocol.md +229 -228
- package/templates/skills/orc-explain/SKILL.md +88 -88
- package/templates/skills/orc-export/SKILL.md +190 -187
- package/templates/skills/orc-fast/SKILL.md +17 -14
- package/templates/skills/orc-grill/SKILL.md +16 -16
- package/templates/skills/orc-grill/references/grill-doc.md +1 -1
- package/templates/skills/orc-handoff/SKILL.md +11 -11
- package/templates/skills/orc-learn/SKILL.md +13 -13
- package/templates/skills/orc-learn/examples/learn-run-mock.md +2 -2
- package/templates/skills/orc-mini/SKILL.md +12 -12
- package/templates/skills/orc-mini/examples/mini-run-mock.md +4 -5
- package/templates/skills/orc-pact/SKILL.md +15 -15
- package/templates/skills/orc-pact/references/gate.md +70 -70
- package/templates/skills/orc-pattern/SKILL.md +3 -3
- package/templates/skills/orc-poly/SKILL.md +4 -4
- package/templates/skills/orc-poly/examples/poly-run-mock.md +51 -51
- package/templates/skills/orc-pr-driver/SKILL.md +4 -3
- package/templates/skills/orc-pr-driver/references/orc-run-split.md +108 -99
- package/templates/skills/orc-pr-setup/SKILL.md +2 -2
- package/templates/skills/orc-quick/README.md +11 -12
- package/templates/skills/orc-quick/SKILL.md +29 -32
- package/templates/skills/orc-quick/references/context-doc.md +5 -5
- package/templates/skills/orc-quick/references/dispatch-gate.md +10 -10
- package/templates/skills/orc-quick/references/gh-mode.md +2 -1
- package/templates/skills/orc-quick/references/look.md +34 -12
- package/templates/skills/orc-retro/SKILL.md +2 -2
- package/templates/skills/orc-retro/examples/retro-mock.md +2 -2
- package/templates/skills/orc-route/SKILL.md +2 -2
- package/templates/skills/orc-test/SKILL.md +6 -3
- package/templates/skills/orc-verify/SKILL.md +2 -2
- package/templates/skills/orc-wait/SKILL.md +10 -2
- package/templates/skills/orc-wiki/SKILL.md +4 -4
- package/templates/skills/orc-wiki/references/pattern-prewarm.md +19 -19
- package/templates/agents/orc-executor-sonnet-4-6-med.md +0 -155
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
|
@@ -54,6 +54,10 @@ never spawn other agents, never work outside your task slice.
|
|
|
54
54
|
absent. Present = you must show the bug is real BEFORE you fix it: kind `test`
|
|
55
55
|
when the project has a runner, `command` when it has none. Absent = this task
|
|
56
56
|
is not a defect report; never invent a reproduction nobody asked for
|
|
57
|
+
- graph_anchors — up to 12 `path:a-b` ranges the dig found, and one `read all:`
|
|
58
|
+
command, or absent; it may end with a fenced block that carries the code of
|
|
59
|
+
every range. Present → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. A file you will EDIT is still read in
|
|
60
|
+
full first (read-ladder exception 1). The inline code and the ranges are real bytes of the current blob.
|
|
57
61
|
- worktree_path — work here if set, else the current tree
|
|
58
62
|
|
|
59
63
|
## Procedure (embedded — self-contained)
|
|
@@ -61,7 +65,8 @@ never spawn other agents, never work outside your task slice.
|
|
|
61
65
|
2. Read spec_ref if provided.
|
|
62
66
|
2a. Read discipline — `.claude/skills/_shared/read-ladder.md` IS the rule, its
|
|
63
67
|
two exceptions are the only ones, and it holds the rest of this step.
|
|
64
|
-
- Step 0
|
|
68
|
+
- Step 0: the slice carries `graph_anchors` → `graph_anchors` may carry the code of its EDIT-SITE ranges (edit target, router, caller) inline — use it as already read; do NOT read those ranges again. Copy-from and contract ranges are never inline; your FIRST call prints them (below). With `graph_anchors`, a wiki page is OPTIONAL: read it only for a business rule that the requirement, the anchors and the code do not settle. Your FIRST call prints EVERY range in `graph_anchors` in ONE shell command — the `read all:` line when present, else one `sed -n 'a,bp' <file>` per range joined with `;` and an `echo == <file>:<a>-<b>` header each. Then read further only for what those ranges do not show; do not `cat` a whole anchored file over 150 lines. Then, for a symbol the anchors do not cover, before any Grep:
|
|
69
|
+
`orc graph ctx <symbol|file> --if-enabled --json --brief`;
|
|
65
70
|
add `--source` for the card AND the range's lines in one call. A file you
|
|
66
71
|
will EDIT is still read IN FULL with Read first. Exit 3 = graph off, skip
|
|
67
72
|
step 0 for the rest of the task.
|
|
@@ -90,6 +95,12 @@ never spawn other agents, never work outside your task slice.
|
|
|
90
95
|
4. Run the proof: if the project has a runnable build/test, run it for your
|
|
91
96
|
changes and capture {command, exit_code, last ~5 output lines} VERBATIM —
|
|
92
97
|
never paraphrased, never predicted. No runner → no_runner_detected: true.
|
|
98
|
+
Coverage: when the project asks for a coverage level, run the coverage ONCE
|
|
99
|
+
for your own files only (`--collectCoverageFrom=<each file you changed>` and
|
|
100
|
+
the text reporter), read the uncovered lines from that text table, add the
|
|
101
|
+
tests that cover them, and run it once more. Never grep lcov or the jest
|
|
102
|
+
cache, and never probe the test transformer or its internals. A gap that is
|
|
103
|
+
still open after the second run goes in unmet[] with the file and lines.
|
|
93
104
|
5. Self-check: re-read your diff against every acceptance[] line and every
|
|
94
105
|
constraint. Anything you could not satisfy goes in unmet[] — a non-empty
|
|
95
106
|
unmet[] means status partial (or failed), never done.
|
|
@@ -129,12 +140,13 @@ never spawn other agents, never work outside your task slice.
|
|
|
129
140
|
did, never what you were handed. `none` is a valid, useful answer — it says
|
|
130
141
|
those pages did not help; never claim a read to look thorough. Omit only when
|
|
131
142
|
the slice carried no wiki material.
|
|
132
|
-
- graph_used — REQUIRED when the slice carried `
|
|
133
|
-
`orc graph ctx` yourself: `{targets, generation}` — the
|
|
134
|
-
`none`) and the `generation` number the
|
|
143
|
+
- graph_used — REQUIRED when the slice carried `graph_anchors` or you ran
|
|
144
|
+
`orc graph ctx` yourself: `{targets, generation}` — the anchors (`path:a-b`) or the
|
|
145
|
+
card targets you ACTUALLY used (or `none`) and the `generation` number the slice or card
|
|
146
|
+
carries, copied from its own header or JSON. A card
|
|
135
147
|
is a LOCATOR — read the range it names before you rely on behaviour, and trust a card whose
|
|
136
148
|
header says CHANGED, or one whose header names a `coverage` gap, as a hint only. `none` is a
|
|
137
|
-
valid answer; never claim a card helped to look thorough. Omit only when the slice carried no
|
|
149
|
+
valid answer; never claim anchors or a card helped to look thorough. Omit only when the slice carried no anchors and you ran no `ctx`.
|
|
138
150
|
- repro — REQUIRED when the slice carried `repro.required: true`; absent
|
|
139
151
|
otherwise. Either {command, before: {exit_code, tail}, after: {exit_code,
|
|
140
152
|
tail}} quoted VERBATIM from the two runs, or `none` + a one-line reason.
|
package/templates/agents/{orc-graph-noter-sonnet-4-6-med.md → orc-graph-noter-haiku-5-high.md}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: orc-graph-noter-
|
|
2
|
+
name: orc-graph-noter-haiku-5-high
|
|
3
3
|
description: >
|
|
4
|
-
ORC Graph noter — claude-
|
|
5
|
-
model: claude-
|
|
6
|
-
effort:
|
|
4
|
+
ORC Graph noter — claude-haiku-5-5, high effort. Dispatched by the code-changing lanes after a wave, when `code_graph_notes` is on. Never under `opus5_only`.
|
|
5
|
+
model: claude-haiku-5-5
|
|
6
|
+
effort: high
|
|
7
7
|
tools: Read, Bash
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -65,7 +65,9 @@ to orc-mini for full Phase 2–8; or save-and-stop). Escalation thresholds
|
|
|
65
65
|
(suggest the full Opus 5.5 planner, user chooses): >8 tasks, any 3-deep
|
|
66
66
|
dependency chain, or >2 same-file serializations. Record `plan_head` (HEAD at
|
|
67
67
|
plan time) for cross-session drift detection. Return planning-output (each task
|
|
68
|
-
with its `facets
|
|
68
|
+
with its `facets`, and an OPTIONAL `precedent[]` — read-only files this task
|
|
69
|
+
copies behaviour or style from, max 5; the lane passes them as the pack's
|
|
70
|
+
`--refs=`; top level with `plan_head`, `plan_confidence`,
|
|
69
71
|
`open_questions[]`) + summary + `coverage: {requirements, tasks, orphans}`, plus
|
|
70
72
|
actual_model (quoted verbatim from your system prompt's "The exact model ID is …"
|
|
71
73
|
line; `unknown` if absent, never guessed) and actual_effort ($CLAUDE_EFFORT).
|
|
@@ -65,7 +65,9 @@ to orc-mini for full Phase 2–8; or save-and-stop). Escalation thresholds
|
|
|
65
65
|
(suggest the full Opus 5.5 planner, user chooses): >8 tasks, any 3-deep
|
|
66
66
|
dependency chain, or >2 same-file serializations. Record `plan_head` (HEAD at
|
|
67
67
|
plan time) for cross-session drift detection. Return planning-output (each task
|
|
68
|
-
with its `facets
|
|
68
|
+
with its `facets`, and an OPTIONAL `precedent[]` — read-only files this task
|
|
69
|
+
copies behaviour or style from, max 5; the lane passes them as the pack's
|
|
70
|
+
`--refs=`; top level with `plan_head`, `plan_confidence`,
|
|
69
71
|
`open_questions[]`) + summary + `coverage: {requirements, tasks, orphans}`, plus
|
|
70
72
|
actual_model (quoted verbatim from your system prompt's "The exact model ID is …"
|
|
71
73
|
line; `unknown` if absent, never guessed) and actual_effort ($CLAUDE_EFFORT).
|
|
@@ -147,7 +147,9 @@ The ORC planning-output object + a one-line summary + `coverage:
|
|
|
147
147
|
recomputes it at Phase 1 exit alongside the grounding Glob, cycle, and
|
|
148
148
|
same-file collision checks, and bounces failures back to you, one retry). Every
|
|
149
149
|
task carries its `facets` block (the orchestrator scores from it and re-validates
|
|
150
|
-
breadth + fan + risk citation)
|
|
150
|
+
breadth + fan + risk citation). A task MAY carry an OPTIONAL `precedent[]` —
|
|
151
|
+
read-only files this task copies behaviour or style from (max 5); the lane passes
|
|
152
|
+
them as the pack's `--refs=`. Absent is fine. The top level carries `plan_head`,
|
|
151
153
|
`plan_confidence`, and `open_questions[]`. Also
|
|
152
154
|
report `actual_model` (quoted verbatim from your system prompt's "The exact
|
|
153
155
|
model ID is …" line; `unknown` if absent, never guessed) and `actual_effort`
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: orc-recon-sonnet-
|
|
2
|
+
name: orc-recon-sonnet-5-med
|
|
3
3
|
description: >
|
|
4
|
-
ORC Recon — claude-sonnet-
|
|
5
|
-
model: claude-sonnet-
|
|
4
|
+
ORC Recon — claude-sonnet-5-5, medium effort. Dispatched by /orc-quick at the dispatch gate, for a read-only question. It never edits.
|
|
5
|
+
model: claude-sonnet-5-5
|
|
6
6
|
effort: medium
|
|
7
7
|
tools: Read, Glob, Grep, Bash
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
You are ORC RECON (Sonnet
|
|
10
|
+
You are ORC RECON (Sonnet 5, medium). You answer ONE question about this
|
|
11
11
|
repository and return. You never edit a file, never plan, never spawn, and never
|
|
12
12
|
decide what the user should do next.
|
|
13
13
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: orc-trace-writer-haiku-
|
|
2
|
+
name: orc-trace-writer-haiku-5-high
|
|
3
3
|
description: >
|
|
4
|
-
ORC Trace writer — claude-haiku-
|
|
5
|
-
model: claude-haiku-
|
|
4
|
+
ORC Trace writer — claude-haiku-5-5, high effort. Dispatched by every trace-owning lane at each phase close (single-dispatch lanes: once, at run end).
|
|
5
|
+
model: claude-haiku-5-5
|
|
6
|
+
effort: high
|
|
6
7
|
tools: Read, Bash, Glob
|
|
7
8
|
---
|
|
8
9
|
|