@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.
Files changed (85) hide show
  1. package/README.md +23 -0
  2. package/agents/bill.json +59 -0
  3. package/agents/deploy-agent.json +68 -0
  4. package/agents/deploy-scout.json +40 -0
  5. package/agents/john.json +42 -0
  6. package/agents/miles.json +44 -0
  7. package/charts/software-delivery-v1.json +9 -0
  8. package/charts/software-delivery-v2.json +39 -0
  9. package/dist/src/canonical_form.d.ts +23 -0
  10. package/dist/src/canonical_form.js +53 -0
  11. package/dist/src/canonical_form.js.map +1 -1
  12. package/dist/src/chart.d.ts +254 -0
  13. package/dist/src/chart.js +897 -0
  14. package/dist/src/chart.js.map +1 -0
  15. package/dist/src/cli.d.ts +19 -4
  16. package/dist/src/cli.js +132 -9
  17. package/dist/src/cli.js.map +1 -1
  18. package/dist/src/composition.d.ts +24 -0
  19. package/dist/src/composition.js +50 -5
  20. package/dist/src/composition.js.map +1 -1
  21. package/dist/src/genome_schema.d.ts +1130 -166
  22. package/dist/src/genome_schema.js +311 -34
  23. package/dist/src/genome_schema.js.map +1 -1
  24. package/dist/src/genome_store.d.ts +53 -3
  25. package/dist/src/genome_store.js +316 -139
  26. package/dist/src/genome_store.js.map +1 -1
  27. package/dist/src/gig_tracker.d.ts +11 -1
  28. package/dist/src/gig_tracker.js +5 -0
  29. package/dist/src/gig_tracker.js.map +1 -1
  30. package/dist/src/index.d.ts +1 -0
  31. package/dist/src/index.js +1 -0
  32. package/dist/src/index.js.map +1 -1
  33. package/dist/src/ledger.d.ts +22 -0
  34. package/dist/src/ledger.js +4 -0
  35. package/dist/src/ledger.js.map +1 -1
  36. package/dist/src/loader.d.ts +9 -1
  37. package/dist/src/loader.js +105 -5
  38. package/dist/src/loader.js.map +1 -1
  39. package/dist/src/mcp.js +42 -4
  40. package/dist/src/mcp.js.map +1 -1
  41. package/dist/src/output_mirror.d.ts +1 -1
  42. package/dist/src/outputs.d.ts +75 -1
  43. package/dist/src/outputs.js +142 -28
  44. package/dist/src/outputs.js.map +1 -1
  45. package/dist/src/reuse.d.ts +56 -0
  46. package/dist/src/reuse.js +0 -0
  47. package/dist/src/reuse.js.map +1 -1
  48. package/dist/src/runtime.d.ts +91 -2
  49. package/dist/src/runtime.js +217 -17
  50. package/dist/src/runtime.js.map +1 -1
  51. package/dist/src/server.d.ts +11 -0
  52. package/dist/src/server.js +529 -64
  53. package/dist/src/server.js.map +1 -1
  54. package/dist/src/version.d.ts +1 -1
  55. package/dist/src/version.js +1 -1
  56. package/dist/src/worker.d.ts +182 -0
  57. package/dist/src/worker.js +609 -0
  58. package/dist/src/worker.js.map +1 -0
  59. package/domain_types/branch-state.json +21 -0
  60. package/domain_types/change-context.json +39 -0
  61. package/domain_types/change-decision.json +36 -0
  62. package/domain_types/change-plan.json +47 -0
  63. package/domain_types/change-request.json +24 -0
  64. package/domain_types/change-set.json +46 -0
  65. package/domain_types/change-verdict.json +26 -0
  66. package/domain_types/deploy-verdict.json +23 -0
  67. package/domain_types/design-brief.json +37 -0
  68. package/domain_types/design-concept.json +36 -0
  69. package/domain_types/design-definition.json +37 -0
  70. package/domain_types/design-question.json +23 -0
  71. package/domain_types/design-verdict.json +27 -0
  72. package/domain_types/preview-deployment.json +32 -0
  73. package/institutions/quartet.json +344 -0
  74. package/package.json +4 -1
  75. package/skills/vercel-api/fixtures/error.json +10 -0
  76. package/skills/vercel-api/fixtures/ready.json +10 -0
  77. package/skills/vercel-api/fixtures/unsettled.json +10 -0
  78. package/skills/vercel-api/meta.json +10 -0
  79. package/skills/vercel-api/skill.mjs +63 -0
  80. package/standards/preview-deploy-v1.json +89 -0
  81. package/standards/product-design-v1.json +122 -0
  82. package/standards/promote-v1.json +41 -0
  83. package/standards/software-change-v1.json +147 -0
  84. package/venues/ci-deploy-room-v1.json +28 -0
  85. 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 CapGrantSchema = z.object({
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
- /** A seat: a named agent bound into a chair for an org, witnessed. */
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
- export type GenomeClass = "agent" | "standard" | "skill" | "domain_type";
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
- upsert(cls: GenomeClass, payload: Record<string, unknown>): Promise<void>;
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 {};