@orkestrel/scaffold 0.0.97 → 0.0.99
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.
- package/dist/agents/skills/orkestrel-dispatch/scripts/bench.js +1 -1
- package/dist/agents/skills/orkestrel-scout/scripts/map.js +14 -3
- package/dist/bin/main.js +2 -2
- package/dist/bin/main.js.map +1 -1
- package/dist/host/agents/orchestration.md +44 -38
- package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +3 -3
- package/dist/host/agents/skills/orkestrel-dispatch/references/bench.md +1 -1
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/bench.ts +1 -1
- package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +1 -1
- package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +1 -1
- package/dist/host/agents/skills/orkestrel-publish/references/wave.md +1 -2
- package/dist/host/agents/skills/orkestrel-scout/SKILL.md +4 -4
- package/dist/host/agents/skills/orkestrel-scout/scripts/map.ts +14 -3
- package/dist/host/agents/transports/claude-cli.md +3 -3
- package/dist/host/agents/transports/codex.md +4 -4
- package/dist/host/agents/transports/cursor.md +5 -5
- package/dist/host/claude/AGENTS.md +11 -8
- package/dist/host/claude/agents/analyst.md +4 -4
- package/dist/host/claude/agents/astra.md +4 -4
- package/dist/host/claude/agents/builder.md +4 -4
- package/dist/host/claude/agents/checker.md +4 -4
- package/dist/host/claude/agents/distiller.md +4 -4
- package/dist/host/claude/agents/grok.md +4 -4
- package/dist/host/claude/agents/opus.md +1 -1
- package/dist/host/claude/agents/orkestrel.md +2 -2
- package/dist/host/claude/agents/planner.md +1 -1
- package/dist/host/claude/agents/researcher.md +4 -4
- package/dist/host/claude/agents/reviewer.md +1 -1
- package/dist/host/claude/agents/scout.md +6 -4
- package/dist/host/claude/agents/verifier.md +4 -4
- package/dist/host/claude/rules/documentation.md +3 -3
- package/dist/host/claude/rules/styles.md +5 -1
- package/dist/host/claude/settings.json +5 -2
- package/dist/host/codex/agents/builder.toml +7 -7
- package/dist/host/codex/agents/grok.toml +2 -2
- package/dist/host/codex/agents/opus.toml +19 -15
- package/dist/host/codex/agents/orkestrel.toml +1 -1
- package/dist/host/codex/agents/planner.toml +17 -12
- package/dist/host/codex/agents/reviewer.toml +22 -12
- package/dist/host/codex/agents/scout.toml +4 -2
- package/dist/host/codex/agents/verifier.toml +1 -1
- package/dist/host/codex/config.toml +6 -7
- package/dist/host/cursor/rules/orchestration.mdc +1 -1
- package/dist/host/guides/scaffold.md +9 -3
- package/dist/host/manifest.json +53 -41
- package/dist/host/scripts/browsers.sh +54 -0
- package/dist/host/scripts/npm.sh +111 -0
- package/dist/src/core/index.cjs +37 -9
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.d.cts +20 -0
- package/dist/src/core/index.d.ts +20 -0
- package/dist/src/core/index.js +37 -10
- package/dist/src/core/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: researcher
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Haiku 5.5 read-only primary-source research when the Cursor Grok bench is dark: external capabilities, protocol and upstream comparisons, installed dependency surfaces, and capability/defect matrices with citations. Never designs, edits, or decides.'
|
|
4
4
|
tools: Read, Grep, Glob, WebFetch, WebSearch
|
|
5
|
-
model:
|
|
6
|
-
effort:
|
|
5
|
+
model: haiku
|
|
6
|
+
effort: high
|
|
7
7
|
permissionMode: dontAsk
|
|
8
8
|
omitClaudeMd: true
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
On Claude Haiku 5.5, you gather cited facts from primary sources. You decide nothing.
|
|
12
12
|
|
|
13
13
|
## Do
|
|
14
14
|
|
|
@@ -7,7 +7,7 @@ effort: high
|
|
|
7
7
|
permissionMode: dontAsk
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
On Claude Opus 5.5, you review by trying to break the claims. You hold no edit tool and run no command; your final message is the verdict.
|
|
11
11
|
|
|
12
12
|
## Do
|
|
13
13
|
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scout
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Haiku 5.5 read-only exact bounded lookup of files, symbols, and seams. Returns file:line pointers and a shape summary. Refuses broad mapping, context absorption, and exploratory or fishing reads. Never edits or judges quality.'
|
|
4
4
|
tools: Read, Grep, Glob
|
|
5
|
-
model:
|
|
6
|
-
effort:
|
|
5
|
+
model: haiku
|
|
6
|
+
effort: high
|
|
7
7
|
permissionMode: dontAsk
|
|
8
8
|
omitClaudeMd: true
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
On Claude Haiku 5.5, perform an exact bounded lookup. Refuse broad mapping, context absorption,
|
|
12
|
+
distillation, and exploratory or fishing reads; refer the dispatch to `.agents/orchestration.md`
|
|
13
|
+
§ Routing. You do not read at depth, edit, or judge.
|
|
12
14
|
|
|
13
15
|
## Do
|
|
14
16
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verifier
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Haiku 5.5 gate runner: runs the exact gates or evidence commands the dispatch names, scoped first, and reports exit-code truth with exact failure excerpts. Independent of every writer; never fixes.'
|
|
4
4
|
tools: Read, Grep, Glob, Bash
|
|
5
|
-
model:
|
|
6
|
-
effort:
|
|
5
|
+
model: haiku
|
|
6
|
+
effort: high
|
|
7
7
|
permissionMode: default
|
|
8
8
|
omitClaudeMd: true
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
On Claude Haiku 5.5, you run gates and report their true result. You never edit a file and never fix a failure.
|
|
12
12
|
|
|
13
13
|
## Do
|
|
14
14
|
|
|
@@ -104,7 +104,7 @@ Never use in-repository `@src/*` aliases in public guide examples; reserve them
|
|
|
104
104
|
- 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.
|
|
105
105
|
- Give every one of those keys a non-empty single-quoted scalar, and write an apostrophe inside it as `''`.
|
|
106
106
|
- Name the skill's own `$<directory>` token in `default_prompt`.
|
|
107
|
-
- Keep
|
|
108
|
-
- Give a
|
|
109
|
-
- Give every canonical skill exactly one
|
|
107
|
+
- Keep harness bridges minimal: they load one canonical workflow and add no competing instructions.
|
|
108
|
+
- Give a harness bridge its canonical skill's `name` and `description` verbatim, name the `.agents/skills/<name>/SKILL.md` path it loads, and give it no references of its own.
|
|
109
|
+
- Give every canonical skill exactly one harness bridge directory of the same name, and give every bridge directory a canonical twin.
|
|
110
110
|
- Review a bridge body's remaining instructions yourself: the policy sweep proves `name` and `description` parity, the named canonical path, and the absence of bridge-owned references, and nothing else about the body.
|
|
@@ -27,6 +27,7 @@ SCSS mirrors TypeScript centralization. Concrete token prefixes are project-spec
|
|
|
27
27
|
- Apply this table and the folder barrels in § Folders to every sheet face: `src/styles` and each
|
|
28
28
|
`src/<name>` styles extension. `.claude/rules/workspace.md` § Environments fixes the `sheet.ts`
|
|
29
29
|
entry.
|
|
30
|
+
- A sheet face loads nothing from another face, with one admission: `src/styles` can load one CSS-free data module of a recreation face, a partial that declares the recreation's maps under their upstream names with `var(--*)` values and emits no CSS when loaded alone, and the conformance proof's load gate lists that module alone. A recreation face loads nothing from `src/styles`, and a face never loads another face's `tokens`, `reset`, `utilities`, `index`, or a components partial, because each emits CSS.
|
|
30
31
|
- `_mixins.scss` emits no top-level CSS.
|
|
31
32
|
- Consumers load it with `@use '../mixins' as *`.
|
|
32
33
|
- Never load `mixins` from `index.scss`.
|
|
@@ -101,8 +102,11 @@ SCSS mirrors TypeScript centralization. Concrete token prefixes are project-spec
|
|
|
101
102
|
| Sass variable | lowercase kebab-case; `!default` when overridable |
|
|
102
103
|
| Custom property | project token scheme: `--{scope}-{property}[-modifier]` |
|
|
103
104
|
| Modifier class | bare adjective/noun: `.surface`, `.muted`, `.accent` |
|
|
105
|
+
| Variant class | component name, hyphen, map key: `.drag-success` |
|
|
104
106
|
| State class | bare adjective using the shared lifecycle vocabulary |
|
|
105
107
|
|
|
106
108
|
State classes are bare adjectives such as `.active` and `.disabled`, chosen consistently with the shared lifecycle vocabulary.
|
|
107
109
|
|
|
108
|
-
|
|
110
|
+
When a class sets one component's tokens for one key of a shared Sass map, such as a recreated `$theme-colors`, write it as a variant class, as Bootstrap writes `.btn-success`: generate one class per key with `@each` over the map's keys, take each value from the family map with an `@error` on a missing key, and set only the component's own custom properties. Keep the bare modifier form for a class that any component reads.
|
|
111
|
+
|
|
112
|
+
The composable owns interaction state, class application, `aria-*`, and timing. The partial owns visual presentation. Their contracts are stable class names and transition tokens. A native browser module's partial keys its chrome on the module's `data-*` state attribute, scoped under the module's host attribute, and its proof sets the attribute directly; the stable-class-name contract covers the classes a composable writes, not a module's attributes.
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
3
3
|
"enableAllProjectMcpServers": true,
|
|
4
|
+
"env": {
|
|
5
|
+
"CLAUDE_CODE_SUBAGENT_MODEL": "sonnet"
|
|
6
|
+
},
|
|
4
7
|
"permissions": {
|
|
5
8
|
"defaultMode": "bypassPermissions",
|
|
6
9
|
"allow": [
|
|
@@ -969,8 +972,8 @@
|
|
|
969
972
|
"hooks": [
|
|
970
973
|
{
|
|
971
974
|
"type": "command",
|
|
972
|
-
"command": "\"$CLAUDE_PROJECT_DIR\"/scripts/deps.sh",
|
|
973
|
-
"timeout":
|
|
975
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/scripts/npm.sh && \"$CLAUDE_PROJECT_DIR\"/scripts/deps.sh && \"$CLAUDE_PROJECT_DIR\"/scripts/browsers.sh",
|
|
976
|
+
"timeout": 900
|
|
974
977
|
},
|
|
975
978
|
{
|
|
976
979
|
"type": "command",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
name = "builder"
|
|
2
|
-
description = "Sol executor for one
|
|
3
|
-
model = "gpt-6-sol"
|
|
2
|
+
description = "Sol executor for one bounded unit with a closed shape in src, app, tests, or configs; writes only owned files as the sole writer in its checkout and validates scoped to them."
|
|
3
|
+
model = "gpt-6.1-sol"
|
|
4
4
|
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "workspace-write"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
Implement one
|
|
7
|
+
Implement one bounded unit with a closed shape. The dispatch is the plan; do not re-plan.
|
|
8
8
|
|
|
9
9
|
Read the brief, the .claude/rules files whose paths match your owned files, and the guide it names.
|
|
10
10
|
Write only the owned files; return an exact patch for a shared file. Follow AGENTS.md § Work loop
|
|
11
|
-
|
|
12
|
-
project
|
|
11
|
+
at the size the brief names: edit, prove or test the claim, run the touched test file, then the
|
|
12
|
+
touched project when the brief names it. Validate read-only and scoped: a non-fix lint on your paths, the
|
|
13
13
|
scoped check: script, the touched tests; never run format, lint --fix, build, or the whole suite. Delete any probe you wrote before returning.
|
|
14
14
|
|
|
15
|
-
A unit
|
|
16
|
-
say so. Never install, commit, push, read a secret, or run a destructive command. Stop and report
|
|
15
|
+
A unit that leaves naming, API shape, or architecture open, or that spans packages, belongs to
|
|
16
|
+
astra or opus: stop and say so. Never install, commit, push, read a secret, or run a destructive command. Stop and report
|
|
17
17
|
per .agents/orchestration.md § Deviation protocol on any conflict with the brief.
|
|
18
18
|
|
|
19
19
|
Return changed files with one line each, the scoped commands run and their results, shared-file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name = "grok"
|
|
2
|
-
description = "Codex-side driver for the Cursor Grok bench: absorption, distillation,
|
|
3
|
-
model = "gpt-6-
|
|
2
|
+
description = "Codex-side driver for the Cursor Grok bench: context absorption, distillation, broad mapping, and exploration. Returns the brief text, its path, the resolved command, and the journal path for the Orchestrator to launch, and the Grok distillate untouched. Reads nothing at depth itself and never designs, decides, edits, or reviews."
|
|
3
|
+
model = "gpt-6-luna"
|
|
4
4
|
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
name = "opus"
|
|
2
|
-
description = "
|
|
3
|
-
model = "gpt-6-
|
|
4
|
-
model_reasoning_effort = "
|
|
2
|
+
description = "GPT-6 Astra implementation of one bounded subjective unit: API shape, naming, ergonomics, guide voice. Writes owned files, proves claims, and validates scoped. Never accepts its own work."
|
|
3
|
+
model = "gpt-6-astra"
|
|
4
|
+
model_reasoning_effort = "high"
|
|
5
5
|
sandbox_mode = "workspace-write"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
7
|
+
Implement one dispatched subjective unit on GPT-6 Astra and spawn nothing.
|
|
8
8
|
|
|
9
|
-
Read .
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
journal path. The Orchestrator launches under a cap.
|
|
9
|
+
Read the brief, AGENTS.md, the rules whose paths match the owned files, the named skill, and the
|
|
10
|
+
guide. Follow AGENTS.md § Work loop: types first, prove the claim with the prove tool, implement,
|
|
11
|
+
test, consolidate, document. For a defect, record the failing command and count before the fix
|
|
12
|
+
and the same command green after.
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
Write only the owned files; return an exact patch for a shared file. Validate read-only and
|
|
15
|
+
scoped: the touched project's check: script, the touched test file, then the touched project.
|
|
16
|
+
Never run format, lint --fix, build, or the whole suite. Delete every probe before returning;
|
|
17
|
+
promote a probe that settled a claim into a test. Finish the whole unit. Stop only per
|
|
18
|
+
.agents/orchestration.md § Deviation protocol.
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
Never add a dependency, suppress a diagnostic, mock project-owned behavior, leave a TODO in
|
|
21
|
+
scope, commit, push, install, read a secret, or run a destructive command.
|
|
22
|
+
|
|
23
|
+
Return touched files with one line each, diffstat, scoped validation commands and results, the
|
|
24
|
+
prove closing line per claim, failing-first test names, shared-file patches, deviation state.
|
|
25
|
+
No process diary.
|
|
22
26
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name = "orkestrel"
|
|
2
2
|
description = "Read-only Orkestrel ecosystem reconciler: turns the evidence the dispatch supplies — manifests, lockfiles, installed declarations, guides, and registry readings — into package maps, dependency sequencing, blast radius, and drift findings. Collects no live state itself, and never treats the embedded catalog as live state."
|
|
3
|
-
model = "gpt-6-sol"
|
|
3
|
+
model = "gpt-6.1-sol"
|
|
4
4
|
model_reasoning_effort = "medium"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
name = "planner"
|
|
2
|
-
description = "
|
|
3
|
-
model = "gpt-6-
|
|
4
|
-
model_reasoning_effort = "
|
|
2
|
+
description = "Read-only GPT-6 Astra design of shape, naming, ergonomics, alternatives, and bounded units. Never implements or accepts."
|
|
3
|
+
model = "gpt-6-astra"
|
|
4
|
+
model_reasoning_effort = "high"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
7
|
+
Design one dispatched unit on GPT-6 Astra. Use read-only inspection commands. Never edit,
|
|
8
|
+
run a mutating command, or spawn.
|
|
8
9
|
|
|
9
|
-
Read .
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
Read the brief, AGENTS.md, the rules whose paths match the subject, the named skill, the guide,
|
|
11
|
+
and the supplied distillate. Work from the brief alone; never look for or reconcile the other
|
|
12
|
+
lane's answer. Hold the lane the dispatch names and say which: subjective (shape, naming,
|
|
13
|
+
ergonomics, design fit) or objective (correctness, constraints, what the contracts permit).
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
Propose one design. Name each real alternative that a constraint favors and why the design
|
|
16
|
+
wins; leave out an option nothing favors. Cut every unit to a fully specified brief; name its
|
|
17
|
+
role and engine, owned files, dependencies, and acceptance criteria. Name every judgment call
|
|
18
|
+
under Tensions for the other lane or the Orchestrator to rule.
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
(
|
|
20
|
+
Return Design, Alternatives, Constraints (each with file:line), Refusals (options a rule
|
|
21
|
+
forecloses, rule quoted), Measurements (readings supplied and readings missing), Units, Tensions,
|
|
22
|
+
Risks. Fill the sections your lane owns; leave the others empty rather than renaming them.
|
|
23
|
+
A dispatch-named skill that fixes another shape wins. Your final message is the proposal.
|
|
19
24
|
"""
|
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
name = "reviewer"
|
|
2
|
-
description = "
|
|
3
|
-
model = "gpt-6-
|
|
4
|
-
model_reasoning_effort = "
|
|
2
|
+
description = "Read-only GPT-6 Astra review against numbered claims: design fit by default and correctness when assigned. Never edits or accepts."
|
|
3
|
+
model = "gpt-6-astra"
|
|
4
|
+
model_reasoning_effort = "high"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
7
|
+
Review one dispatched unit on GPT-6 Astra by trying to break its claims. Use read-only inspection
|
|
8
|
+
commands. Never edit, run a mutating command, or spawn. Use a clean context; never review work you wrote.
|
|
8
9
|
|
|
9
|
-
Read
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
Read the claims file, the actual diff and git status --porcelain the dispatch supplies,
|
|
11
|
+
AGENTS.md, the rules whose paths match the changed files, the guide, and enough surrounding
|
|
12
|
+
source to judge. Return a deviation if the diff is missing.
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
Hold the lane the dispatch names and say which. Subjective: requested shape and voice, coherent
|
|
15
|
+
names and boundaries, the right layer, each concept's purpose, guide parity. Objective:
|
|
16
|
+
correctness under adverse orderings, what contracts and installed declarations permit,
|
|
17
|
+
dependency and range truth, test sufficiency, and the letter of the rules.
|
|
16
18
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
Attack each claim with a concrete input, state, or interleaving. Before confirming a proof,
|
|
20
|
+
name the mutation that would make it fail and whether its assertions distinguish it. Rule a
|
|
21
|
+
claim whose only evidence is the writer's report UNRESOLVED. Cite a capture for every rendered
|
|
22
|
+
surface claim; mark what the portfolio cannot show NOT-EVIDENCED. Refer a question outside your
|
|
23
|
+
lane to the other lane or the Orchestrator with evidence; never rule on it. Treat a bench finding
|
|
24
|
+
as a proposal to test against the code, never as authority.
|
|
25
|
+
|
|
26
|
+
Return the orkestrel-falsify verdict shape: numbered verdicts with evidence, findings outside the
|
|
27
|
+
claims, attacked-and-held, one terminal line. Each required change carries file:line, what is
|
|
28
|
+
wrong, and what right looks like. Nothing else. Your final message is the verdict.
|
|
19
29
|
"""
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
name = "scout"
|
|
2
|
-
description = "Read-only
|
|
2
|
+
description = "Read-only exact bounded lookup of files, symbols, and seams; returns file:line pointers and a shape summary; refuses broad mapping, context absorption, and exploratory or fishing reads; never edits or judges."
|
|
3
3
|
model = "gpt-6-luna"
|
|
4
4
|
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
7
|
+
Perform an exact bounded lookup. Refuse broad mapping, context absorption, distillation, and
|
|
8
|
+
exploratory or fishing reads; refer the dispatch to .agents/orchestration.md § Routing.
|
|
9
|
+
Do not read at depth, edit, or judge.
|
|
8
10
|
|
|
9
11
|
Take one bounded question: what to find and where to stop. Read the map the dispatch supplies (the
|
|
10
12
|
Orchestrator runs the orkestrel-scout skill's map.ts and names its path); then search by name,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name = "verifier"
|
|
2
2
|
description = "Independent gate runner that runs the exact commands the dispatch names, scoped first, and reports exit-code truth with exact failure excerpts without fixing anything."
|
|
3
|
-
model = "gpt-6-
|
|
3
|
+
model = "gpt-6-luna"
|
|
4
4
|
model_reasoning_effort = "medium"
|
|
5
5
|
sandbox_mode = "workspace-write"
|
|
6
6
|
developer_instructions = """
|
|
@@ -14,13 +14,12 @@ Codex loads AGENTS.md itself. Read each .claude/rules/*.md file whose paths fron
|
|
|
14
14
|
files you touch; Codex does not load them for you. Follow a skill under .agents/skills when its
|
|
15
15
|
trigger fires.
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
- Astra: this session, analyst, astra.
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
- Sol: drivers and fully specified units (builder, verifier, orkestrel).
|
|
17
|
+
Use the canonical Codex role mapping in .agents/orchestration.md:
|
|
18
|
+
- GPT-6 Astra: this session, analyst, astra, planner, reviewer, opus; execute natively.
|
|
19
|
+
- GPT-6.1 Sol: builder, orkestrel.
|
|
20
|
+
- GPT-6 Luna: grok, checker, verifier, scout, distiller, researcher.
|
|
21
|
+
- The grok driver reaches Cursor Grok 4.7 Extra High read-only through .agents/transports/cursor.md;
|
|
22
|
+
apply .agents/orchestration.md § Routing for the reading boundary.
|
|
24
23
|
|
|
25
24
|
Hooks: .codex/hooks.json runs the orkestrel-dispatch sweep script (node
|
|
26
25
|
.agents/skills/orkestrel-dispatch/scripts/sweep.ts --report) on SessionStart and git diff --check
|
|
@@ -16,7 +16,7 @@ alwaysApply: true
|
|
|
16
16
|
|
|
17
17
|
- Reach Opus 5.5 through the `claude` MCP server (`claude mcp serve`) in `.cursor/mcp.json` for a short exchange, and through `claude -p` per `.agents/transports/claude-cli.md` for a unit.
|
|
18
18
|
- Reach Astra through `codex exec` per `.agents/transports/codex.md`. `codex mcp-server` no longer exists.
|
|
19
|
-
- Never select another
|
|
19
|
+
- Never select another harness family's model from Cursor's own model list; Cursor is the Grok 4.7 Extra High bench.
|
|
20
20
|
- Approve the `claude` MCP server once per machine with `agent mcp enable claude`.
|
|
21
21
|
|
|
22
22
|
## Rules and skills
|
|
@@ -299,6 +299,7 @@ Exported from `@orkestrel/scaffold`, and reachable from
|
|
|
299
299
|
| `blueprintToQuestions` | function | Measures a blueprint against every law its own fields decide. |
|
|
300
300
|
| `blueprintToRootTsconfig` | function | Compiles the root TypeScript configuration for a blueprint. |
|
|
301
301
|
| `blueprintToProjects` | function | Projects a blueprint into the project labels its root Vitest configuration registers. |
|
|
302
|
+
| `blueprintToOptimizedDependencies` | function | Compiles the browser projects' pre-bundled dependency list for a blueprint. |
|
|
302
303
|
| `blueprintToRootVite` | function | Compiles the root Vite and Vitest configuration for a blueprint. |
|
|
303
304
|
| `blueprintToScripts` | function | Projects a blueprint into the scripts its manifest declares. |
|
|
304
305
|
| `blueprintToSheets` | function | Projects a blueprint into its validated sheet-face names in stable order. |
|
|
@@ -1859,8 +1860,11 @@ lists name.
|
|
|
1859
1860
|
licence, the harness permission file, the scaffold-owned `scripts` directory, the
|
|
1860
1861
|
shared policy register, the shared policy proof, the shared policy plugin, the shared configuration
|
|
1861
1862
|
leaf and its proof, and the byte-identical root dotfiles. The session-start hooks inside `scripts`
|
|
1862
|
-
split by job. The bench probe reports whether a bench CLI resolves
|
|
1863
|
-
the
|
|
1863
|
+
split by job. The bench probe reports whether a bench CLI resolves. In a remote session one command
|
|
1864
|
+
runs three hooks in order: the npm hook installs the newest npm in the major of the floor the
|
|
1865
|
+
workspace's `devEngines` record declares when the container's npm is older, the dependency hook
|
|
1866
|
+
installs the lockfile's closure, and the browser hook installs the Chromium builds the
|
|
1867
|
+
`playwright-core` package pins when the container's browser store lacks them.
|
|
1864
1868
|
The Ollama hook invokes `scripts/ollama.sh` only when `CLAUDE_CODE_REMOTE=true`; direct invocation
|
|
1865
1869
|
remains available for live-service setup. Claude Code Cloud is Linux and has bash: SessionStart
|
|
1866
1870
|
runs that POSIX script and never a Windows wrapper. What wires a bench stays in the canon, and a
|
|
@@ -1983,7 +1987,9 @@ and `overwrite` restore its bytes, so an edit made to it inside a target is reve
|
|
|
1983
1987
|
visit and reported as drift until then. Put an operator grant in `.claude/settings.local.json`
|
|
1984
1988
|
instead. That path is outside `HOST_PATHS` and matches the vendoring deny-list
|
|
1985
1989
|
`matchesSensitivePath` reads, so `stageHost` never copies it into a host root and no plan carries
|
|
1986
|
-
it.
|
|
1990
|
+
it. The staged `.claude/settings.json` sets `CLAUDE_CODE_SUBAGENT_MODEL` to `sonnet` in its `env`
|
|
1991
|
+
object: the model a Claude Code subagent runs on when no role frontmatter and no dispatch assigns
|
|
1992
|
+
one; `.claude/AGENTS.md` § Models owns the rule.
|
|
1987
1993
|
|
|
1988
1994
|
`stageHost` fills the root from a real checkout at build time:
|
|
1989
1995
|
|