@eir-labs/coltrane 0.6.2 → 0.7.3

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 (106) 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/lineage-scout-external.json +25 -0
  7. package/agents/lineage-scout-internal.json +32 -0
  8. package/agents/lineage-scribe.json +21 -0
  9. package/agents/lineage-weaver.json +23 -0
  10. package/agents/miles.json +44 -0
  11. package/charts/software-delivery-v1.json +9 -0
  12. package/charts/software-delivery-v2.json +39 -0
  13. package/dist/src/canonical_form.d.ts +23 -0
  14. package/dist/src/canonical_form.js +53 -0
  15. package/dist/src/canonical_form.js.map +1 -1
  16. package/dist/src/chart.d.ts +254 -0
  17. package/dist/src/chart.js +897 -0
  18. package/dist/src/chart.js.map +1 -0
  19. package/dist/src/cli.d.ts +19 -4
  20. package/dist/src/cli.js +132 -9
  21. package/dist/src/cli.js.map +1 -1
  22. package/dist/src/composition.d.ts +24 -0
  23. package/dist/src/composition.js +50 -5
  24. package/dist/src/composition.js.map +1 -1
  25. package/dist/src/genome_schema.d.ts +1203 -166
  26. package/dist/src/genome_schema.js +344 -34
  27. package/dist/src/genome_schema.js.map +1 -1
  28. package/dist/src/genome_store.d.ts +53 -3
  29. package/dist/src/genome_store.js +316 -139
  30. package/dist/src/genome_store.js.map +1 -1
  31. package/dist/src/gig_tracker.d.ts +11 -1
  32. package/dist/src/gig_tracker.js +5 -0
  33. package/dist/src/gig_tracker.js.map +1 -1
  34. package/dist/src/index.d.ts +1 -0
  35. package/dist/src/index.js +1 -0
  36. package/dist/src/index.js.map +1 -1
  37. package/dist/src/ledger.d.ts +22 -0
  38. package/dist/src/ledger.js +4 -0
  39. package/dist/src/ledger.js.map +1 -1
  40. package/dist/src/loader.d.ts +9 -1
  41. package/dist/src/loader.js +105 -5
  42. package/dist/src/loader.js.map +1 -1
  43. package/dist/src/mcp.js +54 -4
  44. package/dist/src/mcp.js.map +1 -1
  45. package/dist/src/output_mirror.d.ts +1 -1
  46. package/dist/src/outputs.d.ts +75 -1
  47. package/dist/src/outputs.js +142 -28
  48. package/dist/src/outputs.js.map +1 -1
  49. package/dist/src/reuse.d.ts +71 -0
  50. package/dist/src/reuse.js +0 -0
  51. package/dist/src/reuse.js.map +1 -1
  52. package/dist/src/runtime.d.ts +91 -2
  53. package/dist/src/runtime.js +236 -18
  54. package/dist/src/runtime.js.map +1 -1
  55. package/dist/src/server.d.ts +16 -0
  56. package/dist/src/server.js +600 -64
  57. package/dist/src/server.js.map +1 -1
  58. package/dist/src/version.d.ts +1 -1
  59. package/dist/src/version.js +1 -1
  60. package/dist/src/worker.d.ts +228 -0
  61. package/dist/src/worker.js +737 -0
  62. package/dist/src/worker.js.map +1 -0
  63. package/domain_types/alignment-plan.json +16 -0
  64. package/domain_types/branch-state.json +21 -0
  65. package/domain_types/change-context.json +39 -0
  66. package/domain_types/change-decision.json +36 -0
  67. package/domain_types/change-plan.json +47 -0
  68. package/domain_types/change-request.json +24 -0
  69. package/domain_types/change-set.json +46 -0
  70. package/domain_types/change-verdict.json +26 -0
  71. package/domain_types/deploy-verdict.json +23 -0
  72. package/domain_types/design-brief.json +37 -0
  73. package/domain_types/design-concept.json +36 -0
  74. package/domain_types/design-definition.json +37 -0
  75. package/domain_types/design-question.json +23 -0
  76. package/domain_types/design-verdict.json +27 -0
  77. package/domain_types/internal-inventory.json +26 -0
  78. package/domain_types/lineage-hit.json +19 -0
  79. package/domain_types/lineage-map.json +32 -0
  80. package/domain_types/lineage-question.json +17 -0
  81. package/domain_types/lineage-record.json +19 -0
  82. package/domain_types/lineage-verdict.json +16 -0
  83. package/domain_types/preview-deployment.json +32 -0
  84. package/institutions/quartet.json +344 -0
  85. package/package.json +4 -1
  86. package/skills/vercel-api/fixtures/error.json +10 -0
  87. package/skills/vercel-api/fixtures/ready.json +10 -0
  88. package/skills/vercel-api/fixtures/unsettled.json +10 -0
  89. package/skills/vercel-api/meta.json +10 -0
  90. package/skills/vercel-api/skill.mjs +63 -0
  91. package/standards/lineage-pass-v1.json +96 -0
  92. package/standards/preview-deploy-v1.json +89 -0
  93. package/standards/product-design-v1.json +122 -0
  94. package/standards/promote-v1.json +41 -0
  95. package/standards/software-change-v1.json +147 -0
  96. package/venues/ci-deploy-room-v1.json +28 -0
  97. package/venues/empty-room-v1.json +19 -0
  98. package/dist/src/conduct_daemon.d.ts +0 -59
  99. package/dist/src/conduct_daemon.js +0 -178
  100. package/dist/src/conduct_daemon.js.map +0 -1
  101. package/dist/src/play_worker.d.ts +0 -24
  102. package/dist/src/play_worker.js +0 -49
  103. package/dist/src/play_worker.js.map +0 -1
  104. package/dist/src/supabase_genome.d.ts +0 -28
  105. package/dist/src/supabase_genome.js +0 -49
  106. package/dist/src/supabase_genome.js.map +0 -1
@@ -24,6 +24,213 @@ export declare const BrowserGrantSchema: z.ZodObject<{
24
24
  headless?: boolean | undefined;
25
25
  }>;
26
26
  export type BrowserGrant = z.output<typeof BrowserGrantSchema>;
27
+ export declare const NetworkGrantSchema: z.ZodObject<{
28
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
29
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
+ max_requests: z.ZodOptional<z.ZodNumber>;
31
+ max_bytes: z.ZodOptional<z.ZodNumber>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ allow: string[];
34
+ methods?: string[] | undefined;
35
+ max_requests?: number | undefined;
36
+ max_bytes?: number | undefined;
37
+ }, {
38
+ allow?: string[] | undefined;
39
+ methods?: string[] | undefined;
40
+ max_requests?: number | undefined;
41
+ max_bytes?: number | undefined;
42
+ }>;
43
+ export declare const SkillPermissionSchema: z.ZodObject<{
44
+ tier: z.ZodOptional<z.ZodNumber>;
45
+ network: z.ZodOptional<z.ZodObject<{
46
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
47
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ max_requests: z.ZodOptional<z.ZodNumber>;
49
+ max_bytes: z.ZodOptional<z.ZodNumber>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ allow: string[];
52
+ methods?: string[] | undefined;
53
+ max_requests?: number | undefined;
54
+ max_bytes?: number | undefined;
55
+ }, {
56
+ allow?: string[] | undefined;
57
+ methods?: string[] | undefined;
58
+ max_requests?: number | undefined;
59
+ max_bytes?: number | undefined;
60
+ }>>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ tier?: number | undefined;
63
+ network?: {
64
+ allow: string[];
65
+ methods?: string[] | undefined;
66
+ max_requests?: number | undefined;
67
+ max_bytes?: number | undefined;
68
+ } | undefined;
69
+ }, {
70
+ tier?: number | undefined;
71
+ network?: {
72
+ allow?: string[] | undefined;
73
+ methods?: string[] | undefined;
74
+ max_requests?: number | undefined;
75
+ max_bytes?: number | undefined;
76
+ } | undefined;
77
+ }>;
78
+ /**
79
+ * A HYDRATION SLOT — a named hole in a skill's method that something outside the agent fills.
80
+ *
81
+ * The seam this draws is the whole point of a carried skill: the METHOD is the agent's (portable,
82
+ * it travels into any institution that seats the player), while the DATA the method operates on is
83
+ * the institution's. A skill that hard-codes one house's constraints is not portable; a skill that
84
+ * declares the slot and receives the constraints is.
85
+ *
86
+ * `binding` says WHEN the slot is filled, and the two times are not interchangeable:
87
+ * - "institution" (the default when omitted) — filled at SEAT time from the chair's `supplies`.
88
+ * Known before any run exists, so a `required` slot nothing supplies is a DEAD SLOT and
89
+ * composition refuses it, exactly as an unresolvable tool grant is refused.
90
+ * - "gig" — filled at DISPATCH time from the gig payload. These are the chair contract's formal
91
+ * parameters and the dispatch input is the argument list, so compose time cannot demand them:
92
+ * it knows nothing about the arguments of a run that has not been asked for yet. Their floor
93
+ * belongs to the runtime pre-flight at t=0.
94
+ */
95
+ export declare const HydrationSlotSchema: z.ZodObject<{
96
+ type: z.ZodString;
97
+ description: z.ZodOptional<z.ZodString>;
98
+ required: z.ZodOptional<z.ZodBoolean>;
99
+ binding: z.ZodOptional<z.ZodEnum<["institution", "gig"]>>;
100
+ }, "strip", z.ZodTypeAny, {
101
+ type: string;
102
+ description?: string | undefined;
103
+ required?: boolean | undefined;
104
+ binding?: "institution" | "gig" | undefined;
105
+ }, {
106
+ type: string;
107
+ description?: string | undefined;
108
+ required?: boolean | undefined;
109
+ binding?: "institution" | "gig" | undefined;
110
+ }>;
111
+ export declare const SkillSchema: z.ZodObject<{
112
+ slug: z.ZodString;
113
+ version: z.ZodOptional<z.ZodNumber>;
114
+ skill_type: z.ZodOptional<z.ZodString>;
115
+ input_type: z.ZodOptional<z.ZodString>;
116
+ output_type: z.ZodOptional<z.ZodString>;
117
+ corpus: z.ZodOptional<z.ZodString>;
118
+ determinism_ratio: z.ZodOptional<z.ZodNumber>;
119
+ permission: z.ZodOptional<z.ZodObject<{
120
+ tier: z.ZodOptional<z.ZodNumber>;
121
+ network: z.ZodOptional<z.ZodObject<{
122
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
123
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
124
+ max_requests: z.ZodOptional<z.ZodNumber>;
125
+ max_bytes: z.ZodOptional<z.ZodNumber>;
126
+ }, "strip", z.ZodTypeAny, {
127
+ allow: string[];
128
+ methods?: string[] | undefined;
129
+ max_requests?: number | undefined;
130
+ max_bytes?: number | undefined;
131
+ }, {
132
+ allow?: string[] | undefined;
133
+ methods?: string[] | undefined;
134
+ max_requests?: number | undefined;
135
+ max_bytes?: number | undefined;
136
+ }>>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ tier?: number | undefined;
139
+ network?: {
140
+ allow: string[];
141
+ methods?: string[] | undefined;
142
+ max_requests?: number | undefined;
143
+ max_bytes?: number | undefined;
144
+ } | undefined;
145
+ }, {
146
+ tier?: number | undefined;
147
+ network?: {
148
+ allow?: string[] | undefined;
149
+ methods?: string[] | undefined;
150
+ max_requests?: number | undefined;
151
+ max_bytes?: number | undefined;
152
+ } | undefined;
153
+ }>>;
154
+ description: z.ZodOptional<z.ZodString>;
155
+ timeout_ms: z.ZodOptional<z.ZodNumber>;
156
+ /** Slot name → the declared shape of what fills it. See HydrationSlotSchema: the method is the
157
+ * agent's, the slot data is the institution's (or the gig's). */
158
+ hydration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
159
+ type: z.ZodString;
160
+ description: z.ZodOptional<z.ZodString>;
161
+ required: z.ZodOptional<z.ZodBoolean>;
162
+ binding: z.ZodOptional<z.ZodEnum<["institution", "gig"]>>;
163
+ }, "strip", z.ZodTypeAny, {
164
+ type: string;
165
+ description?: string | undefined;
166
+ required?: boolean | undefined;
167
+ binding?: "institution" | "gig" | undefined;
168
+ }, {
169
+ type: string;
170
+ description?: string | undefined;
171
+ required?: boolean | undefined;
172
+ binding?: "institution" | "gig" | undefined;
173
+ }>>>;
174
+ fixtures: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
175
+ code: z.ZodOptional<z.ZodString>;
176
+ md: z.ZodOptional<z.ZodString>;
177
+ }, "strip", z.ZodTypeAny, {
178
+ slug: string;
179
+ version?: number | undefined;
180
+ code?: string | undefined;
181
+ description?: string | undefined;
182
+ skill_type?: string | undefined;
183
+ input_type?: string | undefined;
184
+ output_type?: string | undefined;
185
+ corpus?: string | undefined;
186
+ determinism_ratio?: number | undefined;
187
+ permission?: {
188
+ tier?: number | undefined;
189
+ network?: {
190
+ allow: string[];
191
+ methods?: string[] | undefined;
192
+ max_requests?: number | undefined;
193
+ max_bytes?: number | undefined;
194
+ } | undefined;
195
+ } | undefined;
196
+ timeout_ms?: number | undefined;
197
+ hydration?: Record<string, {
198
+ type: string;
199
+ description?: string | undefined;
200
+ required?: boolean | undefined;
201
+ binding?: "institution" | "gig" | undefined;
202
+ }> | undefined;
203
+ fixtures?: unknown[] | undefined;
204
+ md?: string | undefined;
205
+ }, {
206
+ slug: string;
207
+ version?: number | undefined;
208
+ code?: string | undefined;
209
+ description?: string | undefined;
210
+ skill_type?: string | undefined;
211
+ input_type?: string | undefined;
212
+ output_type?: string | undefined;
213
+ corpus?: string | undefined;
214
+ determinism_ratio?: number | undefined;
215
+ permission?: {
216
+ tier?: number | undefined;
217
+ network?: {
218
+ allow?: string[] | undefined;
219
+ methods?: string[] | undefined;
220
+ max_requests?: number | undefined;
221
+ max_bytes?: number | undefined;
222
+ } | undefined;
223
+ } | undefined;
224
+ timeout_ms?: number | undefined;
225
+ hydration?: Record<string, {
226
+ type: string;
227
+ description?: string | undefined;
228
+ required?: boolean | undefined;
229
+ binding?: "institution" | "gig" | undefined;
230
+ }> | undefined;
231
+ fixtures?: unknown[] | undefined;
232
+ md?: string | undefined;
233
+ }>;
27
234
  export declare const AgentSchema: z.ZodObject<{
28
235
  slug: z.ZodString;
29
236
  primitives: z.ZodReadonly<z.ZodArray<z.ZodEnum<["SENSE", "INTERPRET", "JUDGE", "PLAN", "CREATE", "VERIFY"]>, "many">>;
@@ -36,7 +243,144 @@ export declare const AgentSchema: z.ZodObject<{
36
243
  behavioral_primitives: z.ZodReadonly<z.ZodTuple<[z.ZodEnum<["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]>, z.ZodEnum<["explorer", "analyst", "critic", "synthesizer", "planner", "executor", "audience_modeler"]>], null>>;
37
244
  allowed_tools: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
38
245
  disallowed_tools: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
246
+ /** REFERENCES into the shared repertoire (`skills/<slug>/`): the off-the-shelf method, bound by
247
+ * name, resolved against the genome's skills map at run time. A slug that resolves to no
248
+ * package is a dangling binding (loader) and a dead name when a chair requires it (runtime). */
39
249
  skill_slugs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
250
+ /** The agent's OWN skills, carried on its record rather than referenced by name.
251
+ *
252
+ * An agent is the thing closest to its own work, so it is the agent that grows technique — and
253
+ * grown technique has to be portable: the same player seated in a second institution brings its
254
+ * method along instead of waiting for that institution's repertoire to contain it. Institution
255
+ * data never rides along; a carried skill declares `hydration` slots and the seating fills them.
256
+ *
257
+ * Relationship to `skill_slugs`: slugs name the SHARED repertoire, `skills` are the agent's own.
258
+ * Resolution unions the two, carried-first, so a carried definition SHADOWS a same-slug
259
+ * repertoire package (the player's own technique is the one that plays) and a slug covered by a
260
+ * carried definition is not a dangling binding. */
261
+ skills: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
262
+ slug: z.ZodString;
263
+ version: z.ZodOptional<z.ZodNumber>;
264
+ skill_type: z.ZodOptional<z.ZodString>;
265
+ input_type: z.ZodOptional<z.ZodString>;
266
+ output_type: z.ZodOptional<z.ZodString>;
267
+ corpus: z.ZodOptional<z.ZodString>;
268
+ determinism_ratio: z.ZodOptional<z.ZodNumber>;
269
+ permission: z.ZodOptional<z.ZodObject<{
270
+ tier: z.ZodOptional<z.ZodNumber>;
271
+ network: z.ZodOptional<z.ZodObject<{
272
+ allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
273
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
274
+ max_requests: z.ZodOptional<z.ZodNumber>;
275
+ max_bytes: z.ZodOptional<z.ZodNumber>;
276
+ }, "strip", z.ZodTypeAny, {
277
+ allow: string[];
278
+ methods?: string[] | undefined;
279
+ max_requests?: number | undefined;
280
+ max_bytes?: number | undefined;
281
+ }, {
282
+ allow?: string[] | undefined;
283
+ methods?: string[] | undefined;
284
+ max_requests?: number | undefined;
285
+ max_bytes?: number | undefined;
286
+ }>>;
287
+ }, "strip", z.ZodTypeAny, {
288
+ tier?: number | undefined;
289
+ network?: {
290
+ allow: string[];
291
+ methods?: string[] | undefined;
292
+ max_requests?: number | undefined;
293
+ max_bytes?: number | undefined;
294
+ } | undefined;
295
+ }, {
296
+ tier?: number | undefined;
297
+ network?: {
298
+ allow?: string[] | undefined;
299
+ methods?: string[] | undefined;
300
+ max_requests?: number | undefined;
301
+ max_bytes?: number | undefined;
302
+ } | undefined;
303
+ }>>;
304
+ description: z.ZodOptional<z.ZodString>;
305
+ timeout_ms: z.ZodOptional<z.ZodNumber>;
306
+ /** Slot name → the declared shape of what fills it. See HydrationSlotSchema: the method is the
307
+ * agent's, the slot data is the institution's (or the gig's). */
308
+ hydration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
309
+ type: z.ZodString;
310
+ description: z.ZodOptional<z.ZodString>;
311
+ required: z.ZodOptional<z.ZodBoolean>;
312
+ binding: z.ZodOptional<z.ZodEnum<["institution", "gig"]>>;
313
+ }, "strip", z.ZodTypeAny, {
314
+ type: string;
315
+ description?: string | undefined;
316
+ required?: boolean | undefined;
317
+ binding?: "institution" | "gig" | undefined;
318
+ }, {
319
+ type: string;
320
+ description?: string | undefined;
321
+ required?: boolean | undefined;
322
+ binding?: "institution" | "gig" | undefined;
323
+ }>>>;
324
+ fixtures: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
325
+ code: z.ZodOptional<z.ZodString>;
326
+ md: z.ZodOptional<z.ZodString>;
327
+ }, "strip", z.ZodTypeAny, {
328
+ slug: string;
329
+ version?: number | undefined;
330
+ code?: string | undefined;
331
+ description?: string | undefined;
332
+ skill_type?: string | undefined;
333
+ input_type?: string | undefined;
334
+ output_type?: string | undefined;
335
+ corpus?: string | undefined;
336
+ determinism_ratio?: number | undefined;
337
+ permission?: {
338
+ tier?: number | undefined;
339
+ network?: {
340
+ allow: string[];
341
+ methods?: string[] | undefined;
342
+ max_requests?: number | undefined;
343
+ max_bytes?: number | undefined;
344
+ } | undefined;
345
+ } | undefined;
346
+ timeout_ms?: number | undefined;
347
+ hydration?: Record<string, {
348
+ type: string;
349
+ description?: string | undefined;
350
+ required?: boolean | undefined;
351
+ binding?: "institution" | "gig" | undefined;
352
+ }> | undefined;
353
+ fixtures?: unknown[] | undefined;
354
+ md?: string | undefined;
355
+ }, {
356
+ slug: string;
357
+ version?: number | undefined;
358
+ code?: string | undefined;
359
+ description?: string | undefined;
360
+ skill_type?: string | undefined;
361
+ input_type?: string | undefined;
362
+ output_type?: string | undefined;
363
+ corpus?: string | undefined;
364
+ determinism_ratio?: number | undefined;
365
+ permission?: {
366
+ tier?: number | undefined;
367
+ network?: {
368
+ allow?: string[] | undefined;
369
+ methods?: string[] | undefined;
370
+ max_requests?: number | undefined;
371
+ max_bytes?: number | undefined;
372
+ } | undefined;
373
+ } | undefined;
374
+ timeout_ms?: number | undefined;
375
+ hydration?: Record<string, {
376
+ type: string;
377
+ description?: string | undefined;
378
+ required?: boolean | undefined;
379
+ binding?: "institution" | "gig" | undefined;
380
+ }> | undefined;
381
+ fixtures?: unknown[] | undefined;
382
+ md?: string | undefined;
383
+ }>, "many">>>;
40
384
  model_tier: z.ZodOptional<z.ZodEnum<["economy", "standard", "premium"]>>;
41
385
  max_tool_calls: z.ZodOptional<z.ZodNumber>;
42
386
  max_token_budget: z.ZodOptional<z.ZodNumber>;
@@ -75,6 +419,35 @@ export declare const AgentSchema: z.ZodObject<{
75
419
  allowed_tools?: readonly string[] | undefined;
76
420
  disallowed_tools?: readonly string[] | undefined;
77
421
  skill_slugs?: readonly string[] | undefined;
422
+ skills?: readonly {
423
+ slug: string;
424
+ version?: number | undefined;
425
+ code?: string | undefined;
426
+ description?: string | undefined;
427
+ skill_type?: string | undefined;
428
+ input_type?: string | undefined;
429
+ output_type?: string | undefined;
430
+ corpus?: string | undefined;
431
+ determinism_ratio?: number | undefined;
432
+ permission?: {
433
+ tier?: number | undefined;
434
+ network?: {
435
+ allow: string[];
436
+ methods?: string[] | undefined;
437
+ max_requests?: number | undefined;
438
+ max_bytes?: number | undefined;
439
+ } | undefined;
440
+ } | undefined;
441
+ timeout_ms?: number | undefined;
442
+ hydration?: Record<string, {
443
+ type: string;
444
+ description?: string | undefined;
445
+ required?: boolean | undefined;
446
+ binding?: "institution" | "gig" | undefined;
447
+ }> | undefined;
448
+ fixtures?: unknown[] | undefined;
449
+ md?: string | undefined;
450
+ }[] | undefined;
78
451
  model_tier?: "standard" | "economy" | "premium" | undefined;
79
452
  max_tool_calls?: number | undefined;
80
453
  max_token_budget?: number | undefined;
@@ -100,6 +473,35 @@ export declare const AgentSchema: z.ZodObject<{
100
473
  allowed_tools?: readonly string[] | undefined;
101
474
  disallowed_tools?: readonly string[] | undefined;
102
475
  skill_slugs?: readonly string[] | undefined;
476
+ skills?: readonly {
477
+ slug: string;
478
+ version?: number | undefined;
479
+ code?: string | undefined;
480
+ description?: string | undefined;
481
+ skill_type?: string | undefined;
482
+ input_type?: string | undefined;
483
+ output_type?: string | undefined;
484
+ corpus?: string | undefined;
485
+ determinism_ratio?: number | undefined;
486
+ permission?: {
487
+ tier?: number | undefined;
488
+ network?: {
489
+ allow?: string[] | undefined;
490
+ methods?: string[] | undefined;
491
+ max_requests?: number | undefined;
492
+ max_bytes?: number | undefined;
493
+ } | undefined;
494
+ } | undefined;
495
+ timeout_ms?: number | undefined;
496
+ hydration?: Record<string, {
497
+ type: string;
498
+ description?: string | undefined;
499
+ required?: boolean | undefined;
500
+ binding?: "institution" | "gig" | undefined;
501
+ }> | undefined;
502
+ fixtures?: unknown[] | undefined;
503
+ md?: string | undefined;
504
+ }[] | undefined;
103
505
  model_tier?: "standard" | "economy" | "premium" | undefined;
104
506
  max_tool_calls?: number | undefined;
105
507
  max_token_budget?: number | undefined;
@@ -118,11 +520,27 @@ export declare const ChairSchema: z.ZodObject<{
118
520
  role: z.ZodString;
119
521
  agent_slug: z.ZodOptional<z.ZodString>;
120
522
  skill_slug: z.ZodOptional<z.ZodString>;
523
+ /** The human seat: the chair is an approval office held by a person. No agent, no skill —
524
+ * the incumbent's sealed verdict is the chair's output, and a gig that reaches this chair
525
+ * unapproved PARKS (awaiting_approval) rather than confabulating a yes. */
526
+ human: z.ZodOptional<z.ZodBoolean>;
121
527
  depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
122
528
  input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
123
529
  output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
124
530
  optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
531
+ /** The FLOOR. A skill named here must be held by whoever is seated — bound by slug or carried on
532
+ * the record — or the seating is refused at compose and the chair fails closed at run. */
125
533
  required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
534
+ /** The PREFERENCE. Technique this chair would rather its incumbent hold, stated without refusing
535
+ * the ones who do not: the roster of available agents is a fact about the world, not a defect,
536
+ * and a preference that refused a seating would be a second floor under another name. Nothing
537
+ * checks it at compose time — deliberately, including its names, since a chair may legitimately
538
+ * prefer a technique no agent in the genome has grown yet. */
539
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
540
+ /** The institution's side of a hydration contract, at the phase-chair level: slot name → the
541
+ * value that fills it. An institution-bound `required` slot on a skill the seated agent holds
542
+ * and nothing here (or on the institutional chair) fills is refused at compose. */
543
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
544
  }, "strip", z.ZodTypeAny, {
127
545
  role: string;
128
546
  depends_on: string[];
@@ -130,17 +548,23 @@ export declare const ChairSchema: z.ZodObject<{
130
548
  output_contract: string[];
131
549
  optional_outputs: string[];
132
550
  required_skills: string[];
551
+ preferred_skills: string[];
133
552
  agent_slug?: string | undefined;
134
553
  skill_slug?: string | undefined;
554
+ human?: boolean | undefined;
555
+ supplies?: Record<string, unknown> | undefined;
135
556
  }, {
136
557
  role: string;
137
558
  agent_slug?: string | undefined;
138
559
  skill_slug?: string | undefined;
560
+ human?: boolean | undefined;
139
561
  depends_on?: string[] | undefined;
140
562
  input_contract?: string[] | undefined;
141
563
  output_contract?: string[] | undefined;
142
564
  optional_outputs?: string[] | undefined;
143
565
  required_skills?: string[] | undefined;
566
+ preferred_skills?: string[] | undefined;
567
+ supplies?: Record<string, unknown> | undefined;
144
568
  }>;
145
569
  export declare const PhaseSchema: z.ZodObject<{
146
570
  name: z.ZodString;
@@ -148,11 +572,27 @@ export declare const PhaseSchema: z.ZodObject<{
148
572
  role: z.ZodString;
149
573
  agent_slug: z.ZodOptional<z.ZodString>;
150
574
  skill_slug: z.ZodOptional<z.ZodString>;
575
+ /** The human seat: the chair is an approval office held by a person. No agent, no skill —
576
+ * the incumbent's sealed verdict is the chair's output, and a gig that reaches this chair
577
+ * unapproved PARKS (awaiting_approval) rather than confabulating a yes. */
578
+ human: z.ZodOptional<z.ZodBoolean>;
151
579
  depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
152
580
  input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
153
581
  output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
154
582
  optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
583
+ /** The FLOOR. A skill named here must be held by whoever is seated — bound by slug or carried on
584
+ * the record — or the seating is refused at compose and the chair fails closed at run. */
155
585
  required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
586
+ /** The PREFERENCE. Technique this chair would rather its incumbent hold, stated without refusing
587
+ * the ones who do not: the roster of available agents is a fact about the world, not a defect,
588
+ * and a preference that refused a seating would be a second floor under another name. Nothing
589
+ * checks it at compose time — deliberately, including its names, since a chair may legitimately
590
+ * prefer a technique no agent in the genome has grown yet. */
591
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
592
+ /** The institution's side of a hydration contract, at the phase-chair level: slot name → the
593
+ * value that fills it. An institution-bound `required` slot on a skill the seated agent holds
594
+ * and nothing here (or on the institutional chair) fills is refused at compose. */
595
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
596
  }, "strip", z.ZodTypeAny, {
157
597
  role: string;
158
598
  depends_on: string[];
@@ -160,17 +600,23 @@ export declare const PhaseSchema: z.ZodObject<{
160
600
  output_contract: string[];
161
601
  optional_outputs: string[];
162
602
  required_skills: string[];
603
+ preferred_skills: string[];
163
604
  agent_slug?: string | undefined;
164
605
  skill_slug?: string | undefined;
606
+ human?: boolean | undefined;
607
+ supplies?: Record<string, unknown> | undefined;
165
608
  }, {
166
609
  role: string;
167
610
  agent_slug?: string | undefined;
168
611
  skill_slug?: string | undefined;
612
+ human?: boolean | undefined;
169
613
  depends_on?: string[] | undefined;
170
614
  input_contract?: string[] | undefined;
171
615
  output_contract?: string[] | undefined;
172
616
  optional_outputs?: string[] | undefined;
173
617
  required_skills?: string[] | undefined;
618
+ preferred_skills?: string[] | undefined;
619
+ supplies?: Record<string, unknown> | undefined;
174
620
  }>, "many">;
175
621
  }, "strip", z.ZodTypeAny, {
176
622
  name: string;
@@ -181,8 +627,11 @@ export declare const PhaseSchema: z.ZodObject<{
181
627
  output_contract: string[];
182
628
  optional_outputs: string[];
183
629
  required_skills: string[];
630
+ preferred_skills: string[];
184
631
  agent_slug?: string | undefined;
185
632
  skill_slug?: string | undefined;
633
+ human?: boolean | undefined;
634
+ supplies?: Record<string, unknown> | undefined;
186
635
  }[];
187
636
  }, {
188
637
  name: string;
@@ -190,11 +639,14 @@ export declare const PhaseSchema: z.ZodObject<{
190
639
  role: string;
191
640
  agent_slug?: string | undefined;
192
641
  skill_slug?: string | undefined;
642
+ human?: boolean | undefined;
193
643
  depends_on?: string[] | undefined;
194
644
  input_contract?: string[] | undefined;
195
645
  output_contract?: string[] | undefined;
196
646
  optional_outputs?: string[] | undefined;
197
647
  required_skills?: string[] | undefined;
648
+ preferred_skills?: string[] | undefined;
649
+ supplies?: Record<string, unknown> | undefined;
198
650
  }[];
199
651
  }>;
200
652
  /** Lifecycle status, shared by domain types and standards (#203). */
@@ -211,11 +663,27 @@ export declare const StandardSchema: z.ZodObject<{
211
663
  role: z.ZodString;
212
664
  agent_slug: z.ZodOptional<z.ZodString>;
213
665
  skill_slug: z.ZodOptional<z.ZodString>;
666
+ /** The human seat: the chair is an approval office held by a person. No agent, no skill —
667
+ * the incumbent's sealed verdict is the chair's output, and a gig that reaches this chair
668
+ * unapproved PARKS (awaiting_approval) rather than confabulating a yes. */
669
+ human: z.ZodOptional<z.ZodBoolean>;
214
670
  depends_on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
215
671
  input_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
216
672
  output_contract: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
217
673
  optional_outputs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
674
+ /** The FLOOR. A skill named here must be held by whoever is seated — bound by slug or carried on
675
+ * the record — or the seating is refused at compose and the chair fails closed at run. */
218
676
  required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
677
+ /** The PREFERENCE. Technique this chair would rather its incumbent hold, stated without refusing
678
+ * the ones who do not: the roster of available agents is a fact about the world, not a defect,
679
+ * and a preference that refused a seating would be a second floor under another name. Nothing
680
+ * checks it at compose time — deliberately, including its names, since a chair may legitimately
681
+ * prefer a technique no agent in the genome has grown yet. */
682
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
683
+ /** The institution's side of a hydration contract, at the phase-chair level: slot name → the
684
+ * value that fills it. An institution-bound `required` slot on a skill the seated agent holds
685
+ * and nothing here (or on the institutional chair) fills is refused at compose. */
686
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
219
687
  }, "strip", z.ZodTypeAny, {
220
688
  role: string;
221
689
  depends_on: string[];
@@ -223,17 +691,23 @@ export declare const StandardSchema: z.ZodObject<{
223
691
  output_contract: string[];
224
692
  optional_outputs: string[];
225
693
  required_skills: string[];
694
+ preferred_skills: string[];
226
695
  agent_slug?: string | undefined;
227
696
  skill_slug?: string | undefined;
697
+ human?: boolean | undefined;
698
+ supplies?: Record<string, unknown> | undefined;
228
699
  }, {
229
700
  role: string;
230
701
  agent_slug?: string | undefined;
231
702
  skill_slug?: string | undefined;
703
+ human?: boolean | undefined;
232
704
  depends_on?: string[] | undefined;
233
705
  input_contract?: string[] | undefined;
234
706
  output_contract?: string[] | undefined;
235
707
  optional_outputs?: string[] | undefined;
236
708
  required_skills?: string[] | undefined;
709
+ preferred_skills?: string[] | undefined;
710
+ supplies?: Record<string, unknown> | undefined;
237
711
  }>, "many">;
238
712
  }, "strip", z.ZodTypeAny, {
239
713
  name: string;
@@ -244,8 +718,11 @@ export declare const StandardSchema: z.ZodObject<{
244
718
  output_contract: string[];
245
719
  optional_outputs: string[];
246
720
  required_skills: string[];
721
+ preferred_skills: string[];
247
722
  agent_slug?: string | undefined;
248
723
  skill_slug?: string | undefined;
724
+ human?: boolean | undefined;
725
+ supplies?: Record<string, unknown> | undefined;
249
726
  }[];
250
727
  }, {
251
728
  name: string;
@@ -253,11 +730,14 @@ export declare const StandardSchema: z.ZodObject<{
253
730
  role: string;
254
731
  agent_slug?: string | undefined;
255
732
  skill_slug?: string | undefined;
733
+ human?: boolean | undefined;
256
734
  depends_on?: string[] | undefined;
257
735
  input_contract?: string[] | undefined;
258
736
  output_contract?: string[] | undefined;
259
737
  optional_outputs?: string[] | undefined;
260
738
  required_skills?: string[] | undefined;
739
+ preferred_skills?: string[] | undefined;
740
+ supplies?: Record<string, unknown> | undefined;
261
741
  }[];
262
742
  }>, "many">;
263
743
  eval_slugs: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
@@ -277,18 +757,21 @@ export declare const StandardSchema: z.ZodObject<{
277
757
  output_contract: string[];
278
758
  optional_outputs: string[];
279
759
  required_skills: string[];
760
+ preferred_skills: string[];
280
761
  agent_slug?: string | undefined;
281
762
  skill_slug?: string | undefined;
763
+ human?: boolean | undefined;
764
+ supplies?: Record<string, unknown> | undefined;
282
765
  }[];
283
766
  }[];
284
767
  status?: "active" | "retired" | "deprecated" | undefined;
285
768
  input_types?: readonly string[] | undefined;
286
769
  output_types?: readonly string[] | undefined;
770
+ description?: string | undefined;
287
771
  agents?: unknown[] | undefined;
288
772
  agent_slugs?: string[] | undefined;
289
773
  eval_slugs?: readonly string[] | undefined;
290
774
  max_examine_rounds?: number | undefined;
291
- description?: string | undefined;
292
775
  }, {
293
776
  slug: string;
294
777
  domain: string;
@@ -298,168 +781,27 @@ export declare const StandardSchema: z.ZodObject<{
298
781
  role: string;
299
782
  agent_slug?: string | undefined;
300
783
  skill_slug?: string | undefined;
784
+ human?: boolean | undefined;
301
785
  depends_on?: string[] | undefined;
302
786
  input_contract?: string[] | undefined;
303
787
  output_contract?: string[] | undefined;
304
788
  optional_outputs?: string[] | undefined;
305
789
  required_skills?: string[] | undefined;
790
+ preferred_skills?: string[] | undefined;
791
+ supplies?: Record<string, unknown> | undefined;
306
792
  }[];
307
793
  }[];
308
794
  status?: "active" | "retired" | "deprecated" | undefined;
309
795
  input_types?: readonly string[] | undefined;
310
796
  output_types?: readonly string[] | undefined;
797
+ description?: string | undefined;
311
798
  agents?: unknown[] | undefined;
312
799
  agent_slugs?: string[] | undefined;
313
800
  eval_slugs?: readonly string[] | undefined;
314
801
  max_examine_rounds?: number | undefined;
315
- description?: string | undefined;
316
802
  }>;
317
803
  export type StandardInput = z.input<typeof StandardSchema>;
318
804
  export type StandardOutput = z.output<typeof StandardSchema>;
319
- export declare const NetworkGrantSchema: z.ZodObject<{
320
- allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
321
- methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
322
- max_requests: z.ZodOptional<z.ZodNumber>;
323
- max_bytes: z.ZodOptional<z.ZodNumber>;
324
- }, "strip", z.ZodTypeAny, {
325
- allow: string[];
326
- methods?: string[] | undefined;
327
- max_requests?: number | undefined;
328
- max_bytes?: number | undefined;
329
- }, {
330
- allow?: string[] | undefined;
331
- methods?: string[] | undefined;
332
- max_requests?: number | undefined;
333
- max_bytes?: number | undefined;
334
- }>;
335
- export declare const SkillPermissionSchema: z.ZodObject<{
336
- tier: z.ZodOptional<z.ZodNumber>;
337
- network: z.ZodOptional<z.ZodObject<{
338
- allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
339
- methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
340
- max_requests: z.ZodOptional<z.ZodNumber>;
341
- max_bytes: z.ZodOptional<z.ZodNumber>;
342
- }, "strip", z.ZodTypeAny, {
343
- allow: string[];
344
- methods?: string[] | undefined;
345
- max_requests?: number | undefined;
346
- max_bytes?: number | undefined;
347
- }, {
348
- allow?: string[] | undefined;
349
- methods?: string[] | undefined;
350
- max_requests?: number | undefined;
351
- max_bytes?: number | undefined;
352
- }>>;
353
- }, "strip", z.ZodTypeAny, {
354
- tier?: number | undefined;
355
- network?: {
356
- allow: string[];
357
- methods?: string[] | undefined;
358
- max_requests?: number | undefined;
359
- max_bytes?: number | undefined;
360
- } | undefined;
361
- }, {
362
- tier?: number | undefined;
363
- network?: {
364
- allow?: string[] | undefined;
365
- methods?: string[] | undefined;
366
- max_requests?: number | undefined;
367
- max_bytes?: number | undefined;
368
- } | undefined;
369
- }>;
370
- export declare const SkillSchema: z.ZodObject<{
371
- slug: z.ZodString;
372
- version: z.ZodOptional<z.ZodNumber>;
373
- skill_type: z.ZodOptional<z.ZodString>;
374
- input_type: z.ZodOptional<z.ZodString>;
375
- output_type: z.ZodOptional<z.ZodString>;
376
- corpus: z.ZodOptional<z.ZodString>;
377
- determinism_ratio: z.ZodOptional<z.ZodNumber>;
378
- permission: z.ZodOptional<z.ZodObject<{
379
- tier: z.ZodOptional<z.ZodNumber>;
380
- network: z.ZodOptional<z.ZodObject<{
381
- allow: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
382
- methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
383
- max_requests: z.ZodOptional<z.ZodNumber>;
384
- max_bytes: z.ZodOptional<z.ZodNumber>;
385
- }, "strip", z.ZodTypeAny, {
386
- allow: string[];
387
- methods?: string[] | undefined;
388
- max_requests?: number | undefined;
389
- max_bytes?: number | undefined;
390
- }, {
391
- allow?: string[] | undefined;
392
- methods?: string[] | undefined;
393
- max_requests?: number | undefined;
394
- max_bytes?: number | undefined;
395
- }>>;
396
- }, "strip", z.ZodTypeAny, {
397
- tier?: number | undefined;
398
- network?: {
399
- allow: string[];
400
- methods?: string[] | undefined;
401
- max_requests?: number | undefined;
402
- max_bytes?: number | undefined;
403
- } | undefined;
404
- }, {
405
- tier?: number | undefined;
406
- network?: {
407
- allow?: string[] | undefined;
408
- methods?: string[] | undefined;
409
- max_requests?: number | undefined;
410
- max_bytes?: number | undefined;
411
- } | undefined;
412
- }>>;
413
- description: z.ZodOptional<z.ZodString>;
414
- timeout_ms: z.ZodOptional<z.ZodNumber>;
415
- fixtures: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
416
- code: z.ZodOptional<z.ZodString>;
417
- md: z.ZodOptional<z.ZodString>;
418
- }, "strip", z.ZodTypeAny, {
419
- slug: string;
420
- version?: number | undefined;
421
- code?: string | undefined;
422
- description?: string | undefined;
423
- skill_type?: string | undefined;
424
- input_type?: string | undefined;
425
- output_type?: string | undefined;
426
- corpus?: string | undefined;
427
- determinism_ratio?: number | undefined;
428
- permission?: {
429
- tier?: number | undefined;
430
- network?: {
431
- allow: string[];
432
- methods?: string[] | undefined;
433
- max_requests?: number | undefined;
434
- max_bytes?: number | undefined;
435
- } | undefined;
436
- } | undefined;
437
- timeout_ms?: number | undefined;
438
- fixtures?: unknown[] | undefined;
439
- md?: string | undefined;
440
- }, {
441
- slug: string;
442
- version?: number | undefined;
443
- code?: string | undefined;
444
- description?: string | undefined;
445
- skill_type?: string | undefined;
446
- input_type?: string | undefined;
447
- output_type?: string | undefined;
448
- corpus?: string | undefined;
449
- determinism_ratio?: number | undefined;
450
- permission?: {
451
- tier?: number | undefined;
452
- network?: {
453
- allow?: string[] | undefined;
454
- methods?: string[] | undefined;
455
- max_requests?: number | undefined;
456
- max_bytes?: number | undefined;
457
- } | undefined;
458
- } | undefined;
459
- timeout_ms?: number | undefined;
460
- fixtures?: unknown[] | undefined;
461
- md?: string | undefined;
462
- }>;
463
805
  export declare const EvalSchema: z.ZodObject<{
464
806
  slug: z.ZodString;
465
807
  domain: z.ZodOptional<z.ZodString>;
@@ -508,10 +850,38 @@ export declare const DomainTypeSchema: z.ZodObject<{
508
850
  required_fields?: string[] | undefined;
509
851
  }>;
510
852
  export type SkillOutput = z.output<typeof SkillSchema>;
853
+ export type HydrationSlot = z.output<typeof HydrationSlotSchema>;
511
854
  export type EvalOutput = z.output<typeof EvalSchema>;
512
855
  export type DomainTypeOutput = z.output<typeof DomainTypeSchema>;
513
856
  /** The typed lineage-edge vocabulary. Caps grant these; lineage edges are made of them. */
514
857
  export declare const LineageEdgeTypeSchema: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
858
+ /** A reference from an institution to a published lineage-record that grounds it. The record
859
+ * itself is sealed content-addressed in the ledger; the institution carries the REFERENCE, so an
860
+ * APPROVED lineage (the lineage-pass standard's `approve` chair sealed a passing lineage-verdict)
861
+ * becomes first-class institutional grounding — see `institutionLineageGrounding` below. `record_ref`
862
+ * is the only non-optional field: a lineage reference that names no record references nothing.
863
+ * Store-side home is `coltrane_institution_lineage` (follow-up; not built here). */
864
+ export declare const LineageRecordRefSchema: z.ZodObject<{
865
+ /** content_sha (or slug) of the sealed lineage-record this institution is grounded in. */
866
+ record_ref: z.ZodString;
867
+ /** the lineage-question the record answered, for display without dereferencing the record. */
868
+ question: z.ZodOptional<z.ZodString>;
869
+ /** the human seal: filled from the approve chair's verdict when the lineage is adopted. Null
870
+ * until then — an institution never grounds itself on an unapproved lineage. */
871
+ approved_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
872
+ sealed_at: z.ZodOptional<z.ZodString>;
873
+ }, "strip", z.ZodTypeAny, {
874
+ record_ref: string;
875
+ approved_by: string | null;
876
+ question?: string | undefined;
877
+ sealed_at?: string | undefined;
878
+ }, {
879
+ record_ref: string;
880
+ question?: string | undefined;
881
+ approved_by?: string | null | undefined;
882
+ sealed_at?: string | undefined;
883
+ }>;
884
+ export type LineageRecordRefOutput = z.output<typeof LineageRecordRefSchema>;
515
885
  export declare const InstitutionSchema: z.ZodObject<{
516
886
  id: z.ZodOptional<z.ZodString>;
517
887
  slug: z.ZodString;
@@ -520,12 +890,43 @@ export declare const InstitutionSchema: z.ZodObject<{
520
890
  laws: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
521
891
  wiki_space: z.ZodOptional<z.ZodString>;
522
892
  sovereign: z.ZodDefault<z.ZodBoolean>;
893
+ /** First-class lineage: references to approved lineage-records that ground this institution.
894
+ * Additive and defaulted, so an institution declared without it simply has no adopted lineage
895
+ * yet. A record lands here only after the lineage-pass `approve` chair seals it; every agent
896
+ * seated in the institution then inherits these as formal grounding (see the surfacing seam in
897
+ * `institutionLineageGrounding`). */
898
+ lineage: z.ZodDefault<z.ZodArray<z.ZodObject<{
899
+ /** content_sha (or slug) of the sealed lineage-record this institution is grounded in. */
900
+ record_ref: z.ZodString;
901
+ /** the lineage-question the record answered, for display without dereferencing the record. */
902
+ question: z.ZodOptional<z.ZodString>;
903
+ /** the human seal: filled from the approve chair's verdict when the lineage is adopted. Null
904
+ * until then — an institution never grounds itself on an unapproved lineage. */
905
+ approved_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
906
+ sealed_at: z.ZodOptional<z.ZodString>;
907
+ }, "strip", z.ZodTypeAny, {
908
+ record_ref: string;
909
+ approved_by: string | null;
910
+ question?: string | undefined;
911
+ sealed_at?: string | undefined;
912
+ }, {
913
+ record_ref: string;
914
+ question?: string | undefined;
915
+ approved_by?: string | null | undefined;
916
+ sealed_at?: string | undefined;
917
+ }>, "many">>;
523
918
  }, "strip", z.ZodTypeAny, {
524
919
  slug: string;
525
920
  name: string;
526
921
  kind: "institution" | "personal";
527
922
  laws: string[];
528
923
  sovereign: boolean;
924
+ lineage: {
925
+ record_ref: string;
926
+ approved_by: string | null;
927
+ question?: string | undefined;
928
+ sealed_at?: string | undefined;
929
+ }[];
529
930
  id?: string | undefined;
530
931
  wiki_space?: string | undefined;
531
932
  }, {
@@ -536,6 +937,12 @@ export declare const InstitutionSchema: z.ZodObject<{
536
937
  laws?: string[] | undefined;
537
938
  wiki_space?: string | undefined;
538
939
  sovereign?: boolean | undefined;
940
+ lineage?: {
941
+ record_ref: string;
942
+ question?: string | undefined;
943
+ approved_by?: string | null | undefined;
944
+ sealed_at?: string | undefined;
945
+ }[] | undefined;
539
946
  }>;
540
947
  export declare const OrganizationSchema: z.ZodObject<{
541
948
  id: z.ZodOptional<z.ZodString>;
@@ -612,7 +1019,7 @@ export declare const OrgInstitutionSchema: z.ZodObject<{
612
1019
  institution_slug: string;
613
1020
  }>;
614
1021
  /** A capability grant: a typed lineage-edge scope, optionally expiring. The grant IS the policy. */
615
- export declare const CapGrantSchema: z.ZodObject<{
1022
+ export declare const EdgeCapGrantSchema: z.ZodObject<{
616
1023
  edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
617
1024
  scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
618
1025
  expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -625,15 +1032,68 @@ export declare const CapGrantSchema: z.ZodObject<{
625
1032
  scope: Record<string, unknown>;
626
1033
  expires?: string | null | undefined;
627
1034
  }>;
1035
+ /** The chair-contract dispatch grant — the office names which standards its incumbent may
1036
+ * run. Authority sits on the chair; a credential presented by the incumbent may only
1037
+ * narrow it, never widen it. (This is the shape the store's authorization function reads:
1038
+ * a flat cap, not a scope smuggled inside a lineage edge.) */
1039
+ export declare const DispatchCapGrantSchema: z.ZodObject<{
1040
+ grant: z.ZodLiteral<"dispatch">;
1041
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1042
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1043
+ }, "strip", z.ZodTypeAny, {
1044
+ expires: string | null;
1045
+ grant: "dispatch";
1046
+ standards: readonly string[];
1047
+ }, {
1048
+ grant: "dispatch";
1049
+ standards: readonly string[];
1050
+ expires?: string | null | undefined;
1051
+ }>;
1052
+ /** A chair cap is a lineage-edge grant or a dispatch grant. One union, one Zod source. */
1053
+ export declare const CapGrantSchema: z.ZodUnion<[z.ZodObject<{
1054
+ edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
1055
+ scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1056
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1057
+ }, "strip", z.ZodTypeAny, {
1058
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1059
+ scope: Record<string, unknown>;
1060
+ expires: string | null;
1061
+ }, {
1062
+ edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
1063
+ scope: Record<string, unknown>;
1064
+ expires?: string | null | undefined;
1065
+ }>, z.ZodObject<{
1066
+ grant: z.ZodLiteral<"dispatch">;
1067
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1068
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1069
+ }, "strip", z.ZodTypeAny, {
1070
+ expires: string | null;
1071
+ grant: "dispatch";
1072
+ standards: readonly string[];
1073
+ }, {
1074
+ grant: "dispatch";
1075
+ standards: readonly string[];
1076
+ expires?: string | null | undefined;
1077
+ }>]>;
628
1078
  /** The chair is the thing: the seat's configuration, not a person. */
629
1079
  export declare const InstitutionalChairSchema: z.ZodObject<{
630
1080
  id: z.ZodOptional<z.ZodString>;
631
1081
  institution_slug: z.ZodString;
632
1082
  role: z.ZodString;
1083
+ /** The human office: this chair is held by a person, never a model agent. */
1084
+ human: z.ZodOptional<z.ZodBoolean>;
633
1085
  function: z.ZodEnum<["SENSE", "INTERPRET", "JUDGE", "PLAN", "CREATE", "VERIFY"]>;
634
1086
  mission: z.ZodString;
1087
+ /** The floor: skills the office requires of whoever holds it. */
635
1088
  required_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
636
- caps: z.ZodDefault<z.ZodArray<z.ZodObject<{
1089
+ /** The preference: technique the office would rather its incumbent hold, stated without refusing
1090
+ * the agents who do not hold it. Same two-tier reading as the phase chair's. */
1091
+ preferred_skills: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1092
+ /** The institution's data, delivered through the office: hydration slot name → the value that
1093
+ * fills it. This is where institution-specific content belongs — NOT inside the carried skill,
1094
+ * which is why the skill stays portable across institutions. */
1095
+ supplies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1096
+ caps: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
637
1097
  edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
638
1098
  scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
639
1099
  expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -645,42 +1105,85 @@ export declare const InstitutionalChairSchema: z.ZodObject<{
645
1105
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
646
1106
  scope: Record<string, unknown>;
647
1107
  expires?: string | null | undefined;
648
- }>, "many">>;
1108
+ }>, z.ZodObject<{
1109
+ grant: z.ZodLiteral<"dispatch">;
1110
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1111
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1112
+ }, "strip", z.ZodTypeAny, {
1113
+ expires: string | null;
1114
+ grant: "dispatch";
1115
+ standards: readonly string[];
1116
+ }, {
1117
+ grant: "dispatch";
1118
+ standards: readonly string[];
1119
+ expires?: string | null | undefined;
1120
+ }>]>, "many">>;
649
1121
  obligations: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
650
1122
  }, "strip", z.ZodTypeAny, {
651
1123
  function: "SENSE" | "INTERPRET" | "JUDGE" | "PLAN" | "CREATE" | "VERIFY";
652
1124
  role: string;
653
1125
  required_skills: string[];
1126
+ preferred_skills: string[];
654
1127
  institution_slug: string;
655
1128
  mission: string;
656
- caps: {
1129
+ caps: ({
657
1130
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
658
1131
  scope: Record<string, unknown>;
659
1132
  expires: string | null;
660
- }[];
1133
+ } | {
1134
+ expires: string | null;
1135
+ grant: "dispatch";
1136
+ standards: readonly string[];
1137
+ })[];
661
1138
  obligations: string[];
1139
+ human?: boolean | undefined;
1140
+ supplies?: Record<string, unknown> | undefined;
662
1141
  id?: string | undefined;
663
1142
  }, {
664
1143
  function: "SENSE" | "INTERPRET" | "JUDGE" | "PLAN" | "CREATE" | "VERIFY";
665
1144
  role: string;
666
1145
  institution_slug: string;
667
1146
  mission: string;
1147
+ human?: boolean | undefined;
668
1148
  required_skills?: string[] | undefined;
1149
+ preferred_skills?: string[] | undefined;
1150
+ supplies?: Record<string, unknown> | undefined;
669
1151
  id?: string | undefined;
670
- caps?: {
1152
+ caps?: ({
671
1153
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
672
1154
  scope: Record<string, unknown>;
673
1155
  expires?: string | null | undefined;
674
- }[] | undefined;
1156
+ } | {
1157
+ grant: "dispatch";
1158
+ standards: readonly string[];
1159
+ expires?: string | null | undefined;
1160
+ })[] | undefined;
675
1161
  obligations?: string[] | undefined;
676
1162
  }>;
677
- /** A seat: a named agent bound into a chair for an org, witnessed. */
1163
+ /** What a seating cited: a source and the claim read from it. Both required a source with no
1164
+ * claim cites nothing in particular, and a claim with no source is a recollection. */
1165
+ export declare const TechniqueEvidenceSchema: z.ZodObject<{
1166
+ source: z.ZodString;
1167
+ claim: z.ZodString;
1168
+ }, "strip", z.ZodTypeAny, {
1169
+ source: string;
1170
+ claim: string;
1171
+ }, {
1172
+ source: string;
1173
+ claim: string;
1174
+ }>;
1175
+ /** A seat: a named agent bound into a chair for an org, witnessed.
1176
+ *
1177
+ * Seating is a JUDGEMENT — this player, this office — and `technique_evidence` makes it a recorded
1178
+ * one: the ledger queries, improvement reports, prior gig fingerprints or deterministic suite
1179
+ * results the decision weighed. Optional, because a seating may be made on no evidence at all;
1180
+ * what is not optional is the difference between the two, which is exactly what the field records. */
678
1181
  export declare const ChairAssignmentSchema: z.ZodObject<{
679
1182
  id: z.ZodOptional<z.ZodString>;
680
1183
  chair_id: z.ZodString;
681
1184
  agent_slug: z.ZodString;
682
1185
  org_slug: z.ZodString;
683
- contract_caps: z.ZodDefault<z.ZodArray<z.ZodObject<{
1186
+ contract_caps: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
684
1187
  edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
685
1188
  scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
686
1189
  expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -692,28 +1195,66 @@ export declare const ChairAssignmentSchema: z.ZodObject<{
692
1195
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
693
1196
  scope: Record<string, unknown>;
694
1197
  expires?: string | null | undefined;
1198
+ }>, z.ZodObject<{
1199
+ grant: z.ZodLiteral<"dispatch">;
1200
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1201
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1202
+ }, "strip", z.ZodTypeAny, {
1203
+ expires: string | null;
1204
+ grant: "dispatch";
1205
+ standards: readonly string[];
1206
+ }, {
1207
+ grant: "dispatch";
1208
+ standards: readonly string[];
1209
+ expires?: string | null | undefined;
1210
+ }>]>, "many">>;
1211
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1212
+ source: z.ZodString;
1213
+ claim: z.ZodString;
1214
+ }, "strip", z.ZodTypeAny, {
1215
+ source: string;
1216
+ claim: string;
1217
+ }, {
1218
+ source: string;
1219
+ claim: string;
695
1220
  }>, "many">>;
696
1221
  witnessed_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
697
1222
  }, "strip", z.ZodTypeAny, {
698
1223
  agent_slug: string;
699
1224
  org_slug: string;
700
1225
  chair_id: string;
701
- contract_caps: {
1226
+ contract_caps: ({
702
1227
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
703
1228
  scope: Record<string, unknown>;
704
1229
  expires: string | null;
705
- }[];
1230
+ } | {
1231
+ expires: string | null;
1232
+ grant: "dispatch";
1233
+ standards: readonly string[];
1234
+ })[];
706
1235
  witnessed_by: string | null;
707
1236
  id?: string | undefined;
1237
+ technique_evidence?: {
1238
+ source: string;
1239
+ claim: string;
1240
+ }[] | undefined;
708
1241
  }, {
709
1242
  agent_slug: string;
710
1243
  org_slug: string;
711
1244
  chair_id: string;
712
1245
  id?: string | undefined;
713
- contract_caps?: {
1246
+ contract_caps?: ({
714
1247
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
715
1248
  scope: Record<string, unknown>;
716
1249
  expires?: string | null | undefined;
1250
+ } | {
1251
+ grant: "dispatch";
1252
+ standards: readonly string[];
1253
+ expires?: string | null | undefined;
1254
+ })[] | undefined;
1255
+ technique_evidence?: {
1256
+ source: string;
1257
+ claim: string;
717
1258
  }[] | undefined;
718
1259
  witnessed_by?: string | null | undefined;
719
1260
  }>;
@@ -722,7 +1263,7 @@ export declare const ExchangeContractSchema: z.ZodObject<{
722
1263
  id: z.ZodOptional<z.ZodString>;
723
1264
  from_institution: z.ZodString;
724
1265
  to_institution: z.ZodString;
725
- caps: z.ZodDefault<z.ZodArray<z.ZodObject<{
1266
+ caps: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
726
1267
  edge_type: z.ZodEnum<["anchored-in", "produced-by", "evolved-from", "descends-from"]>;
727
1268
  scope: z.ZodRecord<z.ZodString, z.ZodUnknown>;
728
1269
  expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -734,14 +1275,30 @@ export declare const ExchangeContractSchema: z.ZodObject<{
734
1275
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
735
1276
  scope: Record<string, unknown>;
736
1277
  expires?: string | null | undefined;
737
- }>, "many">>;
1278
+ }>, z.ZodObject<{
1279
+ grant: z.ZodLiteral<"dispatch">;
1280
+ standards: z.ZodReadonly<z.ZodArray<z.ZodString, "many">>;
1281
+ expires: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1282
+ }, "strip", z.ZodTypeAny, {
1283
+ expires: string | null;
1284
+ grant: "dispatch";
1285
+ standards: readonly string[];
1286
+ }, {
1287
+ grant: "dispatch";
1288
+ standards: readonly string[];
1289
+ expires?: string | null | undefined;
1290
+ }>]>, "many">>;
738
1291
  witnessed_by: z.ZodDefault<z.ZodNullable<z.ZodString>>;
739
1292
  }, "strip", z.ZodTypeAny, {
740
- caps: {
1293
+ caps: ({
741
1294
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
742
1295
  scope: Record<string, unknown>;
743
1296
  expires: string | null;
744
- }[];
1297
+ } | {
1298
+ expires: string | null;
1299
+ grant: "dispatch";
1300
+ standards: readonly string[];
1301
+ })[];
745
1302
  witnessed_by: string | null;
746
1303
  from_institution: string;
747
1304
  to_institution: string;
@@ -750,11 +1307,15 @@ export declare const ExchangeContractSchema: z.ZodObject<{
750
1307
  from_institution: string;
751
1308
  to_institution: string;
752
1309
  id?: string | undefined;
753
- caps?: {
1310
+ caps?: ({
754
1311
  edge_type: "anchored-in" | "produced-by" | "evolved-from" | "descends-from";
755
1312
  scope: Record<string, unknown>;
756
1313
  expires?: string | null | undefined;
757
- }[] | undefined;
1314
+ } | {
1315
+ grant: "dispatch";
1316
+ standards: readonly string[];
1317
+ expires?: string | null | undefined;
1318
+ })[] | undefined;
758
1319
  witnessed_by?: string | null | undefined;
759
1320
  }>;
760
1321
  export declare const ForebearSchema: z.ZodObject<{
@@ -794,8 +1355,8 @@ export declare const NorthstarSchema: z.ZodObject<{
794
1355
  title: string;
795
1356
  statement: string;
796
1357
  kind?: string | undefined;
797
- ordinal?: number | undefined;
798
1358
  source?: Record<string, unknown> | undefined;
1359
+ ordinal?: number | undefined;
799
1360
  quote?: string | undefined;
800
1361
  }, {
801
1362
  slug: string;
@@ -803,8 +1364,8 @@ export declare const NorthstarSchema: z.ZodObject<{
803
1364
  title: string;
804
1365
  statement: string;
805
1366
  kind?: string | undefined;
806
- ordinal?: number | undefined;
807
1367
  source?: Record<string, unknown> | undefined;
1368
+ ordinal?: number | undefined;
808
1369
  quote?: string | undefined;
809
1370
  }>;
810
1371
  export declare const LineageEdgeSchema: z.ZodObject<{
@@ -866,16 +1427,492 @@ export declare const OrgServiceKeySchema: z.ZodObject<{
866
1427
  issued_at?: string | undefined;
867
1428
  }>;
868
1429
  export type InstitutionOutput = z.output<typeof InstitutionSchema>;
1430
+ /** The institution-lineage SURFACING SEAM. When a seat renders a player into a Claude Code
1431
+ * subagent (`src/player_to_claude_code.ts`, the seat→prompt transform), the institution's approved
1432
+ * lineage-records are read through here and folded into the agent's formal grounding — the same
1433
+ * seam a future institutional-northstars / forebears surface would use. Today it returns the refs
1434
+ * themselves (the institution definition carries them); the STORE-BACKED path (dereferencing each
1435
+ * `record_ref` to its sealed lineage-record via `coltrane_institution_lineage`) is the follow-up
1436
+ * the instance layer fills. Named here, additively, so the seam has one home rather than being
1437
+ * reinvented at the render call site. */
1438
+ export declare function institutionLineageGrounding(inst: InstitutionOutput): readonly LineageRecordRefOutput[];
869
1439
  export type OrganizationOutput = z.output<typeof OrganizationSchema>;
870
1440
  export type AgentRecordOutput = z.output<typeof AgentRecordSchema>;
871
1441
  export type CapGrant = z.output<typeof CapGrantSchema>;
872
1442
  export type InstitutionalChairOutput = z.output<typeof InstitutionalChairSchema>;
873
1443
  export type ChairAssignmentOutput = z.output<typeof ChairAssignmentSchema>;
1444
+ export type TechniqueEvidence = z.output<typeof TechniqueEvidenceSchema>;
874
1445
  export type ExchangeContractOutput = z.output<typeof ExchangeContractSchema>;
875
1446
  export type ForebearOutput = z.output<typeof ForebearSchema>;
876
1447
  export type NorthstarOutput = z.output<typeof NorthstarSchema>;
877
1448
  export type LineageEdgeOutput = z.output<typeof LineageEdgeSchema>;
878
1449
  export type OrgServiceKeyOutput = z.output<typeof OrgServiceKeySchema>;
1450
+ /** One typed edge: a type the source movement seals, consumed by the sink movement's entry chairs. */
1451
+ export declare const ChartEdgeSchema: z.ZodObject<{
1452
+ from_movement: z.ZodString;
1453
+ to_movement: z.ZodString;
1454
+ output_type: z.ZodString;
1455
+ /** true = a CONDITIONAL edge: the type lives only in a terminal chair's `optional_outputs`,
1456
+ * so the flow may legitimately carry nothing. Compose classifies it; it cannot prove the
1457
+ * optional output will be produced, which is why a conditional edge never satisfies a
1458
+ * REQUIRED entry slot (src/chart.ts R6/R7). */
1459
+ optional: z.ZodDefault<z.ZodBoolean>;
1460
+ }, "strict", z.ZodTypeAny, {
1461
+ output_type: string;
1462
+ from_movement: string;
1463
+ to_movement: string;
1464
+ optional: boolean;
1465
+ }, {
1466
+ output_type: string;
1467
+ from_movement: string;
1468
+ to_movement: string;
1469
+ optional?: boolean | undefined;
1470
+ }>;
1471
+ /** Who plays which chair for this movement — a recorded act, optionally with its evidence. */
1472
+ export declare const ChartSeatingSchema: z.ZodObject<{
1473
+ chair: z.ZodString;
1474
+ agent_slug: z.ZodString;
1475
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1476
+ source: z.ZodString;
1477
+ claim: z.ZodString;
1478
+ }, "strip", z.ZodTypeAny, {
1479
+ source: string;
1480
+ claim: string;
1481
+ }, {
1482
+ source: string;
1483
+ claim: string;
1484
+ }>, "many">>;
1485
+ }, "strict", z.ZodTypeAny, {
1486
+ agent_slug: string;
1487
+ chair: string;
1488
+ technique_evidence?: {
1489
+ source: string;
1490
+ claim: string;
1491
+ }[] | undefined;
1492
+ }, {
1493
+ agent_slug: string;
1494
+ chair: string;
1495
+ technique_evidence?: {
1496
+ source: string;
1497
+ claim: string;
1498
+ }[] | undefined;
1499
+ }>;
1500
+ /** One movement: a standard, its gig-bound hydration arguments, and its seatings.
1501
+ *
1502
+ * `movement_id` — NOT `standard_slug` — is the identity everything keys on: the checkpoint
1503
+ * namespace, the reuse-cache namespace, the edge endpoints. That is what lets one standard
1504
+ * appear twice in a chart without the two instances sharing cached results. */
1505
+ export declare const ChartMovementSchema: z.ZodObject<{
1506
+ movement_id: z.ZodString;
1507
+ standard_slug: z.ZodString;
1508
+ runtime_fills: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1509
+ seatings: z.ZodDefault<z.ZodArray<z.ZodObject<{
1510
+ chair: z.ZodString;
1511
+ agent_slug: z.ZodString;
1512
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1513
+ source: z.ZodString;
1514
+ claim: z.ZodString;
1515
+ }, "strip", z.ZodTypeAny, {
1516
+ source: string;
1517
+ claim: string;
1518
+ }, {
1519
+ source: string;
1520
+ claim: string;
1521
+ }>, "many">>;
1522
+ }, "strict", z.ZodTypeAny, {
1523
+ agent_slug: string;
1524
+ chair: string;
1525
+ technique_evidence?: {
1526
+ source: string;
1527
+ claim: string;
1528
+ }[] | undefined;
1529
+ }, {
1530
+ agent_slug: string;
1531
+ chair: string;
1532
+ technique_evidence?: {
1533
+ source: string;
1534
+ claim: string;
1535
+ }[] | undefined;
1536
+ }>, "many">>;
1537
+ }, "strict", z.ZodTypeAny, {
1538
+ movement_id: string;
1539
+ standard_slug: string;
1540
+ runtime_fills: Record<string, unknown>;
1541
+ seatings: {
1542
+ agent_slug: string;
1543
+ chair: string;
1544
+ technique_evidence?: {
1545
+ source: string;
1546
+ claim: string;
1547
+ }[] | undefined;
1548
+ }[];
1549
+ }, {
1550
+ movement_id: string;
1551
+ standard_slug: string;
1552
+ runtime_fills?: Record<string, unknown> | undefined;
1553
+ seatings?: {
1554
+ agent_slug: string;
1555
+ chair: string;
1556
+ technique_evidence?: {
1557
+ source: string;
1558
+ claim: string;
1559
+ }[] | undefined;
1560
+ }[] | undefined;
1561
+ }>;
1562
+ /** A human seat between movements. Parks on `deps.approvals[gate_id]`. */
1563
+ export declare const ChartApprovalGateSchema: z.ZodObject<{
1564
+ gate_id: z.ZodString;
1565
+ after_movement: z.ZodString;
1566
+ before_movement: z.ZodString;
1567
+ chair: z.ZodString;
1568
+ prompt: z.ZodOptional<z.ZodString>;
1569
+ }, "strict", z.ZodTypeAny, {
1570
+ chair: string;
1571
+ gate_id: string;
1572
+ after_movement: string;
1573
+ before_movement: string;
1574
+ prompt?: string | undefined;
1575
+ }, {
1576
+ chair: string;
1577
+ gate_id: string;
1578
+ after_movement: string;
1579
+ before_movement: string;
1580
+ prompt?: string | undefined;
1581
+ }>;
1582
+ /** The ceiling for the whole performance, in real money. */
1583
+ export declare const ChartBudgetEnvelopeSchema: z.ZodObject<{
1584
+ total_usd: z.ZodNumber;
1585
+ }, "strict", z.ZodTypeAny, {
1586
+ total_usd: number;
1587
+ }, {
1588
+ total_usd: number;
1589
+ }>;
1590
+ export declare const ChartSchema: z.ZodObject<{
1591
+ slug: z.ZodString;
1592
+ movements: z.ZodArray<z.ZodObject<{
1593
+ movement_id: z.ZodString;
1594
+ standard_slug: z.ZodString;
1595
+ runtime_fills: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1596
+ seatings: z.ZodDefault<z.ZodArray<z.ZodObject<{
1597
+ chair: z.ZodString;
1598
+ agent_slug: z.ZodString;
1599
+ technique_evidence: z.ZodOptional<z.ZodArray<z.ZodObject<{
1600
+ source: z.ZodString;
1601
+ claim: z.ZodString;
1602
+ }, "strip", z.ZodTypeAny, {
1603
+ source: string;
1604
+ claim: string;
1605
+ }, {
1606
+ source: string;
1607
+ claim: string;
1608
+ }>, "many">>;
1609
+ }, "strict", z.ZodTypeAny, {
1610
+ agent_slug: string;
1611
+ chair: string;
1612
+ technique_evidence?: {
1613
+ source: string;
1614
+ claim: string;
1615
+ }[] | undefined;
1616
+ }, {
1617
+ agent_slug: string;
1618
+ chair: string;
1619
+ technique_evidence?: {
1620
+ source: string;
1621
+ claim: string;
1622
+ }[] | undefined;
1623
+ }>, "many">>;
1624
+ }, "strict", z.ZodTypeAny, {
1625
+ movement_id: string;
1626
+ standard_slug: string;
1627
+ runtime_fills: Record<string, unknown>;
1628
+ seatings: {
1629
+ agent_slug: string;
1630
+ chair: string;
1631
+ technique_evidence?: {
1632
+ source: string;
1633
+ claim: string;
1634
+ }[] | undefined;
1635
+ }[];
1636
+ }, {
1637
+ movement_id: string;
1638
+ standard_slug: string;
1639
+ runtime_fills?: Record<string, unknown> | undefined;
1640
+ seatings?: {
1641
+ agent_slug: string;
1642
+ chair: string;
1643
+ technique_evidence?: {
1644
+ source: string;
1645
+ claim: string;
1646
+ }[] | undefined;
1647
+ }[] | undefined;
1648
+ }>, "many">;
1649
+ edges: z.ZodDefault<z.ZodArray<z.ZodObject<{
1650
+ from_movement: z.ZodString;
1651
+ to_movement: z.ZodString;
1652
+ output_type: z.ZodString;
1653
+ /** true = a CONDITIONAL edge: the type lives only in a terminal chair's `optional_outputs`,
1654
+ * so the flow may legitimately carry nothing. Compose classifies it; it cannot prove the
1655
+ * optional output will be produced, which is why a conditional edge never satisfies a
1656
+ * REQUIRED entry slot (src/chart.ts R6/R7). */
1657
+ optional: z.ZodDefault<z.ZodBoolean>;
1658
+ }, "strict", z.ZodTypeAny, {
1659
+ output_type: string;
1660
+ from_movement: string;
1661
+ to_movement: string;
1662
+ optional: boolean;
1663
+ }, {
1664
+ output_type: string;
1665
+ from_movement: string;
1666
+ to_movement: string;
1667
+ optional?: boolean | undefined;
1668
+ }>, "many">>;
1669
+ approval_gates: z.ZodDefault<z.ZodArray<z.ZodObject<{
1670
+ gate_id: z.ZodString;
1671
+ after_movement: z.ZodString;
1672
+ before_movement: z.ZodString;
1673
+ chair: z.ZodString;
1674
+ prompt: z.ZodOptional<z.ZodString>;
1675
+ }, "strict", z.ZodTypeAny, {
1676
+ chair: string;
1677
+ gate_id: string;
1678
+ after_movement: string;
1679
+ before_movement: string;
1680
+ prompt?: string | undefined;
1681
+ }, {
1682
+ chair: string;
1683
+ gate_id: string;
1684
+ after_movement: string;
1685
+ before_movement: string;
1686
+ prompt?: string | undefined;
1687
+ }>, "many">>;
1688
+ budget_envelope: z.ZodOptional<z.ZodObject<{
1689
+ total_usd: z.ZodNumber;
1690
+ }, "strict", z.ZodTypeAny, {
1691
+ total_usd: number;
1692
+ }, {
1693
+ total_usd: number;
1694
+ }>>;
1695
+ /** The VENUE this performance is held in, by slug — a `VenueSchema` in the genome (below).
1696
+ *
1697
+ * A slug, never an inline room: the venue is an institution-level object shared by whichever
1698
+ * arrangement is fit for it, so it is named here and defined once there. A slug that resolves
1699
+ * to no venue is a dead name and `composeChart` refuses the chart (R10), exactly as an
1700
+ * unresolvable tool grant refuses a dispatch.
1701
+ *
1702
+ * Deliberately NOT folded into `chart_hash`: a room is environment, not structure. Two runs of
1703
+ * the same arrangement in differently-configured rooms share an arrangement identity; what
1704
+ * distinguishes them belongs to the run's own record, not the chart's. */
1705
+ venue: z.ZodOptional<z.ZodString>;
1706
+ }, "strict", z.ZodTypeAny, {
1707
+ slug: string;
1708
+ movements: {
1709
+ movement_id: string;
1710
+ standard_slug: string;
1711
+ runtime_fills: Record<string, unknown>;
1712
+ seatings: {
1713
+ agent_slug: string;
1714
+ chair: string;
1715
+ technique_evidence?: {
1716
+ source: string;
1717
+ claim: string;
1718
+ }[] | undefined;
1719
+ }[];
1720
+ }[];
1721
+ edges: {
1722
+ output_type: string;
1723
+ from_movement: string;
1724
+ to_movement: string;
1725
+ optional: boolean;
1726
+ }[];
1727
+ approval_gates: {
1728
+ chair: string;
1729
+ gate_id: string;
1730
+ after_movement: string;
1731
+ before_movement: string;
1732
+ prompt?: string | undefined;
1733
+ }[];
1734
+ budget_envelope?: {
1735
+ total_usd: number;
1736
+ } | undefined;
1737
+ venue?: string | undefined;
1738
+ }, {
1739
+ slug: string;
1740
+ movements: {
1741
+ movement_id: string;
1742
+ standard_slug: string;
1743
+ runtime_fills?: Record<string, unknown> | undefined;
1744
+ seatings?: {
1745
+ agent_slug: string;
1746
+ chair: string;
1747
+ technique_evidence?: {
1748
+ source: string;
1749
+ claim: string;
1750
+ }[] | undefined;
1751
+ }[] | undefined;
1752
+ }[];
1753
+ edges?: {
1754
+ output_type: string;
1755
+ from_movement: string;
1756
+ to_movement: string;
1757
+ optional?: boolean | undefined;
1758
+ }[] | undefined;
1759
+ approval_gates?: {
1760
+ chair: string;
1761
+ gate_id: string;
1762
+ after_movement: string;
1763
+ before_movement: string;
1764
+ prompt?: string | undefined;
1765
+ }[] | undefined;
1766
+ budget_envelope?: {
1767
+ total_usd: number;
1768
+ } | undefined;
1769
+ venue?: string | undefined;
1770
+ }>;
1771
+ export type ChartInput = z.input<typeof ChartSchema>;
1772
+ export type ChartOutput = z.output<typeof ChartSchema>;
1773
+ export type ChartMovementOutput = z.output<typeof ChartMovementSchema>;
1774
+ export type ChartEdgeOutput = z.output<typeof ChartEdgeSchema>;
1775
+ export type ChartApprovalGateOutput = z.output<typeof ChartApprovalGateSchema>;
1776
+ export type ChartSeatingOutput = z.output<typeof ChartSeatingSchema>;
1777
+ /** The room's equipment: a deny-by-default allowlist of tool grants, in the same vocabulary as an
1778
+ * agent's `allowed_tools`. A venue with no tools holds nothing — not "read-only tools", nothing. */
1779
+ export declare const VenueEquipmentSchema: z.ZodObject<{
1780
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1781
+ }, "strict", z.ZodTypeAny, {
1782
+ tools: string[];
1783
+ }, {
1784
+ tools?: string[] | undefined;
1785
+ }>;
1786
+ export declare const VenueDoorsSchema: z.ZodObject<{
1787
+ ingress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1788
+ egress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1789
+ }, "strict", z.ZodTypeAny, {
1790
+ ingress: string[];
1791
+ egress: string[];
1792
+ }, {
1793
+ ingress?: string[] | undefined;
1794
+ egress?: string[] | undefined;
1795
+ }>;
1796
+ /** Lifecycle. Ephemeral is the default: the contract is the durable object and the realization is
1797
+ * disposable, because everything a standing room accumulates — drift, residue from prior gigs,
1798
+ * standing credentials, warm state — is exactly the class of thing no output's `input_shas` can
1799
+ * cover. `standing` is permitted as a named exception and owes a rebuild cadence (venueDefect). */
1800
+ export declare const VenueLifecycleSchema: z.ZodObject<{
1801
+ policy: z.ZodDefault<z.ZodEnum<["ephemeral", "standing"]>>;
1802
+ /** ISO-8601 duration or cron-shaped cadence — read by the responsible office, not the engine. */
1803
+ rebuild_cadence: z.ZodOptional<z.ZodString>;
1804
+ }, "strict", z.ZodTypeAny, {
1805
+ policy: "ephemeral" | "standing";
1806
+ rebuild_cadence?: string | undefined;
1807
+ }, {
1808
+ policy?: "ephemeral" | "standing" | undefined;
1809
+ rebuild_cadence?: string | undefined;
1810
+ }>;
1811
+ export declare const VenueSchema: z.ZodObject<{
1812
+ slug: z.ZodString;
1813
+ /** Exactly one owning institution. The institution is the duty holder; the office below is the
1814
+ * appointed accountable individual. */
1815
+ institution_slug: z.ZodString;
1816
+ /** Why this room is shaped the way it is — read at review, never at runtime. */
1817
+ description: z.ZodOptional<z.ZodString>;
1818
+ /** The base kind of room (e.g. "ingest-empty", "code-work"). A label for humans and for
1819
+ * "which room does this work want", not a resolvable reference. */
1820
+ flavor: z.ZodOptional<z.ZodString>;
1821
+ /** Defaulted, not required, and the default is the EMPTY room. Every access-shaped field here
1822
+ * leans the same way: absent doors reach nothing, absent installs install nothing, an absent
1823
+ * credential surface permits nothing. A venue that forgot to state its equipment must hold
1824
+ * nothing rather than hold whatever the reader assumed — and both doors into this class (the
1825
+ * loader and venue_define) get that from the one schema rather than from two agreeing habits. */
1826
+ equipment: z.ZodDefault<z.ZodObject<{
1827
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1828
+ }, "strict", z.ZodTypeAny, {
1829
+ tools: string[];
1830
+ }, {
1831
+ tools?: string[] | undefined;
1832
+ }>>;
1833
+ doors: z.ZodOptional<z.ZodObject<{
1834
+ ingress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1835
+ egress: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
1836
+ }, "strict", z.ZodTypeAny, {
1837
+ ingress: string[];
1838
+ egress: string[];
1839
+ }, {
1840
+ ingress?: string[] | undefined;
1841
+ egress?: string[] | undefined;
1842
+ }>>;
1843
+ /** Digest-pinned software the room contains. */
1844
+ installs: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1845
+ /** Which CLASSES of credential may legitimately be present, by name. Never material, and never
1846
+ * a field material could occupy: a room that declares nothing here is a room where finding a
1847
+ * credential is a breach rather than a configuration difference. */
1848
+ credential_surface: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1849
+ lifecycle: z.ZodDefault<z.ZodObject<{
1850
+ policy: z.ZodDefault<z.ZodEnum<["ephemeral", "standing"]>>;
1851
+ /** ISO-8601 duration or cron-shaped cadence — read by the responsible office, not the engine. */
1852
+ rebuild_cadence: z.ZodOptional<z.ZodString>;
1853
+ }, "strict", z.ZodTypeAny, {
1854
+ policy: "ephemeral" | "standing";
1855
+ rebuild_cadence?: string | undefined;
1856
+ }, {
1857
+ policy?: "ephemeral" | "standing" | undefined;
1858
+ rebuild_cadence?: string | undefined;
1859
+ }>>;
1860
+ /** The accountable office: an institutional chair id (the office, not its incumbent). One named
1861
+ * duty-holder answers for the room and for what it permits. */
1862
+ responsible_chair: z.ZodOptional<z.ZodString>;
1863
+ }, "strict", z.ZodTypeAny, {
1864
+ slug: string;
1865
+ institution_slug: string;
1866
+ equipment: {
1867
+ tools: string[];
1868
+ };
1869
+ installs: string[];
1870
+ credential_surface: string[];
1871
+ lifecycle: {
1872
+ policy: "ephemeral" | "standing";
1873
+ rebuild_cadence?: string | undefined;
1874
+ };
1875
+ description?: string | undefined;
1876
+ flavor?: string | undefined;
1877
+ doors?: {
1878
+ ingress: string[];
1879
+ egress: string[];
1880
+ } | undefined;
1881
+ responsible_chair?: string | undefined;
1882
+ }, {
1883
+ slug: string;
1884
+ institution_slug: string;
1885
+ description?: string | undefined;
1886
+ flavor?: string | undefined;
1887
+ equipment?: {
1888
+ tools?: string[] | undefined;
1889
+ } | undefined;
1890
+ doors?: {
1891
+ ingress?: string[] | undefined;
1892
+ egress?: string[] | undefined;
1893
+ } | undefined;
1894
+ installs?: string[] | undefined;
1895
+ credential_surface?: string[] | undefined;
1896
+ lifecycle?: {
1897
+ policy?: "ephemeral" | "standing" | undefined;
1898
+ rebuild_cadence?: string | undefined;
1899
+ } | undefined;
1900
+ responsible_chair?: string | undefined;
1901
+ }>;
1902
+ export type VenueInput = z.input<typeof VenueSchema>;
1903
+ export type VenueOutput = z.output<typeof VenueSchema>;
1904
+ /**
1905
+ * Cross-field venue rules — the ones a single field cannot state.
1906
+ *
1907
+ * A separate function rather than a `.superRefine`, on purpose and by the existing idiom
1908
+ * (`domainTypeDefect` in src/registry.ts): the MCP write-surface is generated from
1909
+ * `zodToMcpProps(VenueSchema)`, which needs a plain `ZodObject` with a `.shape`, and a refined
1910
+ * schema is a `ZodEffects` that has neither. So both doors — the loader and `venue_define` — call
1911
+ * `VenueSchema.safeParse` and then this, and a rule enforced at one door is enforced at both.
1912
+ *
1913
+ * Returns the teaching message, or null when the venue is sound.
1914
+ */
1915
+ export declare function venueDefect(venue: VenueOutput): string | null;
879
1916
  type JsonType = "string" | "number" | "boolean" | "array" | "object";
880
1917
  /** The MCP `properties` map (field → JSON type) for a genome class schema. */
881
1918
  export declare function zodToMcpProps(schema: z.ZodObject<z.ZodRawShape>): Record<string, JsonType>;