@eir-labs/coltrane 0.6.2 → 0.7.2
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/README.md +23 -0
- package/agents/bill.json +59 -0
- package/agents/deploy-agent.json +68 -0
- package/agents/deploy-scout.json +40 -0
- package/agents/john.json +42 -0
- package/agents/miles.json +44 -0
- package/charts/software-delivery-v1.json +9 -0
- package/charts/software-delivery-v2.json +39 -0
- package/dist/src/canonical_form.d.ts +23 -0
- package/dist/src/canonical_form.js +53 -0
- package/dist/src/canonical_form.js.map +1 -1
- package/dist/src/chart.d.ts +254 -0
- package/dist/src/chart.js +897 -0
- package/dist/src/chart.js.map +1 -0
- package/dist/src/cli.d.ts +19 -4
- package/dist/src/cli.js +132 -9
- package/dist/src/cli.js.map +1 -1
- package/dist/src/composition.d.ts +24 -0
- package/dist/src/composition.js +50 -5
- package/dist/src/composition.js.map +1 -1
- package/dist/src/genome_schema.d.ts +1130 -166
- package/dist/src/genome_schema.js +311 -34
- package/dist/src/genome_schema.js.map +1 -1
- package/dist/src/genome_store.d.ts +53 -3
- package/dist/src/genome_store.js +316 -139
- package/dist/src/genome_store.js.map +1 -1
- package/dist/src/gig_tracker.d.ts +11 -1
- package/dist/src/gig_tracker.js +5 -0
- package/dist/src/gig_tracker.js.map +1 -1
- 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/ledger.d.ts +22 -0
- package/dist/src/ledger.js +4 -0
- package/dist/src/ledger.js.map +1 -1
- package/dist/src/loader.d.ts +9 -1
- package/dist/src/loader.js +105 -5
- package/dist/src/loader.js.map +1 -1
- package/dist/src/mcp.js +42 -4
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/output_mirror.d.ts +1 -1
- package/dist/src/outputs.d.ts +75 -1
- package/dist/src/outputs.js +142 -28
- package/dist/src/outputs.js.map +1 -1
- package/dist/src/reuse.d.ts +56 -0
- package/dist/src/reuse.js +0 -0
- package/dist/src/reuse.js.map +1 -1
- package/dist/src/runtime.d.ts +91 -2
- package/dist/src/runtime.js +217 -17
- package/dist/src/runtime.js.map +1 -1
- package/dist/src/server.d.ts +11 -0
- package/dist/src/server.js +529 -64
- package/dist/src/server.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/worker.d.ts +182 -0
- package/dist/src/worker.js +609 -0
- package/dist/src/worker.js.map +1 -0
- package/domain_types/branch-state.json +21 -0
- package/domain_types/change-context.json +39 -0
- package/domain_types/change-decision.json +36 -0
- package/domain_types/change-plan.json +47 -0
- package/domain_types/change-request.json +24 -0
- package/domain_types/change-set.json +46 -0
- package/domain_types/change-verdict.json +26 -0
- package/domain_types/deploy-verdict.json +23 -0
- package/domain_types/design-brief.json +37 -0
- package/domain_types/design-concept.json +36 -0
- package/domain_types/design-definition.json +37 -0
- package/domain_types/design-question.json +23 -0
- package/domain_types/design-verdict.json +27 -0
- package/domain_types/preview-deployment.json +32 -0
- package/institutions/quartet.json +344 -0
- package/package.json +4 -1
- package/skills/vercel-api/fixtures/error.json +10 -0
- package/skills/vercel-api/fixtures/ready.json +10 -0
- package/skills/vercel-api/fixtures/unsettled.json +10 -0
- package/skills/vercel-api/meta.json +10 -0
- package/skills/vercel-api/skill.mjs +63 -0
- package/standards/preview-deploy-v1.json +89 -0
- package/standards/product-design-v1.json +122 -0
- package/standards/promote-v1.json +41 -0
- package/standards/software-change-v1.json +147 -0
- package/venues/ci-deploy-room-v1.json +28 -0
- package/venues/empty-room-v1.json +19 -0
|
@@ -21,6 +21,67 @@ export const BrowserGrantSchema = z.object({
|
|
|
21
21
|
isolated: z.boolean().optional(),
|
|
22
22
|
headless: z.boolean().optional(),
|
|
23
23
|
});
|
|
24
|
+
// ── Skill — the package shape. Reconciles the two current shapes (SkillMeta typed + SkillRecord
|
|
25
|
+
// {slug;[k]:unknown} bag) into one. SHAPE-aligned only: determinism_ratio + fixtures are
|
|
26
|
+
// fields/artifacts the schema knows, but the OG rigid "fixtures pass ≥ threshold to PROMOTE"
|
|
27
|
+
// ceremony is deliberately NOT a schema invariant — promotion strictness is a separate, tunable
|
|
28
|
+
// policy. The fixture/determinism runner still enforces "fixtures pass + deterministic" in CI.
|
|
29
|
+
//
|
|
30
|
+
// Declared ABOVE the agent because an agent CARRIES skills (AgentSchema.skills below): the
|
|
31
|
+
// package shape has to exist before the record that embeds it. ──
|
|
32
|
+
export const NetworkGrantSchema = z.object({
|
|
33
|
+
allow: z.array(z.string()).default([]),
|
|
34
|
+
methods: z.array(z.string()).optional(),
|
|
35
|
+
max_requests: z.number().optional(),
|
|
36
|
+
max_bytes: z.number().optional(),
|
|
37
|
+
});
|
|
38
|
+
export const SkillPermissionSchema = z.object({
|
|
39
|
+
tier: z.number().optional(),
|
|
40
|
+
network: NetworkGrantSchema.optional(),
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* A HYDRATION SLOT — a named hole in a skill's method that something outside the agent fills.
|
|
44
|
+
*
|
|
45
|
+
* The seam this draws is the whole point of a carried skill: the METHOD is the agent's (portable,
|
|
46
|
+
* it travels into any institution that seats the player), while the DATA the method operates on is
|
|
47
|
+
* the institution's. A skill that hard-codes one house's constraints is not portable; a skill that
|
|
48
|
+
* declares the slot and receives the constraints is.
|
|
49
|
+
*
|
|
50
|
+
* `binding` says WHEN the slot is filled, and the two times are not interchangeable:
|
|
51
|
+
* - "institution" (the default when omitted) — filled at SEAT time from the chair's `supplies`.
|
|
52
|
+
* Known before any run exists, so a `required` slot nothing supplies is a DEAD SLOT and
|
|
53
|
+
* composition refuses it, exactly as an unresolvable tool grant is refused.
|
|
54
|
+
* - "gig" — filled at DISPATCH time from the gig payload. These are the chair contract's formal
|
|
55
|
+
* parameters and the dispatch input is the argument list, so compose time cannot demand them:
|
|
56
|
+
* it knows nothing about the arguments of a run that has not been asked for yet. Their floor
|
|
57
|
+
* belongs to the runtime pre-flight at t=0.
|
|
58
|
+
*/
|
|
59
|
+
export const HydrationSlotSchema = z.object({
|
|
60
|
+
type: z.string(),
|
|
61
|
+
description: z.string().optional(),
|
|
62
|
+
required: z.boolean().optional(),
|
|
63
|
+
binding: z.enum(["institution", "gig"]).optional(),
|
|
64
|
+
});
|
|
65
|
+
export const SkillSchema = z.object({
|
|
66
|
+
slug: z.string(),
|
|
67
|
+
version: z.number().optional(),
|
|
68
|
+
skill_type: z.string().optional(),
|
|
69
|
+
input_type: z.string().optional(),
|
|
70
|
+
output_type: z.string().optional(),
|
|
71
|
+
corpus: z.string().optional(),
|
|
72
|
+
determinism_ratio: z.number().optional(),
|
|
73
|
+
permission: SkillPermissionSchema.optional(),
|
|
74
|
+
description: z.string().optional(),
|
|
75
|
+
timeout_ms: z.number().optional(),
|
|
76
|
+
/** Slot name → the declared shape of what fills it. See HydrationSlotSchema: the method is the
|
|
77
|
+
* agent's, the slot data is the institution's (or the gig's). */
|
|
78
|
+
hydration: z.record(HydrationSlotSchema).optional(),
|
|
79
|
+
// a package declares fixtures (test suite + determinism meter) + its code. Present so skill_define
|
|
80
|
+
// is package-aware (meta + fixtures + code), not the retired flat {slug, domain, md}.
|
|
81
|
+
fixtures: z.array(z.unknown()).optional(),
|
|
82
|
+
code: z.string().optional(),
|
|
83
|
+
md: z.string().optional(),
|
|
84
|
+
});
|
|
24
85
|
// ── Agent — the template class, migrated end-to-end. z.input = AgentDef (what you author,
|
|
25
86
|
// optionals allowed); z.output = Agent (defaults applied). One definition, both types. ──
|
|
26
87
|
export const AgentSchema = z.object({
|
|
@@ -37,7 +98,22 @@ export const AgentSchema = z.object({
|
|
|
37
98
|
// the ~50 call-sites that build Agent objects don't all break. defineAgent applies the [] default.
|
|
38
99
|
allowed_tools: z.array(z.string()).readonly().optional(),
|
|
39
100
|
disallowed_tools: z.array(z.string()).readonly().optional(),
|
|
101
|
+
/** REFERENCES into the shared repertoire (`skills/<slug>/`): the off-the-shelf method, bound by
|
|
102
|
+
* name, resolved against the genome's skills map at run time. A slug that resolves to no
|
|
103
|
+
* package is a dangling binding (loader) and a dead name when a chair requires it (runtime). */
|
|
40
104
|
skill_slugs: z.array(z.string()).readonly().optional(),
|
|
105
|
+
/** The agent's OWN skills, carried on its record rather than referenced by name.
|
|
106
|
+
*
|
|
107
|
+
* An agent is the thing closest to its own work, so it is the agent that grows technique — and
|
|
108
|
+
* grown technique has to be portable: the same player seated in a second institution brings its
|
|
109
|
+
* method along instead of waiting for that institution's repertoire to contain it. Institution
|
|
110
|
+
* data never rides along; a carried skill declares `hydration` slots and the seating fills them.
|
|
111
|
+
*
|
|
112
|
+
* Relationship to `skill_slugs`: slugs name the SHARED repertoire, `skills` are the agent's own.
|
|
113
|
+
* Resolution unions the two, carried-first, so a carried definition SHADOWS a same-slug
|
|
114
|
+
* repertoire package (the player's own technique is the one that plays) and a slug covered by a
|
|
115
|
+
* carried definition is not a dangling binding. */
|
|
116
|
+
skills: z.array(SkillSchema).readonly().optional(),
|
|
41
117
|
model_tier: ModelTierSchema.optional(),
|
|
42
118
|
max_tool_calls: z.number().optional(),
|
|
43
119
|
max_token_budget: z.number().optional(),
|
|
@@ -51,13 +127,29 @@ export const ChairSchema = z.object({
|
|
|
51
127
|
role: z.string(),
|
|
52
128
|
agent_slug: z.string().optional(),
|
|
53
129
|
skill_slug: z.string().optional(),
|
|
130
|
+
/** The human seat: the chair is an approval office held by a person. No agent, no skill —
|
|
131
|
+
* the incumbent's sealed verdict is the chair's output, and a gig that reaches this chair
|
|
132
|
+
* unapproved PARKS (awaiting_approval) rather than confabulating a yes. */
|
|
133
|
+
human: z.boolean().optional(),
|
|
54
134
|
depends_on: z.array(z.string()).default([]),
|
|
55
135
|
input_contract: z.array(z.string()).default([]),
|
|
56
136
|
output_contract: z.array(z.string()).default([]),
|
|
57
137
|
// #243 — which promised outputs may legitimately be absent. Deny-by-default: omitted
|
|
58
138
|
// means every promised type is required. Subset of output_contract, checked at compose.
|
|
59
139
|
optional_outputs: z.array(z.string()).default([]),
|
|
140
|
+
/** The FLOOR. A skill named here must be held by whoever is seated — bound by slug or carried on
|
|
141
|
+
* the record — or the seating is refused at compose and the chair fails closed at run. */
|
|
60
142
|
required_skills: z.array(z.string()).default([]),
|
|
143
|
+
/** The PREFERENCE. Technique this chair would rather its incumbent hold, stated without refusing
|
|
144
|
+
* the ones who do not: the roster of available agents is a fact about the world, not a defect,
|
|
145
|
+
* and a preference that refused a seating would be a second floor under another name. Nothing
|
|
146
|
+
* checks it at compose time — deliberately, including its names, since a chair may legitimately
|
|
147
|
+
* prefer a technique no agent in the genome has grown yet. */
|
|
148
|
+
preferred_skills: z.array(z.string()).default([]),
|
|
149
|
+
/** The institution's side of a hydration contract, at the phase-chair level: slot name → the
|
|
150
|
+
* value that fills it. An institution-bound `required` slot on a skill the seated agent holds
|
|
151
|
+
* and nothing here (or on the institutional chair) fills is refused at compose. */
|
|
152
|
+
supplies: z.record(z.unknown()).optional(),
|
|
61
153
|
});
|
|
62
154
|
export const PhaseSchema = z.object({ name: z.string(), chairs: z.array(ChairSchema) });
|
|
63
155
|
/** Lifecycle status, shared by domain types and standards (#203). */
|
|
@@ -87,38 +179,6 @@ export const StandardSchema = z.object({
|
|
|
87
179
|
max_examine_rounds: z.number().optional(),
|
|
88
180
|
description: z.string().optional(),
|
|
89
181
|
});
|
|
90
|
-
// ── Skill — the package shape. Reconciles the two current shapes (SkillMeta typed + SkillRecord
|
|
91
|
-
// {slug;[k]:unknown} bag) into one. SHAPE-aligned only: determinism_ratio + fixtures are
|
|
92
|
-
// fields/artifacts the schema knows, but the OG rigid "fixtures pass ≥ threshold to PROMOTE"
|
|
93
|
-
// ceremony is deliberately NOT a schema invariant — promotion strictness is a separate, tunable
|
|
94
|
-
// policy. The fixture/determinism runner still enforces "fixtures pass + deterministic" in CI. ──
|
|
95
|
-
export const NetworkGrantSchema = z.object({
|
|
96
|
-
allow: z.array(z.string()).default([]),
|
|
97
|
-
methods: z.array(z.string()).optional(),
|
|
98
|
-
max_requests: z.number().optional(),
|
|
99
|
-
max_bytes: z.number().optional(),
|
|
100
|
-
});
|
|
101
|
-
export const SkillPermissionSchema = z.object({
|
|
102
|
-
tier: z.number().optional(),
|
|
103
|
-
network: NetworkGrantSchema.optional(),
|
|
104
|
-
});
|
|
105
|
-
export const SkillSchema = z.object({
|
|
106
|
-
slug: z.string(),
|
|
107
|
-
version: z.number().optional(),
|
|
108
|
-
skill_type: z.string().optional(),
|
|
109
|
-
input_type: z.string().optional(),
|
|
110
|
-
output_type: z.string().optional(),
|
|
111
|
-
corpus: z.string().optional(),
|
|
112
|
-
determinism_ratio: z.number().optional(),
|
|
113
|
-
permission: SkillPermissionSchema.optional(),
|
|
114
|
-
description: z.string().optional(),
|
|
115
|
-
timeout_ms: z.number().optional(),
|
|
116
|
-
// a package declares fixtures (test suite + determinism meter) + its code. Present so skill_define
|
|
117
|
-
// is package-aware (meta + fixtures + code), not the retired flat {slug, domain, md}.
|
|
118
|
-
fixtures: z.array(z.unknown()).optional(),
|
|
119
|
-
code: z.string().optional(),
|
|
120
|
-
md: z.string().optional(),
|
|
121
|
-
});
|
|
122
182
|
// ── Eval — retire the {slug;[k]:unknown} bag; the loader validates eval files against this. ──
|
|
123
183
|
export const EvalSchema = z.object({
|
|
124
184
|
slug: z.string(),
|
|
@@ -196,29 +256,62 @@ export const AgentRecordSchema = z.object({
|
|
|
196
256
|
export const OrgMemberSchema = z.object({ org_slug: z.string(), agent_slug: z.string() });
|
|
197
257
|
export const OrgInstitutionSchema = z.object({ org_slug: z.string(), institution_slug: z.string() });
|
|
198
258
|
/** A capability grant: a typed lineage-edge scope, optionally expiring. The grant IS the policy. */
|
|
199
|
-
export const
|
|
259
|
+
export const EdgeCapGrantSchema = z.object({
|
|
200
260
|
edge_type: LineageEdgeTypeSchema,
|
|
201
261
|
scope: z.record(z.unknown()),
|
|
202
262
|
expires: z.string().nullable().default(null),
|
|
203
263
|
});
|
|
264
|
+
/** The chair-contract dispatch grant — the office names which standards its incumbent may
|
|
265
|
+
* run. Authority sits on the chair; a credential presented by the incumbent may only
|
|
266
|
+
* narrow it, never widen it. (This is the shape the store's authorization function reads:
|
|
267
|
+
* a flat cap, not a scope smuggled inside a lineage edge.) */
|
|
268
|
+
export const DispatchCapGrantSchema = z.object({
|
|
269
|
+
grant: z.literal("dispatch"),
|
|
270
|
+
standards: z.array(z.string()).readonly(),
|
|
271
|
+
expires: z.string().nullable().default(null),
|
|
272
|
+
});
|
|
273
|
+
/** A chair cap is a lineage-edge grant or a dispatch grant. One union, one Zod source. */
|
|
274
|
+
export const CapGrantSchema = z.union([EdgeCapGrantSchema, DispatchCapGrantSchema]);
|
|
204
275
|
/** The chair is the thing: the seat's configuration, not a person. */
|
|
205
276
|
export const InstitutionalChairSchema = z.object({
|
|
206
277
|
id: z.string().optional(),
|
|
207
278
|
institution_slug: z.string(),
|
|
208
279
|
role: z.string(),
|
|
280
|
+
/** The human office: this chair is held by a person, never a model agent. */
|
|
281
|
+
human: z.boolean().optional(),
|
|
209
282
|
function: PrimitiveSchema,
|
|
210
283
|
mission: z.string(),
|
|
284
|
+
/** The floor: skills the office requires of whoever holds it. */
|
|
211
285
|
required_skills: z.array(z.string()).default([]),
|
|
286
|
+
/** The preference: technique the office would rather its incumbent hold, stated without refusing
|
|
287
|
+
* the agents who do not hold it. Same two-tier reading as the phase chair's. */
|
|
288
|
+
preferred_skills: z.array(z.string()).default([]),
|
|
289
|
+
/** The institution's data, delivered through the office: hydration slot name → the value that
|
|
290
|
+
* fills it. This is where institution-specific content belongs — NOT inside the carried skill,
|
|
291
|
+
* which is why the skill stays portable across institutions. */
|
|
292
|
+
supplies: z.record(z.unknown()).optional(),
|
|
212
293
|
caps: z.array(CapGrantSchema).default([]),
|
|
213
294
|
obligations: z.array(z.string()).default([]),
|
|
214
295
|
});
|
|
215
|
-
/**
|
|
296
|
+
/** What a seating cited: a source and the claim read from it. Both required — a source with no
|
|
297
|
+
* claim cites nothing in particular, and a claim with no source is a recollection. */
|
|
298
|
+
export const TechniqueEvidenceSchema = z.object({
|
|
299
|
+
source: z.string(),
|
|
300
|
+
claim: z.string(),
|
|
301
|
+
});
|
|
302
|
+
/** A seat: a named agent bound into a chair for an org, witnessed.
|
|
303
|
+
*
|
|
304
|
+
* Seating is a JUDGEMENT — this player, this office — and `technique_evidence` makes it a recorded
|
|
305
|
+
* one: the ledger queries, improvement reports, prior gig fingerprints or deterministic suite
|
|
306
|
+
* results the decision weighed. Optional, because a seating may be made on no evidence at all;
|
|
307
|
+
* what is not optional is the difference between the two, which is exactly what the field records. */
|
|
216
308
|
export const ChairAssignmentSchema = z.object({
|
|
217
309
|
id: z.string().optional(),
|
|
218
310
|
chair_id: z.string(),
|
|
219
311
|
agent_slug: z.string(),
|
|
220
312
|
org_slug: z.string(),
|
|
221
313
|
contract_caps: z.array(CapGrantSchema).default([]),
|
|
314
|
+
technique_evidence: z.array(TechniqueEvidenceSchema).optional(),
|
|
222
315
|
witnessed_by: z.string().nullable().default(null),
|
|
223
316
|
});
|
|
224
317
|
/** Cross-institution exposure happens only by contract across the wall. */
|
|
@@ -273,6 +366,190 @@ export const OrgServiceKeySchema = z
|
|
|
273
366
|
status: z.enum(["active", "revoked"]).default("active"),
|
|
274
367
|
})
|
|
275
368
|
.strict();
|
|
369
|
+
// ── Chart — the ARRANGEMENT: one gig as a performance of many standards ───────────────────────
|
|
370
|
+
//
|
|
371
|
+
// A standard is a phase graph over chairs. A CHART is the same idea one level up: a typed DAG
|
|
372
|
+
// over STANDARDS. Each MOVEMENT names a standard; each EDGE asserts that a type SEALED by the
|
|
373
|
+
// source movement seeds an entry chair of the sink movement (the entry-chair-seed rule, promoted);
|
|
374
|
+
// each APPROVAL GATE is a human seat at the arrangement level, keyed by `gate_id` so it cannot
|
|
375
|
+
// collide with a within-movement human chair that happens to share a role name; the BUDGET
|
|
376
|
+
// ENVELOPE bounds the whole performance rather than one movement of it.
|
|
377
|
+
//
|
|
378
|
+
// The single-standard gig is the DEGENERATE chart: one movement, no edges, no gates, whose
|
|
379
|
+
// `chart_hash` short-circuits byte-for-byte to `genomeHash` of that standard (src/chart.ts), so an
|
|
380
|
+
// existing run's `run_fingerprint` does not move. `venue` is deliberately opaque here — its
|
|
381
|
+
// infrastructure meaning belongs to the runtime layer, and speculating it into the schema would
|
|
382
|
+
// bind a decision this shape does not need.
|
|
383
|
+
//
|
|
384
|
+
// Nothing else in this file changes: every cross-reference below is a slug by `z.string()`, never
|
|
385
|
+
// a Zod ref, so a chart names standards and agents without the chart schema depending on theirs.
|
|
386
|
+
/** One typed edge: a type the source movement seals, consumed by the sink movement's entry chairs. */
|
|
387
|
+
export const ChartEdgeSchema = z
|
|
388
|
+
.object({
|
|
389
|
+
from_movement: z.string(),
|
|
390
|
+
to_movement: z.string(),
|
|
391
|
+
output_type: z.string(),
|
|
392
|
+
/** true = a CONDITIONAL edge: the type lives only in a terminal chair's `optional_outputs`,
|
|
393
|
+
* so the flow may legitimately carry nothing. Compose classifies it; it cannot prove the
|
|
394
|
+
* optional output will be produced, which is why a conditional edge never satisfies a
|
|
395
|
+
* REQUIRED entry slot (src/chart.ts R6/R7). */
|
|
396
|
+
optional: z.boolean().default(false),
|
|
397
|
+
})
|
|
398
|
+
.strict();
|
|
399
|
+
/** Who plays which chair for this movement — a recorded act, optionally with its evidence. */
|
|
400
|
+
export const ChartSeatingSchema = z
|
|
401
|
+
.object({
|
|
402
|
+
chair: z.string(),
|
|
403
|
+
agent_slug: z.string(),
|
|
404
|
+
technique_evidence: z.array(TechniqueEvidenceSchema).optional(),
|
|
405
|
+
})
|
|
406
|
+
.strict();
|
|
407
|
+
/** One movement: a standard, its gig-bound hydration arguments, and its seatings.
|
|
408
|
+
*
|
|
409
|
+
* `movement_id` — NOT `standard_slug` — is the identity everything keys on: the checkpoint
|
|
410
|
+
* namespace, the reuse-cache namespace, the edge endpoints. That is what lets one standard
|
|
411
|
+
* appear twice in a chart without the two instances sharing cached results. */
|
|
412
|
+
export const ChartMovementSchema = z
|
|
413
|
+
.object({
|
|
414
|
+
movement_id: z.string(),
|
|
415
|
+
standard_slug: z.string(),
|
|
416
|
+
runtime_fills: z.record(z.string(), z.unknown()).default({}),
|
|
417
|
+
seatings: z.array(ChartSeatingSchema).default([]),
|
|
418
|
+
})
|
|
419
|
+
.strict();
|
|
420
|
+
/** A human seat between movements. Parks on `deps.approvals[gate_id]`. */
|
|
421
|
+
export const ChartApprovalGateSchema = z
|
|
422
|
+
.object({
|
|
423
|
+
gate_id: z.string(),
|
|
424
|
+
after_movement: z.string(),
|
|
425
|
+
before_movement: z.string(),
|
|
426
|
+
chair: z.string(),
|
|
427
|
+
prompt: z.string().optional(),
|
|
428
|
+
})
|
|
429
|
+
.strict();
|
|
430
|
+
/** The ceiling for the whole performance, in real money. */
|
|
431
|
+
export const ChartBudgetEnvelopeSchema = z.object({ total_usd: z.number().positive() }).strict();
|
|
432
|
+
export const ChartSchema = z
|
|
433
|
+
.object({
|
|
434
|
+
slug: z.string(),
|
|
435
|
+
movements: z.array(ChartMovementSchema).min(1),
|
|
436
|
+
edges: z.array(ChartEdgeSchema).default([]),
|
|
437
|
+
approval_gates: z.array(ChartApprovalGateSchema).default([]),
|
|
438
|
+
budget_envelope: ChartBudgetEnvelopeSchema.optional(),
|
|
439
|
+
/** The VENUE this performance is held in, by slug — a `VenueSchema` in the genome (below).
|
|
440
|
+
*
|
|
441
|
+
* A slug, never an inline room: the venue is an institution-level object shared by whichever
|
|
442
|
+
* arrangement is fit for it, so it is named here and defined once there. A slug that resolves
|
|
443
|
+
* to no venue is a dead name and `composeChart` refuses the chart (R10), exactly as an
|
|
444
|
+
* unresolvable tool grant refuses a dispatch.
|
|
445
|
+
*
|
|
446
|
+
* Deliberately NOT folded into `chart_hash`: a room is environment, not structure. Two runs of
|
|
447
|
+
* the same arrangement in differently-configured rooms share an arrangement identity; what
|
|
448
|
+
* distinguishes them belongs to the run's own record, not the chart's. */
|
|
449
|
+
venue: z.string().optional(),
|
|
450
|
+
})
|
|
451
|
+
.strict();
|
|
452
|
+
// ── Venue — the institution's configured performance space ────────────────────────────────────
|
|
453
|
+
//
|
|
454
|
+
// A venue states what EXISTS to be acted with when a gig runs: which tools resolve, which doors
|
|
455
|
+
// open inward and outward, what is installed, and which classes of credential may legitimately be
|
|
456
|
+
// present. It is an institution-level object (one institution owns it; an institution may operate
|
|
457
|
+
// several) and it is a CEILING, never a grant: the authority a seated agent actually holds is its
|
|
458
|
+
// own `allowed_tools` INTERSECTED with `equipment.tools`, so a room can only ever narrow a player.
|
|
459
|
+
// `composeChart` enforces that where a chart names a venue (src/chart.ts R10).
|
|
460
|
+
//
|
|
461
|
+
// The contract is deliberately a narrow waist. Nothing here is a harness escape hatch — no image
|
|
462
|
+
// reference, no command string, no provisioning block — because a field that can express arbitrary
|
|
463
|
+
// harness behaviour destroys the separation between what is declared and what realizes it. What
|
|
464
|
+
// this shape covers is the STATICALLY CHECKABLE half of the design: the fields an engine can
|
|
465
|
+
// enforce before anything runs. Realization (building the room from the contract) and verification
|
|
466
|
+
// by behavioural probe are a lower layer and are not modelled here.
|
|
467
|
+
//
|
|
468
|
+
// Two asymmetries are load-bearing and stated in the shape rather than in prose:
|
|
469
|
+
// - `doors` separates ingress from egress, because what may reach the room and what may leave it
|
|
470
|
+
// are different questions with different threat models.
|
|
471
|
+
// - `installs` carries DIGESTS, not version ranges: an unpinned install names a family of rooms,
|
|
472
|
+
// which would make a room's identity meaningless.
|
|
473
|
+
/** The room's equipment: a deny-by-default allowlist of tool grants, in the same vocabulary as an
|
|
474
|
+
* agent's `allowed_tools`. A venue with no tools holds nothing — not "read-only tools", nothing. */
|
|
475
|
+
export const VenueEquipmentSchema = z
|
|
476
|
+
.object({
|
|
477
|
+
tools: z.array(z.string()).default([]),
|
|
478
|
+
})
|
|
479
|
+
.strict();
|
|
480
|
+
/** A host allowlist per direction. Deny-by-default: absent doors reach nothing and are reached by
|
|
481
|
+
* nothing. `*` is refused — a wildcard door is not a door, it is the absence of one. */
|
|
482
|
+
const HostSchema = z
|
|
483
|
+
.string()
|
|
484
|
+
.refine((h) => h.trim() !== "*", { message: `a door names hosts, never "*" — a wildcard door is not a door` });
|
|
485
|
+
export const VenueDoorsSchema = z
|
|
486
|
+
.object({
|
|
487
|
+
ingress: z.array(HostSchema).default([]),
|
|
488
|
+
egress: z.array(HostSchema).default([]),
|
|
489
|
+
})
|
|
490
|
+
.strict();
|
|
491
|
+
/** Lifecycle. Ephemeral is the default: the contract is the durable object and the realization is
|
|
492
|
+
* disposable, because everything a standing room accumulates — drift, residue from prior gigs,
|
|
493
|
+
* standing credentials, warm state — is exactly the class of thing no output's `input_shas` can
|
|
494
|
+
* cover. `standing` is permitted as a named exception and owes a rebuild cadence (venueDefect). */
|
|
495
|
+
export const VenueLifecycleSchema = z
|
|
496
|
+
.object({
|
|
497
|
+
policy: z.enum(["ephemeral", "standing"]).default("ephemeral"),
|
|
498
|
+
/** ISO-8601 duration or cron-shaped cadence — read by the responsible office, not the engine. */
|
|
499
|
+
rebuild_cadence: z.string().optional(),
|
|
500
|
+
})
|
|
501
|
+
.strict();
|
|
502
|
+
/** An install must carry the digest of what will actually be present. */
|
|
503
|
+
const InstallPinSchema = z.string().regex(/sha256:[0-9a-f]{64}/, "an install must be digest-pinned (…sha256:<64 hex>): a version range names a family of rooms, not one room, so an unpinned install makes the venue's identity meaningless");
|
|
504
|
+
export const VenueSchema = z
|
|
505
|
+
.object({
|
|
506
|
+
slug: z.string(),
|
|
507
|
+
/** Exactly one owning institution. The institution is the duty holder; the office below is the
|
|
508
|
+
* appointed accountable individual. */
|
|
509
|
+
institution_slug: z.string(),
|
|
510
|
+
/** Why this room is shaped the way it is — read at review, never at runtime. */
|
|
511
|
+
description: z.string().optional(),
|
|
512
|
+
/** The base kind of room (e.g. "ingest-empty", "code-work"). A label for humans and for
|
|
513
|
+
* "which room does this work want", not a resolvable reference. */
|
|
514
|
+
flavor: z.string().optional(),
|
|
515
|
+
/** Defaulted, not required, and the default is the EMPTY room. Every access-shaped field here
|
|
516
|
+
* leans the same way: absent doors reach nothing, absent installs install nothing, an absent
|
|
517
|
+
* credential surface permits nothing. A venue that forgot to state its equipment must hold
|
|
518
|
+
* nothing rather than hold whatever the reader assumed — and both doors into this class (the
|
|
519
|
+
* loader and venue_define) get that from the one schema rather than from two agreeing habits. */
|
|
520
|
+
equipment: VenueEquipmentSchema.default({}),
|
|
521
|
+
doors: VenueDoorsSchema.optional(),
|
|
522
|
+
/** Digest-pinned software the room contains. */
|
|
523
|
+
installs: z.array(InstallPinSchema).default([]),
|
|
524
|
+
/** Which CLASSES of credential may legitimately be present, by name. Never material, and never
|
|
525
|
+
* a field material could occupy: a room that declares nothing here is a room where finding a
|
|
526
|
+
* credential is a breach rather than a configuration difference. */
|
|
527
|
+
credential_surface: z.array(z.string()).default([]),
|
|
528
|
+
lifecycle: VenueLifecycleSchema.default({}),
|
|
529
|
+
/** The accountable office: an institutional chair id (the office, not its incumbent). One named
|
|
530
|
+
* duty-holder answers for the room and for what it permits. */
|
|
531
|
+
responsible_chair: z.string().optional(),
|
|
532
|
+
})
|
|
533
|
+
.strict();
|
|
534
|
+
/**
|
|
535
|
+
* Cross-field venue rules — the ones a single field cannot state.
|
|
536
|
+
*
|
|
537
|
+
* A separate function rather than a `.superRefine`, on purpose and by the existing idiom
|
|
538
|
+
* (`domainTypeDefect` in src/registry.ts): the MCP write-surface is generated from
|
|
539
|
+
* `zodToMcpProps(VenueSchema)`, which needs a plain `ZodObject` with a `.shape`, and a refined
|
|
540
|
+
* schema is a `ZodEffects` that has neither. So both doors — the loader and `venue_define` — call
|
|
541
|
+
* `VenueSchema.safeParse` and then this, and a rule enforced at one door is enforced at both.
|
|
542
|
+
*
|
|
543
|
+
* Returns the teaching message, or null when the venue is sound.
|
|
544
|
+
*/
|
|
545
|
+
export function venueDefect(venue) {
|
|
546
|
+
if (venue.lifecycle.policy === "standing" && !venue.lifecycle.rebuild_cadence?.trim()) {
|
|
547
|
+
return (`venue "${venue.slug}" is standing with no lifecycle.rebuild_cadence — that is a snowflake, not a venue. ` +
|
|
548
|
+
`A standing room accumulates drift, residue from prior gigs and warm state that no output's input_shas can cover, ` +
|
|
549
|
+
`so a standing exception owes a rebuild cadence: a phoenix on a slower clock. State one, or make it ephemeral.`);
|
|
550
|
+
}
|
|
551
|
+
return null;
|
|
552
|
+
}
|
|
276
553
|
function jsonTypeOf(schema) {
|
|
277
554
|
let s = schema;
|
|
278
555
|
// Unwrap the WRAPPER types (optional/default/nullable/readonly via `innerType`, effects via
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genome_schema.js","sourceRoot":"","sources":["../../src/genome_schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"genome_schema.js","sourceRoot":"","sources":["../../src/genome_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import { type LoadedGenome } from "./loader.js";
|
|
2
|
-
/** The genome classes a store can persist. (Core types are engine-owned and immutable.)
|
|
3
|
-
|
|
2
|
+
/** The genome classes a store can persist. (Core types are engine-owned and immutable.)
|
|
3
|
+
*
|
|
4
|
+
* `chart` and `venue` are here because the ENGINE now authors them — the file backing writes
|
|
5
|
+
* charts/<slug>.json and venues/<slug>.json, and the class rides through the PostgREST upsert
|
|
6
|
+
* unchanged. The STORE side is not yet built: `coltrane_genome_upsert` has no branch for either
|
|
7
|
+
* class and there are no chart/venue tables, so a hosted venue_define reaches the RPC and is
|
|
8
|
+
* refused BY THE STORE, loudly, with the store's own message. That refusal is the honest state —
|
|
9
|
+
* the class passes through the port it is supposed to pass through and the missing half says so
|
|
10
|
+
* itself, rather than the engine pretending the class does not exist. */
|
|
11
|
+
export type GenomeClass = "agent" | "standard" | "skill" | "domain_type" | "chart" | "venue";
|
|
4
12
|
/** Where definitions live. load() yields the loader's genome shape; upsert() persists one
|
|
5
13
|
* definition of a class. The file impl writes genome files; the PostgREST impl rides the
|
|
6
14
|
* governed upsert RPC as the caller. */
|
|
7
15
|
export interface GenomeStore {
|
|
8
16
|
load(): Promise<LoadedGenome>;
|
|
9
|
-
|
|
17
|
+
/** org_slug is an OPTIONAL override — the store resolves the caller's working org
|
|
18
|
+
* (set once via org_use) when absent, so callers never track the org per call. */
|
|
19
|
+
upsert(cls: GenomeClass, payload: Record<string, unknown>, org_slug?: string): Promise<void>;
|
|
10
20
|
}
|
|
11
21
|
/** The store connection a hosted caller carries — same shape as HostedToolContext:
|
|
12
22
|
* where the org store is, its public anon key, and WHO is calling (bearer). */
|
|
@@ -20,10 +30,50 @@ export interface PostgrestContext {
|
|
|
20
30
|
* file via the versioned writer (prior bytes snapshotted, atomic replace). Ledger sealing
|
|
21
31
|
* stays where it lives today — in the MCP tools (sealDefinition / sealAgentDefinition). */
|
|
22
32
|
export declare function fileGenomeStore(root: string): GenomeStore;
|
|
33
|
+
type Row = Record<string, unknown>;
|
|
34
|
+
/** The row bundle both store backings feed the reconstruction: the five genome tables,
|
|
35
|
+
* however they were fetched (PostgREST GETs under a JWT, or the coltrane_mcp_genome RPC
|
|
36
|
+
* under an agent token). */
|
|
37
|
+
export interface GenomeRows {
|
|
38
|
+
core_types: Row[];
|
|
39
|
+
domain_types: Row[];
|
|
40
|
+
agents: Row[];
|
|
41
|
+
standards: Row[];
|
|
42
|
+
skills: Row[];
|
|
43
|
+
/** Rows of {slug, definition} — the definition jsonb IS the file shape, validated through
|
|
44
|
+
* the same gates the loader runs (ChartSchema+composeChart / VenueSchema+venueDefect). */
|
|
45
|
+
charts?: Row[];
|
|
46
|
+
venues?: Row[];
|
|
47
|
+
}
|
|
48
|
+
/** Reconstruct the loader's in-memory genome shape from store rows — ONE reconstruction,
|
|
49
|
+
* shared by every backing, so a JWT-loaded genome and a ctk-loaded genome cannot drift. */
|
|
50
|
+
export declare function reconstructGenome(rows: GenomeRows): LoadedGenome;
|
|
23
51
|
/** Hosted backing: load the genome from the store's five tables and reconstruct the SAME
|
|
24
52
|
* in-memory shape the file loader produces; upsert through the governed RPC. */
|
|
25
53
|
export declare function postgrestGenomeStore(ctx: PostgrestContext): GenomeStore;
|
|
54
|
+
/** Agent-token backing: the org genome through coltrane_mcp_genome. PostgREST verifies only
|
|
55
|
+
* JWTs, so a ctk_ bearer cannot ride the REST tables — the definer RPC resolves the token's
|
|
56
|
+
* hash inside the store and returns the org's rows. Same reconstruction as every backing.
|
|
57
|
+
* Read-only by design: an agent token does not author genome (authoring is a member act,
|
|
58
|
+
* governed by the upsert RPC as auth.uid()). */
|
|
59
|
+
export declare function rpcGenomeStore(ctx: {
|
|
60
|
+
baseUrl: string;
|
|
61
|
+
anonKey: string;
|
|
62
|
+
agentToken: string;
|
|
63
|
+
}): GenomeStore;
|
|
64
|
+
/** Set the caller's working organization — the formal switch, recorded in the store as a
|
|
65
|
+
* member act. After this, every member write resolves the org without being told. */
|
|
66
|
+
export declare function postgrestOrgUse(ctx: PostgrestContext): (org_slug: string) => Promise<string>;
|
|
67
|
+
/** The agent-token gig-queue seam: queue one run through coltrane_mcp_dispatch, where the
|
|
68
|
+
* chair contract authorizes (the seat grants the standard; the token may only narrow).
|
|
69
|
+
* Same return shape as postgrestQueueGig so a host can swap them by bearer class. */
|
|
70
|
+
export declare function rpcQueueGig(ctx: {
|
|
71
|
+
baseUrl: string;
|
|
72
|
+
anonKey: string;
|
|
73
|
+
agentToken: string;
|
|
74
|
+
}): (args: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
26
75
|
/** The hosted gig-queue seam for createToolSurface: queue one run through the governor-gated
|
|
27
76
|
* dispatch RPC AS THE CALLER (member JWT — RLS + the governor gate decide). Queuing only;
|
|
28
77
|
* a drain worker claims and runs it. Shape mirrors hosted_tools' member dispatch path. */
|
|
29
78
|
export declare function postgrestQueueGig(ctx: PostgrestContext): (args: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
|
79
|
+
export {};
|