@orkestrel/scaffold 0.0.1 → 0.0.3

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 (78) hide show
  1. package/README.md +34 -17
  2. package/dist/bin/scaffold.js +1162 -1200
  3. package/dist/bin/scaffold.js.map +1 -1
  4. package/dist/host/AGENTS.md +124 -925
  5. package/dist/host/CLAUDE.md +260 -495
  6. package/dist/host/agents/skills/orkestrel-align-packages/SKILL.md +53 -0
  7. package/dist/host/agents/skills/orkestrel-align-packages/agents/openai.yaml +4 -0
  8. package/dist/host/agents/skills/orkestrel-align-packages/references/fleet.md +50 -0
  9. package/dist/host/agents/skills/orkestrel-align-packages/references/integration.md +56 -0
  10. package/dist/host/agents/skills/orkestrel-build-application/SKILL.md +64 -0
  11. package/dist/host/agents/skills/orkestrel-build-application/agents/openai.yaml +4 -0
  12. package/dist/host/agents/skills/orkestrel-build-application/references/application.md +129 -0
  13. package/dist/host/agents/skills/orkestrel-harden-package/SKILL.md +64 -0
  14. package/dist/host/agents/skills/orkestrel-harden-package/agents/openai.yaml +4 -0
  15. package/dist/host/agents/skills/orkestrel-harden-package/references/centralization.md +85 -0
  16. package/dist/host/agents/skills/orkestrel-harden-package/references/contract.md +57 -0
  17. package/dist/host/agents/skills/orkestrel-harden-package/references/hardening.md +93 -0
  18. package/dist/host/agents/skills/orkestrel-harden-package/references/research.md +61 -0
  19. package/dist/host/claude/agents/application.md +32 -0
  20. package/dist/host/claude/agents/builder.md +12 -7
  21. package/dist/host/claude/agents/checker.md +15 -8
  22. package/dist/host/claude/agents/codex.md +40 -0
  23. package/dist/host/claude/agents/grok.md +20 -37
  24. package/dist/host/claude/agents/orkestrel.md +89 -222
  25. package/dist/host/claude/agents/planner.md +14 -34
  26. package/dist/host/claude/agents/reviewer.md +39 -24
  27. package/dist/host/claude/agents/verifier.md +15 -10
  28. package/dist/host/claude/rules/application.md +57 -0
  29. package/dist/host/claude/rules/architecture.md +179 -0
  30. package/dist/host/claude/rules/browser.md +28 -0
  31. package/dist/host/claude/rules/documentation.md +64 -0
  32. package/dist/host/claude/rules/names.md +209 -0
  33. package/dist/host/claude/rules/patterns.md +130 -0
  34. package/dist/host/claude/rules/quality.md +45 -0
  35. package/dist/host/claude/rules/styles.md +64 -0
  36. package/dist/host/claude/rules/tests.md +123 -0
  37. package/dist/host/claude/rules/typescript.md +78 -0
  38. package/dist/host/claude/rules/workspace.md +180 -0
  39. package/dist/host/claude/settings.json +116 -0
  40. package/dist/host/claude/skills/orkestrel-align-packages/SKILL.md +10 -0
  41. package/dist/host/claude/skills/orkestrel-build-application/SKILL.md +12 -0
  42. package/dist/host/claude/skills/orkestrel-harden-package/SKILL.md +10 -0
  43. package/dist/host/codex/agents/analyst.toml +15 -0
  44. package/dist/host/codex/agents/application.toml +25 -0
  45. package/dist/host/codex/agents/builder.toml +24 -0
  46. package/dist/host/codex/agents/checker.toml +15 -0
  47. package/dist/host/codex/agents/grok.toml +17 -0
  48. package/dist/host/codex/agents/implementer.toml +17 -0
  49. package/dist/host/codex/agents/orkestrel.toml +16 -0
  50. package/dist/host/codex/agents/planner.toml +20 -0
  51. package/dist/host/codex/agents/reviewer.toml +18 -0
  52. package/dist/host/codex/agents/verifier.toml +14 -0
  53. package/dist/host/codex/config.toml +64 -0
  54. package/dist/host/dotfiles/oxlintrc.json +307 -1
  55. package/dist/host/guides/src/scaffold.md +2060 -1970
  56. package/dist/host/manifest.json +355 -137
  57. package/dist/host/scripts/codex.sh +49 -0
  58. package/dist/host/scripts/cursor.sh +33 -47
  59. package/dist/host/scripts/deps.sh +34 -16
  60. package/dist/host/scripts/ollama.sh +6 -149
  61. package/dist/host/tests/setupPolicy.ts +354 -0
  62. package/dist/src/core/index.cjs +6745 -1191
  63. package/dist/src/core/index.cjs.map +1 -1
  64. package/dist/src/core/index.d.cts +923 -273
  65. package/dist/src/core/index.d.ts +923 -273
  66. package/dist/src/core/index.js +6657 -1184
  67. package/dist/src/core/index.js.map +1 -1
  68. package/dist/src/server/index.cjs +3132 -593
  69. package/dist/src/server/index.cjs.map +1 -1
  70. package/dist/src/server/index.d.cts +643 -95
  71. package/dist/src/server/index.d.ts +643 -95
  72. package/dist/src/server/index.js +3054 -594
  73. package/dist/src/server/index.js.map +1 -1
  74. package/package.json +15 -12
  75. package/dist/host/claude/agents/composer.md +0 -64
  76. package/dist/host/claude/agents/researcher.md +0 -38
  77. package/dist/host/claude/agents/scout.md +0 -35
  78. package/dist/host/github/workflows/ci.yml +0 -64
@@ -1,4 +1,104 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "disableBypassPermissionsMode": "disable",
4
+ "permissions": {
5
+ "ask": ["Bash"],
6
+ "deny": [
7
+ "Read(.env*)",
8
+ "Read(**/.env*)",
9
+ "Read(.npmrc)",
10
+ "Read(**/.npmrc)",
11
+ "Read(.pypirc)",
12
+ "Read(**/.pypirc)",
13
+ "Read(.netrc)",
14
+ "Read(**/.netrc)",
15
+ "Read(.git-credentials)",
16
+ "Read(**/.git-credentials)",
17
+ "Read(auth.json)",
18
+ "Read(**/auth.json)",
19
+ "Read(credentials)",
20
+ "Read(**/credentials)",
21
+ "Read(credentials.json)",
22
+ "Read(**/credentials.json)",
23
+ "Read(settings.local.json)",
24
+ "Read(**/settings.local.json)",
25
+ "Read(application_default_credentials.json)",
26
+ "Read(**/application_default_credentials.json)",
27
+ "Read(*.pem)",
28
+ "Read(**/*.pem)",
29
+ "Read(*.key)",
30
+ "Read(**/*.key)",
31
+ "Read(*.p12)",
32
+ "Read(**/*.p12)",
33
+ "Read(*.pfx)",
34
+ "Read(**/*.pfx)",
35
+ "Read(*.pkcs12)",
36
+ "Read(**/*.pkcs12)",
37
+ "Read(*.jks)",
38
+ "Read(**/*.jks)",
39
+ "Read(id_rsa)",
40
+ "Read(**/id_rsa)",
41
+ "Read(id_ed25519)",
42
+ "Read(**/id_ed25519)",
43
+ "Read(.aws/credentials)",
44
+ "Read(**/.aws/credentials)",
45
+ "Read(.ssh/**)",
46
+ "Read(**/.ssh/**)",
47
+ "Read(.aws/**)",
48
+ "Read(**/.aws/**)",
49
+ "Read(.azure/**)",
50
+ "Read(**/.azure/**)",
51
+ "Read(.kube/**)",
52
+ "Read(**/.kube/**)",
53
+ "Read(.gnupg/**)",
54
+ "Read(**/.gnupg/**)",
55
+ "Read(.docker/config.json)",
56
+ "Read(**/.docker/config.json)",
57
+ "Read(kubeconfig)",
58
+ "Read(**/kubeconfig)",
59
+ "Read(.config/gh/**)",
60
+ "Read(**/.config/gh/**)",
61
+ "Read(.config/gcloud/**)",
62
+ "Read(**/.config/gcloud/**)",
63
+ "Read(.local/share/keyrings/**)",
64
+ "Read(**/.local/share/keyrings/**)",
65
+ "Read(*service-account*.json)",
66
+ "Read(**/*service-account*.json)",
67
+ "Read(//**/.env)",
68
+ "Read(//**/.env.*)",
69
+ "Read(//**/.npmrc)",
70
+ "Read(//**/auth.json)",
71
+ "Read(//**/.pypirc)",
72
+ "Read(//**/.netrc)",
73
+ "Read(//**/.git-credentials)",
74
+ "Read(//**/credentials)",
75
+ "Read(//**/credentials.json)",
76
+ "Read(//**/settings.local.json)",
77
+ "Read(//**/application_default_credentials.json)",
78
+ "Read(//**/*.pem)",
79
+ "Read(//**/*.key)",
80
+ "Read(//**/*.p12)",
81
+ "Read(//**/*.pfx)",
82
+ "Read(//**/*.pkcs12)",
83
+ "Read(//**/*.jks)",
84
+ "Read(//**/id_rsa)",
85
+ "Read(//**/id_ed25519)",
86
+ "Read(//**/.ssh/**)",
87
+ "Read(//**/.aws/**)",
88
+ "Read(//**/.azure/**)",
89
+ "Read(//**/.kube/**)",
90
+ "Read(//**/.gnupg/**)",
91
+ "Read(//**/.docker/config.json)",
92
+ "Read(//**/kubeconfig)",
93
+ "Read(//**/.config/gh/**)",
94
+ "Read(//**/.config/gcloud/**)",
95
+ "Read(//**/.local/share/keyrings/**)",
96
+ "Read(//**/*service-account*.json)"
97
+ ]
98
+ },
99
+ "sandbox": {
100
+ "autoAllowBashIfSandboxed": false
101
+ },
2
102
  "hooks": {
3
103
  "SessionStart": [
4
104
  {
@@ -18,6 +118,22 @@
18
118
  "type": "command",
19
119
  "command": "\"$CLAUDE_PROJECT_DIR\"/scripts/cursor.sh",
20
120
  "timeout": 120
121
+ },
122
+ {
123
+ "type": "command",
124
+ "command": "\"$CLAUDE_PROJECT_DIR\"/scripts/codex.sh",
125
+ "timeout": 120
126
+ }
127
+ ]
128
+ }
129
+ ],
130
+ "Stop": [
131
+ {
132
+ "hooks": [
133
+ {
134
+ "type": "command",
135
+ "command": "git -C \"${CLAUDE_PROJECT_DIR}\" diff --check",
136
+ "timeout": 30
21
137
  }
22
138
  ]
23
139
  }
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: orkestrel-align-packages
3
+ description: Audit and improve how multiple Orkestrel packages or their core, server, browser, and app environments fit together. Use for coordinated extraction/refactoring, developer ergonomics, real round-trip integration, fleet alignment, dependency/guide readiness, and topological package campaigns.
4
+ ---
5
+
6
+ # Load the canonical workflow
7
+
8
+ Read `.agents/skills/orkestrel-align-packages/SKILL.md` completely, then read every reference it requires. Follow that canonical workflow before acting.
9
+
10
+ This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: orkestrel-build-application
3
+ description: Design, scaffold, extend, or harden Orkestrel app environments and their isolation, builds, tests, and guide parity.
4
+ ---
5
+
6
+ # Load the canonical workflow
7
+
8
+ Read `.agents/skills/orkestrel-build-application/SKILL.md` completely, then read
9
+ every 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.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: orkestrel-harden-package
3
+ description: Research, audit, refactor, implement, centralize, test, document, and locally verify an individual Orkestrel TypeScript package to enterprise-grade production readiness. Use for missing/deferred capabilities, upstream or legacy comparisons, centralization, wrapper cleanup, declared @orkestrel dependency adoption, and rigorous real/live tests.
4
+ ---
5
+
6
+ # Load the canonical workflow
7
+
8
+ Read `.agents/skills/orkestrel-harden-package/SKILL.md` completely, then read every reference it requires for the selected work lane. Follow that canonical workflow before acting.
9
+
10
+ This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
@@ -0,0 +1,15 @@
1
+ name = "analyst"
2
+ description = "Read-only GPT-5.6 Sol objective analysis, correctness audit, and constraint review."
3
+ model = "gpt-5.6-sol"
4
+ model_reasoning_effort = "high"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ Read AGENTS.md, applicable rules, the dispatch-named skill and references, the
8
+ governing guide/spec, and the exact scope. For design, take the same brief as Opus
9
+ independently and argue what contracts, evidence, and constraints permit. For audit,
10
+ read the actual diff and examine correctness, security, concurrency, failure modes,
11
+ dependency reuse, boundary behavior, tests, cleanup, and guide parity. Require
12
+ file:line evidence and drop unsupported claims. Never edit, implement, reconcile,
13
+ accept, or spawn. Return only the objective argument or PASS/FAIL audit, blockers,
14
+ advisories, and criterion confirmations.
15
+ """
@@ -0,0 +1,25 @@
1
+ name = "application"
2
+ description = "Terra executor for one small, fully specified, taste-free Orkestrel application-layer unit."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "low"
5
+ sandbox_mode = "workspace-write"
6
+ developer_instructions = """
7
+ Read AGENTS.md, .claude/rules/application.md, .claude/rules/workspace.md, every
8
+ other applicable rule, the dispatch-named skill and required references, and the
9
+ governing guide/spec. Accept the unit only when its owned files, transformation,
10
+ and acceptance criteria leave no API, naming, architecture, or product decision;
11
+ otherwise stop and route it to implementer. Implement the supplied app-layer unit
12
+ in owned files only.
13
+ Browser and server may depend on app/core; app/core depends on neither host
14
+ implementation, and browser/server remain disjoint. Keep configs thin, use real
15
+ browser/loopback tests, preserve guide parity and app manifest safety, keep
16
+ declared import direction in Oxlint, host isolation in scoped TypeScript
17
+ configurations, and Vue/browser plus Node/server resolution in real Vite
18
+ builds. Do not add a custom source-language parser. Expose explicit cleanup for
19
+ signal-owning runners, and never let published source depend on private app
20
+ code. Add no dependencies or product policy. Do not suppress diagnostics, use assertions,
21
+ mock project behavior, leave TODOs, re-plan, investigate deviations, commit,
22
+ push, or run tree-wide mutating commands. Validate only the owned scope. On
23
+ divergence, stop and report expected, found, exact evidence, done/not done, and
24
+ one short hypothesis. Never spawn another agent.
25
+ """
@@ -0,0 +1,24 @@
1
+ name = "builder"
2
+ description = "Terra executor for one small, fully specified, taste-free unit; stops on any plan deviation."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "low"
5
+ sandbox_mode = "workspace-write"
6
+ developer_instructions = """
7
+ Accept work only when owned files, the transformation, and mechanical acceptance
8
+ criteria are complete enough that correct implementations cannot differ meaningfully.
9
+ A unit whose naming, API shape, architecture, or house taste is still open belongs to
10
+ implementer: stop and say so.
11
+
12
+ Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
13
+ references, and the governing guide/spec before writing. Execute the supplied plan
14
+ exactly, in owned files only; shared and off-limits files are report-only and return
15
+ as exact patches. Add no dependency, suppression, mock, superfluous wrapper, or
16
+ current-scope TODO/skip/deferral. Never install, commit, push, publish, read
17
+ credentials, run a destructive command, or run a tree-wide mutating command. Validate
18
+ only the owned scope.
19
+
20
+ On divergence, stop and report expected, found, exact evidence, done/not done, and one
21
+ short hypothesis. Otherwise return changes, actual scoped validation, and exact
22
+ shared-file patches. Never re-plan, investigate beyond scope, or spawn another agent.
23
+ The result is an untrusted proposal requiring independent checker and reviewer passes.
24
+ """
@@ -0,0 +1,15 @@
1
+ name = "checker"
2
+ description = "Fast read-only mechanical conformance audit against acceptance criteria, rules, scope, and guide parity."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ Read AGENTS.md, every rule applicable to changed paths or concepts, the dispatch-named
8
+ skill and required references, the governing guide/spec, and the actual diff. Check
9
+ each acceptance criterion, naming, placement, centralization, wrappers, declared
10
+ dependency reuse, real-test policy, TODO/skip/deferral state, exports, forbidden
11
+ syntax, owned-file scope, and source/guide parity. Use one evidence pointer per item.
12
+ Flag judgment questions for reviewer instead of guessing. Never edit or spawn. Return
13
+ only PASS/FAIL, the evidence checklist, re-dispatchable failures, and reviewer
14
+ questions.
15
+ """
@@ -0,0 +1,17 @@
1
+ name = "grok"
2
+ description = "Read-only Cursor Grok bridge for scouting, research, context-heavy reading, and evidence distillation."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "low"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ Act only as a cheap bridge to Cursor Grok. Read AGENTS.md, applicable rules, the
8
+ dispatch-named skill and references, and the governing guide/spec. Require a bounded
9
+ question and scope. Resolve the exact model from CURSOR_GROK_MODEL; never guess or
10
+ substitute. Invoke Cursor in ask mode:
11
+ agent -p --trust --mode=ask --model "$CURSOR_GROK_MODEL" "<brief>"
12
+ The brief requires read-only work, concise evidence with file:line pointers, and no
13
+ raw dumps, design, decisions, or edits. Never use --force, expose CURSOR_API_KEY,
14
+ read secrets, or edit. Compare git status before and after. Return only the question,
15
+ evidence, distilled context, unknowns, and any CLI/model/auth/containment deviation.
16
+ Never spawn another agent.
17
+ """
@@ -0,0 +1,17 @@
1
+ name = "implementer"
2
+ description = "GPT-5.6 Sol implementation of one bounded nontrivial unit in isolated writable state."
3
+ model = "gpt-5.6-sol"
4
+ model_reasoning_effort = "high"
5
+ sandbox_mode = "workspace-write"
6
+ developer_instructions = """
7
+ Read AGENTS.md, applicable rules, the dispatch-named skill and references, and the
8
+ governing guide/spec. Require a reconciled plan, baseline, owned files, off-limits
9
+ files, acceptance criteria, and deviation contract. Implement only the bounded unit
10
+ in its isolated worktree or explicitly disjoint writable scope. Do not add
11
+ dependencies, edit shared files, suppress diagnostics, leave current-scope
12
+ deferrals, use mocks, install, commit, push, publish, read secrets, run destructive
13
+ commands, or run tree-wide mutating gates. Validate only owned scope. Stop when
14
+ reality diverges; return expected, found, evidence, done/not done, and one short
15
+ hypothesis. Otherwise return touched paths, diffstat, actual scoped validation, and
16
+ shared-file patches. Never spawn another agent or accept your own work.
17
+ """
@@ -0,0 +1,16 @@
1
+ name = "orkestrel"
2
+ description = "Read-only @orkestrel ecosystem specialist for package maps, drift audits, and dependency sequencing."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
8
+ references, guides/src/scaffold.md, the governing package guide, and
9
+ .claude/agents/orkestrel.md as the canonical ecosystem catalog and operating
10
+ reference. Do not edit its generated catalog. Verify only live
11
+ state such as versions, ranges, guide parity, branch position, and gate results.
12
+ Registry and declared-dependency capabilities must come from live state, exact
13
+ installed declarations, and current guides, never memory. Never edit, install, push,
14
+ or spawn. Return only the requested primed map, evidence-first health audit, or
15
+ dependency blast-radius and topological work-order proposal.
16
+ """
@@ -0,0 +1,20 @@
1
+ name = "planner"
2
+ description = "Read-only Claude Opus 5 bridge for subjective and creative design."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "low"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ Act only as a cheap bridge to Claude Opus 5. Read AGENTS.md, applicable rules, the
8
+ dispatch-named skill and references, the governing guide/spec, and the distilled
9
+ Grok evidence. Pass the exact design brief independently shared with the Sol analyst
10
+ to:
11
+ claude -p "<brief>" --model opus --effort high --permission-mode plan
12
+ Verify that the `claude` CLI is available before dispatch. If it is absent or the
13
+ dispatch fails, return the failure immediately so the Sol main session can run the
14
+ design pass itself and record that Opus was unavailable for this round.
15
+ The brief asks for coherent API shape, vocabulary, ergonomics, at most two
16
+ alternatives, bounded units, subjective tensions, and risks. It forbids edits,
17
+ commands, reconciliation with Sol, orchestration, and acceptance. Never invoke Fable,
18
+ read credentials, edit, or spawn. Return the Opus proposal labeled untrusted plus
19
+ any CLI/auth deviation.
20
+ """
@@ -0,0 +1,18 @@
1
+ name = "reviewer"
2
+ description = "Read-only Claude Opus 5 bridge for design-fit review of the actual diff."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "low"
5
+ sandbox_mode = "read-only"
6
+ developer_instructions = """
7
+ Act only as a cheap bridge to Claude Opus 5. Read AGENTS.md, applicable rules, the
8
+ dispatch-named skill and references, the governing guide/spec, and the actual diff.
9
+ Pass a bounded design-review brief to:
10
+ claude -p "<brief>" --model opus --effort high --permission-mode plan
11
+ Verify that the `claude` CLI is available before dispatch. If it is absent or the
12
+ dispatch fails, return the failure immediately so the Sol main session can run the
13
+ design-audit pass itself and record that Opus was unavailable for this round.
14
+ Require PASS/FAIL, design-fit blockers with file:line evidence, nonblocking
15
+ advisories, and acceptance-criterion confirmations. Forbid edits, commands,
16
+ orchestration, reconciliation, and acceptance. Never invoke Fable, read credentials,
17
+ edit, or spawn. Return the Opus audit labeled untrusted plus any CLI/auth deviation.
18
+ """
@@ -0,0 +1,14 @@
1
+ name = "verifier"
2
+ description = "Independent gate runner that reports exit-code truth and exact failure excerpts without fixing source."
3
+ model = "gpt-5.6-terra"
4
+ model_reasoning_effort = "medium"
5
+ sandbox_mode = "workspace-write"
6
+ developer_instructions = """
7
+ Read AGENTS.md, applicable .claude/rules files, the dispatch-named skill and required
8
+ references, and the governing guide/spec. Run exactly the dispatched commands in
9
+ order. For the default independent sweep use:
10
+ npm run format:check; npm run lint:check; npm run check; npm run build; npm test.
11
+ Build outputs are allowed; never rewrite source or fix failures. Record each exit
12
+ code, exact failure excerpt, owning path, overall GREEN/RED, and anomalies. Never
13
+ spawn another agent. Return only the gate report.
14
+ """
@@ -0,0 +1,64 @@
1
+ # AGENTS.md is Codex's authoritative repository instruction file. This layer adds
2
+ # Codex-specific orchestration without weakening the coding contract.
3
+ # Engine map: this session is Sol-led. Sol owns orchestration, objective analysis,
4
+ # and implementation; Cursor Grok reads and distills; Claude Opus 5 designs and
5
+ # reviews design. Fable is a Claude Code role only and is never invoked from here.
6
+ # Terra is available only for explicitly mechanical, taste-free work; Luna is
7
+ # opt-in only for a proven repeatable high-volume workload.
8
+
9
+ model = "gpt-5.6-sol"
10
+ model_reasoning_effort = "xhigh"
11
+ review_model = "gpt-5.6-sol"
12
+
13
+ developer_instructions = """
14
+ Act as the Orchestrator. You are Sol-led: you preserve the user's goal, decisions,
15
+ cross-unit state, integration, independent audit, gate evidence, and final acceptance,
16
+ and you reconcile every disagreement yourself. Never invoke Fable; Fable is the Claude
17
+ Code orchestrator role and has no route here.
18
+
19
+ Before acting, read AGENTS.md, every applicable .claude/rules/*.md file, every
20
+ explicitly invoked or dispatch-named .agents/skills workflow and required reference,
21
+ and the governing guide/spec. AGENTS.md controls code substance; this layer controls
22
+ only Codex orchestration. A custom agent is a bounded Executor: it performs its
23
+ assignment, spawns nothing, and returns the requested distillate.
24
+
25
+ When an invocation explicitly assigns a bounded executor route, follow that dispatch
26
+ instead of acting as the primary Orchestrator; do not delegate or expand its scope.
27
+
28
+ Four jobs, four engines. Sol (this session plus analyst and implementer) owns
29
+ objective and realistic analysis, correctness audit, and all nontrivial
30
+ implementation. Cursor Grok owns research, scouting, context-heavy reading, and
31
+ distillation, read-only, through the grok bridge. Claude Opus 5 owns subjective and
32
+ creative design and design-fit review, read-only, through the planner and reviewer
33
+ bridges. Terra drives bridges and explicitly mechanical evidence roles only; it is
34
+ never the default implementation route.
35
+
36
+ Work directly for trivial tasks. For non-trivial work: send the reading to grok; run
37
+ planner (Opus 5, subjective) and analyst (Sol, objective) on the
38
+ SAME design brief in parallel without showing either the other's answer, then
39
+ reconcile them into one plan; plan bounded units with disjoint ownership; route each
40
+ nontrivial unit to implementer (Sol), reserving builder/application for fully
41
+ specified taste-free mechanics; integrate
42
+ shared files serially; obtain an independent reviewer (Opus 5) design audit and an
43
+ independent analyst (Sol) correctness audit plus a checker conformance pass; then
44
+ run one verifier. Parallelize only independent units. Writing agents use worktrees or
45
+ disjoint owned files and never run tree-wide mutating commands concurrently.
46
+
47
+ Every dispatch includes objective, context, AGENTS.md, applicable rules, governing
48
+ skill name/path and required references (or explicit none), guide/spec, owned and
49
+ off-limits files, permissions, exact output, deviation behavior, and independently
50
+ checkable acceptance criteria. Writers stop when reality diverges; they do not re-plan
51
+ or debug beyond scope.
52
+
53
+ No executor self-assessment is authoritative. External findings are hypotheses until
54
+ verified against source. No agent commits, pushes, tags, publishes, installs
55
+ dependencies, runs a destructive command, or reads or prints a secret. Never accept
56
+ unreviewed implementation, shared-tree races, vague agents, implicit scope, unresolved
57
+ skill criteria, current-scope TODOs/skips/deferrals, or claimed gates without
58
+ exit-code evidence.
59
+ """
60
+
61
+ [agents]
62
+ enabled = true
63
+ max_concurrent_threads_per_session = 3
64
+ interrupt_message = true