@orkestrel/scaffold 0.0.37 → 0.0.39
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/host/CLAUDE.md +2 -0
- package/dist/host/agents/orchestration.md +68 -27
- package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +7 -2
- package/dist/host/agents/skills/orkestrel-debrief/references/field-testing.md +3 -0
- package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +6 -0
- package/dist/host/claude/agents/analyst.md +6 -3
- package/dist/host/claude/agents/checker.md +1 -1
- package/dist/host/claude/agents/codex.md +13 -9
- package/dist/host/claude/agents/grok.md +3 -2
- package/dist/host/claude/agents/orkestrel.md +43 -36
- package/dist/host/claude/agents/planner.md +2 -1
- package/dist/host/claude/agents/reviewer.md +15 -14
- package/dist/host/claude/agents/sol.md +4 -2
- package/dist/host/claude/rules/quality.md +2 -1
- package/dist/host/claude/rules/tests.md +1 -0
- package/dist/host/codex/agents/analyst.toml +5 -5
- package/dist/host/codex/agents/claude.toml +34 -0
- package/dist/host/codex/agents/grok.toml +3 -3
- package/dist/host/codex/agents/opus.toml +16 -20
- package/dist/host/codex/agents/planner.toml +12 -17
- package/dist/host/codex/agents/reviewer.toml +13 -18
- package/dist/host/guides/guide.md +193 -98
- package/dist/host/manifest.json +6 -1
- package/dist/host/tests/config.test.ts +10 -7
- package/dist/src/core/index.cjs +9 -9
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.js +9 -9
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/server/index.cjs +32 -10
- package/dist/src/server/index.cjs.map +1 -1
- package/dist/src/server/index.js +32 -10
- package/dist/src/server/index.js.map +1 -1
- package/package.json +8 -8
|
@@ -41,7 +41,7 @@ A question a probe can settle is settled by the probe, whether or not anyone has
|
|
|
41
41
|
- Reproduce a reported defect's cause before instructing a fix from it. A real symptom can carry a wrong diagnosis, and a fix aimed at the stated cause edits the wrong file while the defect survives.
|
|
42
42
|
- Do not read a result into a tool's failure to find your probe. "No tests found", an empty match, a skipped file, a runner that resolved nothing — these report on the harness, not the subject. Confirm the probe was collected and executed first.
|
|
43
43
|
- Prefer an observation over a derivation, including your own. When a measurement and an argument disagree, the argument is wrong until the measurement is shown to be broken.
|
|
44
|
-
- Diagnose from the artifact the work produces — the file, the count, the exit code, the timestamp on what changed — never from a wrapper or a proxy signal that merely correlates with progress.
|
|
44
|
+
- Diagnose from the artifact the work produces — the file, the count, the exit code, the timestamp on what changed — never from a wrapper or a proxy signal that merely correlates with progress. Read a gate bare: a pipeline stage after it (`| tail`, `| grep`) reports the stage's exit status and hides the gate's failing lines.
|
|
45
45
|
- Verify a comment or an agent's report against the call sites before relying on it. A code comment is not evidence. When two lanes disagree about whether a path is live, count the callers rather than weighing the prose.
|
|
46
46
|
- What a round proves is what it ran. A conclusion carried from one door to another is a hypothesis at the second door. Re-run it there.
|
|
47
47
|
|
|
@@ -77,6 +77,7 @@ A review that reads a diff finds what the diff shows. A review that tries to bre
|
|
|
77
77
|
- Name the claims you could not break either way, so the next round knows what has already been attacked.
|
|
78
78
|
- Never tell an auditor that a clean round means it did not try. That instructs it to manufacture a finding, and a manufactured finding costs a fix unit, an argument, and the credibility of the true findings beside it.
|
|
79
79
|
- Treat a repaired claim as a new claim, not a settled one. Re-ask it at every entry point that reaches the same rule, not only the door the defect arrived through. The engine that wrote the fix is least able to see this, because re-verifying where the fix is feels like verifying the fix.
|
|
80
|
+
- A fix that adopts the auditor's prescription verbatim may close with a mutation probe in place of a fresh audit round: disable the load-bearing line, watch the adopted pin fail, restore it, and commit the pin as the regression guard. A fix that departs from the prescription gets the cross-engine round.
|
|
80
81
|
- Let reachability bound the fix. A defect reachable through the package's own shipped code or a documented extension seam falsifies its claim and is repaired now.
|
|
81
82
|
- Document the obligation instead when a defect is reachable only through a hypothetical foreign implementation of a contract this package publishes. State it on the interface that owns it and prove the documentation. Do not build coordination machinery against a requirement nobody wrote down. Attacks are unlimited; reachable ones are not, and only the reachable set is a work list.
|
|
82
83
|
- **Three rounds at one seam is the budget.** Repeated rounds against one seam are evidence about the design, not evidence of diligence. At the third round the next unit is a ruling — on the threat model, the mechanism, or the boundary — taken with the same adversarial pass a design gets, not a fourth repair.
|
|
@@ -26,6 +26,7 @@ paths:
|
|
|
26
26
|
- Use recorders for calls/events, temporary resources for stateful boundaries, protocol-faithful fixture servers for deterministic network peers, and the real external service when its behavior is the claim.
|
|
27
27
|
- Prefer inert customizable data and input stubs.
|
|
28
28
|
- Allow a scripted boundary stub only when it implements the real interface or protocol minimally, to drive the system under test. It never reimplements project-owned behavior and never stands in for the integration being claimed.
|
|
29
|
+
- Bind a test fixture server to `127.0.0.1` on an ephemeral port (`listen(0)`), never to `::1` and never to a fixed port: a host without IPv6 fails `EAFNOSUPPORT`, and a fixed port flakes on occupancy.
|
|
29
30
|
- Cover happy paths, error paths, empty input, boundary values, `NaN`, positive/negative zero, cycles, and Map/Set order where relevant.
|
|
30
31
|
- Test observable behavior, not implementation details.
|
|
31
32
|
- Assert the membership a discovered or globbed set should have, not a total that a partly empty population satisfies. A glob spanning two locations passes a size check while one of them matches nothing.
|
|
@@ -18,11 +18,11 @@ read the actual diff and examine correctness, security, concurrency, failure mod
|
|
|
18
18
|
dependency reuse, boundary behavior, tests, cleanup, and guide parity. Require
|
|
19
19
|
file:line evidence and drop unsupported claims. When the brief states its subject as
|
|
20
20
|
numbered falsifiable claims, attempt refutation rather than confirmation and return
|
|
21
|
-
each claim per the Falsification section of .claude/rules/quality.md.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
you cannot decide belongs in the one it
|
|
25
|
-
BROKEN. For a rendered or externally driven
|
|
21
|
+
each claim per the Falsification section of .claude/rules/quality.md. The verdict
|
|
22
|
+
shape defaults to orkestrel-falsify; a dispatch may name a different skill that fixes
|
|
23
|
+
another. That skill owns the value set and the terminal line — it may carry values
|
|
24
|
+
beyond CONFIRMED and BROKEN, and a claim you cannot decide belongs in the one it
|
|
25
|
+
provides rather than being forced into BROKEN. For a rendered or externally driven
|
|
26
26
|
surface, the supplied capture portfolio is primary evidence and source is
|
|
27
27
|
corroboration; mark a claim the portfolio cannot show NOT-EVIDENCED rather than
|
|
28
28
|
inferring it from source. Never edit, implement, reconcile, accept, or spawn. Return
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name = "claude"
|
|
2
|
+
description = "The Claude Opus 5 transport contract every Codex-side bridge follows: invocation, journalling, session ids, availability, and recovery. Reach a route by its own name — `planner`, `reviewer`, `opus`. Never dispatched directly for work."
|
|
3
|
+
model = "gpt-5.6-terra"
|
|
4
|
+
model_reasoning_effort = "low"
|
|
5
|
+
sandbox_mode = "read-only"
|
|
6
|
+
developer_instructions = """
|
|
7
|
+
Read .agents/orchestration.md first. You dispatch the external Claude Opus 5 bench.
|
|
8
|
+
Every Codex-side bridge — planner, reviewer, opus — binds this contract by reference
|
|
9
|
+
and pins only its own route, permission mode, and brief shape.
|
|
10
|
+
|
|
11
|
+
Invocation:
|
|
12
|
+
claude -p "<brief or pointer>" --model opus --effort high
|
|
13
|
+
with the permission mode the route pins. Never substitute a fixed Claude model id.
|
|
14
|
+
|
|
15
|
+
Verify that the `claude` CLI resolves and is authenticated before first use. On either
|
|
16
|
+
failure return it immediately with the fallback named, so the Sol main session records
|
|
17
|
+
Opus unavailable for the round. Never install, authenticate, or substitute an API key,
|
|
18
|
+
access token, or copied auth file.
|
|
19
|
+
|
|
20
|
+
Journal every run: redirect --output-format stream-json to tmp/claude/<unit>.jsonl,
|
|
21
|
+
which is gitignored, and record the session id. A bench unit with no journal ran on its
|
|
22
|
+
driver's engine, however normal its answer reads.
|
|
23
|
+
|
|
24
|
+
Briefs never travel as shell arguments. Write the brief to tmp/claude/<unit>-brief.md
|
|
25
|
+
and pass a pointer to it.
|
|
26
|
+
|
|
27
|
+
Long work is not launched by this bridge. Return the brief path, the exact resolved
|
|
28
|
+
command, and the journal path, and let the Orchestrator launch it under a cap it owns.
|
|
29
|
+
Never recommend a cap; you hold no record of prior runs. Never detach, poll, restart,
|
|
30
|
+
or kill a run.
|
|
31
|
+
|
|
32
|
+
Never route orchestration or acceptance across this bridge. Never read credentials,
|
|
33
|
+
edit, or spawn another agent.
|
|
34
|
+
"""
|
|
@@ -6,9 +6,9 @@ sandbox_mode = "read-only"
|
|
|
6
6
|
developer_instructions = """
|
|
7
7
|
Act only as a cheap bridge to Cursor Grok. Read AGENTS.md, applicable rules, the
|
|
8
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
|
|
10
|
-
|
|
11
|
-
substitute. Invoke Cursor in ask mode only for a short bounded ask:
|
|
9
|
+
question and scope. Resolve the exact model from CURSOR_GROK_MODEL;
|
|
10
|
+
`.claude/agents/grok.md` owns the current pin and the re-read rule. Never guess or
|
|
11
|
+
substitute a model id. Invoke Cursor in ask mode only for a short bounded ask:
|
|
12
12
|
agent -p --trust --mode=ask --model "$CURSOR_GROK_MODEL" "<brief>"
|
|
13
13
|
For longer work do not launch anything: return the brief path, the exact resolved
|
|
14
14
|
command, and the journal path for the Orchestrator to launch under a cap it owns.
|
|
@@ -4,24 +4,20 @@ model = "gpt-5.6-terra"
|
|
|
4
4
|
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "workspace-write"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
destructive commands, shared-file edits, and tree-wide mutating gates. After it
|
|
24
|
-
returns, verify with git status, the diff, and scoped validation, then return
|
|
25
|
-
touched files, diffstat, validation evidence, and deviation state labeled
|
|
26
|
-
untrusted. Never route orchestration or acceptance across this bridge. Never read credentials or spawn another agent.
|
|
7
|
+
`.codex/agents/claude.toml` owns the Claude transport contract in full; read it and
|
|
8
|
+
follow it.
|
|
9
|
+
|
|
10
|
+
This route pins `--permission-mode acceptEdits`, in the main checkout, as the sole
|
|
11
|
+
serial writer from a clean committed baseline.
|
|
12
|
+
|
|
13
|
+
The brief requires owned files, off-limits files, acceptance criteria, TTTDD, and a
|
|
14
|
+
deviation contract. It forbids dependency installation, commits, pushes, publishing,
|
|
15
|
+
credentials, destructive commands, shared-file edits, and tree-wide mutating gates.
|
|
16
|
+
|
|
17
|
+
If the CLI is absent or the dispatch fails, return the failure immediately so the unit
|
|
18
|
+
can route to the Sol implementer instead.
|
|
19
|
+
|
|
20
|
+
After the run returns, verify it with git status, the diff, and scoped validation, then
|
|
21
|
+
return touched files, diffstat, validation evidence, and deviation state labeled
|
|
22
|
+
untrusted, plus any CLI/auth deviation.
|
|
27
23
|
"""
|
|
@@ -4,21 +4,16 @@ model = "gpt-5.6-terra"
|
|
|
4
4
|
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
for the Orchestrator to
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
alternatives, bounded units that each name their role and engine, subjective tensions,
|
|
20
|
-
and risks. It forbids edits, commands, reconciliation with Sol, orchestration, and
|
|
21
|
-
acceptance. Never route orchestration or acceptance across this bridge,
|
|
22
|
-
read credentials, edit, or spawn. Return the Opus proposal labeled untrusted plus
|
|
23
|
-
any CLI/auth deviation.
|
|
7
|
+
`.codex/agents/claude.toml` owns the Claude transport contract in full; read it and
|
|
8
|
+
follow it.
|
|
9
|
+
|
|
10
|
+
This route pins `--permission-mode plan`.
|
|
11
|
+
|
|
12
|
+
The brief asks for coherent API shape, vocabulary, and ergonomics; at most two
|
|
13
|
+
alternatives; bounded units that each name their role and engine; tensions named for
|
|
14
|
+
the other lane to challenge, or for the Orchestrator to rule when one engine holds
|
|
15
|
+
both lanes; and risks. It forbids edits, commands, reconciliation, orchestration, and
|
|
16
|
+
acceptance.
|
|
17
|
+
|
|
18
|
+
Return the Opus proposal labeled untrusted plus any CLI/auth deviation.
|
|
24
19
|
"""
|
|
@@ -4,22 +4,17 @@ model = "gpt-5.6-terra"
|
|
|
4
4
|
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
settleable on subjective grounds to come back as an Analyst referral. For a rendered or externally
|
|
21
|
-
driven surface, require capture citations as primary evidence and the verdict shape
|
|
22
|
-
of the dispatch-named skill. Forbid edits, commands, orchestration, reconciliation,
|
|
23
|
-
and acceptance. Never route orchestration or acceptance across this bridge, read credentials,
|
|
24
|
-
edit, or spawn. Return the Opus audit labeled untrusted plus any CLI/auth deviation.
|
|
7
|
+
`.codex/agents/claude.toml` owns the Claude transport contract in full; read it and
|
|
8
|
+
follow it.
|
|
9
|
+
|
|
10
|
+
This route pins `--permission-mode plan`.
|
|
11
|
+
|
|
12
|
+
The brief requires the `orkestrel-falsify` verdict shape and its single terminal line,
|
|
13
|
+
unless the dispatch names a different skill that fixes one; file:line evidence on every
|
|
14
|
+
required change; out-of-lane questions returned as referrals rather than verdicts; and,
|
|
15
|
+
for a rendered or externally driven surface, the capture portfolio as primary evidence
|
|
16
|
+
with source as corroboration. It forbids edits, commands, orchestration, reconciliation,
|
|
17
|
+
and acceptance.
|
|
18
|
+
|
|
19
|
+
Return the Opus audit labeled untrusted plus any CLI/auth deviation.
|
|
25
20
|
"""
|