@orkestrel/scaffold 0.0.77 → 0.0.79

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 (158) hide show
  1. package/dist/agents/skills/orkestrel-dispatch/scripts/bench.js +204 -0
  2. package/dist/agents/skills/orkestrel-dispatch/scripts/brief.js +102 -0
  3. package/dist/agents/skills/orkestrel-dispatch/scripts/cite.js +95 -0
  4. package/dist/agents/skills/orkestrel-dispatch/scripts/helpers.js +207 -0
  5. package/dist/agents/skills/orkestrel-dispatch/scripts/launch.js +108 -0
  6. package/dist/agents/skills/orkestrel-dispatch/scripts/login.js +114 -0
  7. package/dist/agents/skills/orkestrel-dispatch/scripts/result.js +108 -0
  8. package/dist/agents/skills/orkestrel-dispatch/scripts/sweep.js +156 -0
  9. package/dist/agents/skills/orkestrel-harden/scripts/discovery.js +196 -0
  10. package/dist/agents/skills/orkestrel-publish/scripts/compare.js +206 -0
  11. package/dist/agents/skills/orkestrel-publish/scripts/pins.js +93 -0
  12. package/dist/agents/skills/orkestrel-publish/scripts/wave.js +458 -0
  13. package/dist/agents/skills/orkestrel-publish/scripts/window.js +188 -0
  14. package/dist/agents/skills/orkestrel-scout/scripts/map.js +300 -0
  15. package/dist/agents/templates/brief.md +55 -0
  16. package/dist/bin/main.js +58 -6
  17. package/dist/bin/main.js.map +1 -1
  18. package/dist/host/AGENTS.md +77 -135
  19. package/dist/host/agents/orchestration.md +147 -998
  20. package/dist/host/agents/skills/enterprise-bootstrap/SKILL.md +2 -2
  21. package/dist/host/agents/skills/enterprise-bootstrap/references/inspection.md +1 -1
  22. package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/SKILL.md +6 -13
  23. package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/agents/openai.yaml +1 -1
  24. package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/references/fleet.md +5 -7
  25. package/dist/host/agents/skills/{orkestrel-build-application → orkestrel-build}/SKILL.md +11 -22
  26. package/dist/host/agents/skills/{orkestrel-build-application → orkestrel-build}/agents/openai.yaml +1 -1
  27. package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +8 -16
  28. package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +3 -3
  29. package/dist/host/agents/skills/orkestrel-debrief/references/retention.md +13 -13
  30. package/dist/host/agents/skills/orkestrel-dispatch/SKILL.md +61 -0
  31. package/dist/host/agents/skills/orkestrel-dispatch/agents/openai.yaml +4 -0
  32. package/dist/host/agents/skills/orkestrel-dispatch/references/bench.md +25 -0
  33. package/dist/host/agents/skills/orkestrel-dispatch/references/launch.md +32 -0
  34. package/dist/host/agents/skills/orkestrel-dispatch/scripts/bench.ts +259 -0
  35. package/dist/host/agents/skills/orkestrel-dispatch/scripts/brief.ts +110 -0
  36. package/dist/host/agents/skills/orkestrel-dispatch/scripts/cite.ts +115 -0
  37. package/dist/host/agents/skills/orkestrel-dispatch/scripts/helpers.ts +239 -0
  38. package/dist/host/agents/skills/orkestrel-dispatch/scripts/launch.ts +124 -0
  39. package/dist/host/agents/skills/orkestrel-dispatch/scripts/login.ts +123 -0
  40. package/dist/host/agents/skills/orkestrel-dispatch/scripts/result.ts +129 -0
  41. package/dist/host/agents/skills/orkestrel-dispatch/scripts/sweep.ts +157 -0
  42. package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +42 -193
  43. package/dist/host/agents/skills/orkestrel-falsify/references/brief.md +38 -108
  44. package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +35 -134
  45. package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/SKILL.md +10 -14
  46. package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/agents/openai.yaml +1 -1
  47. package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/hardening.md +3 -4
  48. package/dist/host/agents/skills/orkestrel-harden/scripts/discovery.ts +228 -0
  49. package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/SKILL.md +15 -23
  50. package/dist/host/agents/skills/orkestrel-journey/agents/openai.yaml +4 -0
  51. package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/captures.md +1 -1
  52. package/dist/host/agents/skills/{orkestrel-polish-surface → orkestrel-polish}/SKILL.md +25 -33
  53. package/dist/host/agents/skills/{orkestrel-polish-surface → orkestrel-polish}/agents/openai.yaml +1 -1
  54. package/dist/host/agents/skills/{orkestrel-polish-surface → orkestrel-polish}/references/capture-harness.md +3 -3
  55. package/dist/host/agents/skills/orkestrel-publish/SKILL.md +33 -20
  56. package/dist/host/agents/skills/orkestrel-publish/references/release.md +39 -0
  57. package/dist/host/agents/skills/orkestrel-publish/references/wave.md +22 -21
  58. package/dist/host/agents/skills/orkestrel-publish/references/window.md +27 -14
  59. package/dist/host/agents/skills/orkestrel-publish/scripts/compare.ts +220 -0
  60. package/dist/host/agents/skills/orkestrel-publish/scripts/pins.ts +114 -0
  61. package/dist/host/agents/skills/orkestrel-publish/scripts/wave.ts +629 -0
  62. package/dist/host/agents/skills/orkestrel-publish/scripts/window.ts +242 -0
  63. package/dist/host/agents/skills/orkestrel-scout/SKILL.md +28 -0
  64. package/dist/host/agents/skills/orkestrel-scout/agents/openai.yaml +4 -0
  65. package/dist/host/agents/skills/orkestrel-scout/scripts/map.ts +352 -0
  66. package/dist/host/agents/templates/brief.md +21 -142
  67. package/dist/host/agents/transports/claude-cli.md +21 -0
  68. package/dist/host/agents/transports/codex.md +38 -159
  69. package/dist/host/agents/transports/cursor.md +16 -65
  70. package/dist/host/claude/AGENTS.md +38 -0
  71. package/dist/host/claude/agents/analyst.md +14 -53
  72. package/dist/host/claude/agents/astra.md +26 -0
  73. package/dist/host/claude/agents/builder.md +14 -30
  74. package/dist/host/claude/agents/checker.md +13 -57
  75. package/dist/host/claude/agents/distiller.md +11 -26
  76. package/dist/host/claude/agents/grok.md +12 -35
  77. package/dist/host/claude/agents/opus.md +14 -30
  78. package/dist/host/claude/agents/orkestrel.md +4 -4
  79. package/dist/host/claude/agents/planner.md +10 -44
  80. package/dist/host/claude/agents/researcher.md +11 -30
  81. package/dist/host/claude/agents/reviewer.md +11 -95
  82. package/dist/host/claude/agents/scout.md +9 -23
  83. package/dist/host/claude/agents/verifier.md +15 -33
  84. package/dist/host/claude/rules/documentation.md +8 -2
  85. package/dist/host/claude/rules/portability.md +7 -1
  86. package/dist/host/claude/rules/quality.md +36 -96
  87. package/dist/host/claude/rules/styles.md +3 -0
  88. package/dist/host/claude/rules/tests.md +6 -3
  89. package/dist/host/claude/rules/workspace.md +21 -15
  90. package/dist/host/claude/rules/writing.md +57 -108
  91. package/dist/host/claude/settings.json +5 -3
  92. package/dist/host/claude/skills/enterprise-bootstrap/SKILL.md +1 -1
  93. package/dist/host/claude/skills/{orkestrel-align-packages → orkestrel-align}/SKILL.md +2 -2
  94. package/dist/host/claude/skills/{orkestrel-build-application → orkestrel-build}/SKILL.md +2 -2
  95. package/dist/host/claude/skills/orkestrel-dispatch/SKILL.md +11 -0
  96. package/dist/host/claude/skills/orkestrel-falsify/SKILL.md +2 -1
  97. package/dist/host/claude/skills/{orkestrel-harden-package → orkestrel-harden}/SKILL.md +2 -2
  98. package/dist/host/claude/skills/{orkestrel-prove-journey → orkestrel-journey}/SKILL.md +2 -2
  99. package/dist/host/claude/skills/orkestrel-polish/SKILL.md +12 -0
  100. package/dist/host/claude/skills/orkestrel-scout/SKILL.md +11 -0
  101. package/dist/host/codex/agents/analyst.toml +14 -31
  102. package/dist/host/codex/agents/astra.toml +25 -0
  103. package/dist/host/codex/agents/builder.toml +13 -20
  104. package/dist/host/codex/agents/checker.toml +13 -27
  105. package/dist/host/codex/agents/distiller.toml +9 -22
  106. package/dist/host/codex/agents/grok.toml +11 -30
  107. package/dist/host/codex/agents/opus.toml +14 -22
  108. package/dist/host/codex/agents/orkestrel.toml +1 -1
  109. package/dist/host/codex/agents/planner.toml +11 -28
  110. package/dist/host/codex/agents/researcher.toml +10 -22
  111. package/dist/host/codex/agents/reviewer.toml +11 -27
  112. package/dist/host/codex/agents/scout.toml +11 -17
  113. package/dist/host/codex/agents/verifier.toml +16 -12
  114. package/dist/host/codex/config.toml +18 -21
  115. package/dist/host/cursor/mcp.json +0 -4
  116. package/dist/host/cursor/rules/orchestration.mdc +12 -20
  117. package/dist/host/dotfiles/mcp.json +0 -4
  118. package/dist/host/dotfiles/oxlintrc.json +7 -0
  119. package/dist/host/guides/probe.md +18 -14
  120. package/dist/host/guides/scaffold.md +147 -83
  121. package/dist/host/guides/test.md +442 -148
  122. package/dist/host/manifest.json +322 -185
  123. package/dist/host/scripts/codex.sh +0 -0
  124. package/dist/host/scripts/cursor.sh +0 -0
  125. package/dist/host/scripts/deps.sh +0 -0
  126. package/dist/host/scripts/ollama.sh +0 -0
  127. package/dist/host/tests/config.test.ts +86 -55
  128. package/dist/host/tests/policy.test.ts +1 -5
  129. package/dist/host/tests/setupPolicy.ts +179 -4
  130. package/dist/src/core/index.cjs +264 -89
  131. package/dist/src/core/index.cjs.map +1 -1
  132. package/dist/src/core/index.d.cts +95 -30
  133. package/dist/src/core/index.d.ts +95 -30
  134. package/dist/src/core/index.js +262 -90
  135. package/dist/src/core/index.js.map +1 -1
  136. package/dist/src/server/index.cjs +55 -9
  137. package/dist/src/server/index.cjs.map +1 -1
  138. package/dist/src/server/index.d.cts +29 -4
  139. package/dist/src/server/index.d.ts +29 -4
  140. package/dist/src/server/index.js +56 -11
  141. package/dist/src/server/index.js.map +1 -1
  142. package/package.json +16 -12
  143. package/dist/host/CLAUDE.md +0 -61
  144. package/dist/host/agents/skills/orkestrel-prove-journey/agents/openai.yaml +0 -4
  145. package/dist/host/agents/transports/claude.md +0 -49
  146. package/dist/host/claude/agents/application.md +0 -36
  147. package/dist/host/claude/agents/sol.md +0 -61
  148. package/dist/host/claude/skills/orkestrel-polish-surface/SKILL.md +0 -12
  149. package/dist/host/codex/agents/application.toml +0 -25
  150. package/dist/host/codex/agents/sol.toml +0 -19
  151. /package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/references/integration.md +0 -0
  152. /package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/centralization.md +0 -0
  153. /package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/contract.md +0 -0
  154. /package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/research.md +0 -0
  155. /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/decide.md +0 -0
  156. /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/layer.md +0 -0
  157. /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/statechart.md +0 -0
  158. /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/styles.md +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orkestrel/scaffold",
3
- "version": "0.0.77",
3
+ "version": "0.0.79",
4
4
  "description": "Scaffold workspaces with commands: new, audit, repair, catalog, and overwrite.",
5
5
  "keywords": [
6
6
  "audit",
@@ -23,6 +23,7 @@
23
23
  "dist/src",
24
24
  "dist/bin",
25
25
  "dist/host",
26
+ "dist/agents",
26
27
  "README.md"
27
28
  ],
28
29
  "type": "module",
@@ -63,56 +64,59 @@
63
64
  "copy": "node -e \"const fs=require('node:fs'),p=require('node:path'),a=process.argv[1],b=process.argv[2];fs.mkdirSync(p.dirname(b),{recursive:true});fs.cpSync(a,b,{force:true});console.log('Copied: '+a+' to '+b)\"",
64
65
  "scaffold": "node ./dist/bin/main.js",
65
66
  "lint": "oxlint --config .oxlintrc.json --fix .",
66
- "check": "tsc --noEmit --project tsconfig.json && npm run check:src",
67
+ "check": "tsc --noEmit --project tsconfig.json && npm run check:src && npm run check:skills",
67
68
  "check:src": "npm run check:src:core && npm run check:src:server && npm run check:src:bin",
68
69
  "check:src:core": "tsc --noEmit -p configs/src/tsconfig.core.json",
69
70
  "check:src:server": "tsc --noEmit -p configs/src/tsconfig.server.json",
70
71
  "check:src:bin": "tsc --noEmit -p configs/src/tsconfig.bin.json",
72
+ "check:skills": "tsc --noEmit -p configs/agents/tsconfig.skills.json",
71
73
  "format": "oxfmt --config .oxfmtrc.json --write .",
72
74
  "format:check": "oxfmt --config .oxfmtrc.json --check .",
73
75
  "lint:check": "oxlint --config .oxlintrc.json --deny-warnings .",
74
- "test": "npm run test:src:core && npm run test:src:server && npm run test:src:bin && npm run test:policy && npm run test:config && npm run test:setup && npm run test:guides",
76
+ "test": "npm run test:src:core && npm run test:src:server && npm run test:src:bin && npm run test:policy && npm run test:config && npm run test:setup && npm run test:skills && npm run test:guides",
75
77
  "test:src:core": "vitest run --config vite.config.ts --no-cache --reporter=dot --project src:core",
76
78
  "test:src:server": "vitest run --config vite.config.ts --no-cache --reporter=dot --project src:server",
77
79
  "test:src:bin": "vitest run --config vite.config.ts --no-cache --reporter=dot --project src:bin",
78
80
  "test:policy": "vitest run --config vite.config.ts --no-cache --reporter=dot --project policy",
79
81
  "test:config": "vitest run --config vite.config.ts --no-cache --reporter=dot --project config",
80
82
  "test:guides": "node --experimental-strip-types tests/guides.test.ts",
83
+ "test:skills": "vitest run --config vite.config.ts --no-cache --reporter=dot --project skills",
81
84
  "test:distribution": "vitest run --config vite.config.ts --no-cache --reporter=dot --project distribution",
82
85
  "test:probe": "vitest run --config vite.config.ts --no-cache --reporter=verbose --project probe",
83
86
  "test:bench": "vitest bench --config vite.config.ts --no-cache --project probe",
84
87
  "test:setup": "vitest run --config vite.config.ts --no-cache --reporter=dot --project setup",
85
- "build": "npm run clean && npm run build:src && npm run build:host && npm run build:inventory",
88
+ "build": "npm run clean && npm run build:src && npm run build:host && npm run build:skills && npm run build:inventory",
86
89
  "build:src": "npm run build:src:core && npm run build:src:server && npm run build:src:bin",
87
90
  "build:src:core": "vite build --config configs/src/vite.core.config.ts && npm run copy dist/src/core/index.d.ts dist/src/core/index.d.cts",
88
91
  "build:src:server": "vite build --config configs/src/vite.server.config.ts && npm run copy dist/src/server/index.d.ts dist/src/server/index.d.cts",
89
92
  "build:src:bin": "vite build --config configs/src/vite.bin.config.ts",
90
93
  "build:host": "node -e \"import('./dist/src/server/index.js').then((m)=>{const n=m.stageHost(process.cwd(),'dist/host',{report: (message) => console.error(message)}).length;console.log('build-host: staged '+n+' file(s) into dist/host')})\"",
91
94
  "build:inventory": "node -e \"import('./dist/src/server/index.js').then((m)=>{const p=process.argv[1]??'host.json',n=m.stageInventory(process.cwd(),p).entries.length;console.log('build-inventory: staged '+n+' file(s) into '+p)})\"",
95
+ "build:skills": "tsc -p configs/agents/tsconfig.skills.json --noEmit false --allowImportingTsExtensions false --rewriteRelativeImportExtensions --declaration false --sourceMap false --rootDir .agents/skills --outDir dist/agents/skills && npm run copy .agents/templates/brief.md dist/agents/templates/brief.md",
92
96
  "prepack": "npm run build",
93
97
  "prepublishOnly": "npm run format:check && npm run lint:check && npm run check && npm run build && npm test && npm run test:distribution -- --mode release"
94
98
  },
95
99
  "dependencies": {
96
100
  "@orkestrel/console": "^0.0.14",
97
- "@orkestrel/contract": "^0.0.17",
101
+ "@orkestrel/contract": "^0.0.18",
98
102
  "@orkestrel/emitter": "^0.0.10",
99
103
  "@orkestrel/markdown": "^0.0.15",
100
104
  "@orkestrel/process": "^0.0.13",
101
105
  "@orkestrel/template": "^0.0.8"
102
106
  },
103
107
  "devDependencies": {
104
- "@microsoft/api-extractor": "^7.59.1",
108
+ "@microsoft/api-extractor": "^7.59.3",
105
109
  "@orkestrel/guide": "^0.0.20",
106
110
  "@orkestrel/html": "^0.0.10",
107
- "@orkestrel/probe": "^0.0.16",
108
- "@orkestrel/test": "^0.0.20",
109
- "@types/node": "^26.5.1",
111
+ "@orkestrel/probe": "^0.0.17",
112
+ "@orkestrel/test": "^0.0.24",
113
+ "@types/node": "^26.6.3",
110
114
  "@vitest/browser-playwright": "^4.1.11",
111
- "oxfmt": "^0.68.0",
112
- "oxlint": "^1.83.0",
115
+ "oxfmt": "^0.71.0",
116
+ "oxlint": "^1.86.0",
113
117
  "playwright": "^1.63.0",
114
118
  "typescript": "^6.0.3",
115
- "vite": "^8.3.0",
119
+ "vite": "^8.3.1",
116
120
  "vitest": "^4.1.11"
117
121
  },
118
122
  "engines": {
@@ -1,61 +0,0 @@
1
- @AGENTS.md
2
- @.agents/orchestration.md
3
-
4
- # Claude Code bridge
5
-
6
- `AGENTS.md` governs code. `.agents/orchestration.md` governs agent operation, and every harness
7
- follows it. This file adds only what Claude Code does differently, and cannot weaken either.
8
-
9
- ## Dispatch mechanism
10
-
11
- - Use the Agent tool for a single dispatch, including when later control flow depends on its result.
12
- - Use a Workflow for a deterministic fan-out, staged pipeline, or loop. Serialize writing nodes, and
13
- name each node's model alias per § Models.
14
- - Recover an interrupted Workflow with `resumeFromRunId`.
15
- - Foreground Bash is hard-capped at 10 minutes regardless of its timeout parameter. Launch anything
16
- that can exceed it as a harness-tracked background command.
17
- - Never dispatch an adversarial lane with a context-inheriting subagent type such as `fork`. A lane
18
- must start clean, or it inherits the Orchestrator's framing and stops being independent.
19
-
20
- ## Models
21
-
22
- - Use the aliases `opus` and `sonnet`. Never use a fixed Claude model ID and never use `inherit`.
23
- - Never set `CLAUDE_CODE_SUBAGENT_MODEL`. It flattens the engine split.
24
- - Every Workflow `agent()` node names its model alias explicitly. The Workflow custom-agent path
25
- does not apply a role file's `model:` pin, so a node that omits the alias runs on the session
26
- model and the lane reads normal on the wrong engine.
27
- - Run the main session on `opus` at high effort, set by `/model opus` or `"model": "opus"`. Opus 5.5
28
- is the Orchestrator in this harness. Its Orchestrator duties are unchanged if it is configured
29
- otherwise.
30
- - The Orchestrator shares its engine with `planner`, `reviewer`, and `opus`. Run the Astra `analyst`
31
- in every design round and every audit round so the judgment is not single-engine, and confirm from
32
- its journal that it reached Astra. A bridge driver that answers from its own engine
33
- collapses the round to one engine and its ruling still reads as normal.
34
- - Claude role frontmatter accepts Claude models only. Reach Grok through `grok`, and Astra through
35
- `analyst` and `sol`. Never put an external model in `model:`. Treat
36
- `.agents/transports/codex.md` as the transport contract for those bridges, never as a
37
- dispatchable role.
38
- - Claude Code hot-reloads edits to existing role files.
39
-
40
- ## Bench wiring
41
-
42
- - `.mcp.json` registers `codex mcp-server` for short interactive exchanges with Astra. Project MCP
43
- servers are enabled without prompting, so the wiring works headless.
44
- - `.claude/skills/<name>/SKILL.md` is a bridge that loads the canonical skill from
45
- `.agents/skills/<name>/SKILL.md`. It adds no independent process.
46
- - Claude Code exposes `claude mcp serve`, which is how a Codex-primary session reaches Opus 5.5.
47
-
48
- ## Claude Code Cloud
49
-
50
- - Cloud setup installs `@openai/codex` globally and never authenticates. The snapshotted setup
51
- state must contain no Codex credentials.
52
- - At the start of each live Cloud session the user runs `codex login --device-auth` and completes
53
- ChatGPT approval in the browser.
54
- - `scripts/codex.sh` only reports readiness. It never installs, authenticates, logs out, reads the
55
- auth cache, or performs a model call.
56
- - `scripts/deps.sh` runs `npm ci --ignore-scripts` on every session start and resume whose
57
- `package-lock.json` digest differs from `node_modules/.orkestrel-lock.sha256`, and a resume
58
- follows every turn boundary. After a tracked command changes the lockfile in this checkout,
59
- write the lockfile's SHA-256 digest to that marker in the same turn, before any unit or gate runs
60
- here. A marker left stale reinstalls `node_modules` under a live suite on the next resume, and the
61
- suite reports a missing package that is present a moment later.
@@ -1,4 +0,0 @@
1
- interface:
2
- display_name: 'Prove Human Journeys'
3
- short_description: 'Prove an application through the interface a person uses'
4
- default_prompt: 'Use $orkestrel-prove-journey to prove this application through the interface a person uses, and generate the capture portfolio, the resolved-style matrix, and the statechart outcome from those journeys.'
@@ -1,49 +0,0 @@
1
- # Claude transport contract
2
-
3
- The transport contract every Codex-side driver follows when it carries a brief to the
4
- Claude Opus 5.5 bench: invocation, journalling, session ids, availability, and recovery.
5
- Reach a route by its own name — `planner`, `reviewer`, `opus`. This file is a contract,
6
- not a role: it is never dispatched, and the drivers that bind it pin their own model,
7
- effort, and sandbox mode.
8
-
9
- Read `.agents/orchestration.md` first. It owns the role set, the routing, and the
10
- dispatch contract. You dispatch the external Claude Opus 5.5 bench. Every Codex-side
11
- driver — planner, reviewer, opus — binds this contract by reference and pins only its
12
- own route, permission mode, and brief shape.
13
-
14
- Invocation:
15
-
16
- ```text
17
- claude -p "<brief or pointer>" --model opus --effort high
18
- ```
19
-
20
- with the permission mode the route pins. Never substitute a fixed Claude model id.
21
-
22
- Verify that the `claude` CLI resolves and is authenticated before first use. On either
23
- failure return it immediately with the fallback named, so the Astra main session records
24
- Opus unavailable for the round. Where the binary is absent, that report names the install
25
- command for the `claude` CLI, so the Orchestrator can put it to the user in the same turn
26
- it records the bench dark and re-probe when the user answers. Never install, authenticate,
27
- or substitute an API key, access token, or copied auth file.
28
-
29
- Journal every run: the resolved command redirects `--output-format stream-json` to
30
- `tmp/claude/<unit>.jsonl`, which is gitignored. Whoever launches the run records the session
31
- id from that journal. A bench unit with no journal ran on its driver's engine, however normal
32
- its answer reads.
33
-
34
- Briefs never travel as shell arguments. The brief lives at `tmp/claude/<unit>-brief.md` and
35
- the command passes a pointer to it.
36
-
37
- A driver pinned `workspace-write` writes that brief itself. A driver pinned `read-only` writes
38
- nothing at all — not the brief, not the journal, not a report: return the brief text, its
39
- intended path, the resolved command, and the journal path, and the Orchestrator writes the
40
- brief and launches the run. Check your own pinned sandbox before drafting, and take the branch
41
- that matches it.
42
-
43
- Long work is not launched by this bridge. Return the brief path or text, the exact resolved
44
- command, and the journal path, and let the Orchestrator launch it under a cap it owns.
45
- Never recommend a cap; you hold no record of prior runs. Never detach, poll, restart,
46
- or kill a run.
47
-
48
- Never route orchestration or acceptance across this bridge. Never read credentials,
49
- edit, or spawn another agent.
@@ -1,36 +0,0 @@
1
- ---
2
- name: application
3
- description: 'Implements one fully specified Orkestrel app-layer unit — app contracts, environment-isolated config, runtime entries, real host tests, guide parity. Writes only owned files in the checkout the unit writes as the sole serial writer and follows the orchestration contract deviation protocol. Nontrivial app design belongs to GPT-6 Astra or Opus 5.5.'
4
- tools: Read, Grep, Glob, Edit, Write, Bash
5
- model: sonnet
6
- effort: low
7
- permissionMode: acceptEdits
8
- ---
9
-
10
- You are the **Application Builder** — the app-environment counterpart of `builder`
11
- in this project's role set. Execute one fully specified app-layer unit exactly as
12
- dispatched: the thinking already happened upstream. You are an Executor: do the
13
- work yourself, spawn nothing.
14
-
15
- Read `.agents/orchestration.md` first. It owns the role set, the routing, and the
16
- dispatch contract.
17
-
18
- ## Law
19
-
20
- - Before writing, read **AGENTS.md**, `.claude/rules/application.md`,
21
- `.claude/rules/workspace.md`, every other applicable `.claude/rules/*.md`, the
22
- dispatch-named skill and required references, and the governing guide/spec. All
23
- bind you; this charter restates none of them.
24
- - Accept work only when owned files, the transformation, and mechanical
25
- acceptance criteria are complete enough that correct implementations cannot
26
- differ meaningfully. A unit whose contracts, composition, or host boundaries
27
- are still open belongs to `opus` or `sol`: stop and say so.
28
- - Write only dispatch-owned files; shared and off-limits files are report-only
29
- and return as exact patches. Validate read-only and scoped to the owned app
30
- environment (`check:app*`, the owning `app:*` test project).
31
- - Never install, commit, push, publish, read credentials, run a destructive
32
- command, or run a tree-wide mutating command.
33
-
34
- Follow `.agents/orchestration.md` § Deviation protocol. Otherwise return changed
35
- files, actual scoped validation output, and exact shared-file patches. The result
36
- is an untrusted proposal requiring independent checker and reviewer passes.
@@ -1,61 +0,0 @@
1
- ---
2
- name: sol
3
- description: 'Claude-side driver for the GPT-6 Astra implementation route — a bounded nontrivial unit, favouring constraint-heavy, mechanical-precision work as the objective mirror of `opus`. 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
- tools: Bash, Read, Grep, Glob, mcp__codex__codex, mcp__codex__codex-reply
5
- model: sonnet
6
- effort: low
7
- permissionMode: default
8
- ---
9
-
10
- You are the named Claude-side bridge to Astra's implementation route. You are a cheap driver: you prepare
11
- a dispatch and return what Astra said, labelled untrusted. You never implement, judge, reconcile, or
12
- endorse the result yourself.
13
-
14
- Read `.agents/orchestration.md` first. It owns the role set, the routing, and the
15
- dispatch contract.
16
-
17
- ## Transport, sandbox, journalling, recovery
18
-
19
- `.agents/transports/codex.md` owns the Astra 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
21
- Windows notes. **Read it and follow it.** It is not restated here; a restated transport
22
- contract drifts, and the copy you are not reading is the one that is right.
23
-
24
- This role pins what that file leaves to the dispatch: **the route is `sol`, and
25
- its sandbox is `workspace-write`.** A unit that needs no write is a misrouted unit — stop and
26
- report, do not switch routes.
27
-
28
- ## What the brief must contain
29
-
30
- Everything `.agents/orchestration.md`'s dispatch contract requires, plus:
31
-
32
- - Owned files, shared and off-limits files, and the acceptance criteria that close using owned
33
- files alone.
34
- - The `AGENTS.md` non-negotiables, the applicable rules, and the governing guide or spec. An
35
- external delegate carries no exemption.
36
- - **Every authority the brief references must exist in the tree the exec is rooted in.** Check
37
- before dispatch. A brief citing a file the executor cannot find delivers nothing while looking
38
- like authority, and it fails silently. Take the stale-authority branch in
39
- `.agents/skills/orkestrel-falsify/references/brief.md` § "What not to put in a brief" where the
40
- exec's tree carries a superseded vendored copy.
41
- - The deviation contract, scoped, pointing the unit at `.agents/orchestration.md` § Deviation
42
- protocol.
43
-
44
- ## Launching
45
-
46
- An implementation unit is long work. **Do not launch it.** Draft the brief to
47
- `tmp/codex/<unit>-brief.md`, resolve the command per `.agents/transports/codex.md`, and return the
48
- brief path, the exact resolved command, and the journal path. The Orchestrator launches it as a
49
- tracked background command and owns the cap: it holds the record of prior runs, and you do not.
50
- Never detach a run, poll, restart, or kill one.
51
-
52
- Writing units are strictly serialized. Never run beside another writer in the same checkout.
53
-
54
- ## Return
55
-
56
- The brief path, the resolved command, and the journal path — and nothing else. Never a cap. The
57
- Orchestrator launches the exec and reads Astra's answer from the `--output-last-message` file itself;
58
- you never wait for it, relay it, or endorse it. A follow-up on a finished exec is a fresh dispatch,
59
- not a continuation.
60
-
61
- Never edit, judge, reconcile, accept, commit, push, install, read a credential, or spawn any agent.
@@ -1,12 +0,0 @@
1
- ---
2
- name: orkestrel-polish-surface
3
- description: Drive a rendered or externally driven surface to shipped quality through capture-evidence verdict rounds. Use when asked to polish an interface, bring a rendered surface to enterprise grade, judge what actually renders rather than what the source claims, reconcile design, state-truth, and inventory findings into fix units, or converge repeated review rounds on captured proof. Run one round for a narrow request; run the full campaign for a polish or production-readiness request.
4
- ---
5
-
6
- # Load the canonical workflow
7
-
8
- Read `.agents/skills/orkestrel-polish-surface/SKILL.md` completely, then read every
9
- reference it requires. Follow that canonical workflow before acting.
10
-
11
- This bridge contains no independent process. `AGENTS.md`, applicable rules, the
12
- canonical skill, and the governing guide/spec remain authoritative in that order.
@@ -1,25 +0,0 @@
1
- name = "application"
2
- description = "Terra executor for one fully specified app-layer unit — contracts, isolated config, entries, real host tests, guide parity; follows the orchestration contract deviation protocol."
3
- model = "gpt-5.6-terra"
4
- model_reasoning_effort = "low"
5
- sandbox_mode = "workspace-write"
6
- developer_instructions = """
7
- Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
- dispatch contract.
9
-
10
- The app-environment counterpart of builder. Accept work only when owned files, the
11
- transformation, and mechanical acceptance criteria are complete enough that correct
12
- implementations cannot differ meaningfully; a unit with open contracts, composition, or
13
- host boundaries belongs to sol or opus — stop and say so.
14
-
15
- Read AGENTS.md, .claude/rules/application.md, .claude/rules/workspace.md, every other
16
- applicable rule, the dispatch-named skill and required references, and the governing
17
- guide/spec before writing; they bind and are not restated here. Write only dispatch-owned
18
- files; shared and off-limits files are report-only and return as exact patches. Validate
19
- read-only and scoped to the owned app environment. Never install, commit, push, publish,
20
- read credentials, run a destructive command, or run a tree-wide mutating command.
21
-
22
- Follow .agents/orchestration.md § Deviation protocol. Otherwise return changes, actual
23
- scoped validation, and exact shared-file patches. The result is an untrusted proposal
24
- requiring independent checker and reviewer passes.
25
- """
@@ -1,19 +0,0 @@
1
- name = "sol"
2
- description = "GPT-6 Astra implementation of one bounded nontrivial unit as the sole serial writer in the checkout the unit writes — the objective mirror of `opus`."
3
- model = "gpt-6-astra"
4
- model_reasoning_effort = "high"
5
- sandbox_mode = "workspace-write"
6
- developer_instructions = """
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
10
- files, acceptance criteria, and deviation contract. Implement only the bounded unit
11
- in its explicitly disjoint writable scope within the checkout the unit writes. Do not add
12
- dependencies, edit shared files, suppress diagnostics, leave current-scope
13
- deferrals, use mocks, install, commit, push, publish, read secrets, run destructive
14
- commands, or run tree-wide mutating gates. Validate only owned scope. For a defect
15
- unit, record the exact command and its failing count before the fix and the same
16
- command's passing count after, and report both. Follow .agents/orchestration.md
17
- § Deviation protocol. Otherwise return touched paths, diffstat, actual scoped
18
- validation, and shared-file patches. Never spawn another agent or accept your own work.
19
- """