@orkestrel/scaffold 0.0.108 → 0.0.109

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 (157) hide show
  1. package/dist/agents/skills/orkestrel-dispatch/scripts/bench.js +326 -91
  2. package/dist/agents/skills/orkestrel-dispatch/scripts/brief.js +110 -14
  3. package/dist/agents/skills/orkestrel-dispatch/scripts/chain.js +280 -0
  4. package/dist/agents/skills/orkestrel-dispatch/scripts/cite.js +188 -26
  5. package/dist/agents/skills/orkestrel-dispatch/scripts/launch.js +142 -43
  6. package/dist/agents/skills/orkestrel-dispatch/scripts/login.js +240 -62
  7. package/dist/agents/skills/orkestrel-dispatch/scripts/patch.js +323 -0
  8. package/dist/agents/skills/orkestrel-dispatch/scripts/result.js +169 -32
  9. package/dist/agents/skills/orkestrel-dispatch/scripts/sweep.js +290 -69
  10. package/dist/agents/skills/orkestrel-falsify/scripts/mutate.js +560 -0
  11. package/dist/agents/skills/orkestrel-harden/scripts/discovery.js +1052 -205
  12. package/dist/agents/skills/orkestrel-harden/scripts/measure.js +361 -0
  13. package/dist/agents/skills/orkestrel-harden/scripts/titles.js +455 -80
  14. package/dist/agents/skills/orkestrel-parallel/scripts/cases.js +327 -0
  15. package/dist/agents/skills/orkestrel-publish/scripts/compare.js +298 -51
  16. package/dist/agents/skills/orkestrel-publish/scripts/pins.js +170 -13
  17. package/dist/agents/skills/orkestrel-publish/scripts/swap.js +956 -191
  18. package/dist/agents/skills/orkestrel-publish/scripts/wave.js +707 -112
  19. package/dist/agents/skills/orkestrel-publish/scripts/window.js +235 -41
  20. package/dist/agents/skills/orkestrel-scout/scripts/map.js +341 -54
  21. package/dist/agents/templates/brief.md +1 -1
  22. package/dist/bin/main.js +51 -46
  23. package/dist/bin/main.js.map +1 -1
  24. package/dist/host/AGENTS.md +23 -21
  25. package/dist/host/agents/orchestration.md +43 -18
  26. package/dist/host/agents/platforms/windows.md +3 -3
  27. package/dist/host/agents/skills/orkestrel-align/SKILL.md +10 -13
  28. package/dist/host/agents/skills/orkestrel-align/references/fleet.md +4 -10
  29. package/dist/host/agents/skills/orkestrel-align/references/integration.md +1 -1
  30. package/dist/host/agents/skills/orkestrel-build/SKILL.md +16 -48
  31. package/dist/host/agents/skills/orkestrel-build/agents/openai.yaml +1 -1
  32. package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +19 -16
  33. package/dist/host/agents/skills/orkestrel-debrief/agents/openai.yaml +1 -1
  34. package/dist/host/agents/skills/orkestrel-debrief/references/field-testing.md +15 -28
  35. package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +5 -6
  36. package/dist/host/agents/skills/orkestrel-debrief/references/retention.md +4 -6
  37. package/dist/host/agents/skills/orkestrel-dispatch/SKILL.md +31 -20
  38. package/dist/host/agents/skills/orkestrel-dispatch/references/launch.md +3 -4
  39. package/dist/host/agents/skills/orkestrel-dispatch/scripts/bench.ts +366 -75
  40. package/dist/host/agents/skills/orkestrel-dispatch/scripts/brief.ts +126 -16
  41. package/dist/host/agents/skills/orkestrel-dispatch/scripts/chain.ts +323 -0
  42. package/dist/host/agents/skills/orkestrel-dispatch/scripts/cite.ts +220 -31
  43. package/dist/host/agents/skills/orkestrel-dispatch/scripts/launch.ts +176 -33
  44. package/dist/host/agents/skills/orkestrel-dispatch/scripts/login.ts +294 -59
  45. package/dist/host/agents/skills/orkestrel-dispatch/scripts/patch.ts +401 -0
  46. package/dist/host/agents/skills/orkestrel-dispatch/scripts/result.ts +199 -34
  47. package/dist/host/agents/skills/orkestrel-dispatch/scripts/sweep.ts +330 -69
  48. package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +10 -8
  49. package/dist/host/agents/skills/orkestrel-falsify/references/brief.md +1 -5
  50. package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +1 -1
  51. package/dist/host/agents/skills/orkestrel-falsify/scripts/mutate.ts +701 -0
  52. package/dist/host/agents/skills/orkestrel-harden/SKILL.md +16 -12
  53. package/dist/host/agents/skills/orkestrel-harden/references/bindings.md +23 -81
  54. package/dist/host/agents/skills/orkestrel-harden/references/centralization.md +4 -5
  55. package/dist/host/agents/skills/orkestrel-harden/references/contract.md +2 -0
  56. package/dist/host/agents/skills/orkestrel-harden/references/document.md +33 -0
  57. package/dist/host/agents/skills/orkestrel-harden/references/equivalence.md +6 -3
  58. package/dist/host/agents/skills/orkestrel-harden/references/hardening.md +8 -4
  59. package/dist/host/agents/skills/orkestrel-harden/references/research.md +2 -0
  60. package/dist/host/agents/skills/orkestrel-harden/scripts/discovery.ts +1272 -279
  61. package/dist/host/agents/skills/orkestrel-harden/scripts/measure.ts +425 -0
  62. package/dist/host/agents/skills/orkestrel-harden/scripts/titles.ts +603 -98
  63. package/dist/host/agents/skills/orkestrel-journey/SKILL.md +75 -98
  64. package/dist/host/agents/skills/orkestrel-journey/references/captures.md +54 -17
  65. package/dist/host/agents/skills/orkestrel-journey/references/decide.md +1 -20
  66. package/dist/host/agents/skills/orkestrel-journey/references/layer.md +21 -31
  67. package/dist/host/agents/skills/orkestrel-journey/references/styles.md +1 -1
  68. package/dist/host/agents/skills/orkestrel-parallel/SKILL.md +28 -24
  69. package/dist/host/agents/skills/orkestrel-parallel/references/claude.md +15 -13
  70. package/dist/host/agents/skills/orkestrel-parallel/references/codex.md +1 -0
  71. package/dist/host/agents/skills/orkestrel-parallel/references/cursor.md +13 -13
  72. package/dist/host/agents/skills/orkestrel-parallel/scripts/cases.ts +389 -0
  73. package/dist/host/agents/skills/orkestrel-polish/SKILL.md +16 -20
  74. package/dist/host/agents/skills/orkestrel-polish/references/capture-harness.md +16 -26
  75. package/dist/host/agents/skills/orkestrel-publish/SKILL.md +12 -26
  76. package/dist/host/agents/skills/orkestrel-publish/agents/openai.yaml +2 -2
  77. package/dist/host/agents/skills/orkestrel-publish/references/adopt.md +23 -0
  78. package/dist/host/agents/skills/orkestrel-publish/references/release.md +4 -4
  79. package/dist/host/agents/skills/orkestrel-publish/references/wave.md +10 -9
  80. package/dist/host/agents/skills/orkestrel-publish/references/window.md +20 -25
  81. package/dist/host/agents/skills/orkestrel-publish/scripts/compare.ts +348 -59
  82. package/dist/host/agents/skills/orkestrel-publish/scripts/pins.ts +202 -22
  83. package/dist/host/agents/skills/orkestrel-publish/scripts/swap.ts +1061 -191
  84. package/dist/host/agents/skills/orkestrel-publish/scripts/wave.ts +812 -140
  85. package/dist/host/agents/skills/orkestrel-publish/scripts/window.ts +280 -38
  86. package/dist/host/agents/skills/orkestrel-scout/SKILL.md +3 -3
  87. package/dist/host/agents/skills/orkestrel-scout/scripts/map.ts +428 -70
  88. package/dist/host/agents/templates/brief.md +1 -1
  89. package/dist/host/agents/transports/claude-cli.md +3 -3
  90. package/dist/host/agents/transports/codex.md +2 -7
  91. package/dist/host/agents/transports/cursor.md +2 -3
  92. package/dist/host/claude/AGENTS.md +2 -2
  93. package/dist/host/claude/agents/analyst.md +3 -3
  94. package/dist/host/claude/agents/astra.md +3 -3
  95. package/dist/host/claude/agents/builder.md +1 -1
  96. package/dist/host/claude/agents/checker.md +1 -1
  97. package/dist/host/claude/agents/distiller.md +1 -1
  98. package/dist/host/claude/agents/grok.md +1 -1
  99. package/dist/host/claude/agents/opus.md +2 -2
  100. package/dist/host/claude/agents/orkestrel.md +57 -90
  101. package/dist/host/claude/agents/researcher.md +1 -1
  102. package/dist/host/claude/agents/reviewer.md +4 -0
  103. package/dist/host/claude/agents/scout.md +1 -1
  104. package/dist/host/claude/agents/verifier.md +1 -1
  105. package/dist/host/claude/rules/application.md +14 -21
  106. package/dist/host/claude/rules/architecture.md +34 -44
  107. package/dist/host/claude/rules/browser.md +3 -4
  108. package/dist/host/claude/rules/campaign.md +2 -2
  109. package/dist/host/claude/rules/documentation.md +25 -12
  110. package/dist/host/claude/rules/names.md +9 -4
  111. package/dist/host/claude/rules/patterns.md +6 -7
  112. package/dist/host/claude/rules/portability.md +1 -1
  113. package/dist/host/claude/rules/quality.md +4 -5
  114. package/dist/host/claude/rules/styles.md +2 -2
  115. package/dist/host/claude/rules/tests.md +57 -114
  116. package/dist/host/claude/rules/typescript.md +7 -9
  117. package/dist/host/claude/rules/workspace.md +21 -19
  118. package/dist/host/claude/rules/writing.md +2 -5
  119. package/dist/host/claude/skills/orkestrel-dispatch/SKILL.md +1 -1
  120. package/dist/host/claude/skills/orkestrel-harden/SKILL.md +1 -1
  121. package/dist/host/claude/skills/orkestrel-publish/SKILL.md +1 -1
  122. package/dist/host/claude/skills/orkestrel-scout/SKILL.md +1 -1
  123. package/dist/host/codex/agents/analyst.toml +9 -3
  124. package/dist/host/codex/agents/astra.toml +3 -4
  125. package/dist/host/codex/agents/builder.toml +1 -1
  126. package/dist/host/codex/agents/opus.toml +3 -4
  127. package/dist/host/codex/agents/orkestrel.toml +1 -1
  128. package/dist/host/codex/agents/researcher.toml +2 -2
  129. package/dist/host/codex/agents/verifier.toml +1 -1
  130. package/dist/host/configs/helpers.ts +21 -1
  131. package/dist/host/configs/policy.ts +299 -15
  132. package/dist/host/dotfiles/oxlintrc.json +137 -3
  133. package/dist/host/guides/agent.md +111 -134
  134. package/dist/host/guides/capture.md +801 -0
  135. package/dist/host/guides/probe.md +27 -8
  136. package/dist/host/guides/scaffold.md +96 -18
  137. package/dist/host/guides/study.md +534 -440
  138. package/dist/host/guides/test.md +111 -44
  139. package/dist/host/manifest.json +160 -240
  140. package/dist/host/tests/config.test.ts +971 -187
  141. package/dist/host/tests/policy.test.ts +127 -1
  142. package/dist/host/tests/setupPolicy.ts +893 -33
  143. package/dist/src/core/index.cjs +214 -86
  144. package/dist/src/core/index.cjs.map +1 -1
  145. package/dist/src/core/index.d.cts +122 -38
  146. package/dist/src/core/index.d.ts +122 -38
  147. package/dist/src/core/index.js +209 -85
  148. package/dist/src/core/index.js.map +1 -1
  149. package/dist/src/server/index.cjs +20 -27
  150. package/dist/src/server/index.cjs.map +1 -1
  151. package/dist/src/server/index.js +21 -28
  152. package/dist/src/server/index.js.map +1 -1
  153. package/package.json +11 -11
  154. package/dist/agents/skills/orkestrel-dispatch/scripts/helpers.js +0 -283
  155. package/dist/host/agents/skills/orkestrel-dispatch/references/bench.md +0 -25
  156. package/dist/host/agents/skills/orkestrel-dispatch/scripts/helpers.ts +0 -333
  157. package/dist/host/guides/supervisor.md +0 -4890
@@ -27,7 +27,7 @@ UNKNOWN and how the unit reports it.
27
27
  ## Scope
28
28
 
29
29
  - **Owned.** FILES, including the tests that pin the behavior, the fixtures derived from a constant, and the materialized copy of a template.
30
- - **Shared (report-only).** FILES; return an exact patch.
30
+ - **Shared (report-only).** FILES; return an exact patch as an edit file: one `### <path>` block per edit, each with a `reason:` line and fenced `old:` and `new:` texts, that `.agents/skills/orkestrel-dispatch/scripts/patch.ts` applies.
31
31
  - **Off-limits.** FILES. Never list `tmp/probes/` here.
32
32
  - **Made false by this change.** FILES, derived by running the suite or by a named search bound.
33
33
  - **Tools and limits.** ALLOWED_TOOLS; scoped validation only; no tree-wide source-mutating command. For a verifier, declare each permitted output path per `.agents/orchestration.md` § Permission floor.
@@ -1,6 +1,6 @@
1
1
  # Claude transport contract
2
2
 
3
- For harnesses that route work to the Claude Opus 5.5 bench, follow this file. Routes: `planner`, `reviewer`, `opus`. Read `.agents/orchestration.md` first; its Codex mapping uses native roles without this transport or a Claude probe. A driver writes the brief, resolves the command, and returns the brief path, the command, and the journal path. The Orchestrator launches the run as a tracked background command under a cap it sizes from prior runs.
3
+ For harnesses that route work to the Claude Opus 5.5 bench, follow this file. Routes: `planner`, `reviewer`, `opus`. Read `.agents/orchestration.md` first; its Codex mapping uses native roles without this transport or a Claude probe. `.agents/skills/orkestrel-dispatch/SKILL.md` § Launch owns the driver and launch contract.
4
4
 
5
5
  ## Command
6
6
 
@@ -9,9 +9,9 @@ node .agents/skills/orkestrel-dispatch/scripts/launch.ts --journal tmp/claude/<u
9
9
  ```
10
10
 
11
11
  - Pass the permission mode the route pins and `--model opus` for every route. Never substitute another alias, `fable`, or a fixed Claude model id.
12
- - Write the brief to `tmp/claude/<unit>-brief.md` with `scripts/brief.ts --lane claude`; the prompt is a pointer to it. Briefs never travel as shell arguments.
12
+ - Write the brief to `tmp/claude/<unit>-brief.md` with `scripts/brief.ts --lane claude`; the prompt is a pointer to it.
13
13
  - Read the answer and the session id with `node .agents/skills/orkestrel-dispatch/scripts/result.ts --claude tmp/claude/<unit>.jsonl`. A unit with no journal ran on its driver's engine, however normal its answer reads.
14
- - A driver pinned `workspace-write` writes the brief itself. A driver pinned `read-only` writes nothing: it returns the brief text, its intended path, the resolved command, and the journal paths, and the Orchestrator writes and launches.
14
+ - A driver pinned `workspace-write` writes the brief itself.
15
15
  - A driver never launches long work, recommends a cap, detaches, polls, restarts, or kills a run.
16
16
 
17
17
  ## Availability
@@ -1,6 +1,6 @@
1
1
  # Codex transport contract
2
2
 
3
- Every driver that carries a brief to the Codex GPT-6 Astra bench follows this file. Routes: `analyst` (audit, objective design argument) and `astra` (implementation). For native roles, use the canonical Codex mapping in `.agents/orchestration.md` without a bench launch or probe. A driver writes the brief, resolves the command, and returns the brief path, the command, and the journal path. The Orchestrator launches the run as a tracked background command under a cap it sizes from prior runs.
3
+ Every driver that carries a brief to the Codex GPT-6 Astra bench follows this file. Routes: `analyst` (audit, objective design argument) and `astra` (implementation). For native roles, use the canonical Codex mapping in `.agents/orchestration.md` without a bench launch or probe. `.agents/skills/orkestrel-dispatch/SKILL.md` § Launch owns the driver and launch contract.
4
4
 
5
5
  ## Models and effort
6
6
 
@@ -34,7 +34,6 @@ node .agents/skills/orkestrel-dispatch/scripts/launch.ts --journal tmp/codex/<un
34
34
  - On the measured Windows host `read-only` and `workspace-write` reject every shell command with `blocked by policy`. Recheck when the host or the Codex version changes. Under `danger-full-access` the brief states read-only where the route is read-only, and the launch script records `git status --porcelain` before and after; any difference is a deviation. This mode detects tracked changes only; it does not enforce read-only access.
35
35
  - Recorded POSIX sandbox behavior, to recheck when conditions change: network denied, `.git` mounted read-only, loopback bind fails `EPERM`, a grandchild process is denied. Route installs, live fetches, servers, process-tree proofs, and lockfile generation to the Orchestrator or a native writer.
36
36
  - A nested `git` inside the sandbox has reported `not a git repository` while the unit's own `git status` worked; name this in the brief so the unit does not diagnose the checkout.
37
- - When a sandbox rejects a write, the unit stops and reports it. It never tries another write mechanism.
38
37
  - A Windows shell write can re-encode text. Edit a line carrying a code point above `0x7F` with the exec's patch tool, never with `Set-Content`, `Out-File`, or `>`.
39
38
 
40
39
  ## Availability
@@ -42,13 +41,9 @@ node .agents/skills/orkestrel-dispatch/scripts/launch.ts --journal tmp/codex/<un
42
41
  - Probe with `node .agents/skills/orkestrel-dispatch/scripts/bench.ts --codex` before the first use in a session: it reads `codex --version` and `codex login status`, then runs one bounded exec and reports `live`. Neither the version nor the login status alone is liveness.
43
42
  - Binary absent: report it; the Orchestrator names `npm install -g @openai/codex` to the user and re-probes when the user answers.
44
43
  - Not logged in: the Orchestrator runs `node .agents/skills/orkestrel-dispatch/scripts/login.ts --codex` in the background, which journals `codex login --device-auth` to `tmp/codex/login.log`, prints the URL and the one-time code for the user, and polls the status until it answers; then it re-probes with `bench.ts --codex`.
45
- - Recovery impossible: record the bench dark. `planner` and `reviewer` hold the objective lane too; `builder` takes fully specified mechanics.
44
+ - Recovery impossible: record the bench dark; `.agents/orchestration.md` § Benches owns the substitution.
46
45
  - Never authenticate on the user's behalf, read an auth file, or substitute a key or token.
47
46
 
48
- ## Routing exclusion
49
-
50
- For harnesses that route `opus` to Claude, route a unit that authors path-containment, import-resolution-boundary, unescaped-input, or credential-exposure proofs to `opus` from the start and record the Codex bench dark for that unit only. For native Codex roles, report a harness refusal through the deviation protocol; the `opus` role uses the same harness.
51
-
52
47
  ## Journals
53
48
 
54
49
  Journals live under `tmp/codex/` and are never committed. `.agents/orchestration.md` § Cleanup owns their deletion.
@@ -1,6 +1,6 @@
1
1
  # Cursor transport contract
2
2
 
3
- Every driver that carries a brief to the Cursor Grok 4.7 Extra High bench follows this file. Route: `grok`. A driver writes the brief, resolves the command, and returns the brief path, the command, and the journal path. The Orchestrator launches the run as a tracked background command under a cap it sizes from prior runs. Read `.agents/orchestration.md` first; it owns the role set and the routing.
3
+ Every driver that carries a brief to the Cursor Grok 4.7 Extra High bench follows this file. Route: `grok`. Read `.agents/orchestration.md` first; it owns the role set and the routing. `.agents/skills/orkestrel-dispatch/SKILL.md` § Launch owns the driver and launch contract.
4
4
 
5
5
  ## Model
6
6
 
@@ -21,8 +21,7 @@ node .agents/skills/orkestrel-dispatch/scripts/launch.ts --journal tmp/cursor/<u
21
21
 
22
22
  - Write the brief to `tmp/cursor/<unit>-brief.md` with `scripts/brief.ts --lane cursor`; the prompt is a pointer to it.
23
23
  - Read the answer and the session id with `node .agents/skills/orkestrel-dispatch/scripts/result.ts --cursor tmp/cursor/<unit>.jsonl`. The `init` event carries the session id; resume through the CLI's `--resume` option, probed before its first use.
24
- - A driver runs a lane itself when the lane finishes well inside the foreground command cap of the harness running it (on Claude Code, `.claude/AGENTS.md` § Dispatch), and returns the result. For anything longer its job ends at drafting: return the brief path, the resolved command, and the journal path. A driver never recommends a cap and never detaches a run.
25
- - A driver pinned read-only writes nothing: it returns the brief text, its intended path, the resolved command, and the journal paths, and the Orchestrator writes and launches.
24
+ - A driver runs a lane itself when the lane finishes inside the foreground cap the harness page's Background row states (`.agents/skills/orkestrel-parallel/references/`), and returns the result. For anything longer its job ends at drafting: return the brief path, the resolved command, and the journal path. A driver never recommends a cap and never detaches a run.
26
25
 
27
26
  ## Containment
28
27
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  - `.agents/skills/orkestrel-parallel/references/claude.md` owns starting, continuing, tracking, and backgrounding lanes in Claude Code, and its quirks. Choose continuation or a fresh context per `.agents/orchestration.md` § Sessions and consultation.
8
8
  - Serialize writing Workflow nodes, and give every `agent()` node a model alias from § Models and an effort.
9
- - Use the built-in `Explore` agent with `model: haiku` for an exact bounded lookup; apply `.agents/orchestration.md` § Routing.
9
+ - Route an exact bounded lookup to `scout`, per `.agents/orchestration.md` § Routing.
10
10
  - Probe a bench with `node .agents/skills/orkestrel-dispatch/scripts/bench.ts`, launch a lane through `scripts/launch.ts`, and read its answer with `scripts/result.ts`, all from the dispatch skill. `.agents/platforms/<platform>.md` owns the host shell's quirks.
11
11
 
12
12
  ## Models
@@ -19,7 +19,7 @@
19
19
 
20
20
  ## Context and cache
21
21
 
22
- - Roles that launch a CLI, run gates, or only read set `omitClaudeMd: true`; their charters carry the permission floor they need. Writers and reviewers load the contract.
22
+ - A role that edits source, designs, or rules on conformance or drift loads the contract. A driver, a gate runner, and a bulk or lookup reader set `omitClaudeMd: true`, and their charters carry the permission floor they need.
23
23
  - Check whether MCP definitions load into the prefix or through deferred tool search before attributing a cache change to a server change.
24
24
  - Reload loaded project instructions through `/clear`, `/compact`, or a restart when required by the installed version. Do not treat a changed agent definition as a change to an already running agent's tool set.
25
25
  - Route supporting reads per `.agents/orchestration.md` § Routing. The main context holds decisions.
@@ -3,21 +3,21 @@ name: analyst
3
3
  description: 'Haiku 5.5 driver for the GPT-6 Astra analyst route: the objective design argument, diagnosis, and correctness audit. Writes the brief, resolves the read-only codex exec command, and returns the brief path, the command, and the journal path. Analyzes nothing itself and endorses nothing.'
4
4
  tools: Bash, Read, Grep, Glob
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: default
8
8
  omitClaudeMd: true
9
9
  ---
10
10
 
11
11
  On Claude Haiku 5.5, you drive the Astra `analyst` route. Do not analyze, judge, implement, or endorse the result yourself.
12
12
 
13
- Read `.agents/transports/codex.md` and follow it exactly. It owns the command, the sandbox by host, the journal, and the recovery ladder. The route is read-only: on a POSIX host the sandbox is `read-only`; on Windows it is `danger-full-access` with the brief stating read-only and the launch script recording `git status --porcelain` before and after.
13
+ Read `.agents/transports/codex.md` and follow it exactly. It owns the command, the sandbox, the journal, and the recovery ladder. The route writes nothing.
14
14
 
15
15
  ## Do
16
16
 
17
17
  1. Take the dispatch's brief, or write one to `tmp/codex/<unit>-brief.md` from the dispatch's objective, evidence slice, claims, scope, and return shape. For an audit, the brief names `tmp/units/<unit>-claims.md` and the `orkestrel-falsify` verdict shape.
18
18
  2. Run `node .agents/skills/orkestrel-dispatch/scripts/brief.ts --check <brief>` and fix every missing path.
19
19
  3. Resolve the `codex exec` command per the transport, as the `launch.ts` line it shows.
20
- 4. Return the brief path, the resolved command, and the journal path. When a bounded question finishes well inside the foreground command cap (`.claude/AGENTS.md` § Dispatch), run it yourself and return the answer read with `scripts/result.ts --codex`, with the journal path and session id; launch nothing longer, because the Orchestrator launches it under a cap.
20
+ 4. Run the command yourself only when the lane finishes inside the foreground cap the harness page's Background row states (`.agents/skills/orkestrel-parallel/references/`), and return the answer read with `node .agents/skills/orkestrel-dispatch/scripts/result.ts --codex`, with the journal path and session id. Otherwise return the brief path, the resolved command, and the journal path; the Orchestrator launches it under a cap per `.agents/skills/orkestrel-dispatch/SKILL.md` § Launch.
21
21
 
22
22
  ## Refuse
23
23
 
@@ -3,14 +3,14 @@ name: astra
3
3
  description: 'Haiku 5.5 driver for the GPT-6 Astra implementation route: one bounded, objective, constraint-heavy unit. Writes the brief, resolves the writing 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
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: default
8
8
  omitClaudeMd: true
9
9
  ---
10
10
 
11
11
  On Claude Haiku 5.5, you drive the Astra implementation route. Do not implement, judge, or endorse the result yourself.
12
12
 
13
- Read `.agents/transports/codex.md` and follow it exactly. It owns the command, the sandbox by host (`workspace-write` on POSIX, `danger-full-access` on Windows), the journal, and the recovery ladder.
13
+ Read `.agents/transports/codex.md` and follow it exactly. It owns the command, the sandbox, the journal, and the recovery ladder. The route writes.
14
14
 
15
15
  ## Do
16
16
 
@@ -22,5 +22,5 @@ Read `.agents/transports/codex.md` and follow it exactly. It owns the command, t
22
22
  ## Refuse
23
23
 
24
24
  - A unit that needs no write: report it as misrouted to `analyst`.
25
- - A unit whose work is a negative test that authors a violation construct: report it as routed to `opus` per the transport's exclusion.
25
+ - A unit whose work is a negative test that authors a violation construct: report it as routed to `opus` per `.agents/orchestration.md` § Routing.
26
26
  - A second writer in the same checkout.
@@ -15,7 +15,7 @@ On Claude Sonnet 5.5, you implement one bounded unit with a closed shape. The di
15
15
  2. Write only the owned files. Return an exact patch for a shared file; never edit it.
16
16
  3. At the size the brief names, follow `AGENTS.md` § Work loop. Edit, prove or test the claim, run the touched test file, then the touched project when the brief names it.
17
17
  4. Validate read-only and scoped: a non-fix lint on your paths, the scoped `check:` script, the touched tests. Never run `format`, lint `--fix`, `build`, or the whole suite.
18
- 5. Delete any probe you wrote before returning; promote a probe that settled a claim into a test in the mirrored location.
18
+ 5. Leave no probe behind, per `.claude/rules/tests.md` § Probes.
19
19
  6. Stop and report per `.agents/orchestration.md` § Deviation protocol when the brief conflicts with the tree or asks for an unowned edit.
20
20
 
21
21
  ## Refuse
@@ -3,7 +3,7 @@ name: checker
3
3
  description: 'Haiku 5.5 mechanical conformance review of a diff against its acceptance criteria, the AGENTS.md letter, the applicable rules, scope honesty, and guide parity. One piece of evidence per item; no judgment calls. Dispatched when criteria are mechanically checkable. Never edits.'
4
4
  tools: Read, Grep, Glob
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: dontAsk
8
8
  ---
9
9
 
@@ -3,7 +3,7 @@ name: distiller
3
3
  description: 'Haiku 5.5 read-only bulk reading and evidence distillation when the Cursor Grok bench is dark: sweeps large files, diffs, and directory trees and returns cited facts, contradictions, and unresolved inputs. Never designs, implements, reviews, or accepts.'
4
4
  tools: Read, Grep, Glob
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: dontAsk
8
8
  omitClaudeMd: true
9
9
  ---
@@ -3,7 +3,7 @@ name: grok
3
3
  description: 'Haiku 5.5 driver for the Cursor Grok bench: context absorption, distillation, broad mapping, and exploration. Writes the brief, resolves the CLI command, and returns the Grok distillate with its journal path and session id. Reads nothing at depth itself and never designs, decides, edits, or reviews.'
4
4
  tools: Bash, Read, Grep, Glob
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: default
8
8
  omitClaudeMd: true
9
9
  ---
@@ -12,10 +12,10 @@ On Claude Opus 5.5, you implement one dispatched unit and spawn nothing.
12
12
  ## Do
13
13
 
14
14
  1. Read the brief, `AGENTS.md`, the rules whose `paths` match the owned files, the named skill, and the guide.
15
- 2. Follow `AGENTS.md` § Work loop: types first, prove the claim with the `prove` tool, implement, test, consolidate, document. For a defect, record the failing command and count before the fix and the same command green after.
15
+ 2. Follow `AGENTS.md` § Work loop: types first, prove the claim with the `prove` tool, implement, test, consolidate, document.
16
16
  3. Write only the owned files; return an exact patch for a shared file.
17
17
  4. Validate read-only and scoped: the `check:` script of the touched project, the touched test file, then the touched project. Never run `format`, lint `--fix`, `build`, or the whole suite.
18
- 5. Delete every probe before returning; promote a probe that settled a claim into a test.
18
+ 5. Leave no probe behind, per `.claude/rules/tests.md` § Probes.
19
19
  6. Finish the whole unit. Stop only per `.agents/orchestration.md` § Deviation protocol.
20
20
 
21
21
  ## Refuse
@@ -43,59 +43,59 @@ so network-controlled descriptions never enter agent instruction context.
43
43
 
44
44
  <!-- orkestrel:catalog -->
45
45
 
46
- | Package | Version | Layer | Runtime dependencies | Peer dependencies |
47
- | ----------------------- | --------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- |
48
- | `@orkestrel/abort` | `0.0.13` | L1 | `@orkestrel/contract` `^0.0.19` | |
49
- | `@orkestrel/agent` | `0.0.31` | L5 | `@orkestrel/tool` `^0.0.19`, `@orkestrel/abort` `^0.0.13`, `@orkestrel/queue` `^0.0.17`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18`, `@orkestrel/workflow` `^0.0.23`, `@orkestrel/workspace` `^0.0.12` | |
50
- | `@orkestrel/brief` | `0.0.11` | L4 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/interpret` `^0.0.16` | |
51
- | `@orkestrel/browser` | `0.0.29` | L5 | `@orkestrel/mcp` `^0.0.39`, `@orkestrel/html` `^0.0.12`, `@orkestrel/pool` `^0.0.17`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/codec` `^0.0.6`, `@orkestrel/router` `^0.0.17`, `@orkestrel/server` `^0.0.23`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/markdown` `^0.0.17`, `@orkestrel/websocket` `^0.0.15` | |
52
- | `@orkestrel/budget` | `0.0.14` | L1 | `@orkestrel/contract` `^0.0.19` | |
53
- | `@orkestrel/codec` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.19` | |
54
- | `@orkestrel/console` | `0.0.16` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
55
- | `@orkestrel/contract` | `0.0.19` | L0 | | |
56
- | `@orkestrel/csv` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.19` | |
57
- | `@orkestrel/database` | `0.0.18` | L2 | `@orkestrel/sqlite` `^0.0.14`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/indexeddb` `^0.0.14` | |
58
- | `@orkestrel/emitter` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.19` | |
59
- | `@orkestrel/form` | `0.0.13` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
60
- | `@orkestrel/guide` | `0.0.25` | L3 | `@orkestrel/contract` `^0.0.19`, `@orkestrel/markdown` `^0.0.17` | |
61
- | `@orkestrel/html` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.19` | |
62
- | `@orkestrel/indexeddb` | `0.0.14` | L1 | `@orkestrel/contract` `^0.0.19` | |
63
- | `@orkestrel/interpret` | `0.0.16` | L3 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/template` `^0.0.10` | |
64
- | `@orkestrel/lsp` | `0.0.11` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19` | |
65
- | `@orkestrel/markdown` | `0.0.17` | L2 | `@orkestrel/html` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
66
- | `@orkestrel/mcp` | `0.0.39` | L4 | `@orkestrel/sse` `^0.0.10`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/codec` `^0.0.6`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/websocket` `^0.0.15` | `@orkestrel/router` `^0.0.17`, `@orkestrel/server` `^0.0.23` |
67
- | `@orkestrel/middleware` | `0.0.25` | L4 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | `@orkestrel/server` `^0.0.23`, `@orkestrel/database` `^0.0.18` |
68
- | `@orkestrel/msg` | `0.0.13` | L1 | `@orkestrel/contract` `^0.0.19` | |
69
- | `@orkestrel/ndjson` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.19` | |
70
- | `@orkestrel/ollama` | `0.0.25` | L6 | `@orkestrel/tool` `^0.0.19`, `@orkestrel/agent` `^0.0.31`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/ndjson` `^0.0.12`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19` | |
71
- | `@orkestrel/pool` | `0.0.17` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
72
- | `@orkestrel/probe` | `0.0.24` | L5 | `@orkestrel/lsp` `^0.0.11`, `@orkestrel/mcp` `^0.0.39`, `@orkestrel/pool` `^0.0.17`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | `vitest` `^4.1.12`, `typescript` `^6.0.3` |
73
- | `@orkestrel/process` | `0.0.15` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
74
- | `@orkestrel/program` | `0.0.16` | L4 | `@orkestrel/rater` `^0.0.17`, `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/qualifier` `^0.0.17` | |
75
- | `@orkestrel/qualifier` | `0.0.17` | L3 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
76
- | `@orkestrel/queue` | `0.0.17` | L3 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
77
- | `@orkestrel/rater` | `0.0.17` | L3 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
78
- | `@orkestrel/reason` | `0.0.13` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
79
- | `@orkestrel/relation` | `0.0.16` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
80
- | `@orkestrel/router` | `0.0.17` | L2 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
81
- | `@orkestrel/scaffold` | `0.0.105` | L3 | `@orkestrel/console` `^0.0.16`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/markdown` `^0.0.17`, `@orkestrel/template` `^0.0.10` | |
82
- | `@orkestrel/sea` | `0.0.19` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19` | |
83
- | `@orkestrel/server` | `0.0.23` | L3 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/codec` `^0.0.6`, `@orkestrel/router` `^0.0.17`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | |
84
- | `@orkestrel/sqlite` | `0.0.14` | L1 | `@orkestrel/contract` `^0.0.19` | |
85
- | `@orkestrel/sse` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.19` | |
86
- | `@orkestrel/study` | `0.0.3` | L7 | `@orkestrel/tool` `^0.0.19`, `@orkestrel/abort` `^0.0.13`, `@orkestrel/agent` `^0.0.31`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/ollama` `^0.0.25`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | |
87
- | `@orkestrel/supervisor` | `0.0.1` | L5 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.9`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/workflow` `^0.0.12` | |
88
- | `@orkestrel/table` | `0.0.12` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
89
- | `@orkestrel/template` | `0.0.10` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
90
- | `@orkestrel/terminal` | `0.0.20` | L3 | `@orkestrel/sse` `^0.0.10`, `@orkestrel/form` `^0.0.12`, `@orkestrel/console` `^0.0.16`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
91
- | `@orkestrel/test` | `0.0.29` | L1 | `@orkestrel/contract` `^0.0.19` | `vitest` `^4.1.12`, `playwright` `^1.64.1` |
92
- | `@orkestrel/timeout` | `0.0.13` | L1 | `@orkestrel/contract` `^0.0.19` | |
93
- | `@orkestrel/tool` | `0.0.19` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
94
- | `@orkestrel/toolbox` | `0.0.20` | L6 | `@orkestrel/form` `^0.0.12`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/agent` `^0.0.31`, `@orkestrel/server` `^0.0.23`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18`, `@orkestrel/relation` `^0.0.16`, `@orkestrel/terminal` `^0.0.20`, `@orkestrel/workflow` `^0.0.23`, `@orkestrel/workspace` `^0.0.12` | |
95
- | `@orkestrel/websocket` | `0.0.15` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
96
- | `@orkestrel/worker` | `0.0.17` | L4 | `@orkestrel/pool` `^0.0.17`, `@orkestrel/queue` `^0.0.17`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
97
- | `@orkestrel/workflow` | `0.0.23` | L4 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/queue` `^0.0.17`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
98
- | `@orkestrel/workspace` | `0.0.12` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
46
+ | Package | Version | Layer | Runtime dependencies | Peer dependencies |
47
+ | ----------------------- | --------- | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
48
+ | `@orkestrel/abort` | `0.0.13` | L1 | `@orkestrel/contract` `^0.0.19` | |
49
+ | `@orkestrel/agent` | `0.0.32` | L5 | `@orkestrel/tool` `^0.0.19`, `@orkestrel/abort` `^0.0.13`, `@orkestrel/queue` `^0.0.17`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18`, `@orkestrel/workflow` `^0.0.23`, `@orkestrel/workspace` `^0.0.12` | |
50
+ | `@orkestrel/brief` | `0.0.11` | L4 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/interpret` `^0.0.16` | |
51
+ | `@orkestrel/browser` | `0.0.29` | L5 | `@orkestrel/mcp` `^0.0.39`, `@orkestrel/html` `^0.0.12`, `@orkestrel/pool` `^0.0.17`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/codec` `^0.0.6`, `@orkestrel/router` `^0.0.17`, `@orkestrel/server` `^0.0.23`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/markdown` `^0.0.17`, `@orkestrel/websocket` `^0.0.15` | |
52
+ | `@orkestrel/budget` | `0.0.14` | L1 | `@orkestrel/contract` `^0.0.19` | |
53
+ | `@orkestrel/capture` | `0.0.1` | L3 | `@orkestrel/process` `^0.0.15`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | `vite` `^8.3.5`, `vitest` `^4.1.12 \|\| ^5.0.5`, `playwright` `^1.61.0`, `@vitest/browser-playwright` `^4.1.12 \|\| ^5.0.5` |
54
+ | `@orkestrel/codec` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.19` | |
55
+ | `@orkestrel/console` | `0.0.16` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
56
+ | `@orkestrel/contract` | `0.0.19` | L0 | | |
57
+ | `@orkestrel/csv` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.19` | |
58
+ | `@orkestrel/database` | `0.0.18` | L2 | `@orkestrel/sqlite` `^0.0.14`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/indexeddb` `^0.0.14` | |
59
+ | `@orkestrel/emitter` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.19` | |
60
+ | `@orkestrel/form` | `0.0.13` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
61
+ | `@orkestrel/guide` | `0.0.25` | L3 | `@orkestrel/contract` `^0.0.19`, `@orkestrel/markdown` `^0.0.17` | |
62
+ | `@orkestrel/html` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.19` | |
63
+ | `@orkestrel/indexeddb` | `0.0.14` | L1 | `@orkestrel/contract` `^0.0.19` | |
64
+ | `@orkestrel/interpret` | `0.0.16` | L3 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/template` `^0.0.10` | |
65
+ | `@orkestrel/lsp` | `0.0.11` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19` | |
66
+ | `@orkestrel/markdown` | `0.0.17` | L2 | `@orkestrel/html` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
67
+ | `@orkestrel/mcp` | `0.0.39` | L4 | `@orkestrel/sse` `^0.0.10`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/codec` `^0.0.6`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/websocket` `^0.0.15` | `@orkestrel/router` `^0.0.17`, `@orkestrel/server` `^0.0.23` |
68
+ | `@orkestrel/middleware` | `0.0.25` | L4 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | `@orkestrel/server` `^0.0.23`, `@orkestrel/database` `^0.0.18` |
69
+ | `@orkestrel/msg` | `0.0.13` | L1 | `@orkestrel/contract` `^0.0.19` | |
70
+ | `@orkestrel/ndjson` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.19` | |
71
+ | `@orkestrel/ollama` | `0.0.26` | L6 | `@orkestrel/tool` `^0.0.19`, `@orkestrel/agent` `^0.0.32`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/ndjson` `^0.0.12`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19` | |
72
+ | `@orkestrel/pool` | `0.0.17` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
73
+ | `@orkestrel/probe` | `0.0.25` | L5 | `@orkestrel/lsp` `^0.0.11`, `@orkestrel/mcp` `^0.0.39`, `@orkestrel/pool` `^0.0.17`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | `vitest` `^4.1.12 \|\| ^5.0.5`, `typescript` `^6.0.3 \|\| ^7.0.2` |
74
+ | `@orkestrel/process` | `0.0.15` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
75
+ | `@orkestrel/program` | `0.0.16` | L4 | `@orkestrel/rater` `^0.0.17`, `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/qualifier` `^0.0.17` | |
76
+ | `@orkestrel/qualifier` | `0.0.17` | L3 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
77
+ | `@orkestrel/queue` | `0.0.17` | L3 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
78
+ | `@orkestrel/rater` | `0.0.17` | L3 | `@orkestrel/reason` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
79
+ | `@orkestrel/reason` | `0.0.13` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
80
+ | `@orkestrel/relation` | `0.0.16` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
81
+ | `@orkestrel/router` | `0.0.17` | L2 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
82
+ | `@orkestrel/scaffold` | `0.0.108` | L3 | `@orkestrel/console` `^0.0.16`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/markdown` `^0.0.17`, `@orkestrel/template` `^0.0.10` | |
83
+ | `@orkestrel/sea` | `0.0.19` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/process` `^0.0.15`, `@orkestrel/contract` `^0.0.19` | |
84
+ | `@orkestrel/server` | `0.0.23` | L3 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/codec` `^0.0.6`, `@orkestrel/router` `^0.0.17`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | |
85
+ | `@orkestrel/sqlite` | `0.0.14` | L1 | `@orkestrel/contract` `^0.0.19` | |
86
+ | `@orkestrel/sse` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.19` | |
87
+ | `@orkestrel/study` | `0.0.6` | L7 | `@orkestrel/tool` `^0.0.19`, `@orkestrel/abort` `^0.0.13`, `@orkestrel/agent` `^0.0.32`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/ollama` `^0.0.26`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19` | |
88
+ | `@orkestrel/table` | `0.0.12` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
89
+ | `@orkestrel/template` | `0.0.10` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
90
+ | `@orkestrel/terminal` | `0.0.20` | L3 | `@orkestrel/sse` `^0.0.10`, `@orkestrel/form` `^0.0.12`, `@orkestrel/console` `^0.0.16`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
91
+ | `@orkestrel/test` | `0.0.30` | L1 | `@orkestrel/contract` `^0.0.19` | `vitest` `^4.1.12 \|\| ^5.0.5`, `playwright` `^1.64.1` |
92
+ | `@orkestrel/timeout` | `0.0.13` | L1 | `@orkestrel/contract` `^0.0.19` | |
93
+ | `@orkestrel/tool` | `0.0.19` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
94
+ | `@orkestrel/toolbox` | `0.0.21` | L6 | `@orkestrel/form` `^0.0.13`, `@orkestrel/tool` `^0.0.19`, `@orkestrel/agent` `^0.0.32`, `@orkestrel/server` `^0.0.23`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18`, `@orkestrel/relation` `^0.0.16`, `@orkestrel/terminal` `^0.0.20`, `@orkestrel/workflow` `^0.0.23`, `@orkestrel/workspace` `^0.0.12` | |
95
+ | `@orkestrel/websocket` | `0.0.15` | L2 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19` | |
96
+ | `@orkestrel/worker` | `0.0.17` | L4 | `@orkestrel/pool` `^0.0.17`, `@orkestrel/queue` `^0.0.17`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
97
+ | `@orkestrel/workflow` | `0.0.23` | L4 | `@orkestrel/abort` `^0.0.13`, `@orkestrel/queue` `^0.0.17`, `@orkestrel/budget` `^0.0.14`, `@orkestrel/emitter` `^0.0.12`, `@orkestrel/timeout` `^0.0.13`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
98
+ | `@orkestrel/workspace` | `0.0.12` | L3 | `@orkestrel/emitter` `^0.0.12`, `@orkestrel/contract` `^0.0.19`, `@orkestrel/database` `^0.0.18` | |
99
99
 
100
100
  <!-- /orkestrel:catalog -->
101
101
 
@@ -103,35 +103,9 @@ Repositories map as `github: orkestrel/<name>` to `npm: @orkestrel/<name>`.
103
103
 
104
104
  ## Versions
105
105
 
106
- The fleet is `0.0.x`, and `^0.0.N` resolves to exactly `0.0.N`. Read every such declared
107
- range as a pin, never as a range. A dependent stays on its pinned version until someone
108
- rewrites the dependent's own declared range and re-publishes the dependent. Publishing a
109
- new version reaches no consumer on its own.
110
-
111
- A **runtime** bump therefore obliges a re-publish of every package downstream of it, in
112
- layer order. Report that cascade whenever you sequence cross-package work or state blast
113
- radius: name each downstream package, its declared range, and its layer. A package whose
114
- pin names an older version runs that older version, whatever the registry holds.
115
-
116
- A **development** bump obliges nothing. A `devDependencies` range reaches no consumer of
117
- the published package, so re-pin it, prove the gates still green, and stop. Never report a
118
- development bump as a cascade. It becomes one only when the rebuilt `dist/` differs
119
- materially from the published artifact after the re-pin — sourcemaps excluded,
120
- whitespace-only differences ignored — meaning the published surface moved, through a
121
- forced `src`/`app` edit or a changed toolchain emit, and the package then bumps on that
122
- account rather than on the dependency's. A superfluous diff obliges nothing.
123
-
124
- The `Layer` column in the catalog table is the publish round, derived from the runtime
125
- and peer edges in the same row. `L0` depends on nothing else in the fleet and publishes
126
- first; each later layer publishes only after every layer before it is on the registry. A
127
- row with no layer sits in a cycle and cannot be placed in a round at all. Packages in
128
- one layer are independent of each other and may publish in any order within it.
129
-
130
- Report a disagreeing pin as a defect, never as drift to tidy later. When packages in
131
- one install graph pin different versions of a dependency, npm installs both copies, and the
132
- compiler reads those copies as distinct types. The symptom is a type error naming
133
- one type as not assignable to itself. `npm ls @orkestrel/<name>` is the evidence: one line
134
- is sound, and nesting is the finding.
106
+ Report the cascade a bump obliges per `.agents/skills/orkestrel-publish/references/release.md` § What a bump obliges: name each downstream package, its declared range, and its layer. The `Layer` column of the catalog table is the publish round. A package whose pin names an older version runs that older version, whatever the registry holds.
107
+
108
+ Report a disagreeing pin as a defect. `npm ls @orkestrel/<name>` is the evidence: one line is sound, and nesting is the finding.
135
109
 
136
110
  ## Evidence workflow
137
111
 
@@ -142,14 +116,7 @@ is sound, and nesting is the finding.
142
116
  4. Sequence cross-package work dependency-first; identify every affected consumer.
143
117
  5. Return the smallest evidence set the Orchestrator needs.
144
118
 
145
- Use the repository's standard anatomy when orienting:
146
-
147
- - published src environments: `src/core`, `src/browser`, `src/server`;
148
- - private app environments: `app/core`, `app/browser`, `app/server`;
149
- - thin target configuration: `configs/src`, `configs/app`;
150
- - mirrored tests under `tests/src` and `tests/app`;
151
- - public barrels at each environment's `index.ts`, using only `export *`;
152
- - package behavior in `guides/<package>.md`.
119
+ Orient by `AGENTS.md` § Project model; package behavior lives in `guides/<package>.md`.
153
120
 
154
121
  ## Output
155
122
 
@@ -3,7 +3,7 @@ name: researcher
3
3
  description: 'Haiku 5.5 read-only primary-source research when the Cursor Grok bench is dark: external capabilities, protocol and upstream comparisons, installed dependency surfaces, and capability/defect matrices with citations. Never designs, edits, or decides.'
4
4
  tools: Read, Grep, Glob, WebFetch, WebSearch
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: dontAsk
8
8
  omitClaudeMd: true
9
9
  ---
@@ -18,6 +18,10 @@ On Claude Opus 5.5, you review by trying to falsify the claims. You hold no edit
18
18
  5. Refer a question outside your lane to the other lane or the Orchestrator with its evidence; never rule on it.
19
19
  6. Treat a bench's finding as a proposal to test against the code, never as authority.
20
20
 
21
+ ## Refuse
22
+
23
+ Reviewing work you wrote or helped design; review runs in a clean context.
24
+
21
25
  ## Return
22
26
 
23
27
  The `orkestrel-falsify` verdict shape: numbered verdicts with evidence, findings outside the claims, tested-and-held, one terminal line. Each required change carries `file:line`, what is wrong, and what right looks like. Nothing else.
@@ -3,7 +3,7 @@ name: scout
3
3
  description: 'Haiku 5.5 read-only exact bounded lookup of files, symbols, and seams. Returns file:line pointers and a shape summary. Refuses broad mapping, context absorption, and exploratory or fishing reads. Never edits or judges quality.'
4
4
  tools: Read, Grep, Glob
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: dontAsk
8
8
  omitClaudeMd: true
9
9
  ---
@@ -3,7 +3,7 @@ name: verifier
3
3
  description: 'Haiku 5.5 gate runner: runs the exact gates or evidence commands the dispatch names, scoped first, and reports exit-code truth with exact failure excerpts. Independent of every writer; never fixes.'
4
4
  tools: Read, Grep, Glob, Bash
5
5
  model: haiku
6
- effort: high
6
+ effort: low
7
7
  permissionMode: default
8
8
  omitClaudeMd: true
9
9
  ---