@eir-labs/coltrane 0.8.0 → 0.9.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.
Files changed (80) hide show
  1. package/agents/change-verifier.json +40 -0
  2. package/agents/code-implementer.json +42 -0
  3. package/agents/contract-definer.json +31 -0
  4. package/agents/defect-investigator.json +60 -0
  5. package/agents/grounder.json +38 -0
  6. package/agents/pr-publisher.json +48 -0
  7. package/agents/red-spec-drafter.json +46 -0
  8. package/agents/spec-publisher.json +48 -0
  9. package/agents/spec-reviewer.json +32 -0
  10. package/dist/src/bifrost_invoker.js +53 -52
  11. package/dist/src/bifrost_invoker.js.map +1 -1
  12. package/dist/src/change_set_branch.d.ts +131 -0
  13. package/dist/src/change_set_branch.js +179 -0
  14. package/dist/src/change_set_branch.js.map +1 -0
  15. package/dist/src/claude_invoker.d.ts +79 -2
  16. package/dist/src/claude_invoker.js +377 -36
  17. package/dist/src/claude_invoker.js.map +1 -1
  18. package/dist/src/cli.d.ts +1 -1
  19. package/dist/src/cli.js +26 -3
  20. package/dist/src/cli.js.map +1 -1
  21. package/dist/src/committed_work.d.ts +206 -0
  22. package/dist/src/committed_work.js +0 -0
  23. package/dist/src/committed_work.js.map +1 -0
  24. package/dist/src/composition.d.ts +11 -0
  25. package/dist/src/composition.js +3 -1
  26. package/dist/src/composition.js.map +1 -1
  27. package/dist/src/genome_schema.d.ts +803 -10
  28. package/dist/src/genome_schema.js +413 -7
  29. package/dist/src/genome_schema.js.map +1 -1
  30. package/dist/src/genome_store.d.ts +16 -1
  31. package/dist/src/genome_store.js +68 -0
  32. package/dist/src/genome_store.js.map +1 -1
  33. package/dist/src/gig_tracker.js +4 -0
  34. package/dist/src/gig_tracker.js.map +1 -1
  35. package/dist/src/hosted_tools.js +19 -0
  36. package/dist/src/hosted_tools.js.map +1 -1
  37. package/dist/src/institution_enforcement.d.ts +77 -0
  38. package/dist/src/institution_enforcement.js +442 -0
  39. package/dist/src/institution_enforcement.js.map +1 -0
  40. package/dist/src/institution_loader.d.ts +63 -0
  41. package/dist/src/institution_loader.js +239 -0
  42. package/dist/src/institution_loader.js.map +1 -0
  43. package/dist/src/loader.d.ts +4 -1
  44. package/dist/src/loader.js +19 -1
  45. package/dist/src/loader.js.map +1 -1
  46. package/dist/src/mcp.js +8 -1
  47. package/dist/src/mcp.js.map +1 -1
  48. package/dist/src/runtime.d.ts +66 -0
  49. package/dist/src/runtime.js +202 -2
  50. package/dist/src/runtime.js.map +1 -1
  51. package/dist/src/server.d.ts +7 -0
  52. package/dist/src/server.js +90 -1
  53. package/dist/src/server.js.map +1 -1
  54. package/dist/src/venue_realize.d.ts +90 -0
  55. package/dist/src/venue_realize.js +129 -0
  56. package/dist/src/venue_realize.js.map +1 -0
  57. package/dist/src/version.d.ts +1 -1
  58. package/dist/src/version.js +1 -1
  59. package/dist/src/worker.d.ts +45 -3
  60. package/dist/src/worker.js +67 -2
  61. package/dist/src/worker.js.map +1 -1
  62. package/domain_types/change-request.json +2 -1
  63. package/domain_types/class-sweep.json +34 -0
  64. package/domain_types/defect-class.json +25 -0
  65. package/domain_types/defect-location.json +28 -0
  66. package/domain_types/defect-report.json +28 -0
  67. package/domain_types/fix-spec.json +28 -0
  68. package/domain_types/fix-verification.json +28 -0
  69. package/domain_types/grounding-dossier.json +95 -0
  70. package/domain_types/pull-request.json +43 -0
  71. package/domain_types/red-spec.json +76 -0
  72. package/domain_types/reproduction.json +28 -0
  73. package/domain_types/root-cause.json +28 -0
  74. package/domain_types/subsystem-contract.json +106 -0
  75. package/institutions/coltrane.json +166 -0
  76. package/institutions/quartet.json +143 -26
  77. package/package.json +2 -1
  78. package/standards/defect-investigation-v1.json +156 -0
  79. package/standards/software-change-pr-v1.json +151 -0
  80. package/standards/spec-drafting-v1.json +125 -0
@@ -0,0 +1,90 @@
1
+ import { type Venue } from "./chart.js";
2
+ import type { Agent } from "./composition.js";
3
+ /** The named failure modes. Each has exactly one construction site in `realize`; a breach yields a
4
+ * refusal, never a narrowed-but-proceeding realization. */
5
+ export type RefusalCode = "ceiling-empty" | "credential-breach" | "install-digest-mismatch" | "standing-without-cadence" | "wildcard-door" | "unknown-venue";
6
+ /** One seat to realize in the room. */
7
+ export interface RealizeSeat {
8
+ agent: Agent;
9
+ }
10
+ /** What a caller hands `realize`: the seats about to run, the ambient environment, and the runtime
11
+ * facts the room must check against (credentials/installs actually present) plus the gig identity
12
+ * that scopes isolation. Optional fields lean deny-by-default when absent. */
13
+ export interface RealizeOpts {
14
+ seats: RealizeSeat[];
15
+ ambientEnv: Record<string, string>;
16
+ /** Credential CLASSES detected in the ambient environment (not material). */
17
+ credentialsPresent?: string[];
18
+ /** Installs actually present, each with the digest of what is there. */
19
+ installsPresent?: {
20
+ ref: string;
21
+ digest: string;
22
+ }[];
23
+ /** Scopes the per-gig isolation handle. */
24
+ gigId: string;
25
+ }
26
+ /** One seat as realized: its slug, the tools the room actually advertises for it (grants ∩
27
+ * equipment), and the default-deny env it runs with. */
28
+ export interface SeatRealization {
29
+ agent_slug: string;
30
+ effective_tools: string[];
31
+ env: Record<string, string>;
32
+ }
33
+ /** The lifecycle carried onto a realized record, verbatim from the contract. */
34
+ export interface RealizedLifecycle {
35
+ policy: "ephemeral" | "standing";
36
+ rebuild_cadence?: string;
37
+ }
38
+ /** The observable surface every realization carries — present on BOTH a success and a refusal.
39
+ * A caller holding an un-narrowed `Realization` (e.g. the model test's `Real = { r: Realization }`,
40
+ * which probes `canReach`/`teardown`/`tornDown` without discriminating on `ok`) can question the
41
+ * room and tear it down without first knowing whether it stood up. On a refusal the surface is
42
+ * DENY-BY-DEFAULT and inert: nothing is reachable, nothing is accepted, no seat exists, and the
43
+ * room is already (vacuously) torn down — so exposing the surface on a refusal cannot widen a
44
+ * grant, it only makes a refused room honestly answer "nothing here". The type widens; the room
45
+ * does not. */
46
+ export interface RealizationSurface {
47
+ /** Egress probe: true iff `host ∈ doors.egress` and the room has not been torn down. */
48
+ canReach(host: string): boolean;
49
+ /** Ingress probe: true iff `origin ∈ doors.ingress`. */
50
+ canAccept(origin: string): boolean;
51
+ isolation_handle: string;
52
+ seats: SeatRealization[];
53
+ tornDown(): boolean;
54
+ teardown(): void;
55
+ }
56
+ /** A successful realization — the enforced, observable performance space. Adds the success-only
57
+ * facts (provisioned credentials, the accountable office, the carried lifecycle) atop the surface. */
58
+ export interface RealizationOk extends RealizationSurface {
59
+ ok: true;
60
+ provisioned_credentials: string[];
61
+ responsible_chair?: string;
62
+ lifecycle: RealizedLifecycle;
63
+ }
64
+ /** A fail-closed refusal — one named breach, no partial room. Carries the same observable surface
65
+ * as a success (deny-by-default no-ops) so the union is uniform, plus the named breach. */
66
+ export interface RealizationRefusal extends RealizationSurface {
67
+ ok: false;
68
+ refusal: {
69
+ code: RefusalCode;
70
+ detail: string;
71
+ };
72
+ }
73
+ export type Realization = RealizationOk | RealizationRefusal;
74
+ /**
75
+ * Realize a Venue contract into an enforced, observable performance space.
76
+ *
77
+ * The failure modes are an ORDERED gauntlet: the first breach returns a refusal before any success
78
+ * object is built. The order is deliberate — structural room defects (wildcard door, snowflake
79
+ * standing, install digest, credential surface) are checked before the per-seat ceiling, so a room
80
+ * that is itself unsound is refused for the room's reason, not a seat's.
81
+ */
82
+ export declare function realize(venue: Venue, opts: RealizeOpts): Realization;
83
+ /**
84
+ * Resolve a venue by slug from the caller's map, then realize it. A slug the map does not hold is a
85
+ * dead name — it fails closed with `unknown-venue`, never a default-open room, exactly as an
86
+ * unresolvable tool grant fails closed rather than confabulating a provider.
87
+ */
88
+ export declare function resolveAndRealize(slug: string, opts: RealizeOpts & {
89
+ venues: Map<string, Venue>;
90
+ }): Realization;
@@ -0,0 +1,129 @@
1
+ // THE REALIZE BOUNDARY — a Venue contract turned into an observable, enforced performance space.
2
+ //
3
+ // A venue is a two-thirds-built control before this file exists: the DECLARATION (`VenueSchema`)
4
+ // and the COMPOSE-TIME check (`venueEffectiveTools` → `composeChart` R10) are real and tested, but
5
+ // nothing at runtime consults the room. `realize` is the single mediating boundary that closes the
6
+ // gap — it takes a `Venue` plus the seats/environment about to run in it and returns a `Realization`
7
+ // discriminated on `ok`: a success carrying the enforced surface (the intersected tool ceiling per
8
+ // seat, the credential allowlist, the door reachability predicates, per-gig isolation, lifecycle,
9
+ // and the accountable office) or a fail-closed `Refusal` naming exactly one breach.
10
+ //
11
+ // Deny-by-default is the posture at every optional field: absent doors reach nothing, an absent
12
+ // credential surface makes any present credential a breach, absent installs pin nothing. The tool
13
+ // ceiling flows through the EXISTING `venueEffectiveTools` (src/chart.ts) — never an inline
14
+ // intersection — so runtime enforcement and the compose-time R10 check share one oracle and cannot
15
+ // drift. The invariant is OBSERVABLE (canReach/canAccept), the mechanism (namespace vs proxy vs
16
+ // container) is left to a lower layer, exactly as the RED spec leaves it open.
17
+ import { venueEffectiveTools } from "./chart.js";
18
+ import { venueDefect } from "./genome_schema.js";
19
+ /** Monotone per-process counter: makes `isolation_handle` distinct across every `realize` call, so
20
+ * two calls — even with the same gigId — never collide, which is the strongest reading of the
21
+ * per-gig isolation invariant (only inter-gigId distinctness is pinned; this cannot violate it). */
22
+ let realizeCounter = 0;
23
+ /** Build a refusal carrying the full observable surface as deny-by-default no-ops: a refused room
24
+ * reaches nothing, accepts nothing, seats no one, and is already torn down. `isolation_handle` is a
25
+ * stable sentinel — no test compares a refusal's handle; only OK realizations' handles are pinned
26
+ * for inter-gig distinctness (I13). Exposing the surface here keeps the union uniform for callers
27
+ * that hold it un-narrowed, without ever widening a grant. */
28
+ const refuse = (code, detail) => ({
29
+ ok: false,
30
+ refusal: { code, detail },
31
+ canReach: () => false,
32
+ canAccept: () => false,
33
+ isolation_handle: "venue:refused",
34
+ seats: [],
35
+ tornDown: () => true,
36
+ teardown: () => { },
37
+ });
38
+ /**
39
+ * Realize a Venue contract into an enforced, observable performance space.
40
+ *
41
+ * The failure modes are an ORDERED gauntlet: the first breach returns a refusal before any success
42
+ * object is built. The order is deliberate — structural room defects (wildcard door, snowflake
43
+ * standing, install digest, credential surface) are checked before the per-seat ceiling, so a room
44
+ * that is itself unsound is refused for the room's reason, not a seat's.
45
+ */
46
+ export function realize(venue, opts) {
47
+ const egress = venue.doors?.egress ?? [];
48
+ const ingress = venue.doors?.ingress ?? [];
49
+ // (a) wildcard-door — checked at the realize layer independent of schema parse, because a Venue
50
+ // can be constructed in memory without re-parsing (I16 smuggles '*' past VenueSchema). Both
51
+ // directions are guarded: the schema forbids '*' in either, so the realize layer mirrors it.
52
+ for (const h of [...egress, ...ingress]) {
53
+ if (h.trim() === "*") {
54
+ return refuse("wildcard-door", `venue "${venue.slug}" carries a wildcard door ("*") — a wildcard door is not a door`);
55
+ }
56
+ }
57
+ // (b) standing-without-cadence — delegate to venueDefect rather than re-encode the standing rule,
58
+ // so the realize layer and the schema's cross-field check share one statement of it.
59
+ const defect = venueDefect(venue);
60
+ if (defect !== null) {
61
+ return refuse("standing-without-cadence", defect);
62
+ }
63
+ // (c) install-digest-mismatch — every pin must be matched exactly by some present digest, else the
64
+ // room's identity is not what it claims. Absence is a mismatch, not a pass.
65
+ const present = opts.installsPresent ?? [];
66
+ for (const pin of venue.installs) {
67
+ if (!present.some((p) => p.digest === pin)) {
68
+ return refuse("install-digest-mismatch", `venue "${venue.slug}" pins install ${pin} but no present install carries that digest`);
69
+ }
70
+ }
71
+ // (d) credential-breach — any present class outside the declared surface is a breach; refuse, do
72
+ // NOT strip. A stripped credential would make the breach pass as a narrowed realization.
73
+ const credentialsPresent = opts.credentialsPresent ?? [];
74
+ const surface = new Set(venue.credential_surface);
75
+ const undeclared = credentialsPresent.filter((c) => !surface.has(c));
76
+ if (undeclared.length > 0) {
77
+ return refuse("credential-breach", `venue "${venue.slug}" surface admits [${venue.credential_surface.join(", ")}] but [${undeclared.join(", ")}] is present and undeclared`);
78
+ }
79
+ // (e) ceiling — apply the equipment ceiling through the shared oracle, per seat. An agent that
80
+ // grants something but whose grants ∩ equipment is empty refuses fail-closed; an agent that
81
+ // grants nothing realizes with an empty tool set (deny-by-default, not a breach).
82
+ const seats = [];
83
+ for (const seat of opts.seats) {
84
+ const grants = seat.agent.allowed_tools ?? [];
85
+ const effective_tools = venueEffectiveTools(seat.agent, venue);
86
+ if (grants.length > 0 && effective_tools.length === 0) {
87
+ return refuse("ceiling-empty", `agent "${seat.agent.slug}" grants [${grants.join(", ")}] but none lie within venue "${venue.slug}" equipment — the room narrows it to nothing`);
88
+ }
89
+ // env is a default-deny map: nothing from the ambient environment leaks into a seat. No test
90
+ // pins seat.env values; the strictest posture is the safe one until a spec names otherwise.
91
+ seats.push({ agent_slug: seat.agent.slug, effective_tools, env: {} });
92
+ }
93
+ // The room is sound. Build the observable realization with per-call isolation and idempotent
94
+ // teardown. `torn` is closed over this call alone, so tearing one gig's room down cannot touch
95
+ // another's.
96
+ const isolation_handle = `venue:${venue.slug}:gig:${opts.gigId}:${++realizeCounter}`;
97
+ let torn = false;
98
+ const lifecycle = venue.lifecycle.rebuild_cadence !== undefined
99
+ ? { policy: venue.lifecycle.policy, rebuild_cadence: venue.lifecycle.rebuild_cadence }
100
+ : { policy: venue.lifecycle.policy };
101
+ const ok = {
102
+ ok: true,
103
+ seats,
104
+ provisioned_credentials: [...credentialsPresent],
105
+ canReach: (host) => !torn && egress.includes(host),
106
+ canAccept: (origin) => ingress.includes(origin),
107
+ isolation_handle,
108
+ lifecycle,
109
+ tornDown: () => torn,
110
+ teardown: () => {
111
+ torn = true;
112
+ },
113
+ ...(venue.responsible_chair !== undefined ? { responsible_chair: venue.responsible_chair } : {}),
114
+ };
115
+ return ok;
116
+ }
117
+ /**
118
+ * Resolve a venue by slug from the caller's map, then realize it. A slug the map does not hold is a
119
+ * dead name — it fails closed with `unknown-venue`, never a default-open room, exactly as an
120
+ * unresolvable tool grant fails closed rather than confabulating a provider.
121
+ */
122
+ export function resolveAndRealize(slug, opts) {
123
+ const venue = opts.venues.get(slug);
124
+ if (venue === undefined) {
125
+ return refuse("unknown-venue", `no venue is registered under slug "${slug}" — a dead name fails closed`);
126
+ }
127
+ return realize(venue, opts);
128
+ }
129
+ //# sourceMappingURL=venue_realize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"venue_realize.js","sourceRoot":"","sources":["../../src/venue_realize.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /** Engine semver. Keep in lockstep with package.json `version` (enforced by test). */
2
- export declare const COLTRANE_VERSION = "0.8.0";
2
+ export declare const COLTRANE_VERSION = "0.9.0";
3
3
  /**
4
4
  * The commit this engine checkout is sitting on, or null when it can't be determined.
5
5
  *
@@ -17,7 +17,7 @@ import { existsSync, readFileSync, statSync } from "node:fs";
17
17
  import { dirname, join, resolve } from "node:path";
18
18
  import { fileURLToPath } from "node:url";
19
19
  /** Engine semver. Keep in lockstep with package.json `version` (enforced by test). */
20
- export const COLTRANE_VERSION = "0.8.0";
20
+ export const COLTRANE_VERSION = "0.9.0";
21
21
  /**
22
22
  * The commit this engine checkout is sitting on, or null when it can't be determined.
23
23
  *
@@ -8,8 +8,31 @@ import type { LoadedGenome } from "./loader.js";
8
8
  export interface WorkerContext {
9
9
  baseUrl: string;
10
10
  anonKey: string;
11
- /** The seated agent's ctk_ capability token — claim/genome/fail all speak through it. */
11
+ /**
12
+ * The ctk_ capability token every RPC speaks through.
13
+ *
14
+ * In VENUE MODE this starts EMPTY and is filled in by each claim. That is the point: a drain is
15
+ * a bandstand, not a musician, and between gigs it should hold no credential at all.
16
+ */
12
17
  agentToken: string;
18
+ /**
19
+ * The venue's own credential — org-scoped, bound to `instance`, naming no player. When both this
20
+ * and `instance` are set, claims go through `coltrane_drain_claim` and the store hands back a
21
+ * token scoped to the claimed gig's `acting_for`, expiring with the lease.
22
+ *
23
+ * Absent, the worker claims the old way: as one player, using a token chosen at boot.
24
+ */
25
+ drainKey?: string;
26
+ /**
27
+ * The venue this drain key is bound to. Presented from anywhere else, the key is refused.
28
+ *
29
+ * This is the Fly APP, not the machine: FLY_APP_NAME is shared by every machine in an app, so
30
+ * scaling to two machines gives both the same instance identity. That is intended — the venue is
31
+ * the room, and a room may hold more than one stage. Claims stay disjoint because the store leases
32
+ * `for update skip locked`. Per-MACHINE binding would be FLY_MACHINE_ID, and would mean
33
+ * re-provisioning a key every time a machine is replaced.
34
+ */
35
+ instance?: string;
13
36
  /** Lease label recorded on the claimed row (defaults to worker:<acting_for> store-side). */
14
37
  worker?: string;
15
38
  }
@@ -110,8 +133,27 @@ export interface WorkOnceDeps {
110
133
  /** Progress line sink (CLI wires stderr); silent by default. */
111
134
  log?(line: string): void;
112
135
  }
113
- /** Atomically claim the oldest runnable gig (queued, or running with an expired lease) the
114
- * seated agent's chair contract authorizes. Null means the queue holds nothing for us. */
136
+ /**
137
+ * Atomically claim the oldest runnable gig (queued, or running with an expired lease). Null means
138
+ * the queue holds nothing for us.
139
+ *
140
+ * TWO MODES, and the difference is who is asking.
141
+ *
142
+ * VENUE (drainKey + instance): the box authenticates as itself and claims ANY gig dispatched to its
143
+ * org, then receives a credential minted for THAT GIG's `acting_for`, expiring with the lease. This
144
+ * is the correct shape — a gig is dispatched to a venue and the chart names who plays. It also
145
+ * removes a real defect: `coltrane_mcp_claim` filters the queue by the CLAIMER's chairs, though
146
+ * authority was already settled at dispatch and recorded in `acting_for`. A gig legitimately
147
+ * dispatched by steve-2 was simply invisible to a box booted as steve-1, and the queue merely
148
+ * LOOKED empty.
149
+ *
150
+ * PLAYER (agentToken only): the historical path, unchanged. A player claims what its own chairs
151
+ * authorize, which is right for a player — it was only ever wrong for a drain forced to be one.
152
+ *
153
+ * The venue path REPLACES ctx.agentToken on every claim. The previous gig's credential is dropped
154
+ * the moment the next one is taken, so a compromised drain holds exactly one gig's authority and
155
+ * only until that lease expires.
156
+ */
115
157
  export declare function claimNextGig(ctx: WorkerContext): Promise<ClaimedGig | null>;
116
158
  /**
117
159
  * Release the lease on a PARKED gig: the row goes `awaiting_approval` and its lease clears, so
@@ -199,9 +199,61 @@ async function workerRpc(ctx, fn, body) {
199
199
  }
200
200
  return text ? JSON.parse(text) : null;
201
201
  }
202
- /** Atomically claim the oldest runnable gig (queued, or running with an expired lease) the
203
- * seated agent's chair contract authorizes. Null means the queue holds nothing for us. */
202
+ /**
203
+ * Atomically claim the oldest runnable gig (queued, or running with an expired lease). Null means
204
+ * the queue holds nothing for us.
205
+ *
206
+ * TWO MODES, and the difference is who is asking.
207
+ *
208
+ * VENUE (drainKey + instance): the box authenticates as itself and claims ANY gig dispatched to its
209
+ * org, then receives a credential minted for THAT GIG's `acting_for`, expiring with the lease. This
210
+ * is the correct shape — a gig is dispatched to a venue and the chart names who plays. It also
211
+ * removes a real defect: `coltrane_mcp_claim` filters the queue by the CLAIMER's chairs, though
212
+ * authority was already settled at dispatch and recorded in `acting_for`. A gig legitimately
213
+ * dispatched by steve-2 was simply invisible to a box booted as steve-1, and the queue merely
214
+ * LOOKED empty.
215
+ *
216
+ * PLAYER (agentToken only): the historical path, unchanged. A player claims what its own chairs
217
+ * authorize, which is right for a player — it was only ever wrong for a drain forced to be one.
218
+ *
219
+ * The venue path REPLACES ctx.agentToken on every claim. The previous gig's credential is dropped
220
+ * the moment the next one is taken, so a compromised drain holds exactly one gig's authority and
221
+ * only until that lease expires.
222
+ */
204
223
  export async function claimNextGig(ctx) {
224
+ if (ctx.drainKey && ctx.instance) {
225
+ const out = await workerRpc(ctx, "coltrane_drain_claim", {
226
+ p_key: ctx.drainKey,
227
+ p_instance: ctx.instance,
228
+ });
229
+ if (!out)
230
+ return null;
231
+ const claim = out;
232
+ if (!claim.token) {
233
+ // Fail loudly. Continuing with a stale or empty bearer would fail later, deeper, and as
234
+ // something that reads like an authorization bug rather than a store that did not mint.
235
+ //
236
+ // KNOWN CONSEQUENCE, accepted: the store has already leased the row, so it sits `running`
237
+ // until the lease expires (30 minutes) before anything can reclaim it. Releasing it here is
238
+ // not possible — every release RPC speaks through the credential that was not minted. A store
239
+ // that claims without minting is broken in a way a worker cannot repair, and stalling one row
240
+ // for one lease window is the correct price for not proceeding unauthenticated.
241
+ throw new Error(`coltrane_drain_claim leased ${claim.gig_id} but minted no credential; the row stays leased ` +
242
+ `until its lease expires`);
243
+ }
244
+ ctx.agentToken = claim.token;
245
+ return claim;
246
+ }
247
+ // Fail closed HERE, not only at the CLI door. If a drain key survives to this point but the
248
+ // instance was lost anywhere downstream of the CLI guard, venue mode is skipped and this path
249
+ // would otherwise present an empty bearer to the store — which is exactly the shape of the bug
250
+ // this whole change exists to prevent.
251
+ if (!ctx.agentToken) {
252
+ throw new Error(ctx.drainKey
253
+ ? "venue mode was requested but no instance reached the worker, and player mode has no token — " +
254
+ "set COLTRANE_INSTANCE (or FLY_APP_NAME) so the drain key can be presented"
255
+ : "no credential: claiming needs a venue drain key with an instance, or a player agent token");
256
+ }
205
257
  const out = await workerRpc(ctx, "coltrane_mcp_claim", {
206
258
  p_bearer: ctx.agentToken,
207
259
  p_worker: ctx.worker ?? null,
@@ -733,5 +785,18 @@ export async function workOnce(ctx, deps) {
733
785
  }
734
786
  return { claimed: true, gig_id: claim.gig_id, status: "failed", error: message };
735
787
  }
788
+ finally {
789
+ // In venue mode the credential arrived WITH the work and must not outlive it.
790
+ //
791
+ // Without this, "a drain between gigs holds nothing that opens a door" is a property of the
792
+ // CALLER's shape rather than of this function: workOnce is one-shot today and the drain loop
793
+ // re-execs, so the token dies with the process by accident. If workOnce ever loops internally —
794
+ // an obvious optimisation, since the claim → run → drain cycle above it already IS a loop — that
795
+ // accident stops holding silently, and nothing here would notice.
796
+ //
797
+ // AFTER the catch, deliberately: failGig still speaks through this token.
798
+ if (ctx.drainKey)
799
+ ctx.agentToken = "";
800
+ }
736
801
  }
737
802
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@
13
13
  "target_paths": { "type": "array", "items": { "type": "string" }, "description": "Paths the requester believes are in scope. A belief, not a finding — the reading phase may contradict it." },
14
14
  "acceptance_criteria": { "type": "array", "items": { "type": "string" }, "description": "Observations that would show the change was made. Each entry must be checkable by someone who did not write the change." },
15
15
  "out_of_scope": { "type": "array", "items": { "type": "string" }, "description": "Work the requester explicitly excludes." },
16
- "requested_by": { "type": "string", "description": "The requesting party." }
16
+ "requested_by": { "type": "string", "description": "The requesting party." },
17
+ "change_set_branch": { "type": "string", "description": "The change-set branch (changeset/<originating-gig-uuid>[/<slug>]) the implementation run must work on. CARRIED here, never inferred from the working tree. Optional and additive: a request that omits it is refused as branch-absent-but-expected only where a run needs it." }
17
18
  }
18
19
  },
19
20
  "required_fields": [
@@ -0,0 +1,34 @@
1
+ {
2
+ "slug": "class-sweep",
3
+ "version": 1,
4
+ "extends": "Verdict",
5
+ "domain": "engineering",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "instances_found": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "string"
14
+ }
15
+ },
16
+ "instances_checked_clean": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "string"
20
+ }
21
+ },
22
+ "sweep_scope": {
23
+ "type": "string"
24
+ },
25
+ "sweep_complete": {
26
+ "type": "boolean"
27
+ }
28
+ }
29
+ },
30
+ "required_fields": [
31
+ "instances_found",
32
+ "sweep_scope"
33
+ ]
34
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "slug": "defect-class",
3
+ "version": 1,
4
+ "extends": "Interpretation",
5
+ "domain": "engineering",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "class_shape": {
11
+ "type": "string"
12
+ },
13
+ "killing_invariant": {
14
+ "type": "string"
15
+ },
16
+ "class_name": {
17
+ "type": "string"
18
+ }
19
+ }
20
+ },
21
+ "required_fields": [
22
+ "class_shape",
23
+ "killing_invariant"
24
+ ]
25
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "slug": "defect-location",
3
+ "version": 1,
4
+ "extends": "Interpretation",
5
+ "domain": "engineering",
6
+ "status": "active",
7
+ "schema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "call_chain": {
11
+ "type": "string"
12
+ },
13
+ "manifestation_site": {
14
+ "type": "string"
15
+ },
16
+ "read_locators": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "string"
20
+ }
21
+ }
22
+ }
23
+ },
24
+ "required_fields": [
25
+ "call_chain",
26
+ "manifestation_site"
27
+ ]
28
+ }