@eir-labs/coltrane 0.8.0 → 0.8.1
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/change-verifier.json +40 -0
- package/agents/code-implementer.json +42 -0
- package/agents/contract-definer.json +31 -0
- package/agents/defect-investigator.json +60 -0
- package/agents/grounder.json +38 -0
- package/agents/pr-publisher.json +48 -0
- package/agents/red-spec-drafter.json +46 -0
- package/agents/spec-publisher.json +48 -0
- package/agents/spec-reviewer.json +32 -0
- package/dist/src/bifrost_invoker.js +53 -52
- package/dist/src/bifrost_invoker.js.map +1 -1
- package/dist/src/change_set_branch.d.ts +131 -0
- package/dist/src/change_set_branch.js +179 -0
- package/dist/src/change_set_branch.js.map +1 -0
- package/dist/src/claude_invoker.d.ts +79 -2
- package/dist/src/claude_invoker.js +377 -36
- package/dist/src/claude_invoker.js.map +1 -1
- package/dist/src/cli.d.ts +1 -1
- package/dist/src/cli.js +26 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/composition.d.ts +11 -0
- package/dist/src/composition.js +3 -1
- package/dist/src/composition.js.map +1 -1
- package/dist/src/genome_schema.d.ts +301 -10
- package/dist/src/genome_schema.js +228 -7
- package/dist/src/genome_schema.js.map +1 -1
- package/dist/src/genome_store.d.ts +16 -1
- package/dist/src/genome_store.js +68 -0
- package/dist/src/genome_store.js.map +1 -1
- package/dist/src/gig_tracker.js +4 -0
- package/dist/src/gig_tracker.js.map +1 -1
- package/dist/src/hosted_tools.js +19 -0
- package/dist/src/hosted_tools.js.map +1 -1
- package/dist/src/institution_enforcement.d.ts +68 -0
- package/dist/src/institution_enforcement.js +417 -0
- package/dist/src/institution_enforcement.js.map +1 -0
- package/dist/src/institution_loader.d.ts +43 -0
- package/dist/src/institution_loader.js +157 -0
- package/dist/src/institution_loader.js.map +1 -0
- package/dist/src/loader.d.ts +3 -1
- package/dist/src/loader.js +12 -1
- package/dist/src/loader.js.map +1 -1
- package/dist/src/mcp.js +8 -1
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/runtime.d.ts +66 -0
- package/dist/src/runtime.js +202 -2
- package/dist/src/runtime.js.map +1 -1
- package/dist/src/server.d.ts +7 -0
- package/dist/src/server.js +90 -1
- package/dist/src/server.js.map +1 -1
- package/dist/src/venue_realize.d.ts +90 -0
- package/dist/src/venue_realize.js +129 -0
- package/dist/src/venue_realize.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/worker.d.ts +45 -3
- package/dist/src/worker.js +67 -2
- package/dist/src/worker.js.map +1 -1
- package/domain_types/change-request.json +2 -1
- package/domain_types/class-sweep.json +34 -0
- package/domain_types/defect-class.json +25 -0
- package/domain_types/defect-location.json +28 -0
- package/domain_types/defect-report.json +28 -0
- package/domain_types/fix-spec.json +28 -0
- package/domain_types/fix-verification.json +28 -0
- package/domain_types/grounding-dossier.json +95 -0
- package/domain_types/pull-request.json +43 -0
- package/domain_types/red-spec.json +76 -0
- package/domain_types/reproduction.json +28 -0
- package/domain_types/root-cause.json +28 -0
- package/domain_types/subsystem-contract.json +106 -0
- package/institutions/coltrane.json +166 -0
- package/institutions/quartet.json +143 -26
- package/package.json +2 -1
- package/standards/defect-investigation-v1.json +156 -0
- package/standards/software-change-pr-v1.json +151 -0
- 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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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -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.
|
|
2
|
+
export declare const COLTRANE_VERSION = "0.8.1";
|
|
3
3
|
/**
|
|
4
4
|
* The commit this engine checkout is sitting on, or null when it can't be determined.
|
|
5
5
|
*
|
package/dist/src/version.js
CHANGED
|
@@ -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.
|
|
20
|
+
export const COLTRANE_VERSION = "0.8.1";
|
|
21
21
|
/**
|
|
22
22
|
* The commit this engine checkout is sitting on, or null when it can't be determined.
|
|
23
23
|
*
|
package/dist/src/worker.d.ts
CHANGED
|
@@ -8,8 +8,31 @@ import type { LoadedGenome } from "./loader.js";
|
|
|
8
8
|
export interface WorkerContext {
|
|
9
9
|
baseUrl: string;
|
|
10
10
|
anonKey: string;
|
|
11
|
-
/**
|
|
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
|
-
/**
|
|
114
|
-
*
|
|
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
|
package/dist/src/worker.js
CHANGED
|
@@ -199,9 +199,61 @@ async function workerRpc(ctx, fn, body) {
|
|
|
199
199
|
}
|
|
200
200
|
return text ? JSON.parse(text) : null;
|
|
201
201
|
}
|
|
202
|
-
/**
|
|
203
|
-
*
|
|
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
|
package/dist/src/worker.js.map
CHANGED
|
@@ -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
|
+
}
|