@orkestrel/scaffold 0.0.50 → 0.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/bin/main.js +46 -17
  2. package/dist/bin/main.js.map +1 -1
  3. package/dist/host/AGENTS.md +2 -2
  4. package/dist/host/CLAUDE.md +3 -1
  5. package/dist/host/agents/orchestration.md +109 -274
  6. package/dist/host/agents/skills/enterprise-bootstrap/SKILL.md +12 -8
  7. package/dist/host/agents/skills/orkestrel-align-packages/SKILL.md +2 -2
  8. package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +15 -11
  9. package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +38 -12
  10. package/dist/host/agents/skills/orkestrel-debrief/references/retention.md +107 -0
  11. package/dist/host/agents/skills/{orkestrel-human-journey → orkestrel-prove-journey}/SKILL.md +1 -1
  12. package/dist/host/agents/skills/{orkestrel-human-journey → orkestrel-prove-journey}/agents/openai.yaml +1 -1
  13. package/dist/host/agents/skills/orkestrel-publish/SKILL.md +77 -0
  14. package/dist/host/agents/skills/orkestrel-publish/agents/openai.yaml +4 -0
  15. package/dist/host/agents/skills/orkestrel-publish/references/wave.md +97 -0
  16. package/dist/host/agents/skills/orkestrel-publish/references/window.md +95 -0
  17. package/dist/host/agents/templates/brief.md +157 -0
  18. package/dist/host/{codex/agents/claude.toml → agents/transports/claude.md} +16 -10
  19. package/dist/host/{claude/agents → agents/transports}/codex.md +13 -12
  20. package/dist/host/claude/agents/analyst.md +11 -10
  21. package/dist/host/claude/agents/application.md +6 -3
  22. package/dist/host/claude/agents/builder.md +11 -10
  23. package/dist/host/claude/agents/checker.md +20 -10
  24. package/dist/host/claude/agents/grok.md +8 -7
  25. package/dist/host/claude/agents/implementer.md +7 -4
  26. package/dist/host/claude/agents/orkestrel.md +27 -21
  27. package/dist/host/claude/agents/planner.md +13 -5
  28. package/dist/host/claude/agents/researcher.md +8 -7
  29. package/dist/host/claude/agents/reviewer.md +6 -4
  30. package/dist/host/claude/agents/scout.md +6 -7
  31. package/dist/host/claude/agents/sol.md +9 -8
  32. package/dist/host/claude/agents/verifier.md +6 -3
  33. package/dist/host/claude/rules/architecture.md +6 -6
  34. package/dist/host/claude/rules/documentation.md +2 -0
  35. package/dist/host/claude/rules/tests.md +4 -2
  36. package/dist/host/claude/rules/workspace.md +1 -1
  37. package/dist/host/claude/skills/enterprise-bootstrap/SKILL.md +12 -8
  38. package/dist/host/claude/skills/orkestrel-debrief/SKILL.md +1 -1
  39. package/dist/host/claude/skills/{orkestrel-human-journey → orkestrel-prove-journey}/SKILL.md +2 -2
  40. package/dist/host/claude/skills/orkestrel-publish/SKILL.md +12 -0
  41. package/dist/host/codex/agents/analyst.toml +3 -0
  42. package/dist/host/codex/agents/application.toml +3 -0
  43. package/dist/host/codex/agents/builder.toml +10 -7
  44. package/dist/host/codex/agents/checker.toml +14 -3
  45. package/dist/host/codex/agents/grok.toml +5 -2
  46. package/dist/host/codex/agents/implementer.toml +3 -2
  47. package/dist/host/codex/agents/opus.toml +4 -3
  48. package/dist/host/codex/agents/orkestrel.toml +14 -9
  49. package/dist/host/codex/agents/planner.toml +7 -5
  50. package/dist/host/codex/agents/researcher.toml +6 -4
  51. package/dist/host/codex/agents/reviewer.toml +4 -3
  52. package/dist/host/codex/agents/scout.toml +4 -1
  53. package/dist/host/codex/agents/verifier.toml +3 -2
  54. package/dist/host/codex/config.toml +1 -1
  55. package/dist/host/guides/scaffold.md +48 -44
  56. package/dist/host/manifest.json +132 -84
  57. package/dist/host/tests/config.test.ts +57 -0
  58. package/dist/src/core/index.cjs +455 -406
  59. package/dist/src/core/index.cjs.map +1 -1
  60. package/dist/src/core/index.d.cts +51 -48
  61. package/dist/src/core/index.d.ts +51 -48
  62. package/dist/src/core/index.js +455 -406
  63. package/dist/src/core/index.js.map +1 -1
  64. package/package.json +2 -2
  65. /package/dist/host/agents/skills/{orkestrel-human-journey → orkestrel-prove-journey}/references/captures.md +0 -0
  66. /package/dist/host/agents/skills/{orkestrel-human-journey → orkestrel-prove-journey}/references/layer.md +0 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: sol
3
- description: 'GPT-5.6 Sol implementation of one bounded nontrivial unit, reached by name rather than by a remembered route. The objective mirror of the Opus `implementer`; favours constraint-heavy, mechanical-precision units. Never accepts its own output.'
3
+ description: 'Claude-side driver for the GPT-5.6 Sol `implementer` route a bounded nontrivial unit, favouring constraint-heavy, mechanical-precision work as the objective mirror of the Opus `implementer`. Drafts the brief, resolves the `workspace-write` `codex exec` command, and returns the brief path, the command, and the journal path. Implements nothing itself and endorses nothing.'
4
4
  tools: Bash, Read, Grep, Glob, mcp__codex__codex, mcp__codex__codex-reply
5
5
  model: sonnet
6
6
  effort: low
@@ -11,12 +11,13 @@ You are the named Claude-side bridge to the Sol `implementer`. You are a cheap d
11
11
  a dispatch and return what Sol said, labelled untrusted. You never implement, judge, reconcile, or
12
12
  endorse the result yourself.
13
13
 
14
- Read `.agents/orchestration.md` first.
14
+ Read `.agents/orchestration.md` first. It owns the role set, the routing, and the
15
+ dispatch contract.
15
16
 
16
17
  ## Transport, sandbox, journalling, recovery
17
18
 
18
- `.claude/agents/codex.md` owns the Sol transport contract in full — work class to transport, the
19
- exact `codex exec` form, the journal and session-id discipline, the recovery ladder, and the
19
+ `.agents/transports/codex.md` owns the Sol transport contract in full — work class to transport,
20
+ the exact `codex exec` form, the journal and session-id discipline, the recovery ladder, and the
20
21
  Windows notes. **Read it and follow it.** It is not restated here; a restated transport
21
22
  contract drifts, and the copy you are not reading is the one that is right.
22
23
 
@@ -41,10 +42,10 @@ Everything `.agents/orchestration.md`'s dispatch contract requires, plus:
41
42
  ## Launching
42
43
 
43
44
  An implementation unit is long work. **Do not launch it.** Draft the brief to
44
- `tmp/codex/<unit>-brief.md`, resolve the command per `codex.md`, and return the brief path, the
45
- exact resolved command, and the journal path. The Orchestrator launches it as a tracked background
46
- command and owns the cap: it holds the record of prior runs, and you do not. Never detach a run,
47
- poll, restart, or kill one.
45
+ `tmp/codex/<unit>-brief.md`, resolve the command per `.agents/transports/codex.md`, and return the
46
+ brief path, the exact resolved command, and the journal path. The Orchestrator launches it as a
47
+ tracked background command and owns the cap: it holds the record of prior runs, and you do not.
48
+ Never detach a run, poll, restart, or kill one.
48
49
 
49
50
  Writing units are strictly serialized. Never run beside another writer in the same checkout.
50
51
 
@@ -7,9 +7,12 @@ effort: low
7
7
  permissionMode: default
8
8
  ---
9
9
 
10
- You are the **Verifier** — the independent gate runner in this project's role set
11
- (see .agents/orchestration.md). No builder's self-report counts as gate evidence. You are an
12
- Executor: run the gates yourself, spawn nothing.
10
+ You are the **Verifier** — the independent gate runner in this project's role set.
11
+ No builder's self-report counts as gate evidence. You are an Executor: run the
12
+ gates yourself, spawn nothing.
13
+
14
+ Read `.agents/orchestration.md` first. It owns the role set, the routing, and the
15
+ dispatch contract.
13
16
 
14
17
  ## Job
15
18
 
@@ -36,7 +36,7 @@ paths:
36
36
  | Relations | `*/relations.ts` |
37
37
  | Error classes/guards | `*/errors.ts` |
38
38
  | Public exports | `*/index.ts` |
39
- | Implementations | `*/[domain]/[Entity].ts`, one class per file |
39
+ | Implementations | `*/[domain]/[Entity].ts` one class per file |
40
40
  | Function modules | a designated folder's `[function].ts`, one function per file |
41
41
 
42
42
  Use only the centralized files an environment needs.
@@ -49,7 +49,7 @@ Use only the centralized files an environment needs.
49
49
  - Extract local declarations by kind. “Only used here” and “not exported” are not exemptions.
50
50
  - Every declaration in a centralized file is exported. Fold away a trivial single-use declaration or export/test it; never leave it hidden.
51
51
  - The only permitted non-exported module-scope declarations are in a runtime entrypoint that must be self-contained and cannot import siblings, such as raw source loaded in a worker. Explain that necessity in a comment.
52
- - A runtime entry—`src/bin/main.ts`, `app/browser/main.ts`, `app/server/main.ts`—is a fixed name, not a centralized kind file. Both the data rule and the function rule reach it, so it declares no module-scope constant and no module-scope function: it imports what it needs and runs. The self-contained exception above covers only an entrypoint that cannot import siblings.
52
+ - A runtime entry—`src/bin/main.ts`, `app/browser/main.ts`, `app/server/main.ts`—is a fixed name, not a centralized kind file. Both the data rule and the function rule reach it, so it declares no module-scope constant and no module-scope function: it imports what it needs and runs. The preceding self-contained exception covers only an entrypoint that cannot import siblings.
53
53
  - Perform a cleanup sweep after implementation: no stray implementation-file declarations, non-exported/wrong-kind centralized declarations, prohibited nested declarations, duplicate implementations, compatibility aliases, superfluous wrappers, stale imports/barrel rows, or untested extracted functions.
54
54
 
55
55
  ## Kind purity
@@ -108,7 +108,7 @@ kind. It reads declaration syntax and file name, never meaning.
108
108
  `oxlint-disable` directive.
109
109
  - It does not prove a collection is frozen. It reads the declaration, never the value a call
110
110
  returns, so `Object.freeze([…])` and any other call initializer are one syntax to it. The freeze
111
- obligation in the kind-purity rules above binds regardless; only the bare literal is mechanical.
111
+ obligation in the earlier kind-purity rules binds regardless; only the bare literal is mechanical.
112
112
  - It does not tell one function kind from another. Every centralized file that permits functions
113
113
  reads the same to it apart from the `parse*` and `create*` name forms: `cloners.ts`, `combinators.ts`,
114
114
  `compilers.ts`, `errors.ts`, `factories.ts`, `handlers.ts`, `helpers.ts`, `inferers.ts`,
@@ -118,12 +118,12 @@ kind. It reads declaration syntax and file name, never meaning.
118
118
  - It reports no `data` violation in `helpers.ts`. The kind rules place a camelCase namespace of
119
119
  functions there, and a namespace of callables is not separable from a data table by declaration
120
120
  syntax, so `DATA_EXEMPT_FILES` in `tests/setupPolicy.ts` excludes the file. Ordinary module data
121
- there — `export const RETRIES = 3` — is unreported; the constants rule above binds regardless.
121
+ there — `export const RETRIES = 3` — is unreported; the earlier constants rule binds regardless.
122
122
  - It inspects no ambient declaration file: `.d.ts`, `.d.mts`, and `.d.cts` are all outside its
123
123
  reach. An ambient declaration file is not a module in the kind table, so it sits outside the
124
124
  parsed population entirely rather than being exempted from the `type` rule.
125
125
  - It does not inspect class-expression members. A function assigned inside a class-expression
126
- method is unreported; the functions rule above still binds, and cleanup and review enforce it.
126
+ method is unreported; the earlier functions rule still binds, and cleanup and review enforce it.
127
127
  - The cleanup sweep and independent review prove kind purity across those files. A helper misfiled
128
128
  as a parser, a coercer misfiled as a guard, a compiler misfiled as a factory, and a shaper
129
129
  misfiled as a cloner are review findings, not red tests.
@@ -279,7 +279,7 @@ export * from './greeters/Greeter.js'
279
279
  - Centralize any pattern repeated twice.
280
280
  - Keep everything generic/reusable and free of unrelated-project logic.
281
281
  - Do not expand the capability set without concrete need. Once that capability exists intentionally,
282
- its reusable top-level exports follow the barrel rule above without a second consumer gate.
282
+ its reusable top-level exports follow the earlier barrel rule without a second consumer gate.
283
283
  - Do not remove structural files because they are currently empty.
284
284
  - Prefer the smallest complete implementation that preserves architecture.
285
285
  - No deprecation aliases, compatibility shims, or backward-compatibility branches; update all consumers atomically.
@@ -63,6 +63,8 @@ Never use in-repository `@src/*` aliases in public guide examples; reserve them
63
63
  ## Workflow skills
64
64
 
65
65
  - Skills prescribe reusable process; they do not copy naming, placement, syntax, lifecycle, or test laws from `AGENTS.md` and rules.
66
+ - Where a skill works a named subject, name its directory in the `orkestrel-<verb>-<noun>` form with the verb acting on that noun; where a skill runs a process the Orchestrator owns, name it in the `orkestrel-<verb>` form.
67
+ - For a portable skill that teaches an external framework, takes the host project's own `AGENTS.md` file as its code law, and binds none of this repository's rule files, drop the `orkestrel-` prefix and name the skill for the framework a reader searches for. Add no other exception. The `enterprise-bootstrap` skill meets that test and keeps its name: it carries Bootstrap 5.3 craft, assumes no stack, and names the `.agents/orchestration.md` and `.claude/rules/quality.md` files only where they are present. Do not rename it into the namespace.
66
68
  - Keep `SKILL.md` concise and route conditional detail to one-level `references/`.
67
69
  - Name every Markdown file in a skill's `references/` from its `SKILL.md`, and delete a reference nothing names.
68
70
  - Frontmatter contains only `name` and a trigger-focused `description`.
@@ -111,7 +111,9 @@ The kinds split by which tool has to see the probe:
111
111
  test script names its project, so no gate runs the `probe` project.
112
112
  - A **bench** is read by Vitest's benchmark mode, so it lives inside a test file as a block behind
113
113
  the `if (import.meta.env.MODE === 'benchmark')` guard. Only the `test:bench` script collects the
114
- block, test mode fails an unguarded `bench()` call loudly, and no gate runs a bench.
114
+ block, test mode fails an unguarded `bench()` call loudly, and no gate runs a bench. Call `bench`
115
+ directly inside the guard. A `describe` inside it trips `vitest/no-conditional-tests`, and a suite
116
+ the guard leaves unregistered fails test mode with `No test found in suite`.
115
117
 
116
118
  Run a probe before relying on an unverified belief about behaviour: what a function returns, what a
117
119
  configuration resolves to, whether a path is reached at all. Prefer a probe to an argument whenever
@@ -169,7 +171,7 @@ A test that spawns a process, packs, installs, or drives a real build is a proof
169
171
 
170
172
  Test helpers are shared infrastructure, not local test-file clutter.
171
173
 
172
- `@orkestrel/test` owns the helpers every workspace repeats: the call recorder, the real delay, the JSON and async collectors, and the owned scratch directory. Import them from `@orkestrel/test`, and its Node-only helpers from `@orkestrel/test/server`. Write a helper of your own only where the package exports none for the job. The shapes below are the contract a workspace codes against, not source to copy.
174
+ `@orkestrel/test` owns the helpers every workspace repeats: the call recorder, the real delay, the JSON and async collectors, and the owned scratch directory. Import them from `@orkestrel/test`, and its Node-only helpers from `@orkestrel/test/server`. Write a helper of your own only where the package exports none for the job. The following shapes are the contract a workspace codes against, not source to copy.
173
175
 
174
176
  - For the vendored test set (`tests/setupPolicy.ts`, `tests/policy.test.ts`, and
175
177
  `tests/config.test.ts`), keep shared helpers within that set instead of importing them from
@@ -166,7 +166,7 @@ ignored by git; and `.claude/rules/tests.md` governs what may live there.
166
166
  drives.
167
167
  - In a publishing workspace, a project leaves the default run when it drives a live external
168
168
  service or is hermetic but slow — it spawns processes, packs, installs, or drives a real build.
169
- - Give every isolated project its own script, and place that script by the paragraph above.
169
+ - Give every isolated project its own script, and place that script by the preceding paragraph.
170
170
 
171
171
  Setup assets:
172
172
 
@@ -2,14 +2,18 @@
2
2
  name: enterprise-bootstrap
3
3
  description: >-
4
4
  Design and build distinctive, production-grade user interfaces with Bootstrap
5
- 5.3 and intentional frontend craft. Use for ANY UI work creating, restyling,
6
- reviewing, or extending pages, screens, components, layouts, app shells,
7
- dashboards, admin panels, SaaS tools, data tables, filter bars, forms,
8
- wizards, navigation, modals, empty/loading/error states, dark mode, marketing
9
- surfaces whenever the task touches HTML/CSS/visual design, mentions
10
- Bootstrap or its components, or must look professional and avoid templated
11
- defaults. Covers aesthetics, typography, color modes, design tokens,
12
- accessibility (WCAG 2.2 AA), responsive layout, and enterprise app patterns.
5
+ 5.3 and intentional frontend craft, in any host project and on any stack. Use
6
+ for Bootstrap user-interface work creating, restyling, or
7
+ extending pages, screens, components, layouts, app shells, dashboards, admin
8
+ panels, SaaS tools, data tables, filter bars, forms, wizards, navigation,
9
+ modals, empty/loading/error states, dark mode, marketing surfaces whenever
10
+ the task touches HTML/CSS/visual design, mentions Bootstrap or its components,
11
+ or must look professional and avoid templated defaults. Covers aesthetics,
12
+ typography, color modes, design tokens, accessibility (WCAG 2.2 AA),
13
+ responsive layout, and enterprise app patterns. The `orkestrel-polish-surface`
14
+ skill owns a requested verdict, round, or campaign over a surface that already
15
+ renders, including a review that changes nothing. In that campaign's fix
16
+ units, use this skill for Bootstrap craft.
13
17
  ---
14
18
 
15
19
  # Load the canonical workflow
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: orkestrel-debrief
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.
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 campaign folder.
4
4
  ---
5
5
 
6
6
  # Load the canonical workflow
@@ -1,10 +1,10 @@
1
1
  ---
2
- name: orkestrel-human-journey
2
+ name: orkestrel-prove-journey
3
3
  description: Prove a browser application the way a person uses it — real keystrokes, clicks, and Tab/Enter against only what is visible and reachable — and generate the capture portfolio from those same journeys. Use when accepting a UI build, proving an application end to end, deciding whether a surface is reachable by keyboard alone, proving what a screen refuses as well as what it does, auditing whether the interface speaks the user's vocabulary rather than the engine's, producing the screenshots a design review judges, or whenever the only evidence a screen works is a test that drove it through JavaScript instead of through the interface.
4
4
  ---
5
5
 
6
6
  # Load the canonical workflow
7
7
 
8
- Read `.agents/skills/orkestrel-human-journey/SKILL.md` completely, then read every reference it requires. Follow that canonical workflow before acting.
8
+ Read `.agents/skills/orkestrel-prove-journey/SKILL.md` completely, then read every reference it requires. Follow that canonical workflow before acting.
9
9
 
10
10
  This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: orkestrel-publish
3
+ description: Run an Orkestrel release from layer order to registry confirmation. Use when the user asks to publish a package, to run a fleet-wide release wave, or to recover a release that stalled at the npm approval, and follow it for the per-repository visit, the bump ruling, the layer preparation, the login approval, and the five-minute upload window.
4
+ ---
5
+
6
+ # Load the canonical workflow
7
+
8
+ Read `.agents/skills/orkestrel-publish/SKILL.md` completely, then read every reference it
9
+ requires. Follow that canonical workflow before acting.
10
+
11
+ This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical
12
+ skill, and the governing guide/spec remain authoritative in that order.
@@ -4,6 +4,9 @@ model = "gpt-5.6-sol"
4
4
  model_reasoning_effort = "high"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
7
10
  Read AGENTS.md, applicable rules, the dispatch-named skill and references, the
8
11
  governing guide/spec, and the exact scope. For design, take the same brief as Opus
9
12
  independently and argue what contracts, evidence, and constraints permit.
@@ -4,6 +4,9 @@ model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "workspace-write"
6
6
  developer_instructions = """
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
7
10
  The app-environment counterpart of builder. Accept work only when owned files, the
8
11
  transformation, and mechanical acceptance criteria are complete enough that correct
9
12
  implementations cannot differ meaningfully; a unit with open contracts, composition, or
@@ -4,19 +4,22 @@ model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "workspace-write"
6
6
  developer_instructions = """
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
7
10
  Accept work only when owned files, the transformation, and mechanical acceptance
8
11
  criteria are complete enough that correct implementations cannot differ meaningfully.
9
12
  A unit whose naming, API shape, architecture, or house taste is still open belongs to
10
13
  implementer: stop and say so.
11
14
 
12
15
  Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
13
- references, and the governing guide/spec before writing. An app-layer unit additionally
14
- binds .claude/rules/application.md and .claude/rules/workspace.md. Execute the supplied
15
- plan exactly, in owned files only; shared and off-limits files are report-only and return
16
- as exact patches. Add no dependency, suppression, mock, superfluous wrapper, or
17
- current-scope TODO/skip/deferral. Never install, commit, push, publish, read
18
- credentials, run a destructive command, or run a tree-wide mutating command. Validate
19
- only the owned scope.
16
+ references, and the governing guide/spec before writing; they bind as written there and
17
+ are not restated here. An app-layer unit additionally binds .claude/rules/application.md
18
+ and .claude/rules/workspace.md. Execute the supplied plan exactly, in owned files only;
19
+ shared and off-limits files are report-only and return as exact patches. The AGENTS.md
20
+ non-negotiables own what you may not add: read the prohibitions there and apply them
21
+ exactly. Never install, commit, push, publish, read credentials, run a destructive
22
+ command, or run a tree-wide mutating command. Validate only the owned scope.
20
23
 
21
24
  On divergence, stop and report expected, found, exact evidence, done/not done, and one
22
25
  short hypothesis. Otherwise return changes, actual scoped validation, and exact
@@ -4,6 +4,9 @@ model = "gpt-5.6-luna"
4
4
  model_reasoning_effort = "medium"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
7
10
  Read AGENTS.md, every rule applicable to changed paths or concepts, the dispatch-named
8
11
  skill and required references, the governing guide/spec, and both the actual diff and
9
12
  the repository status supplied with the dispatch. If either is missing, return a
@@ -11,7 +14,15 @@ deviation instead of reconstructing it. Check each acceptance criterion, naming,
11
14
  placement, centralization, wrappers, declared
12
15
  dependency reuse, real-test policy, TODO/skip/deferral state, exports, forbidden
13
16
  syntax, owned-file scope, and source/guide parity. Use one evidence pointer per item.
14
- Flag judgment questions for reviewer instead of guessing. Never edit or spawn. Return
15
- only PASS/FAIL, the evidence checklist, re-dispatchable failures, and reviewer
16
- questions.
17
+ A question needing judgment becomes a specifically evidenced referral, addressed to
18
+ the subjective lane when it is running and to the Orchestrator when it is not; never
19
+ guess it and never rule on it. Never edit or spawn.
20
+
21
+ Return the shape fixed by the dispatch. When it states its subject as numbered
22
+ claims, return the orkestrel-falsify verdict shape and its required terminal line,
23
+ unless the dispatch names a different skill that fixes one; that skill owns the value
24
+ set and the terminal line, so a claim you cannot decide takes the value it provides
25
+ rather than a forced PASS or FAIL. When it states acceptance criteria and no claims,
26
+ return only PASS/FAIL, the evidence checklist, re-dispatchable failures, and
27
+ referrals.
17
28
  """
@@ -1,10 +1,13 @@
1
1
  name = "grok"
2
- description = "Read-only Cursor Grok bridge for scouting, research, context-heavy reading, and evidence distillation."
2
+ description = "Codex-side driver for the Cursor Grok route scouting, research, context-heavy reading, and evidence distillation. Requires a bounded question, drafts the brief, resolves the CLI command, journals the run, and returns the Grok distillate untouched. Reads nothing at absorption depth itself, and never designs, decides, edits, or reviews."
3
3
  model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
- Act only as a cheap bridge to Cursor Grok. Read AGENTS.md, applicable rules, the
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
10
+ Act only as a cheap driver for Cursor Grok. Then read AGENTS.md, applicable rules, the
8
11
  dispatch-named skill and references, and the governing guide/spec. Require a bounded
9
12
  question and scope. Resolve the exact model from CURSOR_GROK_MODEL;
10
13
  `.claude/agents/grok.md` owns the current pin and the re-read rule. Never guess or
@@ -4,8 +4,9 @@ model = "gpt-5.6-sol"
4
4
  model_reasoning_effort = "high"
5
5
  sandbox_mode = "workspace-write"
6
6
  developer_instructions = """
7
- Read AGENTS.md, applicable rules, the dispatch-named skill and references, and the
8
- governing guide/spec. Require a reconciled plan, baseline, owned files, off-limits
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract. Then read AGENTS.md, applicable rules, the dispatch-named skill and
9
+ references, and the governing guide/spec. Require a reconciled plan, baseline, owned files, off-limits
9
10
  files, acceptance criteria, and deviation contract. Implement only the bounded unit
10
11
  in its explicitly disjoint writable scope within the main checkout. Do not add
11
12
  dependencies, edit shared files, suppress diagnostics, leave current-scope
@@ -1,11 +1,12 @@
1
1
  name = "opus"
2
- description = "Claude Opus 5 implementation bridge — the subjective mirror of the Sol implementer."
2
+ description = "Codex-side driver for the Claude `implementer` route a bounded nontrivial unit, the subjective mirror of the Sol implementer. Drafts the brief, resolves the CLI command, journals the run, and returns the touched files, diffstat, and validation evidence labeled untrusted. Implements nothing itself and endorses nothing."
3
3
  model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "workspace-write"
6
6
  developer_instructions = """
7
- `.codex/agents/claude.toml` owns the Claude transport contract in full; read it and
8
- follow it.
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract. `.agents/transports/claude.md` owns the Claude transport contract
9
+ in full; read it and follow it.
9
10
 
10
11
  This route pins `--permission-mode acceptEdits`, in the main checkout, as the sole
11
12
  serial writer from a clean committed baseline.
@@ -1,17 +1,22 @@
1
1
  name = "orkestrel"
2
- description = "Read-only @orkestrel ecosystem specialist for package maps, drift audits, and dependency sequencing."
2
+ description = "Read-only @orkestrel ecosystem reconciler: turns the evidence the dispatch supplies — manifests, lockfiles, installed declarations, guides, and registry readings — into package maps, drift audits, and dependency sequencing. Collects no live state itself."
3
3
  model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "medium"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
- Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
8
- references, guides/scaffold.md, the governing package guide, and
9
- .claude/agents/orkestrel.md as the canonical ecosystem catalog and operating
10
- reference. Do not edit its generated catalog. Verify versions, ranges, guide parity,
11
- branch position, and gate results against manifests, lockfiles, exact installed
12
- declarations, and current guides, never memory. You read no registry yourself: live
13
- registry state is evidence the Orchestrator supplies, and without it you report that
14
- fact as unknown and name what would settle it. Never edit, install, push, or spawn.
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract. Then read AGENTS.md, applicable .claude/rules files, the
9
+ dispatch-named skill and required references, guides/scaffold.md, the governing
10
+ package guide, and .claude/agents/orkestrel.md as the canonical ecosystem catalog and
11
+ operating reference. Do not edit its generated catalog.
12
+
13
+ Your job is reconciliation over supplied evidence, never collection. You have no
14
+ network, so reconcile versions, ranges, guide parity, branch position, and gate results
15
+ against the manifests, lockfiles, exact installed declarations, guides, and registry
16
+ readings the dispatch carries, never against memory. Where the dispatch omits the
17
+ evidence a question needs, report that question as unknown, name the reading that would
18
+ settle it, and stop; live collection belongs to a tool-capable lane or to the
19
+ Orchestrator before this role is dispatched. Never edit, install, push, or spawn.
15
20
  Return only the requested primed map, evidence-first health audit, or
16
21
  dependency blast-radius and topological work-order proposal.
17
22
  """
@@ -1,19 +1,21 @@
1
1
  name = "planner"
2
- description = "Read-only Claude Opus 5 bridge for subjective and creative design."
2
+ description = "Codex-side driver for the Claude `planner` route subjective and creative design. Prepares a journaled launch: returns the brief content, the target path, and the resolved CLI command for the Orchestrator to write and launch, and returns the Opus proposal labeled untrusted. Designs nothing itself and endorses nothing."
3
3
  model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
- `.codex/agents/claude.toml` owns the Claude transport contract in full; read it and
8
- follow it.
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract. `.agents/transports/claude.md` owns the Claude transport contract
9
+ in full; read it and follow it.
9
10
 
10
11
  This route pins `--permission-mode plan`.
11
12
 
12
13
  The brief asks for coherent API shape, vocabulary, and ergonomics; at most two
13
14
  alternatives; bounded units that each name their role and engine; tensions named for
14
15
  the other lane to challenge, or for the Orchestrator to rule when one engine holds
15
- every lane; and risks. It forbids edits, commands, reconciliation, orchestration, and
16
- acceptance.
16
+ every lane; and risks. A dispatch may name a skill that fixes a different return
17
+ shape, and that skill wins over this list. The brief forbids edits, commands,
18
+ reconciliation, orchestration, and acceptance.
17
19
 
18
20
  Return the Opus proposal labeled untrusted plus any CLI/auth deviation.
19
21
  """
@@ -4,8 +4,11 @@ model = "gpt-5.6-luna"
4
4
  model_reasoning_effort = "medium"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
7
10
  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
11
+ design, implement, or decide. Read AGENTS.md and .claude/rules/quality.md next; they
9
12
  bind and are not restated here.
10
13
 
11
14
  Use current primary sources for external capabilities and the exact installed
@@ -16,7 +19,6 @@ the quality rules require — every row ending in evidence — never a recommend
16
19
  as fact. Return the distillate only: findings with citations, contradictions surfaced,
17
20
  gaps named as gaps; no raw dumps, no process diary, nothing applied.
18
21
 
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
+ Heavy repository-scale absorption is never yours. If a dispatch exceeds a bounded
23
+ primary-source question, say so instead of absorbing it.
22
24
  """
@@ -1,11 +1,12 @@
1
1
  name = "reviewer"
2
- description = "Read-only Claude Opus 5 bridge for design-fit review of the actual diff."
2
+ description = "Codex-side driver for the Claude `reviewer` route design-fit review of the actual diff. Prepares a journaled launch: returns the brief content, the target path, and the resolved CLI command for the Orchestrator to write and launch, and returns the Opus verdict labeled untrusted. Reviews nothing itself and endorses nothing."
3
3
  model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
- `.codex/agents/claude.toml` owns the Claude transport contract in full; read it and
8
- follow it.
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract. `.agents/transports/claude.md` owns the Claude transport contract
9
+ in full; read it and follow it.
9
10
 
10
11
  This route pins `--permission-mode plan`.
11
12
 
@@ -4,8 +4,11 @@ model = "gpt-5.6-luna"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "read-only"
6
6
  developer_instructions = """
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
7
10
  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
11
+ touches them so the Orchestrator can write a precise dispatch. Read AGENTS.md next for
9
12
  the repository model and rule map; nothing it owns is restated here.
10
13
 
11
14
  Locate, do not absorb: read excerpts sufficient to identify a seam, an owner, or a
@@ -4,8 +4,9 @@ model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "medium"
5
5
  sandbox_mode = "workspace-write"
6
6
  developer_instructions = """
7
- Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
8
- references, and the governing guide/spec. Run exactly the dispatched commands in
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract. Then read AGENTS.md, applicable .claude/rules files, the
9
+ dispatch-named skill and required references, and the governing guide/spec. Run exactly the dispatched commands in
9
10
  order. For the default independent sweep use:
10
11
  npm run format:check; npm run lint:check; npm run check; npm run build; npm test.
11
12
  Build outputs are allowed; never rewrite source or fix failures. Record each exit
@@ -14,7 +14,7 @@ developer_instructions = """
14
14
  Read AGENTS.md, .agents/orchestration.md, every applicable .claude/rules/*.md file, the
15
15
  dispatch-named .agents/skills workflow and its required references, and the governing
16
16
  guide or spec before acting. AGENTS.md controls code substance; .agents/orchestration.md
17
- controls agent operation; this layer adds only the Codex specifics below and cannot
17
+ controls agent operation; this layer adds only the following Codex specifics and cannot
18
18
  weaken either.
19
19
 
20
20
  Sol orchestrates in this harness. Act as the Orchestrator defined in