@eir-labs/coltrane 0.9.4 → 0.11.0
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/agents/bandleader.json +54 -0
- package/agents/bill.json +4 -2
- package/agents/change-verifier.json +2 -1
- package/agents/code-implementer.json +7 -4
- package/agents/john.json +5 -3
- package/agents/lineage-scout-external.json +19 -6
- package/agents/lineage-scribe.json +20 -9
- package/agents/lineage-weaver.json +26 -11
- package/agents/miles.json +2 -1
- package/agents/players/bandleader.md +70 -0
- package/agents/pr-publisher.json +4 -2
- package/agents/red-spec-drafter.json +12 -6
- package/agents/room-prober.json +29 -0
- package/agents/source-walker.json +1 -1
- package/charts/room-probe-chart-v1.json +14 -0
- package/charts/worker-contract-docker-v2.json +135 -0
- package/charts/worker-contract-v3.json +206 -0
- package/dist/src/boundary_check.d.ts +18 -0
- package/dist/src/boundary_check.js +70 -0
- package/dist/src/boundary_check.js.map +1 -0
- package/dist/src/boundary_scan.d.ts +62 -0
- package/dist/src/boundary_scan.js +93 -0
- package/dist/src/boundary_scan.js.map +1 -0
- package/dist/src/chart.js +34 -1
- package/dist/src/chart.js.map +1 -1
- package/dist/src/claude_invoker.d.ts +2 -1
- package/dist/src/claude_invoker.js +150 -17
- package/dist/src/claude_invoker.js.map +1 -1
- package/dist/src/cli.d.ts +1 -1
- package/dist/src/cli.js +61 -26
- package/dist/src/cli.js.map +1 -1
- package/dist/src/drain_preflight.d.ts +33 -0
- package/dist/src/drain_preflight.js +97 -0
- package/dist/src/drain_preflight.js.map +1 -0
- package/dist/src/genome_schema.d.ts +390 -9
- package/dist/src/genome_schema.js +163 -8
- package/dist/src/genome_schema.js.map +1 -1
- package/dist/src/genome_store.js +9 -0
- package/dist/src/genome_store.js.map +1 -1
- package/dist/src/genome_writer.d.ts +1 -1
- package/dist/src/genome_writer.js +10 -2
- package/dist/src/genome_writer.js.map +1 -1
- package/dist/src/gig_conformance.d.ts +66 -0
- package/dist/src/gig_conformance.js +153 -0
- package/dist/src/gig_conformance.js.map +1 -0
- package/dist/src/gig_tracker.js +8 -0
- package/dist/src/gig_tracker.js.map +1 -1
- package/dist/src/grounding.d.ts +44 -0
- package/dist/src/grounding.js +127 -0
- package/dist/src/grounding.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/institution_loader.d.ts +29 -5
- package/dist/src/institution_loader.js +67 -6
- package/dist/src/institution_loader.js.map +1 -1
- package/dist/src/lineage_adoption.d.ts +82 -0
- package/dist/src/lineage_adoption.js +82 -0
- package/dist/src/lineage_adoption.js.map +1 -0
- package/dist/src/lineage_persist.d.ts +34 -0
- package/dist/src/lineage_persist.js +60 -0
- package/dist/src/lineage_persist.js.map +1 -0
- package/dist/src/loader.d.ts +13 -0
- package/dist/src/loader.js +43 -2
- package/dist/src/loader.js.map +1 -1
- package/dist/src/mcp.js +37 -4
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/org_hire.d.ts +23 -0
- package/dist/src/org_hire.js +42 -0
- package/dist/src/org_hire.js.map +1 -0
- package/dist/src/output_mirror.js +98 -59
- package/dist/src/output_mirror.js.map +1 -1
- package/dist/src/outputs.d.ts +17 -0
- package/dist/src/outputs.js +86 -1
- package/dist/src/outputs.js.map +1 -1
- package/dist/src/player_to_claude_code.js +26 -2
- package/dist/src/player_to_claude_code.js.map +1 -1
- package/dist/src/registry.d.ts +3 -1
- package/dist/src/registry.js +43 -3
- package/dist/src/registry.js.map +1 -1
- package/dist/src/repo_index.d.ts +58 -0
- package/dist/src/repo_index.js +232 -0
- package/dist/src/repo_index.js.map +1 -0
- package/dist/src/reuse.d.ts +44 -4
- package/dist/src/reuse.js +0 -0
- package/dist/src/reuse.js.map +1 -1
- package/dist/src/runtime.d.ts +82 -0
- package/dist/src/runtime.js +254 -25
- package/dist/src/runtime.js.map +1 -1
- package/dist/src/server.d.ts +37 -0
- package/dist/src/server.js +422 -11
- package/dist/src/server.js.map +1 -1
- package/dist/src/server_relay.d.ts +40 -2
- package/dist/src/server_relay.js +186 -19
- package/dist/src/server_relay.js.map +1 -1
- package/dist/src/tool_providers.d.ts +27 -0
- package/dist/src/tool_providers.js +48 -0
- package/dist/src/tool_providers.js.map +1 -1
- package/dist/src/venue_credential.d.ts +41 -0
- package/dist/src/venue_credential.js +57 -0
- package/dist/src/venue_credential.js.map +1 -0
- package/dist/src/venue_realize.d.ts +23 -0
- package/dist/src/venue_realize.js +43 -3
- package/dist/src/venue_realize.js.map +1 -1
- package/dist/src/venue_realizer.d.ts +224 -0
- package/dist/src/venue_realizer.js +889 -0
- package/dist/src/venue_realizer.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/src/worker.d.ts +37 -0
- package/dist/src/worker.js +127 -24
- package/dist/src/worker.js.map +1 -1
- package/dist/src/worker_env.d.ts +79 -0
- package/dist/src/worker_env.js +322 -0
- package/dist/src/worker_env.js.map +1 -0
- package/dist/src/workspace.d.ts +12 -1
- package/dist/src/workspace.js +10 -3
- package/dist/src/workspace.js.map +1 -1
- package/domain_types/change-context.json +59 -13
- package/domain_types/lineage-adoption-target.json +22 -0
- package/domain_types/lineage-map.json +7 -2
- package/domain_types/lineage-record.json +55 -5
- package/domain_types/prior-art-hit.json +16 -1
- package/domain_types/red-spec.json +5 -3
- package/domain_types/woodshed-record.json +149 -0
- package/evals/gist-present.json +7 -0
- package/institutions/coltrane.json +178 -6
- package/package.json +6 -3
- package/skills/non-vacuity-probe/fixtures/fixture-001.json +17 -0
- package/skills/non-vacuity-probe/meta.json +12 -0
- package/skills/non-vacuity-probe/skill.md +27 -0
- package/skills/non-vacuity-probe/skill.mjs +81 -0
- package/standards/lineage-adopt-v0.json +37 -0
- package/standards/room-probe-v1.json +28 -0
- package/standards/software-change-pr-v1.json +15 -15
- package/standards/software-change-red-first-v0.json +183 -0
- package/standards/spec-review-and-sequence-v0.json +112 -0
- package/standards/studio-session-v0.json +101 -0
- package/tours/coltrane.json +72 -0
- package/venues/engine-room-v1.json +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundary_scan.js","sourceRoot":"","sources":["../../src/boundary_scan.ts"],"names":[],"mappings":"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"}
|
package/dist/src/chart.js
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
// verified by a deliver-phase verdict (7/7) and approved by the governor. The ChartSchema itself
|
|
26
26
|
// lives with every other genome class in src/genome_schema.ts — one Zod source, no exceptions.
|
|
27
27
|
import { randomUUID } from "node:crypto";
|
|
28
|
+
import { z } from "zod";
|
|
28
29
|
import { ChartSchema } from "./genome_schema.js";
|
|
29
30
|
import { toolBaseName } from "./tool_providers.js";
|
|
30
31
|
import { composeMovementGigId } from "./outputs.js";
|
|
@@ -220,6 +221,32 @@ export function chartEntrySeedTypes(chart, standards) {
|
|
|
220
221
|
}
|
|
221
222
|
return [...seeds];
|
|
222
223
|
}
|
|
224
|
+
/** When a Zod refusal carries BOTH an unrecognized key K and a missing required field F — in the
|
|
225
|
+
* SAME object — such that F ends with K (`movement_id`.endsWith(`id`)), the author almost certainly
|
|
226
|
+
* meant F. Return a phrase linking the two so the R0 detail can name the near-miss. Suffix
|
|
227
|
+
* containment covers the reported pair (`id` → `movement_id`) with no string-distance dependency;
|
|
228
|
+
* matching within one object path guards against pairing keys from two unrelated movements. */
|
|
229
|
+
function describeNearMiss(issues) {
|
|
230
|
+
const unrecognized = [];
|
|
231
|
+
const required = [];
|
|
232
|
+
for (const iss of issues) {
|
|
233
|
+
if (iss.code === "unrecognized_keys") {
|
|
234
|
+
for (const k of iss.keys)
|
|
235
|
+
unrecognized.push({ key: k, parent: iss.path.join(".") });
|
|
236
|
+
}
|
|
237
|
+
else if (iss.code === "invalid_type" && iss.received === "undefined") {
|
|
238
|
+
const field = iss.path[iss.path.length - 1];
|
|
239
|
+
if (typeof field === "string")
|
|
240
|
+
required.push({ field, parent: iss.path.slice(0, -1).join(".") });
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
for (const u of unrecognized) {
|
|
244
|
+
const hit = required.find((r) => r.parent === u.parent && r.field !== u.key && r.field.endsWith(u.key));
|
|
245
|
+
if (hit)
|
|
246
|
+
return `unrecognized key "${u.key}" is a near-miss for the required key "${hit.field}" — did you mean "${hit.field}"?`;
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
223
250
|
export function composeChart(input) {
|
|
224
251
|
const V = (v) => ({ ok: false, violations: v });
|
|
225
252
|
// ── R0 schema ────────────────────────────────────────────────────────────────────────────────
|
|
@@ -229,7 +256,13 @@ export function composeChart(input) {
|
|
|
229
256
|
chart = ChartSchema.parse(input.chart);
|
|
230
257
|
}
|
|
231
258
|
catch (e) {
|
|
232
|
-
|
|
259
|
+
const base = `chart does not parse: ${e instanceof Error ? e.message : String(e)}`;
|
|
260
|
+
// The schema already knows the expected key. When the refusal carries an unrecognized key that
|
|
261
|
+
// is a near-miss for a missing required one (e.g. a movement keyed `id` where `movement_id` is
|
|
262
|
+
// required), name it — the refusal still stands, but the author is told which key was meant
|
|
263
|
+
// instead of being left to reconcile two unrelated Zod lines.
|
|
264
|
+
const nearMiss = e instanceof z.ZodError ? describeNearMiss(e.issues) : null;
|
|
265
|
+
return V([{ rule: "R0", detail: nearMiss ? `${base} — ${nearMiss}` : base }]);
|
|
233
266
|
}
|
|
234
267
|
// ── R1 movement_id uniqueness (and addressability) ───────────────────────────────────────────
|
|
235
268
|
// Must fire before every rule that keys on movement_id — which, after R1, is all of them.
|
package/dist/src/chart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/chart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/chart.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,7 +139,8 @@ export declare class ChildExitError extends Error {
|
|
|
139
139
|
readonly stdout: string;
|
|
140
140
|
constructor(message: string, stdout: string);
|
|
141
141
|
}
|
|
142
|
-
export declare
|
|
142
|
+
export declare const MAX_SEALED_RECORDS_PER_TYPE = 64;
|
|
143
|
+
export declare function captureOutputWrites(stdout: string, sealTypes: readonly string[]): Record<string, unknown[]>;
|
|
143
144
|
export declare const DEFAULT_CHAIR_TIMEOUT_MS: number;
|
|
144
145
|
export declare const DEFAULT_ABORT_GRACE_MS = 2000;
|
|
145
146
|
/** How many chair children are alive right now (observability for the shutdown path). */
|
|
@@ -8,7 +8,7 @@ import { tmpdir } from "node:os";
|
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import { abortReasonText } from "./runtime.js";
|
|
11
|
-
import { resolveAgentGrants, ENGINE_MCP_SERVER } from "./tool_providers.js";
|
|
11
|
+
import { resolveAgentGrants, hostBuiltinDenials, toolBaseName, ENGINE_MCP_SERVER } from "./tool_providers.js";
|
|
12
12
|
import { venueEffectiveTools } from "./chart.js";
|
|
13
13
|
import { CORE_TYPES } from "./core_types.js";
|
|
14
14
|
const EMPTY_TOOL_REGISTRY = new Map();
|
|
@@ -41,6 +41,22 @@ function codeToolDenials(access) {
|
|
|
41
41
|
default: return []; // "full" or unset → no code-tool denial
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
// The code tools code_tool_access affirmatively KEEPS available — the inverse of codeToolDenials over
|
|
45
|
+
// the four CODE_TOOLS. This is the allow signal the host-builtin complement must respect: those four
|
|
46
|
+
// tools are governed by the code_tool_access LADDER, so the complement must not re-deny one the access
|
|
47
|
+
// level grants (a "full" agent keeps Read/Write/Edit/Bash even when it lists none in allowed_tools —
|
|
48
|
+
// host builtins are allowed-by-default and code_tool_access is their deny layer).
|
|
49
|
+
//
|
|
50
|
+
// UNSET is distinct from "full": an agent that declares NO code access and grants no code tool keeps
|
|
51
|
+
// NONE — that is what lets the ceiling bind on the default agent (gig 782e89d8, room-prober had no
|
|
52
|
+
// code_tool_access yet reached Bash and Read). codeToolDenials returns [] for unset, so it cannot
|
|
53
|
+
// carry this distinction; this function does.
|
|
54
|
+
function codeToolsKept(access) {
|
|
55
|
+
if (access === undefined)
|
|
56
|
+
return [];
|
|
57
|
+
const denied = new Set(codeToolDenials(access));
|
|
58
|
+
return CODE_TOOLS.filter((t) => !denied.has(t));
|
|
59
|
+
}
|
|
44
60
|
// Belbin cognitive-role descriptions for the Disposition layer (the agent's stance, 2
|
|
45
61
|
// "in tension"). Strings match the old runtime verbatim so a restored prompt reaches
|
|
46
62
|
// parity with the baseline fixtures. Reference data; buildPrompt wires it in.
|
|
@@ -499,6 +515,19 @@ function withPrompt(args, prompt) {
|
|
|
499
515
|
out[i + 1] = prompt;
|
|
500
516
|
return out;
|
|
501
517
|
}
|
|
518
|
+
// The bound on how many records ONE chair may seal for ONE declared output type. The seal path
|
|
519
|
+
// carries its own stated cap so the ledger guarantee is self-contained and auditable independently
|
|
520
|
+
// of the invocation-layer `max_tool_calls` (which is owned by a different layer and can change
|
|
521
|
+
// without the seal path knowing).
|
|
522
|
+
//
|
|
523
|
+
// The evidence and the choice: gig 8baced9d (lineage-deepen-v0, chair identify-external) made 15
|
|
524
|
+
// accepted output_write calls and sealed 1 — the observed cardinality of a legitimate high-gather
|
|
525
|
+
// chair is 15. The cap sits well above it (>4x headroom) so real gathering is never refused, and
|
|
526
|
+
// stays FINITE so a runaway seat cannot write unbounded records — an unbounded seal path is a
|
|
527
|
+
// denial-of-service on the ledger. Tune here, at the single declaration site, if real runs exceed
|
|
528
|
+
// the headroom; the (cap+1)th same-type write is refused loudly (a throw the gig surfaces), never
|
|
529
|
+
// dropped silently — a silent drop is exactly the "ok for a discarded record" lie this closes.
|
|
530
|
+
export const MAX_SEALED_RECORDS_PER_TYPE = 64;
|
|
502
531
|
export function captureOutputWrites(stdout, sealTypes) {
|
|
503
532
|
const writes = [];
|
|
504
533
|
const errored = new Set();
|
|
@@ -530,19 +559,38 @@ export function captureOutputWrites(stdout, sealTypes) {
|
|
|
530
559
|
}
|
|
531
560
|
}
|
|
532
561
|
const passed = writes.filter((w) => !w.id || !errored.has(w.id));
|
|
562
|
+
// Accumulate a LIST per type — a chair may seal MANY records of one declared type (a lineage
|
|
563
|
+
// scout's whole job is gathering many external hits). The old code did `byType.set(type, data)`,
|
|
564
|
+
// a last-wins overwrite that kept one record and discarded the rest while every call had already
|
|
565
|
+
// returned ok — the discard the change request measured. Every accepted write is now kept, up to
|
|
566
|
+
// the stated cap, above which the surplus is refused loudly rather than dropped.
|
|
567
|
+
const refuse = (t) => {
|
|
568
|
+
throw new Error(`chair sealed more than MAX_SEALED_RECORDS_PER_TYPE (${MAX_SEALED_RECORDS_PER_TYPE}) records ` +
|
|
569
|
+
`of type "${t}" — refusing the surplus loudly. A record is being written that no seat could ` +
|
|
570
|
+
`be honestly told was kept; raise MAX_SEALED_RECORDS_PER_TYPE at its declaration site if a ` +
|
|
571
|
+
`real run legitimately gathers this many.`);
|
|
572
|
+
};
|
|
533
573
|
const byType = new Map();
|
|
534
|
-
for (const w of passed)
|
|
535
|
-
byType.
|
|
574
|
+
for (const w of passed) {
|
|
575
|
+
const list = byType.get(w.domain_type) ?? [];
|
|
576
|
+
if (list.length >= MAX_SEALED_RECORDS_PER_TYPE)
|
|
577
|
+
refuse(w.domain_type);
|
|
578
|
+
list.push(w.data);
|
|
579
|
+
byType.set(w.domain_type, list);
|
|
580
|
+
}
|
|
536
581
|
const blob = {};
|
|
537
582
|
for (const t of sealTypes) {
|
|
538
583
|
if (byType.has(t))
|
|
539
584
|
blob[t] = byType.get(t);
|
|
540
585
|
}
|
|
541
586
|
// Single-output chairs may seal with an empty/other domain_type (buildPrompt names it, but a
|
|
542
|
-
// model can still omit it). If nothing matched by name and
|
|
543
|
-
//
|
|
587
|
+
// model can still omit it). If nothing matched by name and outputs were sealed, those payloads
|
|
588
|
+
// ARE the single output — key the FULL list under the promised type (carrying every one, not just
|
|
589
|
+
// the last, so this branch does not silently collapse the way the whole path used to).
|
|
544
590
|
if (sealTypes.length === 1 && blob[sealTypes[0]] === undefined && passed.length > 0) {
|
|
545
|
-
|
|
591
|
+
if (passed.length > MAX_SEALED_RECORDS_PER_TYPE)
|
|
592
|
+
refuse(sealTypes[0]);
|
|
593
|
+
blob[sealTypes[0]] = passed.map((w) => w.data);
|
|
546
594
|
}
|
|
547
595
|
return blob;
|
|
548
596
|
}
|
|
@@ -551,7 +599,22 @@ export function captureOutputWrites(stdout, sealTypes) {
|
|
|
551
599
|
// this bound one wedged child wedges the whole server. SIGKILL, not SIGTERM: a
|
|
552
600
|
// signal-trapping child can't outlive its budget. Long enough for a tool-using chair
|
|
553
601
|
// (a capped search agent runs minutes), far below an operator-visible hang.
|
|
554
|
-
|
|
602
|
+
//
|
|
603
|
+
// RAISED FROM TEN MINUTES, from measurement rather than preference. A reading seat over a
|
|
604
|
+
// 1000-line specification and its test suite was killed here twice, both times mid
|
|
605
|
+
// `output_write` — the bound was cutting the WRITE, not the reading, and the two sibling seats
|
|
606
|
+
// that survived cleared it by 57s and 85s. A seat that dies at the wall seals nothing and, worse,
|
|
607
|
+
// reports no usage, so the spend is real and the ledger never sees it. Ten minutes was under the
|
|
608
|
+
// honest cost of a chair that reads a corpus and then writes a structured document about it.
|
|
609
|
+
//
|
|
610
|
+
// Twenty and not more: `tests/invoker_timeout.test.ts` fences this value between five and twenty
|
|
611
|
+
// minutes on the argument that the default must stay "far below an operator-visible hang", and
|
|
612
|
+
// that band is a deliberate guard rather than an accident. This sits at its ceiling. A deployment
|
|
613
|
+
// that genuinely needs longer has the per-chair override (`COLTRANE_CHAIR_TIMEOUT_MS`) and does
|
|
614
|
+
// not need the shipped default moved. Note the cost of raising it: `src/runtime.ts:1135` observes
|
|
615
|
+
// that a standard with P sequential phases can burn P x this value after `gig_abort` returns, so
|
|
616
|
+
// doubling the bound doubles that worst-case drag.
|
|
617
|
+
export const DEFAULT_CHAIR_TIMEOUT_MS = 20 * 60_000;
|
|
555
618
|
// How long a cancelled chair child gets to shut down politely before it is killed outright.
|
|
556
619
|
// SIGTERM first (a `claude` child spawns its own MCP servers; a cooperative exit gives it a
|
|
557
620
|
// chance to take them with it), SIGKILL after. Deliberately NOT `detached: true` +
|
|
@@ -777,10 +840,11 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
777
840
|
}
|
|
778
841
|
// VENUE CONFINEMENT BY CONSTRUCTION. When the dispatch path resolved a room for this chair
|
|
779
842
|
// (ctx.realization + ctx.venue both threaded by runGig), the spawn reflects the realization:
|
|
780
|
-
// - `--allowedTools` carries
|
|
781
|
-
//
|
|
782
|
-
//
|
|
783
|
-
// drift.
|
|
843
|
+
// - `--allowedTools` carries venueEffectiveTools(agent, venue) — the SAME shared oracle the
|
|
844
|
+
// compose-time R10 check refuses against (src/chart.ts), never a re-inlined intersection and
|
|
845
|
+
// never the un-intersected grant, so runtime enforcement and compose-time refusal cannot
|
|
846
|
+
// drift — with each surviving grant RESOLVED to the name its server advertises (#204). The
|
|
847
|
+
// intersection is unchanged; only the advertised name is (narrow-then-rename, never widen).
|
|
784
848
|
// - the child env is the realization's deny-by-default allowlist (SeatRealization.env, `{}` when
|
|
785
849
|
// the surface admits nothing), so an undeclared ambient credential never reaches the child.
|
|
786
850
|
// Narrowed BEFORE the in-band-seal block below, so the engine's own output_write grant — engine
|
|
@@ -788,7 +852,18 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
788
852
|
// either field → the un-narrowed path above stands and no child env is constructed (INV10).
|
|
789
853
|
let childEnv;
|
|
790
854
|
if (ctx.realization && ctx.venue) {
|
|
791
|
-
|
|
855
|
+
// NARROW then RENAME. venueEffectiveTools is the shared oracle R10 refuses against; it returns
|
|
856
|
+
// the agent's RAW grant strings intersected with the room's equipment — so the CEILING decision
|
|
857
|
+
// stays on raw grants and cannot drift from the compose-time check. But those raw strings are
|
|
858
|
+
// still bare in-house slugs; advertising them un-resolved reopens #204 (a seat granting bare
|
|
859
|
+
// `type_browse` advertises `type_browse` while the engine server advertises
|
|
860
|
+
// `mcp__coltrane__type_browse`, so the call is DENIED — measured, gig 11744aa5). Resolve the
|
|
861
|
+
// ALREADY-NARROWED list so only the ADVERTISED name changes; the intersection is untouched, so
|
|
862
|
+
// the ceiling narrows, it never widens. Resolution off → keep the raw narrowed list (INV1/INV10).
|
|
863
|
+
const narrowed = venueEffectiveTools(ctx.agent, ctx.venue);
|
|
864
|
+
effectiveAllowed = resolutionEnabled
|
|
865
|
+
? resolveAgentGrants({ ...ctx.agent, allowed_tools: narrowed }, opts.toolProviders ?? EMPTY_TOOL_REGISTRY, opts.mcpServerConfigs ?? {}).effectiveAllowed
|
|
866
|
+
: narrowed;
|
|
792
867
|
const seat = ctx.realization.seats.find((s) => s.agent_slug === ctx.agent.slug);
|
|
793
868
|
childEnv = seat?.env ?? {};
|
|
794
869
|
}
|
|
@@ -848,8 +923,12 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
848
923
|
const extractOpts = extractOptionsForChair(sealTypes, schema);
|
|
849
924
|
// per-gig mcp-config: only the deployment-permitted servers (empty by default).
|
|
850
925
|
const cfgPath = join(tmpdir(), `coltrane-mcp-${randomUUID()}.json`);
|
|
851
|
-
// the base map (opts.mcpServers) + the per-agent servers its grants resolved to (#185)
|
|
852
|
-
|
|
926
|
+
// the base map (opts.mcpServers) + the per-agent servers its grants resolved to (#185) + the
|
|
927
|
+
// SUBSTRATE transports the room was realized on (ctx.substrateMcpConfigs). The room's servers
|
|
928
|
+
// come last so a realized docker-exec transport for a venue's declared server wins over any
|
|
929
|
+
// grant-resolved entry of the same slug — the spawn reaches the server running INSIDE the room,
|
|
930
|
+
// not merely the policy layer. Absent substrate = the prior two-way merge exactly.
|
|
931
|
+
const servers = { ...(opts.mcpServers ?? {}), ...resolvedMcpServers, ...(ctx.substrateMcpConfigs ?? {}) };
|
|
853
932
|
const parent = opts.parent_session_id;
|
|
854
933
|
// Per-server env additions: parent_session_id into every server (so children seal lineage), and
|
|
855
934
|
// COLTRANE_OUTPUT_WRITE_MODE=validate into the ENGINE server on the output_write-seal path — so
|
|
@@ -887,12 +966,66 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
887
966
|
// string IS the transcript (a bare JSON blob on the text path, a stream-json transcript on
|
|
888
967
|
// the output_write path). Default: stream-json so the child's tool calls / reasoning are
|
|
889
968
|
// observable LIVE, teed to ctx.onEvent.
|
|
969
|
+
// THE TOOL CEILING BINDS BY ENFORCEMENT, not omission. `--allowedTools` does NOT remove a host
|
|
970
|
+
// builtin — a seat granted only `type_browse` still called Bash and Read, unrefused and
|
|
971
|
+
// unrecorded (gig 782e89d8, room-prober, twice) — so the deny list must ENUMERATE what the seat
|
|
972
|
+
// may not hold. Synthesize it from the EXISTING oracles (hostBuiltinDenials over HOST_BUILTINS;
|
|
973
|
+
// venueEffectiveTools for the room ceiling), never a re-inlined universe/intersection.
|
|
974
|
+
//
|
|
975
|
+
// Computed HERE, AFTER OUTPUT_WRITE_TOOL joined effectiveAllowed (see the seal-wire block above):
|
|
976
|
+
// synthesizing before that addition would deny every model chair the very tool it must call to
|
|
977
|
+
// seal, failing every gig at the last step (asserted by LAW 2).
|
|
978
|
+
//
|
|
979
|
+
// The complement is scored against effectiveAllowed PLUS the code tools code_tool_access keeps:
|
|
980
|
+
// those four are governed by the code_tool_access ladder (codeToolDenials), so the complement
|
|
981
|
+
// must not re-deny a code tool the agent's access grants.
|
|
982
|
+
const allowForComplement = [...(effectiveAllowed ?? []), ...codeToolsKept(a.code_tool_access)];
|
|
983
|
+
// (d) VENUE CEILING BY DENIAL: a tool the agent grants but the room's equipment excludes.
|
|
984
|
+
// venueEffectiveTools is the SAME shared oracle compose-time R10 refuses against (INV9) — never a
|
|
985
|
+
// re-inlined intersection — so the room narrows by enforcement, not only by the omission from
|
|
986
|
+
// --allowedTools that cannot bind. Absent a room, nothing is venue-excluded.
|
|
987
|
+
const venueExcluded = ctx.realization && ctx.venue
|
|
988
|
+
? (() => {
|
|
989
|
+
const kept = new Set(venueEffectiveTools(a, ctx.venue));
|
|
990
|
+
return (a.allowed_tools ?? []).filter((g) => !kept.has(g));
|
|
991
|
+
})()
|
|
992
|
+
: [];
|
|
993
|
+
// The UNION, preserving the agent's OWN declared denials (never replaced): (a) declared
|
|
994
|
+
// disallowed_tools, (b) the code_tool_access ladder, (c) the host-builtin complement, (d) the
|
|
995
|
+
// venue-excluded grants.
|
|
996
|
+
const denyUnion = [
|
|
997
|
+
...(a.disallowed_tools ?? []),
|
|
998
|
+
...codeToolDenials(a.code_tool_access),
|
|
999
|
+
...hostBuiltinDenials(allowForComplement),
|
|
1000
|
+
...venueExcluded,
|
|
1001
|
+
];
|
|
1002
|
+
// NO OVER-DENIAL (LAW 5, and LAW 2's structural half): nothing the seat legitimately holds may be
|
|
1003
|
+
// denied — most sharply OUTPUT_WRITE_TOOL, which effectiveAllowed now carries on the seal path.
|
|
1004
|
+
// Subtract the effective allow set — by exact name AND base name, so a scoped grant like
|
|
1005
|
+
// `Bash(npx …)` still protects its `Bash` — then dedupe. code_tool_access-kept tools are NOT
|
|
1006
|
+
// subtracted here: a venue that excludes a code tool must still deny it even under access "full".
|
|
1007
|
+
const allowExact = new Set(effectiveAllowed ?? []);
|
|
1008
|
+
const allowBase = new Set((effectiveAllowed ?? []).map(toolBaseName));
|
|
1009
|
+
const disallowedTools = [...new Set(denyUnion)].filter((t) => !allowExact.has(t) && !allowBase.has(toolBaseName(t)));
|
|
890
1010
|
const baseArgs = buildInvokerArgs(prompt, cfgPath, {
|
|
891
1011
|
model: resolveModel(a.model_tier, opts.model),
|
|
892
1012
|
allowed_tools: effectiveAllowed,
|
|
893
|
-
disallowed_tools:
|
|
1013
|
+
disallowed_tools: disallowedTools,
|
|
894
1014
|
max_tool_calls: maxToolCalls,
|
|
895
1015
|
});
|
|
1016
|
+
// SEAT IN THE ROOM. When the substrate stood up a SEAT-BEARING room, ctx.seatExec names its
|
|
1017
|
+
// container and per-realization workspace, and the chair runs INSIDE it:
|
|
1018
|
+
// `docker exec -i -w <workspace> <container> claude …` — so the seat's cwd is the room's own
|
|
1019
|
+
// tree and two concurrent gigs (distinct rooms, distinct workspaces) cannot share a working
|
|
1020
|
+
// directory. This wraps ONLY the leaf spawn; it runs AFTER the confinement block above, so
|
|
1021
|
+
// effectiveAllowed/childEnv are already computed and the room narrows the seat but never widens
|
|
1022
|
+
// it. `-i` keeps stdin open so a stdin-delivered prompt flows into the in-room binary. Auth is
|
|
1023
|
+
// FILE-BASED inside the room (credential_surface delivered by `docker cp` to /run/secrets),
|
|
1024
|
+
// never a host keychain and never forwarded via `-e`, so no host credential enters the room.
|
|
1025
|
+
// Absent → identity, and the leaf spawns on the host exactly as before.
|
|
1026
|
+
const seatExec = ctx.seatExec;
|
|
1027
|
+
const execBin = seatExec ? "docker" : bin;
|
|
1028
|
+
const inRoom = (args) => seatExec ? ["exec", "-i", "-w", seatExec.workspace, seatExec.container, bin, ...args] : [...args];
|
|
896
1029
|
// ONE invocation only — on the output_write path the agent self-corrects a rejected write
|
|
897
1030
|
// WITHIN this single run (each output_write rejection returns in-band and it calls again),
|
|
898
1031
|
// and on the text path there is a single answer. Either way, the invoker never re-prompts.
|
|
@@ -907,8 +1040,8 @@ export function makeClaudeInvoker(opts = {}) {
|
|
|
907
1040
|
// about whether anything survives is left to the seal path below, which is the only place that
|
|
908
1041
|
// knows what passed. Every other non-zero exit still propagates untouched.
|
|
909
1042
|
const runOnce = async (args, text) => customRun
|
|
910
|
-
? await customRun(
|
|
911
|
-
: await spawnStreaming(
|
|
1043
|
+
? await customRun(execBin, inRoom(args), spawnBounds, childEnv)
|
|
1044
|
+
: await spawnStreaming(execBin, inRoom([...args, "--output-format", "stream-json", "--verbose"]), spawnBounds, ctx.onEvent, ctx.signal, abortGraceMs, promptViaStdin(text) ? text : undefined, childEnv);
|
|
912
1045
|
/** Run, and hand back the stream even when the child died on its turn cap. */
|
|
913
1046
|
const runTolerantOfBudgetStop = async (args, text) => {
|
|
914
1047
|
try {
|