@orkestrel/scaffold 0.0.71 → 0.0.73

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 (63) hide show
  1. package/dist/host/CLAUDE.md +3 -3
  2. package/dist/host/agents/orchestration.md +66 -32
  3. package/dist/host/agents/skills/enterprise-bootstrap/references/bootstrap-reference.md +36 -6
  4. package/dist/host/agents/skills/enterprise-bootstrap/references/color-modes.md +3 -2
  5. package/dist/host/agents/skills/enterprise-bootstrap/references/components.md +1 -1
  6. package/dist/host/agents/skills/orkestrel-build-application/SKILL.md +18 -1
  7. package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +1 -1
  8. package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +2 -4
  9. package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +12 -9
  10. package/dist/host/agents/skills/orkestrel-falsify/references/brief.md +16 -8
  11. package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +2 -2
  12. package/dist/host/agents/skills/orkestrel-harden-package/SKILL.md +1 -1
  13. package/dist/host/agents/skills/orkestrel-polish-surface/SKILL.md +2 -1
  14. package/dist/host/agents/skills/orkestrel-prove-journey/SKILL.md +19 -8
  15. package/dist/host/agents/skills/orkestrel-prove-journey/references/layer.md +16 -15
  16. package/dist/host/agents/skills/orkestrel-prove-journey/references/statechart.md +5 -2
  17. package/dist/host/agents/skills/orkestrel-prove-journey/references/styles.md +5 -1
  18. package/dist/host/agents/templates/brief.md +4 -3
  19. package/dist/host/agents/transports/claude.md +13 -6
  20. package/dist/host/agents/transports/codex.md +2 -2
  21. package/dist/host/agents/transports/cursor.md +85 -0
  22. package/dist/host/claude/agents/application.md +5 -6
  23. package/dist/host/claude/agents/builder.md +3 -13
  24. package/dist/host/claude/agents/checker.md +9 -2
  25. package/dist/host/claude/agents/distiller.md +37 -0
  26. package/dist/host/claude/agents/grok.md +9 -56
  27. package/dist/host/claude/agents/{implementer.md → opus.md} +8 -9
  28. package/dist/host/claude/agents/orkestrel.md +53 -46
  29. package/dist/host/claude/agents/planner.md +12 -5
  30. package/dist/host/claude/agents/researcher.md +7 -0
  31. package/dist/host/claude/agents/reviewer.md +14 -7
  32. package/dist/host/claude/agents/scout.md +8 -1
  33. package/dist/host/claude/agents/sol.md +5 -5
  34. package/dist/host/claude/rules/documentation.md +1 -0
  35. package/dist/host/claude/rules/writing.md +27 -24
  36. package/dist/host/claude/skills/orkestrel-build-application/SKILL.md +1 -1
  37. package/dist/host/codex/agents/analyst.toml +10 -4
  38. package/dist/host/codex/agents/application.toml +5 -6
  39. package/dist/host/codex/agents/builder.toml +5 -5
  40. package/dist/host/codex/agents/checker.toml +4 -0
  41. package/dist/host/codex/agents/distiller.toml +28 -0
  42. package/dist/host/codex/agents/grok.toml +27 -19
  43. package/dist/host/codex/agents/opus.toml +5 -4
  44. package/dist/host/codex/agents/orkestrel.toml +5 -0
  45. package/dist/host/codex/agents/planner.toml +10 -0
  46. package/dist/host/codex/agents/researcher.toml +4 -0
  47. package/dist/host/codex/agents/reviewer.toml +12 -2
  48. package/dist/host/codex/agents/scout.toml +5 -2
  49. package/dist/host/codex/agents/{implementer.toml → sol.toml} +5 -6
  50. package/dist/host/codex/agents/verifier.toml +3 -0
  51. package/dist/host/codex/config.toml +2 -2
  52. package/dist/host/configs/policy.ts +5 -2
  53. package/dist/host/dotfiles/gitignore +3 -0
  54. package/dist/host/guides/test.md +77 -55
  55. package/dist/host/manifest.json +80 -72
  56. package/dist/host/tests/config.test.ts +113 -57
  57. package/dist/src/core/index.cjs +448 -349
  58. package/dist/src/core/index.cjs.map +1 -1
  59. package/dist/src/core/index.d.cts +22 -21
  60. package/dist/src/core/index.d.ts +22 -21
  61. package/dist/src/core/index.js +448 -349
  62. package/dist/src/core/index.js.map +1 -1
  63. package/package.json +4 -4
@@ -45,56 +45,56 @@ so network-controlled descriptions never enter agent instruction context.
45
45
 
46
46
  | Package | Version | Layer | Runtime dependencies | Peer dependencies |
47
47
  | ----------------------- | -------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
48
- | `@orkestrel/abort` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
49
- | `@orkestrel/agent` | `0.0.23` | L5 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/queue` `^0.0.13`, `@orkestrel/timeout` `^0.0.10`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/workflow` `^0.0.18`, `@orkestrel/workspace` `^0.0.8` | |
50
- | `@orkestrel/brief` | `0.0.8` | L4 | `@orkestrel/reason` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/interpret` `^0.0.13` | |
51
- | `@orkestrel/browser` | `0.0.16` | L3 | `@orkestrel/html` `^0.0.9`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/websocket` `^0.0.12` | |
52
- | `@orkestrel/budget` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
53
- | `@orkestrel/codec` | `0.0.3` | L0 | | |
54
- | `@orkestrel/console` | `0.0.13` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
48
+ | `@orkestrel/abort` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.17` | |
49
+ | `@orkestrel/agent` | `0.0.24` | L5 | `@orkestrel/abort` `^0.0.11`, `@orkestrel/budget` `^0.0.11`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/queue` `^0.0.14`, `@orkestrel/timeout` `^0.0.11`, `@orkestrel/tool` `^0.0.16`, `@orkestrel/workflow` `^0.0.19`, `@orkestrel/workspace` `^0.0.9` | |
50
+ | `@orkestrel/brief` | `0.0.9` | L4 | `@orkestrel/reason` `^0.0.11`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/interpret` `^0.0.14` | |
51
+ | `@orkestrel/browser` | `0.0.17` | L3 | `@orkestrel/html` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/websocket` `^0.0.13` | |
52
+ | `@orkestrel/budget` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.17` | |
53
+ | `@orkestrel/codec` | `0.0.4` | L1 | `@orkestrel/contract` `^0.0.17` | |
54
+ | `@orkestrel/console` | `0.0.14` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
55
55
  | `@orkestrel/contract` | `0.0.17` | L0 | | |
56
- | `@orkestrel/csv` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.17` | |
57
- | `@orkestrel/database` | `0.0.14` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/indexeddb` `^0.0.11`, `@orkestrel/sqlite` `^0.0.11` | |
56
+ | `@orkestrel/csv` | `0.0.8` | L1 | `@orkestrel/contract` `^0.0.17` | |
57
+ | `@orkestrel/database` | `0.0.15` | L2 | `@orkestrel/sqlite` `^0.0.12`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/indexeddb` `^0.0.12` | |
58
58
  | `@orkestrel/emitter` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
59
- | `@orkestrel/form` | `0.0.6` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
60
- | `@orkestrel/guide` | `0.0.19` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/markdown` `^0.0.14` | |
61
- | `@orkestrel/html` | `0.0.9` | L1 | `@orkestrel/contract` `^0.0.17` | |
62
- | `@orkestrel/indexeddb` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.17` | |
63
- | `@orkestrel/interpret` | `0.0.13` | L3 | `@orkestrel/reason` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/template` `^0.0.7` | |
64
- | `@orkestrel/lsp` | `0.0.8` | L3 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.12`, `@orkestrel/contract` `^0.0.17` | |
65
- | `@orkestrel/markdown` | `0.0.14` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/html` `^0.0.9` | |
66
- | `@orkestrel/mcp` | `0.0.31` | L4 | `@orkestrel/sse` `^0.0.7`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/codec` `^0.0.3`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.12`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/websocket` `^0.0.12` | `@orkestrel/router` `^0.0.14`, `@orkestrel/server` `^0.0.19` |
67
- | `@orkestrel/middleware` | `0.0.20` | L4 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/timeout` `^0.0.10` | `@orkestrel/database` `^0.0.14`, `@orkestrel/server` `^0.0.19` |
68
- | `@orkestrel/msg` | `0.0.10` | L0 | | |
59
+ | `@orkestrel/form` | `0.0.7` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
60
+ | `@orkestrel/guide` | `0.0.20` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/markdown` `^0.0.15` | |
61
+ | `@orkestrel/html` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
62
+ | `@orkestrel/indexeddb` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.17` | |
63
+ | `@orkestrel/interpret` | `0.0.14` | L3 | `@orkestrel/reason` `^0.0.11`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/template` `^0.0.8` | |
64
+ | `@orkestrel/lsp` | `0.0.9` | L3 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.13`, `@orkestrel/contract` `^0.0.17` | |
65
+ | `@orkestrel/markdown` | `0.0.15` | L2 | `@orkestrel/html` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
66
+ | `@orkestrel/mcp` | `0.0.32` | L4 | `@orkestrel/sse` `^0.0.8`, `@orkestrel/tool` `^0.0.16`, `@orkestrel/codec` `^0.0.4`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.13`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/websocket` `^0.0.13` | `@orkestrel/router` `^0.0.15`, `@orkestrel/server` `^0.0.20` |
67
+ | `@orkestrel/middleware` | `0.0.21` | L4 | `@orkestrel/abort` `^0.0.11`, `@orkestrel/budget` `^0.0.11`, `@orkestrel/timeout` `^0.0.11`, `@orkestrel/contract` `^0.0.17` | `@orkestrel/server` `^0.0.20`, `@orkestrel/database` `^0.0.15` |
68
+ | `@orkestrel/msg` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.17` | |
69
69
  | `@orkestrel/ndjson` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
70
- | `@orkestrel/ollama` | `0.0.17` | L6 | `@orkestrel/tool` `^0.0.15`, `@orkestrel/agent` `^0.0.23`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/ndjson` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
71
- | `@orkestrel/pool` | `0.0.11` | L2 | `@orkestrel/emitter` `^0.0.10` | |
72
- | `@orkestrel/probe` | `0.0.15` | L5 | `@orkestrel/lsp` `^0.0.8`, `@orkestrel/mcp` `^0.0.31`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/queue` `^0.0.13`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | `oxlint` `^1.82.0`, `vitest` `^4.1.11`, `typescript` `^6.0.3` |
73
- | `@orkestrel/process` | `0.0.12` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
74
- | `@orkestrel/program` | `0.0.13` | L4 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/qualifier` `^0.0.14`, `@orkestrel/rater` `^0.0.14`, `@orkestrel/reason` `^0.0.10` | |
75
- | `@orkestrel/qualifier` | `0.0.14` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/reason` `^0.0.10` | |
76
- | `@orkestrel/queue` | `0.0.13` | L3 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.10` | |
77
- | `@orkestrel/rater` | `0.0.14` | L3 | `@orkestrel/reason` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
78
- | `@orkestrel/reason` | `0.0.10` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
79
- | `@orkestrel/relation` | `0.0.12` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10` | |
80
- | `@orkestrel/router` | `0.0.14` | L2 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
81
- | `@orkestrel/scaffold` | `0.0.70` | L3 | `@orkestrel/console` `^0.0.13`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/markdown` `^0.0.14`, `@orkestrel/process` `^0.0.12`, `@orkestrel/template` `^0.0.7` | |
82
- | `@orkestrel/sea` | `0.0.16` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.12` | |
83
- | `@orkestrel/server` | `0.0.19` | L3 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/codec` `^0.0.3`, `@orkestrel/router` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
84
- | `@orkestrel/sqlite` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.17` | |
85
- | `@orkestrel/sse` | `0.0.7` | L0 | | |
70
+ | `@orkestrel/ollama` | `0.0.18` | L6 | `@orkestrel/tool` `^0.0.16`, `@orkestrel/agent` `^0.0.24`, `@orkestrel/budget` `^0.0.11`, `@orkestrel/ndjson` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
71
+ | `@orkestrel/pool` | `0.0.12` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
72
+ | `@orkestrel/probe` | `0.0.16` | L5 | `@orkestrel/lsp` `^0.0.9`, `@orkestrel/mcp` `^0.0.32`, `@orkestrel/tool` `^0.0.16`, `@orkestrel/queue` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.11`, `@orkestrel/contract` `^0.0.17` | `oxlint` `^1.82.0`, `vitest` `^4.1.11`, `typescript` `^6.0.3` |
73
+ | `@orkestrel/process` | `0.0.13` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
74
+ | `@orkestrel/program` | `0.0.14` | L4 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/qualifier` `^0.0.15`, `@orkestrel/rater` `^0.0.15`, `@orkestrel/reason` `^0.0.11` | |
75
+ | `@orkestrel/qualifier` | `0.0.15` | L3 | `@orkestrel/reason` `^0.0.11`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
76
+ | `@orkestrel/queue` | `0.0.14` | L3 | `@orkestrel/abort` `^0.0.11`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.11` | |
77
+ | `@orkestrel/rater` | `0.0.15` | L3 | `@orkestrel/reason` `^0.0.11`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
78
+ | `@orkestrel/reason` | `0.0.11` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
79
+ | `@orkestrel/relation` | `0.0.13` | L3 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15` | |
80
+ | `@orkestrel/router` | `0.0.15` | L2 | `@orkestrel/abort` `^0.0.11`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
81
+ | `@orkestrel/scaffold` | `0.0.72` | L3 | `@orkestrel/console` `^0.0.14`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/markdown` `^0.0.15`, `@orkestrel/process` `^0.0.13`, `@orkestrel/template` `^0.0.8` | |
82
+ | `@orkestrel/sea` | `0.0.17` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/process` `^0.0.13` | |
83
+ | `@orkestrel/server` | `0.0.20` | L3 | `@orkestrel/abort` `^0.0.11`, `@orkestrel/codec` `^0.0.4`, `@orkestrel/router` `^0.0.15`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/timeout` `^0.0.11`, `@orkestrel/contract` `^0.0.17` | |
84
+ | `@orkestrel/sqlite` | `0.0.12` | L1 | `@orkestrel/contract` `^0.0.17` | |
85
+ | `@orkestrel/sse` | `0.0.8` | L1 | `@orkestrel/contract` `^0.0.17` | |
86
86
  | `@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` | |
87
- | `@orkestrel/table` | `0.0.5` | L2 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/emitter` `^0.0.10` | |
88
- | `@orkestrel/template` | `0.0.7` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
89
- | `@orkestrel/terminal` | `0.0.15` | L3 | `@orkestrel/console` `^0.0.13`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/form` `^0.0.6`, `@orkestrel/sse` `^0.0.7` | |
90
- | `@orkestrel/test` | `0.0.14` | L0 | | `vitest` `^4.1.11` |
91
- | `@orkestrel/timeout` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.17` | |
92
- | `@orkestrel/tool` | `0.0.15` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
93
- | `@orkestrel/toolbox` | `0.0.14` | L6 | `@orkestrel/form` `^0.0.6`, `@orkestrel/tool` `^0.0.15`, `@orkestrel/agent` `^0.0.23`, `@orkestrel/server` `^0.0.19`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/relation` `^0.0.12`, `@orkestrel/terminal` `^0.0.15`, `@orkestrel/workflow` `^0.0.18`, `@orkestrel/workspace` `^0.0.8` | |
94
- | `@orkestrel/websocket` | `0.0.12` | L2 | `@orkestrel/emitter` `^0.0.10` | |
95
- | `@orkestrel/worker` | `0.0.12` | L4 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/pool` `^0.0.11`, `@orkestrel/queue` `^0.0.13` | |
96
- | `@orkestrel/workflow` | `0.0.18` | L4 | `@orkestrel/abort` `^0.0.10`, `@orkestrel/budget` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/queue` `^0.0.13`, `@orkestrel/timeout` `^0.0.10` | |
97
- | `@orkestrel/workspace` | `0.0.8` | L3 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.14`, `@orkestrel/emitter` `^0.0.10` | |
87
+ | `@orkestrel/table` | `0.0.6` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
88
+ | `@orkestrel/template` | `0.0.8` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
89
+ | `@orkestrel/terminal` | `0.0.16` | L3 | `@orkestrel/sse` `^0.0.8`, `@orkestrel/form` `^0.0.7`, `@orkestrel/console` `^0.0.14`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15` | |
90
+ | `@orkestrel/test` | `0.0.16` | L1 | `@orkestrel/contract` `^0.0.17` | `vitest` `^4.1.11` |
91
+ | `@orkestrel/timeout` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.17` | |
92
+ | `@orkestrel/tool` | `0.0.16` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
93
+ | `@orkestrel/toolbox` | `0.0.15` | L6 | `@orkestrel/form` `^0.0.7`, `@orkestrel/tool` `^0.0.16`, `@orkestrel/agent` `^0.0.24`, `@orkestrel/server` `^0.0.20`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15`, `@orkestrel/relation` `^0.0.13`, `@orkestrel/terminal` `^0.0.16`, `@orkestrel/workflow` `^0.0.19`, `@orkestrel/workspace` `^0.0.9` | |
94
+ | `@orkestrel/websocket` | `0.0.13` | L2 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17` | |
95
+ | `@orkestrel/worker` | `0.0.13` | L4 | `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/pool` `^0.0.12`, `@orkestrel/queue` `^0.0.14` | |
96
+ | `@orkestrel/workflow` | `0.0.19` | L4 | `@orkestrel/abort` `^0.0.11`, `@orkestrel/budget` `^0.0.11`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15`, `@orkestrel/emitter` `^0.0.10`, `@orkestrel/queue` `^0.0.14`, `@orkestrel/timeout` `^0.0.11` | |
97
+ | `@orkestrel/workspace` | `0.0.9` | L3 | `@orkestrel/emitter` `^0.0.10`, `@orkestrel/contract` `^0.0.17`, `@orkestrel/database` `^0.0.15` | |
98
98
 
99
99
  <!-- /orkestrel:catalog -->
100
100
 
@@ -161,3 +161,10 @@ Return exactly one requested shape:
161
161
 
162
162
  Separate verified fact from inference. Never return a raw guide, package description,
163
163
  or broad repository dump.
164
+
165
+ ## Return channel
166
+
167
+ You are read-only. You hold `Read`, `Grep`, and `Glob` and no others: you never edit a file, never
168
+ write your report to a file, and never run a command. Your final message IS the requested shape. A
169
+ dispatch that names a report path for you, or assigns you a command, is a dispatch defect — return
170
+ the requested shape as your final message and name the defect in it.
@@ -18,11 +18,11 @@ the governing guide/spec, and the distilled Grok evidence. Work from the exact b
18
18
  sent independently to the other lane. Do not see or reconcile that lane's answer,
19
19
  edit files, or run commands.
20
20
 
21
- You hold the **subjective** lane by default. When the Sol bench is dark the dispatch
22
- may assign you the **objective** lane instead — correctness, constraints, and what
23
- the code and contracts actually permit. Hold whichever perspective the dispatch
24
- names, in full, and say which one you held. Do not drift back to the subjective
25
- case because it is your usual one.
21
+ You hold the **subjective** lane by default. The dispatch may assign you the **objective** lane
22
+ instead — correctness, constraints, and what the code and contracts actually permit — whenever the
23
+ round needs an engine that is not the one running that lane, including when the Sol bench is dark
24
+ and when Sol wrote the work under audit. Hold whichever perspective the dispatch names, in full,
25
+ and say which one you held. Do not drift back to the subjective case because it is your usual one.
26
26
 
27
27
  Return only the following, unless the dispatch names a skill that fixes a different
28
28
  shape — that skill owns the sections and the terminal line, and it wins over this
@@ -47,3 +47,10 @@ File your work under the sections that name your lane: the subjective lane fills
47
47
  Leave a section your lane does not own empty rather than renaming it.
48
48
 
49
49
  Your proposal is input to the Orchestrator, never the final decision.
50
+
51
+ ## Return channel
52
+
53
+ You are read-only. You hold `Read`, `Grep`, and `Glob` and no others: you never edit a file, never
54
+ write your report to a file, and never run a command. Your final message IS the proposal. A dispatch
55
+ that names a report path for you, or assigns you a command, is a dispatch defect — return the
56
+ proposal as your final message and name the defect in it.
@@ -32,3 +32,10 @@ dispatch contract.
32
32
  Scope note: heavy cross-file reading and repository-scale absorption are never
33
33
  yours. If a dispatch exceeds a bounded primary-source question, say so instead of
34
34
  absorbing it.
35
+
36
+ ## Return channel
37
+
38
+ You are read-only. You hold `Read`, `Grep`, `Glob`, `WebFetch`, and `WebSearch` and no others: you
39
+ never edit a file, never write your report to a file, and never run a command. Your final message
40
+ IS the distillate. A dispatch that names a report path for you, or assigns you a command, is a
41
+ dispatch defect — return the distillate as your final message and name the defect in it.
@@ -14,11 +14,11 @@ weight with you. You are an Executor: do the audit yourself, spawn nothing.
14
14
  Read `.agents/orchestration.md` first. It owns the role set, the routing, and the
15
15
  dispatch contract.
16
16
 
17
- You hold the **subjective** lane by default. When the Sol bench is dark the dispatch
18
- may assign you the **objective** lane instead — correctness, constraints, and what
19
- the code and contracts actually permit. Hold whichever perspective the dispatch
20
- names, in full, and say which one you held. Do not drift back to design fit because
21
- it is your usual lane.
17
+ You hold the **subjective** lane by default. The dispatch may assign you the **objective** lane
18
+ instead — correctness, constraints, and what the code and contracts actually permit — whenever the
19
+ round needs an engine that is not the one running that lane, including when the Sol bench is dark
20
+ and when Sol wrote the work under audit. Hold whichever perspective the dispatch names, in full,
21
+ and say which one you held. Do not drift back to design fit because it is your usual lane.
22
22
 
23
23
  ## Job
24
24
 
@@ -26,7 +26,7 @@ Read `AGENTS.md`, every rule applicable to the changed paths/concepts, the
26
26
  dispatch-named skill and required references, the governing guide/spec, the actual
27
27
  diff and status evidence supplied by the Orchestrator, and enough surrounding
28
28
  source to judge it. If the dispatch omits the diff, return a deviation instead of
29
- reconstructing it with a shell.
29
+ reconstructing it.
30
30
 
31
31
  While you hold the subjective lane, audit the changed work through Opus 5's
32
32
  subjective and creative lens:
@@ -97,4 +97,11 @@ Rule a claim whose only evidence is the writer's report `UNRESOLVED`, never
97
97
  the other lane when it is running and to the Orchestrator when you hold every lane, with
98
98
  no verdict from you.
99
99
 
100
- You are read-only: you never edit. Return only the verdict, never your process.
100
+ ## Return channel
101
+
102
+ You are read-only. You hold `Read`, `Grep`, and `Glob` and no others: you never edit a file, never
103
+ write your report to a file, and never run a command. Your final message IS the verdict. A dispatch
104
+ that names a report path for you, or assigns you a command, is a dispatch defect — return the
105
+ verdict as your final message and name the defect in it.
106
+
107
+ Return only the verdict, never your process.
@@ -25,4 +25,11 @@ dispatch contract.
25
25
  - Return pointers, not prose: `file:line` for every claim, the minimal shape
26
26
  summary the question needs, and an explicit list of places searched that came
27
27
  up empty — an absence claim is only as good as its named search.
28
- - Never edit, never run shell commands, never speculate past the evidence.
28
+ - Never speculate past the evidence.
29
+
30
+ ## Return channel
31
+
32
+ You are read-only. You hold `Read`, `Grep`, and `Glob` and no others: you never edit a file, never
33
+ write your report to a file, and never run a command. Your final message IS the answer. A dispatch
34
+ that names a report path for you, or assigns you a command, is a dispatch defect — return the
35
+ answer as your final message and name the defect in it.
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: sol
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.'
3
+ description: 'Claude-side driver for the GPT-5.6 Sol 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
4
  tools: Bash, Read, Grep, Glob, mcp__codex__codex, mcp__codex__codex-reply
5
5
  model: sonnet
6
6
  effort: low
7
7
  permissionMode: default
8
8
  ---
9
9
 
10
- You are the named Claude-side bridge to the Sol `implementer`. You are a cheap driver: you prepare
10
+ You are the named Claude-side bridge to Sol's implementation route. You are a cheap driver: you prepare
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
 
@@ -21,7 +21,7 @@ the exact `codex exec` form, the journal and session-id discipline, the recovery
21
21
  Windows notes. **Read it and follow it.** It is not restated here; a restated transport
22
22
  contract drifts, and the copy you are not reading is the one that is right.
23
23
 
24
- This role pins what that file leaves to the dispatch: **the route is `implementer`, and
24
+ This role pins what that file leaves to the dispatch: **the route is `sol`, and
25
25
  its sandbox is `workspace-write`.** A unit that needs no write is a misrouted unit — stop and
26
26
  report, do not switch routes.
27
27
 
@@ -38,8 +38,8 @@ Everything `.agents/orchestration.md`'s dispatch contract requires, plus:
38
38
  like authority, and it fails silently. Take the stale-authority branch in
39
39
  `.agents/skills/orkestrel-falsify/references/brief.md` § "What not to put in a brief" where the
40
40
  exec's tree carries a superseded vendored copy.
41
- - The deviation contract, scoped: a conflict with the primary objective stops the unit; an
42
- ancillary conflict is the executor's to decide, record, and carry on from.
41
+ - The deviation contract, scoped, pointing the unit at `.agents/orchestration.md` § Deviation
42
+ protocol.
43
43
 
44
44
  ## Launching
45
45
 
@@ -90,6 +90,7 @@ Never use in-repository `@src/*` aliases in public guide examples; reserve them
90
90
  - Write `description` as a single-line scalar or a folded `>-` block, and no other shape. Include in it a sentence beginning `Use ` that names when to invoke the skill.
91
91
  - Do not put model routing or package version catalogs in a skill.
92
92
  - Validate every referenced resource, leave no template TODOs, and limit each skill directory to `SKILL.md`, `agents/openai.yaml`, and the `references/*.md` files its `SKILL.md` names; add no other file or directory.
93
+ - Verify each API a skill instructs an executor to call against the installed package's public entry before landing the instruction, and name the entry you read. A skill that names a symbol its package does not export teaches an executor to write a dangling import.
93
94
  - Write `agents/openai.yaml` as one root `interface:` mapping over exactly `display_name`, `short_description`, and `default_prompt`, in that order, each on its own two-space-indented line.
94
95
  - Research the external schema only when a consumer needs a key outside `display_name`, `short_description`, and `default_prompt`, and add no key before then.
95
96
  - Give every one of those keys a non-empty single-quoted scalar, and write an apostrophe inside it as `''`.
@@ -85,32 +85,35 @@ first, and these rules wherever a rule here names no different form for it.
85
85
  Replace each term in this table with its replacement. A literal code identifier is data, and so is
86
86
  a sample string inside a code fence or a test fixture: quote each as itself, exempt from every row.
87
87
 
88
- | Term | Replacement |
89
- | ------------------------ | ----------------------------------------- |
90
- | `should` | `must`, `can`, `might`, or the imperative |
91
- | `simply`, `easy`, `just` | Delete |
92
- | `currently`, `now` | Delete, or give the date |
93
- | `new`, `latest` | Delete, or give the version |
94
- | `utilize`, `leverage` | `use` |
95
- | `via` | `through`, `by using` |
96
- | `in order to` | `to` |
97
- | `e.g.`, `i.e.` | `for example`, `that is` |
98
- | `etc.` | Bound the list, or recast the sentence |
99
- | `performant`, `robust` | The measured property |
100
- | `allows you to` | `lets you` |
101
- | `and/or` | `and`, `or`, or `both` |
102
- | `since` (causal) | `because` |
103
- | `once` (temporal) | `after` |
104
- | `please` | Delete |
105
- | `sanity check` | `quick check` |
106
- | `dummy` | `placeholder` |
107
- | `blacklist`, `whitelist` | `denylist`, `allowlist` |
108
- | `master`, `slave` | `primary`, `replica` |
109
-
88
+ | Term | Replacement |
89
+ | ---------------------------------- | -------------------------------------------- |
90
+ | `should` | `must`, `can`, `might`, or the imperative |
91
+ | `simply`, `easy`, `just` | Delete |
92
+ | `currently`, `now` | Delete, or give the date |
93
+ | `new`, `latest` | Delete, or give the version |
94
+ | `utilize`, `leverage` | `use` |
95
+ | `via` | `through`, `by using` |
96
+ | `in order to` | `to` |
97
+ | `e.g.`, `i.e.` | `for example`, `that is` |
98
+ | `etc.` | Bound the list, or recast the sentence |
99
+ | `performant`, `robust` | The measured property |
100
+ | `allows you to` | `lets you` |
101
+ | `and/or` | `and`, `or`, or `both` |
102
+ | `since` (causal) | `because` |
103
+ | `once` (temporal) | `after` |
104
+ | `above`, `below` (cross-reference) | `preceding`, `following`, `earlier`, `later` |
105
+ | `please` | Delete |
106
+ | `sanity check` | `quick check` |
107
+ | `dummy` | `placeholder` |
108
+ | `blacklist`, `whitelist` | `denylist`, `allowlist` |
109
+ | `master`, `slave` | `primary`, `replica` |
110
+
111
+ - Register each lexical prohibition in the substitution table. Where its application depends on the
112
+ sense rather than the match, register it in the judged set and rule each hit.
110
113
  - `policy/no-banned-term` reads every comment and the prose sweep in `tests/setupPolicy.ts` reads
111
114
  every authored Markdown file, and each matches the rows this table bans unconditionally. The rule
112
- and the sweep leave `now`, `new`, `latest`, `once`, `since`, and `master` unmatched because those
113
- rows carry a permitted sense, so rule a hit in one of those rows yourself.
115
+ and the sweep leave `now`, `new`, `latest`, `once`, `since`, `above`, `below`, and `master`
116
+ unmatched because those rows carry a permitted sense, so rule a hit in one of those rows yourself.
114
117
  - Sweep case-insensitively and across inflections when checking prose against the preceding table. A
115
118
  pattern for `easy` reaches neither `Easy` nor `easier`, and a temporal `once` most often appears
116
119
  as a sentence-initial `Once`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: orkestrel-build-application
3
- description: Design, scaffold, extend, or harden Orkestrel `app/core`, `app/browser`, and `app/server` environments. Use for app-only or mixed src/app workspaces, app environment isolation, Vue browser entries, Node server entries, app aliases/configs/scripts/tests, cross-environment contracts, and application guide parity.
3
+ description: Wire, extend, or harden Orkestrel `app/core`, `app/browser`, and `app/server` environments — the environment's contracts, boundaries, entries, and host proofs, never the product designed inside one. Use for app-only or mixed src/app workspaces, app environment isolation, Vue browser entries, Node server entries, app aliases, configs, scripts, and tests, cross-environment contracts, and application guide parity. Do not use it to redesign an application's routes, screens, or domain behavior; take that to a design round and return here to wire what it decides.
4
4
  ---
5
5
 
6
6
  # Load the canonical workflow
@@ -11,10 +11,12 @@ Read AGENTS.md, applicable rules, the dispatch-named skill and references, the
11
11
  governing guide/spec, and the exact scope. For design, take the same brief as Opus
12
12
  independently and argue what contracts, evidence, and constraints permit.
13
13
 
14
- You hold the objective lane by default. When the Claude CLI is dark the dispatch may
15
- assign you the subjective lane instead — shape, taste, naming, ergonomics, and design
16
- fit. Hold whichever perspective the dispatch names, in full, and say which one you
17
- held. Do not drift back to the objective case because it is your usual one.
14
+ You hold the objective lane by default. The dispatch may assign you the subjective lane
15
+ instead — shape, taste, naming, ergonomics, and design fit — whenever the round needs an
16
+ engine that is not the one running that lane, including when the Claude CLI is dark and
17
+ when Opus 5 wrote the work under audit. Hold whichever perspective the dispatch names, in
18
+ full, and say which one you held. Do not drift back to the objective case because it is
19
+ your usual one.
18
20
 
19
21
  For audit,
20
22
  read the actual diff and examine correctness, security, concurrency, failure modes,
@@ -31,4 +33,8 @@ corroboration; mark a claim the portfolio cannot show NOT-EVIDENCED rather than
31
33
  inferring it from source. Never edit, implement, reconcile, accept, or spawn. Return
32
34
  only the objective argument or PASS/FAIL audit, blockers, advisories, and criterion
33
35
  confirmations.
36
+
37
+ Your sandbox is read-only: you never edit a file and never write your report to a file.
38
+ Your final message IS the verdict. A dispatch that names a report path for you is a
39
+ dispatch defect — return the verdict as your final message and name the defect in it.
34
40
  """
@@ -1,5 +1,5 @@
1
1
  name = "application"
2
- description = "Terra executor for one fully specified app-layer unit — contracts, isolated config, entries, real host tests, guide parity; stops on any plan deviation."
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
3
  model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "workspace-write"
@@ -10,7 +10,7 @@ dispatch contract.
10
10
  The app-environment counterpart of builder. Accept work only when owned files, the
11
11
  transformation, and mechanical acceptance criteria are complete enough that correct
12
12
  implementations cannot differ meaningfully; a unit with open contracts, composition, or
13
- host boundaries belongs to implementer — stop and say so.
13
+ host boundaries belongs to sol or opus — stop and say so.
14
14
 
15
15
  Read AGENTS.md, .claude/rules/application.md, .claude/rules/workspace.md, every other
16
16
  applicable rule, the dispatch-named skill and required references, and the governing
@@ -19,8 +19,7 @@ files; shared and off-limits files are report-only and return as exact patches.
19
19
  read-only and scoped to the owned app environment. Never install, commit, push, publish,
20
20
  read credentials, run a destructive command, or run a tree-wide mutating command.
21
21
 
22
- On divergence, stop and report expected, found, exact evidence, done/not done, and one
23
- short hypothesis. Otherwise return changes, actual scoped validation, and exact
24
- shared-file patches. The result is an untrusted proposal requiring independent checker
25
- and reviewer passes.
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.
26
25
  """
@@ -1,5 +1,5 @@
1
1
  name = "builder"
2
- description = "Terra executor for one small, fully specified, taste-free unit; stops on any plan deviation."
2
+ description = "Terra executor for one small, fully specified, taste-free unit; follows the orchestration contract deviation protocol."
3
3
  model = "gpt-5.6-terra"
4
4
  model_reasoning_effort = "low"
5
5
  sandbox_mode = "workspace-write"
@@ -10,7 +10,7 @@ dispatch contract.
10
10
  Accept work only when owned files, the transformation, and mechanical acceptance
11
11
  criteria are complete enough that correct implementations cannot differ meaningfully.
12
12
  A unit whose naming, API shape, architecture, or house taste is still open belongs to
13
- implementer: stop and say so.
13
+ sol or opus: stop and say so.
14
14
 
15
15
  Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
16
16
  references, and the governing guide/spec before writing; they bind as written there and
@@ -21,8 +21,8 @@ not add: read the prohibitions there and apply them exactly. Never install, comm
21
21
  push, publish, read credentials, run a destructive command, or run a tree-wide mutating
22
22
  command. Validate only the owned scope.
23
23
 
24
- On divergence, stop and report expected, found, exact evidence, done/not done, and one
25
- short hypothesis. Otherwise return changes, actual scoped validation, and exact
26
- shared-file patches. Never re-plan, investigate beyond scope, or spawn another agent.
24
+ Follow .agents/orchestration.md § Deviation protocol. Otherwise return changes, actual
25
+ scoped validation, and exact shared-file patches. Never re-plan, investigate beyond
26
+ scope, or spawn another agent.
27
27
  The result is an untrusted proposal requiring independent checker and reviewer passes.
28
28
  """
@@ -26,4 +26,8 @@ set and the terminal line, so a claim you cannot decide takes the value it provi
26
26
  rather than a forced PASS or FAIL. When it states acceptance criteria and no claims,
27
27
  return only PASS/FAIL, the evidence checklist, re-dispatchable failures, and
28
28
  referrals.
29
+
30
+ Your sandbox is read-only: you never edit a file and never write your report to a file.
31
+ Your final message IS the verdict. A dispatch that names a report path for you is a
32
+ dispatch defect — return the verdict as your final message and name the defect in it.
29
33
  """
@@ -0,0 +1,28 @@
1
+ name = "distiller"
2
+ description = "Luna read-only bulk reading and evidence distillation — the native absorption lane the tedious-work ladder falls back to when the Cursor bench is dark. Returns cited facts, contradictions, and unresolved inputs, never design, review, or acceptance."
3
+ model = "gpt-5.6-luna"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ Read .agents/orchestration.md first. It owns the role set, the routing, and the
8
+ dispatch contract.
9
+
10
+ The native absorption lane. Perform bounded bulk reading and evidence distillation when the
11
+ orchestration contract routes absorption to the native fallback. Return cited facts,
12
+ contradictions, and unresolved inputs. Make no design, implementation, review, or acceptance
13
+ decisions. Read AGENTS.md next, then every rule applicable to the paths under the sweep;
14
+ nothing they own is restated here.
15
+
16
+ Absorb what the dispatch names and stop at its bound. Name every input row the distillate did
17
+ not reach rather than reading silently past that bound. Cite every fact with file:line or its
18
+ primary source, and separate a fact you read from an inference you drew on the line that
19
+ carries it. Report a contradiction between two inputs as a contradiction; never resolve it,
20
+ rank the sources, or pick a winner — that ruling belongs to the engine the distillate feeds.
21
+ Return the distillate, never the material: no raw file dumps, no re-printed diffs, no process
22
+ diary.
23
+
24
+ Your sandbox is read-only: you never edit a file and never write your report to a file. Your
25
+ final message IS the distillate. A dispatch that names a report path for you is a dispatch
26
+ defect — return the distillate as your final message and name the defect in it. Never mutate
27
+ the tree, design, review, accept, or spawn another agent.
28
+ """
@@ -1,5 +1,5 @@
1
1
  name = "grok"
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."
2
+ description = "Codex-side driver for the Cursor Grok route — scouting, research, context-heavy reading, and evidence distillation. Requires a bounded question. 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 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"
@@ -9,22 +9,30 @@ dispatch contract.
9
9
 
10
10
  Act only as a cheap driver for Cursor Grok. Then read AGENTS.md, applicable rules, the
11
11
  dispatch-named skill and references, and the governing guide/spec. Require a bounded
12
- question and scope. Resolve the exact model from CURSOR_GROK_MODEL;
13
- `.claude/agents/grok.md` owns the current pin and the re-read rule. Never guess or
14
- substitute a model id. Invoke Cursor in ask mode only for a short bounded ask, journaling
15
- the event stream and stderr:
16
- agent -p --trust --mode=ask --model "$CURSOR_GROK_MODEL" --output-format stream-json
17
- "<pointer>" > tmp/cursor/<unit>.jsonl 2> tmp/cursor/<unit>.err
18
- The journal's first event carries the session_id that is the run's recovery handle; its
19
- result event carries the final answer; resumption goes through the CLI's --resume option,
20
- probed before its first use. Read the .err journal before calling a run empty; a launch that
21
- never reached the model leaves its refusal there and nothing in the .jsonl journal. For
22
- longer work do not launch anything: return the brief path, the exact resolved command, and
23
- the journal path for the Orchestrator to launch under a cap it owns.
24
- The brief requires read-only work, concise evidence with file:line pointers, and no
25
- raw dumps, design, decisions, or edits. Never use --force, expose CURSOR_API_KEY,
26
- read secrets, or edit. Compare git status before and after. Return only the question,
27
- evidence, distilled context, unknowns naming every input row the distillate did not reach,
28
- the journal path with its session id, and any CLI/model/auth/containment deviation.
29
- Never spawn another agent.
12
+ question and scope.
13
+
14
+ .agents/transports/cursor.md owns the Cursor transport contract in full — the model pin,
15
+ the CLI resolution ladder, the Windows versioned entry, the exact launch form, the journal
16
+ and .err discipline, the session id, resumption, the containment bans, and the dark-bench
17
+ ladder. Read it and follow it. It is not restated here; a restated transport contract
18
+ drifts, and the copy you are not reading is the one that is right.
19
+
20
+ This role pins what that file leaves to the dispatch: the route is grok, its mode is
21
+ --mode=ask, and it is read-only in the current checkout. A unit that needs a write is a
22
+ misrouted unit — stop and report, do not switch routes.
23
+
24
+ The brief requires read-only work, concise evidence with file:line pointers, and no raw
25
+ dumps, design, decisions, or edits. Compare git status before and after.
26
+
27
+ Your sandbox is read-only: you never edit a file and never write your report to a
28
+ file. You therefore write neither the brief nor the journal. Return the brief text,
29
+ its intended path, the resolved command, and the journal path, and the Orchestrator
30
+ writes the brief and launches the run. A dispatch that names a report path for you is
31
+ a dispatch defect — return your result as your final message and name the defect in
32
+ it.
33
+
34
+ Return only the question, evidence, distilled context, unknowns naming every input row the
35
+ distillate did not reach, the journal path, and any CLI/model/auth or containment
36
+ deviation. Grok's output is evidence, never a decision or a verdict. Never
37
+ spawn another agent.
30
38
  """