@orkestrel/scaffold 0.0.19 → 0.0.20

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.
@@ -37,9 +37,12 @@ One workflow runs across both providers. Each engine has one job, and no engine
37
37
  - **After implementation Opus 5 and Sol audit independently** — Opus on design fit, Sol on
38
38
  correctness and constraint satisfaction — and the orchestrator reconciles their evidence
39
39
  into one verdict.
40
- - **Lower-cost native agents (Sonnet, Terra) do fully specified mechanical units and gate
41
- evidence only.** A specified rename, a scaffold expansion, a conformance checklist, a gate
42
- run. They never substitute for Grok, Opus 5, or Sol.
40
+ - **Lower-cost native agents (Sonnet, Terra) do fully specified units and read-only
41
+ evidence only.** A specified rename, an app-layer expansion, a conformance checklist, a
42
+ gate run, a bounded primary-source question, a reconnaissance sweep. They never
43
+ substitute for Grok, Opus 5, or Sol: `researcher` and `scout` are the native evidence
44
+ lanes for bounded questions and the fallback when the Grok bench is dark, never the
45
+ route for repository-scale absorption or judgment.
43
46
 
44
47
  The orchestrator reconciles; no external engine reconciles itself or accepts its own work.
45
48
  In Claude Code the orchestrator is the top-level Fable session. When Codex is primary, the
@@ -68,6 +71,9 @@ dispatch, even when the role file pins it.
68
71
  | Nontrivial implementation (objective) | `codex` route `implementer` | `implementer` | GPT-5.6 Sol (bridge / native) |
69
72
  | Nontrivial implementation (subjective) | `implementer` | `implementer` route `opus` | Opus 5 (native / bridge) |
70
73
  | Fully specified mechanical unit | `builder` | `builder` | Sonnet / Terra |
74
+ | Fully specified app-layer unit | `application` | `application` | Sonnet / Terra |
75
+ | Bounded primary-source research | `researcher` | `researcher` | Sonnet / Terra |
76
+ | Repository reconnaissance | `scout` | `scout` | Sonnet / Terra |
71
77
  | Mechanical conformance evidence | `checker` | `checker` | Sonnet / Terra |
72
78
  | Gate evidence | `verifier` | `verifier` | Sonnet / Terra |
73
79
  | Ecosystem evidence | `orkestrel` | `orkestrel` | Sonnet / Terra |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: orkestrel-debrief
3
- description: Convert a closed campaign's residue into portable truth through field evidence, a findings ledger, fix loops with live re-proof, canon refinement, and disciplined disposal. Use after a campaign or milestone closes to audit what was built and how it was built, when live field testing must precede judgment, when learnings must propagate into skills/rules/guides/scaffold, or when working ledgers must fold into canon and retire.
3
+ description: Look back at a long campaign to learn from its mistakes and successes and improve the agents, rules, skills, and processes that ran it. Use after a campaign or milestone closes to run the retrospective - field evidence, layer and boundary audits, package promotion, an adversarial audit of the instruction set itself, process doctrine - and to land every learning as a refinement that propagates, then retire the working ledger.
4
4
  ---
5
5
 
6
6
  # Debrief a closed campaign
@@ -11,71 +11,81 @@ Read the current files in this order:
11
11
 
12
12
  1. `AGENTS.md`.
13
13
  2. Every applicable `.claude/rules/*.md`; the documentation and quality laws bind every
14
- ledger entry and every canon refinement this skill produces.
15
- 3. [field-testing.md](references/field-testing.md) before running or judging any live
16
- field pass.
17
- 4. `guides/README.md`, the governing guide for what the campaign built, and `ROADMAP.md`.
14
+ ledger entry and every refinement this skill produces.
15
+ 3. The references this round needs: [instruction-audit.md](references/instruction-audit.md)
16
+ before auditing the agent/rule/skill/process layer;
17
+ [field-testing.md](references/field-testing.md) before running or judging a live field
18
+ pass of an agent-facing surface.
19
+ 4. `guides/README.md`, the governing guides for what the campaign built, and `ROADMAP.md`.
18
20
 
19
- The user's current instruction wins. The debrief judges both the artifact and the process
20
- that produced it; neither is exempt.
21
+ The user's current instruction wins. The debrief judges the artifact AND the process that
22
+ produced it; neither is exempt, and successes are captured as deliberately as mistakes —
23
+ a practice that worked is codified so it repeats, not merely survived.
21
24
 
22
25
  ## The debrief laws
23
26
 
24
- - **Use it before you judge it.** A debrief of a surface nobody drove is a review of
25
- intentions. Field evidence real clients, real harnesses, goal-only prompts precedes
26
- every finding about usability, and the field transcript is the evidence of record.
27
- - **Evidence is verbatim or it is not evidence.** The ledger quotes exact commands, exact
28
- refusals, exact reasoning-trace lines. A paraphrase cannot be re-verified after the
29
- session that produced it is gone.
30
- - **Every finding ends in exactly one bucket**: fix now; canon refinement (skill, rule,
31
- guide); promotion (package/library boundary move); stays as-is with the reason; or
32
- dropped on the record with the refuting evidence. A finding with no bucket is an
33
- unfinished debrief.
34
- - **Fixes are re-proven by the class of evidence that found them.** A defect found by a
35
- live field pass is closed by a live field pass, never by the fix's own tests alone.
36
- - **Portable versus resident.** Anything reusable beyond this repository process
37
- doctrine, teaching-surface laws, harness knowledge — lands in the portable skill/rule
38
- set and propagates through the scaffold. Repository-specific truth lands in the guide.
39
- Forward-looking work lands in `ROADMAP.md`. Nothing load-bearing stays only in the
40
- ledger.
41
- - **The ledger is ephemeral.** The debrief folder is a working file: fold every surviving
42
- truth into its destination, then delete the folder on the owner's explicit go-ahead —
43
- never silently, and never leave it as residue after its campaign.
27
+ - **The campaign record is the primary source.** Dispatches, deviation reports, audit
28
+ verdicts, gate outputs, commit messages, and live transcripts are evidence; recollection
29
+ is not. Quote verbatim a paraphrase cannot be re-verified later.
30
+ - **Use it before you judge it.** Where the campaign built something consumable a
31
+ package, an app, an agent-facing surface drive it with representative real consumers
32
+ before writing findings about it. For agent-facing surfaces, follow
33
+ [field-testing.md](references/field-testing.md).
34
+ - **Every finding ends in exactly one bucket**: fix now; agent refinement; rule
35
+ refinement; skill refinement or creation; process refinement (orchestration contract);
36
+ package promotion; guide truth; roadmap; stays as-is with the reason; or dropped on the
37
+ record with the refuting evidence. A finding with no bucket is an unfinished debrief.
38
+ - **Fixes are re-proven by the evidence class that found them.** A defect found in live
39
+ use closes with live use; a process failure closes when the next campaign round runs
40
+ the corrected process.
41
+ - **Portable versus resident.** Learnings reusable beyond the repository process
42
+ doctrine, role charters, rules, skills land in the portable canon and propagate
43
+ through the scaffold host inventory. Repository truth lands in the guide; forward work
44
+ in `ROADMAP.md`. Nothing load-bearing stays only in the ledger.
45
+ - **The ledger is ephemeral.** Fold every surviving truth into its destination, then
46
+ delete the folder on the owner's explicit go-ahead — never silently, never as residue.
44
47
 
45
48
  ## Run the round
46
49
 
47
- 1. **Scope.** Name the campaign(s) under debrief, the artifact surfaces involved, and the
48
- audiences that matter (human operators, frontier models, small models, external
49
- clients). State what evidence already exists and what must be produced live.
50
- 2. **Field passes.** Drive the artifact with representative real consumers per
51
- [field-testing.md](references/field-testing.md): goal-only prompts, no coaching, the
52
- tier ladder from frontier to the smallest model that matters, reasoning traces
53
- captured wherever the runtime exposes them. Record every pass verbatim in the ledger.
54
- 3. **Layer audits.** In parallel with the field passes, audit each layer the campaign
55
- touched: implementation boundaries (what belongs a layer down or in a published
56
- package), the process record (which dispatches failed, which laws were missing, where
57
- executors deviated), and the instruction set itself (agents, rules, skills what
58
- confused an executor is a defect in the instruction, not the executor).
59
- 4. **Reconcile into the ledger.** Number the findings, attach verbatim evidence to each,
60
- and bucket every one. Confusion signatures from reasoning traces are findings about
61
- the artifact's teaching surface, not anecdotes see the signature catalog in
62
- [field-testing.md](references/field-testing.md).
63
- 5. **Fix loops.** Dispatch fix-now findings as bounded units under the repository's
64
- engine contract, serialized, failing-first. After each round, re-run the field passes
65
- that found the class and record the delta. Iterate until the field tier that matters
66
- walks the surface unaided or the residual is proven to be consumer-floor, not
67
- artifact darkness state which, with evidence.
68
- 6. **Canon refinement.** Write or revise the portable skills/rules the findings justify;
69
- update the guide for resident truth; update `ROADMAP.md` for forward work. Every
70
- retained finding names the artifact that now carries it.
71
- 7. **Propagate.** Land the portable set in the scaffold repository so every future
72
- project inherits it; run the scaffold's own gates before pushing.
73
- 8. **Dispose.** Present the ledger's disposition map to the owner: what folded where,
74
- what remains open. Delete the ledger only on their explicit go-ahead.
50
+ 1. **Scope and gather.** Name the campaign(s) under debrief. Assemble the record: unit
51
+ ledger, deviations and recoveries, audit verdicts and their reconciliations, gate
52
+ history, and any live transcripts. State what evidence exists and what must be
53
+ produced fresh.
54
+ 2. **Field evidence.** Drive what was built with real consumers where a consumable
55
+ surface exists. Record every pass verbatim.
56
+ 3. **Artifact audits.** Layer and boundary truth: does app code belong a layer down in
57
+ src, does src carry application policy, does either duplicate a declared ecosystem
58
+ primitive? Package promotion: what grew into a reusable mechanism that belongs in an
59
+ existing package or justifies a new one mapped dependency-first so promotion order
60
+ is executable. Every row ends implement, repair, retain, or intentionally exclude,
61
+ with evidence.
62
+ 4. **Process retrospective.** Walk the campaign record for both failure and success:
63
+ dispatches that deviated and why; recoveries that worked (codify the mechanism that
64
+ saved them); estimates versus observed durations; audit rounds that caught real
65
+ defects versus rounds that churned; anything the orchestrator absorbed that should
66
+ have been dispatched or dispatched that it should have owned.
67
+ 5. **Instruction-set audit.** Audit the agents, rules, skills, and orchestration
68
+ contract themselves against the campaign record, using the adversarial method in
69
+ [instruction-audit.md](references/instruction-audit.md). What confused an executor is
70
+ a defect in the instruction, not the executor.
71
+ 6. **Reconcile into the ledger.** Number the findings, attach verbatim evidence, bucket
72
+ every one. Where two audit lanes disagree, rule each divergence on the record with
73
+ the reason.
74
+ 7. **Land the refinements.** Dispatch fix-now findings as bounded units under the
75
+ repository's engine contract; make the canon edits (charters, rules, skills,
76
+ orchestration contract) with the owner's direction where the root contract is
77
+ touched; re-prove per the law above.
78
+ 8. **Propagate.** Portable changes are made in the scaffold repository's host inventory,
79
+ staged, gated, and pushed — editing one project's checkout propagates nothing. Verify
80
+ the generated-workspace proofs stay green so new projects inherit the refined canon.
81
+ 9. **Dispose.** Present the disposition map — finding table with carriers, the canon
82
+ delta, what remains open — and delete the ledger only on the owner's explicit
83
+ go-ahead.
75
84
 
76
85
  ## Verdict shape
77
86
 
78
- Each debrief round ends with one fixed report: the finding table (id, evidence pointer,
79
- bucket, carrier), the field-pass scoreboard before and after, the canon delta (files
80
- created or changed), and exactly one terminal line — `DEBRIEF: FOLDED` when every finding
81
- has a carrier and the propagation is pushed, or `DEBRIEF: OPEN` with the blocking items.
87
+ Each round ends with one fixed report: the finding table (id, evidence pointer, bucket,
88
+ carrier), the canon delta (files created or changed, per layer: agents, rules, skills,
89
+ process, guide, roadmap), the re-proof evidence, and exactly one terminal line —
90
+ `DEBRIEF: FOLDED` when every finding has a carrier and the propagation is pushed, or
91
+ `DEBRIEF: OPEN` with the blocking items.
@@ -0,0 +1,70 @@
1
+ # Auditing the instruction set
2
+
3
+ The method for judging the agents, rules, skills, and orchestration contract against a
4
+ campaign's record. Proven across two debrief rounds; the instruction layer is code — it
5
+ gets the same adversarial, evidence-first treatment as any surface.
6
+
7
+ ## Two blind passes, one brief
8
+
9
+ Run a subjective lane and an objective lane on the SAME brief, in parallel, neither
10
+ seeing the other's answer before both return:
11
+
12
+ - **Subjective** (design-fit engine): coherence of the role model, charter voice, whether
13
+ each role's job is one job, whether the skill family reads as one system.
14
+ - **Objective** (correctness engine): evidence-only sweeps of the actual files and the
15
+ campaign record — the lanes below.
16
+
17
+ Reconcile into rulings; every divergence gets a ruled row with the reason. Convergent
18
+ findings adopt without contest; a finding neither lane can substantiate dies on the
19
+ record.
20
+
21
+ ## The objective lanes
22
+
23
+ - **Duplication diff.** Whole-line and obligation-level comparison across charters, rules,
24
+ and skills. A charter that restates a rule drifts from it; a rule stated twice has two
25
+ owners.
26
+ - **Mechanical-equivalence groups.** Cluster roles by frontmatter (tools, model, effort,
27
+ mode). Two roles in one group are either genuinely distinct by context binding — or a
28
+ duplicate.
29
+ - **Charter-versus-usage drift.** For each role, compare the charter's promises against
30
+ how the campaign actually dispatched it: unused powers, exercised powers the charter
31
+ never granted, deviation reports the charter's wording caused.
32
+ - **Promise-versus-tooling gaps.** A charter that promises verification it has no tool to
33
+ perform (a registry check with no network, a capture claim with no browser) either
34
+ gains the bounded tool or states plainly that the evidence comes supplied.
35
+ - **Roster completeness on both axes.** The role set spans model agents (engine bridges
36
+ and pins) and task agents (job-pinned lanes with their context preset). Check each axis
37
+ for holes against the campaign's actual work classes: implementation (mechanical,
38
+ app-layer, judgment-bearing per engine), evidence (research, reconnaissance,
39
+ conformance, gates, ecosystem), design, review, distillation. A work class the
40
+ campaign routed awkwardly — absorbed by the orchestrator, forced onto the wrong tier,
41
+ or dead when a bench was dark — names a missing or mischartered role.
42
+
43
+ ## Refinement classes
44
+
45
+ Findings land as one of:
46
+
47
+ - **Role create / restore / retire.** Retirement requires more than duplication evidence:
48
+ when a charter merely restates rules, the first remedy is a thin reference-BINDING
49
+ charter (the role keeps its context preset and its dispatch ergonomics); retire only
50
+ when the job itself is not distinct. Record the lesson of the reversed retirement: a
51
+ role that was "mechanically identical" by frontmatter still carried a distinct context
52
+ bundle worth keeping.
53
+ - **Rule additions, one law each.** A campaign lesson that generalizes becomes one law in
54
+ the owning rule file — never a new file per lesson, never a paragraph where a sentence
55
+ binds.
56
+ - **Root-reference trims.** Restatement of root laws in leaf files shrinks to a
57
+ reference; the root stays the single owner.
58
+ - **Charter refinements.** Wording that caused a deviation is a defect; fix the charter,
59
+ not the executor.
60
+ - **Skill refinements / creation.** A workflow the campaign repeated twice is a skill; a
61
+ skill step the campaign always skipped or always overrode is wrong.
62
+ - **Orchestration-contract refinements.** Laws the orchestrator learned (cap sizing,
63
+ probe-first, journal-first, verdict shapes, launch ownership) land in the operating
64
+ contract, mirrored across providers.
65
+
66
+ ## Mirror discipline
67
+
68
+ Every roster or contract change lands on all provider surfaces in the same round: the
69
+ Claude charters, the Codex mirrors, and both operating-contract role tables. An
70
+ unmirrored refinement is a new drift seeded on purpose.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: application
3
+ description: 'Implements one fully specified Orkestrel app-layer unit — app contracts, environment-isolated config, runtime entries, real host tests, guide parity. Writes only owned files as the sole serial writer and stops on any plan deviation. Nontrivial app design belongs to GPT-5.6 Sol or Opus 5.'
4
+ tools: Read, Grep, Glob, Edit, Write, Bash
5
+ model: sonnet
6
+ effort: low
7
+ permissionMode: acceptEdits
8
+ ---
9
+
10
+ You are the **Application Builder** — the app-environment counterpart of `builder`
11
+ in this project's role set (see CLAUDE.md). Execute one fully specified app-layer
12
+ unit exactly as dispatched: the thinking already happened upstream. You are an
13
+ Executor: do the work yourself, spawn nothing.
14
+
15
+ ## Law
16
+
17
+ - Before writing, read **AGENTS.md**, `.claude/rules/application.md`,
18
+ `.claude/rules/workspace.md`, every other applicable `.claude/rules/*.md`, the
19
+ dispatch-named skill and required references, and the governing guide/spec. All
20
+ bind you; this charter restates none of them.
21
+ - Accept work only when owned files, the transformation, and mechanical
22
+ acceptance criteria are complete enough that correct implementations cannot
23
+ differ meaningfully. A unit whose contracts, composition, or host boundaries
24
+ are still open belongs to `implementer` or the Sol route: stop and say so.
25
+ - Write only dispatch-owned files; shared and off-limits files are report-only
26
+ and return as exact patches. Validate read-only and scoped to the owned app
27
+ environment (`check:app*`, the owning `app:*` test project).
28
+ - Never install, commit, push, publish, read credentials, run a destructive
29
+ command, or run a tree-wide mutating command.
30
+
31
+ On divergence, stop and report expected, found, exact evidence, done/not done,
32
+ and one short hypothesis. Otherwise return changed files, actual scoped
33
+ validation output, and exact shared-file patches. The result is an untrusted
34
+ proposal requiring independent checker and reviewer passes.
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: researcher
3
+ description: 'Read-only primary-source research: external capabilities, protocol and upstream comparisons, exact installed dependency surfaces, capability/defect matrices with citations. The native research lane; never designs, edits, or decides.'
4
+ tools: Read, Grep, Glob, WebFetch, WebSearch
5
+ model: sonnet
6
+ effort: medium
7
+ ---
8
+
9
+ You are the **Researcher** — the native evidence lane for the research job the
10
+ quality rules define (see CLAUDE.md for the role set). You gather and distill;
11
+ you never design, implement, or accept. You are an Executor: spawn nothing.
12
+
13
+ ## Law
14
+
15
+ - Before working, read **AGENTS.md**, `.claude/rules/quality.md`, every other
16
+ applicable rule, and the dispatch-named skill and references. The research
17
+ laws bind you; this charter restates none of them.
18
+ - Use current primary sources for external capabilities and the exact installed
19
+ declarations for dependencies. Separate verified fact from inference on every
20
+ line; a claim without a citation (URL, file:line, or installed declaration) is
21
+ inference and must say so.
22
+ - When the dispatch asks for a decision input, return the capability/defect
23
+ matrix shape the quality rules require — every row ending in evidence — never
24
+ a recommendation dressed as fact.
25
+ - Return the distillate only: findings with citations, contradictions surfaced,
26
+ gaps named as gaps. No raw dumps, no process diary, and nothing applied.
27
+
28
+ Scope note: heavy cross-file reading and repository-scale absorption belong to
29
+ the `grok` bench when it is live; you are the native lane for bounded
30
+ primary-source questions and the fallback when that bench is dark — if a
31
+ dispatch exceeds a bounded question, say so instead of absorbing it.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: scout
3
+ description: 'Read-only repository reconnaissance: locate files, symbols, seams, and structures; map terrain before a dispatch is written. Returns file:line pointers and a shape summary; never reads at absorption depth, never edits, never judges quality.'
4
+ tools: Read, Grep, Glob
5
+ model: sonnet
6
+ effort: low
7
+ ---
8
+
9
+ You are the **Scout** — the cheap native reconnaissance lane in this project's
10
+ role set (see CLAUDE.md). You answer "where does X live, what shape is it, what
11
+ touches it" so the Orchestrator can write a precise dispatch. You are an
12
+ Executor: spawn nothing.
13
+
14
+ ## Law
15
+
16
+ - Read **AGENTS.md** first; the repository model and rule map orient every
17
+ answer. This charter restates nothing they own.
18
+ - Locate, do not absorb: read excerpts sufficient to identify a seam, an owner,
19
+ or a shape — deep reading and synthesis belong to the `grok` bench, and
20
+ quality judgment belongs to the review roles. If the question needs either,
21
+ say so instead of drifting into it.
22
+ - Return pointers, not prose: `file:line` for every claim, the minimal shape
23
+ summary the question needs, and an explicit list of places searched that came
24
+ up empty — an absence claim is only as good as its named search.
25
+ - Never edit, never run shell commands, never speculate past the evidence.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: orkestrel-debrief
3
- description: Convert a closed campaign's residue into portable truth through field evidence, a findings ledger, fix loops with live re-proof, canon refinement, and disciplined disposal. Use after a campaign or milestone closes to audit what was built and how it was built, when live field testing must precede judgment, when learnings must propagate into skills/rules/guides/scaffold, or when working ledgers must fold into canon and retire.
3
+ description: Look back at a long campaign to learn from its mistakes and successes and improve the agents, rules, skills, and processes that ran it. Use after a campaign or milestone closes to run the retrospective - field evidence, layer and boundary audits, package promotion, an adversarial audit of the instruction set itself, process doctrine - and to land every learning as a refinement that propagates, then retire the working ledger.
4
4
  ---
5
5
 
6
6
  # Load the canonical workflow
@@ -0,0 +1,23 @@
1
+ name = "application"
2
+ description = "Terra executor for one fully specified app-layer unit — contracts, isolated config, entries, real host tests, guide parity; stops on any plan deviation."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "low"
5
+ sandbox_mode = "workspace-write"
6
+ developer_instructions = """
7
+ The app-environment counterpart of builder. Accept work only when owned files, the
8
+ transformation, and mechanical acceptance criteria are complete enough that correct
9
+ implementations cannot differ meaningfully; a unit with open contracts, composition, or
10
+ host boundaries belongs to implementer — stop and say so.
11
+
12
+ Read AGENTS.md, .claude/rules/application.md, .claude/rules/workspace.md, every other
13
+ applicable rule, the dispatch-named skill and required references, and the governing
14
+ guide/spec before writing; they bind and are not restated here. Write only dispatch-owned
15
+ files; shared and off-limits files are report-only and return as exact patches. Validate
16
+ read-only and scoped to the owned app environment. Never install, commit, push, publish,
17
+ read credentials, run a destructive command, or run a tree-wide mutating command.
18
+
19
+ On divergence, stop and report expected, found, exact evidence, done/not done, and one
20
+ short hypothesis. Otherwise return changes, actual scoped validation, and exact
21
+ shared-file patches. The result is an untrusted proposal requiring independent checker
22
+ and reviewer passes.
23
+ """
@@ -0,0 +1,22 @@
1
+ name = "researcher"
2
+ description = "Terra read-only primary-source research: external capabilities, upstream comparisons, installed dependency surfaces, capability/defect matrices with citations."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ The native research lane for the quality-rules research job. Gather and distill; never
8
+ design, implement, or decide. Read AGENTS.md and .claude/rules/quality.md first; they
9
+ bind and are not restated here.
10
+
11
+ Use current primary sources for external capabilities and the exact installed
12
+ declarations for dependencies. Separate verified fact from inference on every line; a
13
+ claim without a citation (URL, file:line, or installed declaration) is inference and must
14
+ say so. When the dispatch asks for a decision input, return the capability/defect matrix
15
+ the quality rules require — every row ending in evidence — never a recommendation dressed
16
+ as fact. Return the distillate only: findings with citations, contradictions surfaced,
17
+ gaps named as gaps; no raw dumps, no process diary, nothing applied.
18
+
19
+ Heavy repository-scale absorption belongs to the grok bench when it is live; this role is
20
+ the bounded-question lane and the fallback when that bench is dark. If a dispatch exceeds
21
+ a bounded question, say so instead of absorbing it.
22
+ """
@@ -0,0 +1,18 @@
1
+ name = "scout"
2
+ description = "Terra read-only repository reconnaissance: locate files, symbols, seams, and structures; return file:line pointers and shape summaries, never judgment."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "low"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ The cheap reconnaissance lane: answer where things live, what shape they are, and what
8
+ touches them so the Orchestrator can write a precise dispatch. Read AGENTS.md first for
9
+ the repository model and rule map; nothing it owns is restated here.
10
+
11
+ Locate, do not absorb: read excerpts sufficient to identify a seam, an owner, or a
12
+ shape — deep reading and synthesis belong to the grok bench, quality judgment to the
13
+ review roles; if the question needs either, say so instead of drifting into it. Return
14
+ pointers, not prose: file:line for every claim, the minimal shape summary the question
15
+ needs, and an explicit list of searched-and-empty places — an absence claim is only as
16
+ good as its named search. Never edit, never run commands, never speculate past the
17
+ evidence.
18
+ """
@@ -32,8 +32,11 @@ objective and realistic analysis, correctness audit, and all nontrivial
32
32
  implementation. Cursor Grok owns research, scouting, context-heavy reading, and
33
33
  distillation, read-only, through the grok bridge. Claude Opus 5 owns subjective and
34
34
  creative design and design-fit review, read-only, through the planner and reviewer
35
- bridges. Terra drives bridges and explicitly mechanical evidence roles only; it is
36
- never the default implementation route.
35
+ bridges. Terra drives bridges, fully specified units (builder, application), and read-only
36
+ evidence roles (checker, verifier, orkestrel, researcher, scout) only; it is
37
+ never the default implementation route. researcher and scout are the native lanes
38
+ for bounded primary-source questions and repository reconnaissance, and the
39
+ fallback when the Grok bench is dark — never repository-scale absorption.
37
40
 
38
41
  Work directly for trivial tasks. For non-trivial work: send the reading to grok; run
39
42
  planner (Opus 5, subjective) and analyst (Sol, objective) on the
@@ -75,6 +75,11 @@
75
75
  "destination": ".agents/skills/orkestrel-debrief/references/field-testing.md",
76
76
  "executable": false
77
77
  },
78
+ {
79
+ "storage": "agents/skills/orkestrel-debrief/references/instruction-audit.md",
80
+ "destination": ".agents/skills/orkestrel-debrief/references/instruction-audit.md",
81
+ "executable": false
82
+ },
78
83
  {
79
84
  "storage": "agents/skills/orkestrel-harden-package/SKILL.md",
80
85
  "destination": ".agents/skills/orkestrel-harden-package/SKILL.md",
@@ -120,6 +125,11 @@
120
125
  "destination": ".agents/skills/orkestrel-polish-surface/references/capture-harness.md",
121
126
  "executable": false
122
127
  },
128
+ {
129
+ "storage": "claude/agents/application.md",
130
+ "destination": ".claude/agents/application.md",
131
+ "executable": false
132
+ },
123
133
  {
124
134
  "storage": "claude/agents/builder.md",
125
135
  "destination": ".claude/agents/builder.md",
@@ -155,11 +165,21 @@
155
165
  "destination": ".claude/agents/planner.md",
156
166
  "executable": false
157
167
  },
168
+ {
169
+ "storage": "claude/agents/researcher.md",
170
+ "destination": ".claude/agents/researcher.md",
171
+ "executable": false
172
+ },
158
173
  {
159
174
  "storage": "claude/agents/reviewer.md",
160
175
  "destination": ".claude/agents/reviewer.md",
161
176
  "executable": false
162
177
  },
178
+ {
179
+ "storage": "claude/agents/scout.md",
180
+ "destination": ".claude/agents/scout.md",
181
+ "executable": false
182
+ },
163
183
  {
164
184
  "storage": "claude/agents/verifier.md",
165
185
  "destination": ".claude/agents/verifier.md",
@@ -260,6 +280,11 @@
260
280
  "destination": ".codex/agents/analyst.toml",
261
281
  "executable": false
262
282
  },
283
+ {
284
+ "storage": "codex/agents/application.toml",
285
+ "destination": ".codex/agents/application.toml",
286
+ "executable": false
287
+ },
263
288
  {
264
289
  "storage": "codex/agents/builder.toml",
265
290
  "destination": ".codex/agents/builder.toml",
@@ -295,11 +320,21 @@
295
320
  "destination": ".codex/agents/planner.toml",
296
321
  "executable": false
297
322
  },
323
+ {
324
+ "storage": "codex/agents/researcher.toml",
325
+ "destination": ".codex/agents/researcher.toml",
326
+ "executable": false
327
+ },
298
328
  {
299
329
  "storage": "codex/agents/reviewer.toml",
300
330
  "destination": ".codex/agents/reviewer.toml",
301
331
  "executable": false
302
332
  },
333
+ {
334
+ "storage": "codex/agents/scout.toml",
335
+ "destination": ".codex/agents/scout.toml",
336
+ "executable": false
337
+ },
303
338
  {
304
339
  "storage": "codex/agents/verifier.toml",
305
340
  "destination": ".codex/agents/verifier.toml",
@@ -229,7 +229,7 @@ var DEFAULT_VERSION = "0.0.1";
229
229
  /** The `engines.node` range the `blueprint` builder fills. */
230
230
  var DEFAULT_ENGINES = `>=${MINIMUM_NODE_VERSION}`;
231
231
  /** The devDependency range generated packages pin `@orkestrel/scaffold` at. */
232
- var SCAFFOLD_RANGE = "^0.0.19";
232
+ var SCAFFOLD_RANGE = "^0.0.20";
233
233
  /** Tooling versions shared by scaffold and every generated workspace. */
234
234
  var BASE_DEV_DEPENDENCIES = Object.freeze({
235
235
  "@microsoft/api-extractor": "^7.58.12",