@eir-labs/coltrane 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/agents/change-verifier.json +40 -0
  2. package/agents/code-implementer.json +42 -0
  3. package/agents/contract-definer.json +31 -0
  4. package/agents/defect-investigator.json +60 -0
  5. package/agents/grounder.json +38 -0
  6. package/agents/pr-publisher.json +48 -0
  7. package/agents/red-spec-drafter.json +46 -0
  8. package/agents/spec-publisher.json +48 -0
  9. package/agents/spec-reviewer.json +32 -0
  10. package/dist/src/bifrost_invoker.js +53 -52
  11. package/dist/src/bifrost_invoker.js.map +1 -1
  12. package/dist/src/change_set_branch.d.ts +131 -0
  13. package/dist/src/change_set_branch.js +179 -0
  14. package/dist/src/change_set_branch.js.map +1 -0
  15. package/dist/src/claude_invoker.d.ts +79 -2
  16. package/dist/src/claude_invoker.js +377 -36
  17. package/dist/src/claude_invoker.js.map +1 -1
  18. package/dist/src/cli.d.ts +1 -1
  19. package/dist/src/cli.js +26 -3
  20. package/dist/src/cli.js.map +1 -1
  21. package/dist/src/composition.d.ts +11 -0
  22. package/dist/src/composition.js +3 -1
  23. package/dist/src/composition.js.map +1 -1
  24. package/dist/src/genome_schema.d.ts +301 -10
  25. package/dist/src/genome_schema.js +228 -7
  26. package/dist/src/genome_schema.js.map +1 -1
  27. package/dist/src/genome_store.d.ts +16 -1
  28. package/dist/src/genome_store.js +68 -0
  29. package/dist/src/genome_store.js.map +1 -1
  30. package/dist/src/gig_tracker.js +4 -0
  31. package/dist/src/gig_tracker.js.map +1 -1
  32. package/dist/src/hosted_tools.js +19 -0
  33. package/dist/src/hosted_tools.js.map +1 -1
  34. package/dist/src/institution_enforcement.d.ts +68 -0
  35. package/dist/src/institution_enforcement.js +417 -0
  36. package/dist/src/institution_enforcement.js.map +1 -0
  37. package/dist/src/institution_loader.d.ts +43 -0
  38. package/dist/src/institution_loader.js +157 -0
  39. package/dist/src/institution_loader.js.map +1 -0
  40. package/dist/src/loader.d.ts +3 -1
  41. package/dist/src/loader.js +12 -1
  42. package/dist/src/loader.js.map +1 -1
  43. package/dist/src/mcp.js +8 -1
  44. package/dist/src/mcp.js.map +1 -1
  45. package/dist/src/runtime.d.ts +66 -0
  46. package/dist/src/runtime.js +202 -2
  47. package/dist/src/runtime.js.map +1 -1
  48. package/dist/src/server.d.ts +7 -0
  49. package/dist/src/server.js +90 -1
  50. package/dist/src/server.js.map +1 -1
  51. package/dist/src/venue_realize.d.ts +90 -0
  52. package/dist/src/venue_realize.js +129 -0
  53. package/dist/src/venue_realize.js.map +1 -0
  54. package/dist/src/version.d.ts +1 -1
  55. package/dist/src/version.js +1 -1
  56. package/dist/src/worker.d.ts +45 -3
  57. package/dist/src/worker.js +67 -2
  58. package/dist/src/worker.js.map +1 -1
  59. package/domain_types/change-request.json +2 -1
  60. package/domain_types/class-sweep.json +34 -0
  61. package/domain_types/defect-class.json +25 -0
  62. package/domain_types/defect-location.json +28 -0
  63. package/domain_types/defect-report.json +28 -0
  64. package/domain_types/fix-spec.json +28 -0
  65. package/domain_types/fix-verification.json +28 -0
  66. package/domain_types/grounding-dossier.json +95 -0
  67. package/domain_types/pull-request.json +43 -0
  68. package/domain_types/red-spec.json +76 -0
  69. package/domain_types/reproduction.json +28 -0
  70. package/domain_types/root-cause.json +28 -0
  71. package/domain_types/subsystem-contract.json +106 -0
  72. package/institutions/coltrane.json +166 -0
  73. package/institutions/quartet.json +143 -26
  74. package/package.json +2 -1
  75. package/standards/defect-investigation-v1.json +156 -0
  76. package/standards/software-change-pr-v1.json +151 -0
  77. package/standards/spec-drafting-v1.json +125 -0
@@ -1 +1 @@
1
- {"version":3,"file":"gig_tracker.js","sourceRoot":"","sources":["../../src/gig_tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gig_tracker.js","sourceRoot":"","sources":["../../src/gig_tracker.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,25 @@ export const HOSTED_TOOLS = [
160
160
  return out.isError ? out : ok({ gig_id: JSON.parse(out.text), status: "queued" });
161
161
  },
162
162
  },
163
+ {
164
+ name: "cancel_gig",
165
+ title: "Cancel a queued gig",
166
+ description: "Cancel one QUEUED run before a drain worker claims it, so no worker ever runs it. Only a queued gig can be cancelled — a running gig is stopped with gig_abort, and the store refuses a claimed/running/terminal row. Members cancel as themselves; agent tokens are scoped to their org.",
167
+ paramsJsonSchema: {
168
+ type: "object",
169
+ properties: { gig_id: { type: "string" } },
170
+ required: ["gig_id"],
171
+ },
172
+ async handler(args, ctx) {
173
+ const gig = String(args["gig_id"] ?? "");
174
+ if (isAgentBearer(ctx.bearer)) {
175
+ const out = await rpc(ctx, "coltrane_mcp_gig_cancel", { p_bearer: ctx.bearer, p_gig: gig }, false);
176
+ return out.isError ? out : ok({ gig_id: JSON.parse(out.text), status: "cancelled" });
177
+ }
178
+ const out = await rpc(ctx, "coltrane_gig_cancel", { p_gig: gig }, true);
179
+ return out.isError ? out : ok({ gig_id: JSON.parse(out.text), status: "cancelled" });
180
+ },
181
+ },
163
182
  ];
164
183
  export function hostedToolByName(name) {
165
184
  const tool = HOSTED_TOOLS.find((t) => t.name === name);
@@ -1 +1 @@
1
- {"version":3,"file":"hosted_tools.js","sourceRoot":"","sources":["../../src/hosted_tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted_tools.js","sourceRoot":"","sources":["../../src/hosted_tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The closed verdict algebra — a strict superset of refuse/permit, grounded in XACML 3.0's
3
+ * four-valued decision model:
4
+ * - PERMIT the action is allowed (an allow atom, or a satisfied obligation).
5
+ * - DENY the action is refused (a deny atom, or a breached obligation — the or_else fires).
6
+ * - NOT_APPLICABLE the law does not govern this action (the guard of `(=> P Q)` is false).
7
+ * - UNDECIDED well-formed, but the fact-only evaluator cannot reduce it (e.g. an operator
8
+ * that needs a genome/collection/timestamp context not supplied). Never coerced
9
+ * to PERMIT or DENY.
10
+ * - DEAD_NAME a name declared in `check.inputs` is absent from the fact record. Fails closed,
11
+ * the exact analogue of an unresolvable tool grant (runtime.ts's
12
+ * resolveAgentGrants().unknown). Never PERMIT, never a DENY dressed as a decision.
13
+ *
14
+ * PERMIT/DENY/UNDECIDED is a deliberate strict subset of the edit-automata TERMINATE/SUPPRESS/INSERT
15
+ * taxonomy (Ligatti, Bauer & Walker 2005): SUPPRESS and INSERT are a named future gap, extendable
16
+ * behind this same interface.
17
+ */
18
+ export type Verdict = "PERMIT" | "DENY" | "NOT_APPLICABLE" | "UNDECIDED" | "DEAD_NAME";
19
+ /** The five closed verdict values as data — for codomain-closure and exhaustiveness assertions. */
20
+ export declare const VERDICTS: readonly Verdict[];
21
+ /** The InstitutionalLawCheckSchema shape the evaluator consumes: a predicate + its typed inputs. */
22
+ export interface LawCheck {
23
+ predicate: string;
24
+ inputs: Record<string, string>;
25
+ }
26
+ /** A supplied fact record: each declared input name → its supplied value. */
27
+ export type FactRecord = Record<string, unknown>;
28
+ /**
29
+ * Evaluate a law's `check` against a supplied fact record and return exactly one Verdict.
30
+ *
31
+ * The interface is the fixed seam: an SMT/solver backend (SMT-LIB2 is itself s-expression
32
+ * many-sorted first-order logic) is reachable later behind this identical signature without
33
+ * changing any caller — solve-vs-evaluate stays inside the box, provided the in-house evaluator
34
+ * keeps "cannot decide" explicit (UNDECIDED) rather than defaulting.
35
+ *
36
+ * Total: it never throws. A declared input the fact record does not supply is DEAD_NAME (fail
37
+ * closed); an unparseable or irreducible predicate is UNDECIDED; neither is ever a PERMIT or DENY.
38
+ */
39
+ export declare function evaluate(check: LawCheck, facts: FactRecord): Verdict;
40
+ /** One reason a document is inadmissible: which law or obligation, and why. */
41
+ export interface AdmissibilityOffender {
42
+ kind: "law" | "obligation";
43
+ /** A locator for the offending element (law aim / chair role + obligation aim). */
44
+ ref: string;
45
+ reason: string;
46
+ }
47
+ /** Collect-all / refuse-once: admitted, or the FULL list of offenders in a single result. */
48
+ export interface AdmissibilityResult {
49
+ admitted: boolean;
50
+ offenders: AdmissibilityOffender[];
51
+ }
52
+ /** The institution document admissibility consumes: the institution section plus its chairs. */
53
+ export interface InstitutionDocument {
54
+ institution: unknown;
55
+ chairs?: readonly unknown[];
56
+ }
57
+ /**
58
+ * Refuse an institution document that claims more enforcement than it has. Per law: the predicate
59
+ * parses; every free variable is declared in `check.inputs` and every declared input is referenced;
60
+ * every operator is implemented; `or_else` is non-empty. Per chair obligation: it is verified OR
61
+ * explicitly marked declared-tier — an unmarked unverified obligation is refused, so silence cannot
62
+ * pass a norm off as a rule. Collects every offender and refuses once (collect-all / refuse-once,
63
+ * mirroring runtime.ts's PreflightDispatchError sweep).
64
+ *
65
+ * This is an explicitly-invoked pure function; it is deliberately NOT wired into loadGenome, so
66
+ * quartet.json (unmarked obligations, non-fact-decidable operators) still loads unchanged.
67
+ */
68
+ export declare function checkInstitutionAdmissibility(doc: InstitutionDocument): AdmissibilityResult;
@@ -0,0 +1,417 @@
1
+ // Institutional-law ENFORCEMENT — the seam that makes Coltrane's own laws machine-checkable
2
+ // at the moment of action, rather than prose that sounds binding.
3
+ //
4
+ // Coltrane's public position is that an institutional law is decidable when an action is
5
+ // attempted. Today institutions/coltrane.json ships three ADICO laws whose `check.predicate`
6
+ // is a real s-expression that NOTHING evaluates, and composeStandard verifies chair caps at
7
+ // dispatch while verifying no chair obligation at all. This module is the repair: a
8
+ // zero-dependency in-house s-expression evaluator with a fixed verdict codomain, and an
9
+ // admissibility check that refuses an institution document claiming more enforcement than it
10
+ // has.
11
+ //
12
+ // GREEN STATUS. The signatures below and the `Verdict` codomain are the fixed seam authored by
13
+ // the red spec; this change fills the bodies WITHOUT touching either. The evaluator is a total
14
+ // four-plus-valued reducer over a supplied fact record; admissibility is a separate, explicitly
15
+ // invoked pure function. Neither is wired into loadGenome — a universal gate would refuse
16
+ // quartet.json (unmarked obligations, non-fact-decidable operators) and break "loads unchanged".
17
+ // See docs/specs/coltrane-enforces-its-laws.md.
18
+ /** The five closed verdict values as data — for codomain-closure and exhaustiveness assertions. */
19
+ export const VERDICTS = [
20
+ "PERMIT",
21
+ "DENY",
22
+ "NOT_APPLICABLE",
23
+ "UNDECIDED",
24
+ "DEAD_NAME",
25
+ ];
26
+ // ── An in-house, zero-dependency s-expression reader ──────────────────────────────────────────
27
+ // SMT-LIB2 is itself s-expression many-sorted first-order logic, so a Z3 backend later sits behind
28
+ // the SAME `evaluate()` signature; this reader is the fact-only front half. It is TOTAL over
29
+ // well-formed input and throws only ParseError on malformed input — which `evaluate` catches
30
+ // (runtime never throws) and which admissibility surfaces as a static refusal.
31
+ class ParseError extends Error {
32
+ }
33
+ function isDelimiter(c) {
34
+ return c === "(" || c === ")" || c === '"' || c === " " || c === "\t" || c === "\n" || c === "\r";
35
+ }
36
+ function tokenize(src) {
37
+ const out = [];
38
+ const n = src.length;
39
+ let i = 0;
40
+ while (i < n) {
41
+ const c = src[i];
42
+ if (c === " " || c === "\t" || c === "\n" || c === "\r") {
43
+ i++;
44
+ continue;
45
+ }
46
+ if (c === "(") {
47
+ out.push({ t: "(" });
48
+ i++;
49
+ continue;
50
+ }
51
+ if (c === ")") {
52
+ out.push({ t: ")" });
53
+ i++;
54
+ continue;
55
+ }
56
+ if (c === '"') {
57
+ let j = i + 1;
58
+ let s = "";
59
+ while (j < n && src[j] !== '"') {
60
+ if (src[j] === "\\" && j + 1 < n) {
61
+ s += src[j + 1];
62
+ j += 2;
63
+ continue;
64
+ }
65
+ s += src[j];
66
+ j++;
67
+ }
68
+ if (j >= n)
69
+ throw new ParseError("unterminated string literal");
70
+ out.push({ t: "str", v: s });
71
+ i = j + 1;
72
+ continue;
73
+ }
74
+ let j = i;
75
+ while (j < n && !isDelimiter(src[j]))
76
+ j++;
77
+ out.push({ t: "sym", v: src.slice(i, j) });
78
+ i = j;
79
+ }
80
+ return out;
81
+ }
82
+ function parse(src) {
83
+ const toks = tokenize(src);
84
+ let pos = 0;
85
+ function readExpr() {
86
+ if (pos >= toks.length)
87
+ throw new ParseError("unexpected end of input");
88
+ const tok = toks[pos];
89
+ if (tok.t === "(") {
90
+ pos++;
91
+ const items = [];
92
+ while (pos < toks.length && toks[pos].t !== ")")
93
+ items.push(readExpr());
94
+ if (pos >= toks.length)
95
+ throw new ParseError("unbalanced parenthesis");
96
+ pos++; // consume the ")"
97
+ return { kind: "list", items };
98
+ }
99
+ if (tok.t === ")")
100
+ throw new ParseError("unexpected )");
101
+ pos++;
102
+ return tok.t === "str" ? { kind: "str", value: tok.v } : { kind: "sym", name: tok.v };
103
+ }
104
+ const expr = readExpr();
105
+ if (pos !== toks.length)
106
+ throw new ParseError("trailing tokens after expression");
107
+ return expr;
108
+ }
109
+ // ── The operator table — the UNION across both shipped institutions ───────────────────────────
110
+ // coltrane's fact-decidable core plus quartet's collection/temporal operators. An operator in this
111
+ // set is IMPLEMENTED (it does not trip the admissibility "unimplemented operator" refusal); one
112
+ // outside it is an unimplemented operator — an admissibility refusal statically, and UNDECIDED at
113
+ // runtime. Some KNOWN operators (subseteq/forall/resolvable/…) still cannot be reduced from facts
114
+ // alone, so they too return UNDECIDED at runtime — that is an honest non-decision, not an unknown.
115
+ const KNOWN_OPERATORS = new Set([
116
+ "=>",
117
+ "and",
118
+ "or",
119
+ "not",
120
+ "=",
121
+ "is-agent",
122
+ "human-governor",
123
+ "require",
124
+ "allow",
125
+ "deny",
126
+ "subseteq",
127
+ "forall",
128
+ "resolvable",
129
+ "nonempty",
130
+ "declared_before",
131
+ "has",
132
+ "backed_by_contract",
133
+ ]);
134
+ /** `allow` / `deny` are verdict ATOMS, not variables — excluded when collecting free variables. */
135
+ const VERDICT_ATOMS = new Set(["allow", "deny"]);
136
+ function resolveOperand(node, facts) {
137
+ if (node.kind === "str")
138
+ return { ok: true, value: node.value };
139
+ if (node.kind === "sym")
140
+ return { ok: true, value: facts[node.name] };
141
+ return { ok: false };
142
+ }
143
+ function asBool(node, facts) {
144
+ if (node.kind !== "list" || node.items.length === 0)
145
+ return "U";
146
+ const head = node.items[0];
147
+ if (head.kind !== "sym")
148
+ return "U";
149
+ const args = node.items.slice(1);
150
+ switch (head.name) {
151
+ case "and": {
152
+ let seenUndecided = false;
153
+ for (const a of args) {
154
+ const b = asBool(a, facts);
155
+ if (b === false)
156
+ return false;
157
+ if (b === "U")
158
+ seenUndecided = true;
159
+ }
160
+ return seenUndecided ? "U" : true;
161
+ }
162
+ case "or": {
163
+ let seenUndecided = false;
164
+ for (const a of args) {
165
+ const b = asBool(a, facts);
166
+ if (b === true)
167
+ return true;
168
+ if (b === "U")
169
+ seenUndecided = true;
170
+ }
171
+ return seenUndecided ? "U" : false;
172
+ }
173
+ case "not": {
174
+ if (args.length !== 1)
175
+ return "U";
176
+ const b = asBool(args[0], facts);
177
+ return b === "U" ? "U" : !b;
178
+ }
179
+ case "=": {
180
+ if (args.length !== 2)
181
+ return "U";
182
+ const l = resolveOperand(args[0], facts);
183
+ const r = resolveOperand(args[1], facts);
184
+ if (!l.ok || !r.ok)
185
+ return "U";
186
+ return l.value === r.value;
187
+ }
188
+ case "is-agent": {
189
+ if (args.length !== 1)
190
+ return "U";
191
+ const v = resolveOperand(args[0], facts).value;
192
+ return !!v && typeof v === "object" && v.is_agent === true;
193
+ }
194
+ case "human-governor": {
195
+ if (args.length !== 1)
196
+ return "U";
197
+ const v = resolveOperand(args[0], facts).value;
198
+ return !!v && typeof v === "object" && v.human_governor === true;
199
+ }
200
+ default:
201
+ // A KNOWN-but-not-fact-decidable operator (subseteq/forall/resolvable/nonempty/…) or one this
202
+ // evaluator does not implement: it cannot be reduced from the supplied facts. UNDECIDED, never
203
+ // a silent true/false.
204
+ return "U";
205
+ }
206
+ }
207
+ function asVerdict(node, facts) {
208
+ if (node.kind === "sym") {
209
+ if (node.name === "allow")
210
+ return "PERMIT";
211
+ if (node.name === "deny")
212
+ return "DENY";
213
+ return "UNDECIDED";
214
+ }
215
+ if (node.kind === "str")
216
+ return "UNDECIDED";
217
+ if (node.items.length === 0)
218
+ return "UNDECIDED";
219
+ const head = node.items[0];
220
+ if (head.kind !== "sym")
221
+ return "UNDECIDED";
222
+ const args = node.items.slice(1);
223
+ switch (head.name) {
224
+ case "=>": {
225
+ // The guard/consequent form: P false → the law does not govern this action (NOT_APPLICABLE);
226
+ // P true → reduce the consequent; P undecidable → UNDECIDED (never a decision).
227
+ if (args.length !== 2)
228
+ return "UNDECIDED";
229
+ const p = asBool(args[0], facts);
230
+ if (p === "U")
231
+ return "UNDECIDED";
232
+ if (p === false)
233
+ return "NOT_APPLICABLE";
234
+ return asVerdict(args[1], facts);
235
+ }
236
+ case "require": {
237
+ // An obligation's check: R holds → the obligation is met (PERMIT); R fails → the or_else fires
238
+ // (DENY); R undecidable → UNDECIDED.
239
+ if (args.length !== 1)
240
+ return "UNDECIDED";
241
+ const r = asBool(args[0], facts);
242
+ if (r === "U")
243
+ return "UNDECIDED";
244
+ return r ? "PERMIT" : "DENY";
245
+ }
246
+ case "allow":
247
+ return "PERMIT";
248
+ case "deny":
249
+ return "DENY";
250
+ default:
251
+ // A boolean/collection operator in verdict position, or an unimplemented one: the fact-only
252
+ // evaluator cannot reduce it to a decision.
253
+ return "UNDECIDED";
254
+ }
255
+ }
256
+ /**
257
+ * Evaluate a law's `check` against a supplied fact record and return exactly one Verdict.
258
+ *
259
+ * The interface is the fixed seam: an SMT/solver backend (SMT-LIB2 is itself s-expression
260
+ * many-sorted first-order logic) is reachable later behind this identical signature without
261
+ * changing any caller — solve-vs-evaluate stays inside the box, provided the in-house evaluator
262
+ * keeps "cannot decide" explicit (UNDECIDED) rather than defaulting.
263
+ *
264
+ * Total: it never throws. A declared input the fact record does not supply is DEAD_NAME (fail
265
+ * closed); an unparseable or irreducible predicate is UNDECIDED; neither is ever a PERMIT or DENY.
266
+ */
267
+ export function evaluate(check, facts) {
268
+ // Fail closed on a dead name FIRST: a name the law declares in `check.inputs` but the fact record
269
+ // does not supply. The exact analogue of resolveAgentGrants().unknown — a promised name with no
270
+ // backing. Checked before reduction so a missing input never masquerades as a decision.
271
+ const inputs = check.inputs;
272
+ for (const name of Object.keys(inputs)) {
273
+ if (!Object.prototype.hasOwnProperty.call(facts, name))
274
+ return "DEAD_NAME";
275
+ }
276
+ let ast;
277
+ try {
278
+ ast = parse(check.predicate);
279
+ }
280
+ catch {
281
+ // A predicate that does not parse cannot be reduced from facts. Runtime never throws and never
282
+ // decides; an unparseable predicate is REFUSED statically by checkInstitutionAdmissibility.
283
+ return "UNDECIDED";
284
+ }
285
+ return asVerdict(ast, facts);
286
+ }
287
+ function asRecord(v) {
288
+ return v !== null && typeof v === "object" ? v : {};
289
+ }
290
+ /** Walk a parsed predicate, partitioning symbols into operators (head position) and free variables
291
+ * (operand position, excluding the verdict atoms allow/deny and string literals). */
292
+ /** Operators that BIND their first argument: `(forall x collection body)` introduces `x` for the
293
+ * body's extent. Without this the binder reads as a free variable, and a well-formed law is
294
+ * refused for referencing an input it was never supposed to declare — which is how the first real
295
+ * run of the admissibility check reported two correct quartet laws as broken. Knowing `forall` as
296
+ * an operator is not the same as knowing it as a binder. */
297
+ const BINDING_OPERATORS = new Set(["forall", "exists"]);
298
+ function collectSymbols(node, vars, ops, isHead, bound = new Set()) {
299
+ if (node.kind === "list") {
300
+ if (node.items.length === 0)
301
+ return;
302
+ const head = node.items[0];
303
+ // A binding form: item[1] is the variable it introduces, in scope for everything after it. The
304
+ // binder itself is never a free variable and never an input the law must declare.
305
+ if (head?.kind === "sym" && BINDING_OPERATORS.has(head.name) && node.items[1]?.kind === "sym") {
306
+ const inner = new Set(bound);
307
+ inner.add(node.items[1].name);
308
+ ops.add(head.name);
309
+ // Skip items[0] (the operator, already recorded) and items[1] (the binder, not a reference).
310
+ for (let i = 2; i < node.items.length; i++)
311
+ collectSymbols(node.items[i], vars, ops, false, inner);
312
+ return;
313
+ }
314
+ for (let i = 0; i < node.items.length; i++)
315
+ collectSymbols(node.items[i], vars, ops, i === 0, bound);
316
+ return;
317
+ }
318
+ if (node.kind === "sym") {
319
+ if (isHead)
320
+ ops.add(node.name);
321
+ // A symbol bound by an enclosing quantifier is a reference to that binding, not a free
322
+ // variable. Everything else still is — the fix must narrow the false positive, not grant
323
+ // amnesty to genuinely undeclared names appearing inside a quantifier body.
324
+ else if (!VERDICT_ATOMS.has(node.name) && !bound.has(node.name))
325
+ vars.add(node.name);
326
+ }
327
+ // string literals are values, not names
328
+ }
329
+ function checkLaw(law, offenders) {
330
+ const l = asRecord(law);
331
+ const ref = typeof l.aim === "string" && l.aim.length > 0 ? l.aim : "(law)";
332
+ const push = (reason) => {
333
+ offenders.push({ kind: "law", ref, reason });
334
+ };
335
+ const check = asRecord(l.check);
336
+ const predicate = check.predicate;
337
+ const inputs = asRecord(check.inputs);
338
+ if (typeof predicate !== "string") {
339
+ push("law has no check.predicate to evaluate");
340
+ return;
341
+ }
342
+ let ast;
343
+ try {
344
+ ast = parse(predicate);
345
+ }
346
+ catch (e) {
347
+ push(`predicate does not parse: ${e instanceof Error ? e.message : String(e)}`);
348
+ return;
349
+ }
350
+ const vars = new Set();
351
+ const ops = new Set();
352
+ collectSymbols(ast, vars, ops, false);
353
+ const declared = new Set(Object.keys(inputs));
354
+ // Var-declaration closure, both directions: every free variable is declared, AND every declared
355
+ // input is referenced (an unused declaration is a typo-mask that overclaims the law's surface).
356
+ for (const v of vars) {
357
+ if (!declared.has(v))
358
+ push(`predicate references undeclared variable "${v}"`);
359
+ }
360
+ for (const d of declared) {
361
+ if (!vars.has(d))
362
+ push(`declared input "${d}" is never referenced by the predicate`);
363
+ }
364
+ // Every operator the predicate names must be implemented; an unknown operator must not pass.
365
+ for (const op of ops) {
366
+ if (!KNOWN_OPERATORS.has(op))
367
+ push(`predicate uses an unimplemented operator "${op}"`);
368
+ }
369
+ // or_else is the ADICO slot that separates a RULE from a norm; the schema's z.string() lets ''
370
+ // through, so admissibility is where an empty consequence-on-breach is caught.
371
+ if (typeof l.or_else !== "string" || l.or_else.trim() === "") {
372
+ push("or_else is empty — a rule needs a stated consequence on breach");
373
+ }
374
+ }
375
+ function checkChair(chair, offenders) {
376
+ const c = asRecord(chair);
377
+ const role = typeof c.role === "string" ? c.role : "(chair)";
378
+ const obligations = Array.isArray(c.obligations) ? c.obligations : [];
379
+ for (const raw of obligations) {
380
+ const ob = asRecord(raw);
381
+ const aim = typeof ob.aim === "string" ? ob.aim : "(obligation)";
382
+ // Verified OR explicitly marked declared-tier. There is no verifier surface in this genome, so
383
+ // an obligation states its tier: "enforced" claims a verifier backs it, "declared" states it is
384
+ // a norm with no runtime check. An UNMARKED obligation is refused — silence must not pass a norm
385
+ // off as a rule.
386
+ if (ob.tier !== "declared" && ob.tier !== "enforced") {
387
+ offenders.push({
388
+ kind: "obligation",
389
+ ref: `${role} :: ${aim}`,
390
+ reason: "obligation is neither verified nor explicitly marked declared-tier",
391
+ });
392
+ }
393
+ }
394
+ }
395
+ /**
396
+ * Refuse an institution document that claims more enforcement than it has. Per law: the predicate
397
+ * parses; every free variable is declared in `check.inputs` and every declared input is referenced;
398
+ * every operator is implemented; `or_else` is non-empty. Per chair obligation: it is verified OR
399
+ * explicitly marked declared-tier — an unmarked unverified obligation is refused, so silence cannot
400
+ * pass a norm off as a rule. Collects every offender and refuses once (collect-all / refuse-once,
401
+ * mirroring runtime.ts's PreflightDispatchError sweep).
402
+ *
403
+ * This is an explicitly-invoked pure function; it is deliberately NOT wired into loadGenome, so
404
+ * quartet.json (unmarked obligations, non-fact-decidable operators) still loads unchanged.
405
+ */
406
+ export function checkInstitutionAdmissibility(doc) {
407
+ const offenders = [];
408
+ const institution = asRecord(doc.institution);
409
+ const laws = Array.isArray(institution.laws) ? institution.laws : [];
410
+ for (const law of laws)
411
+ checkLaw(law, offenders);
412
+ const chairs = Array.isArray(doc.chairs) ? doc.chairs : [];
413
+ for (const chair of chairs)
414
+ checkChair(chair, offenders);
415
+ return { admitted: offenders.length === 0, offenders };
416
+ }
417
+ //# sourceMappingURL=institution_enforcement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"institution_enforcement.js","sourceRoot":"","sources":["../../src/institution_enforcement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { LoadError } from "./loader.js";
2
+ import type { InstitutionOutput, OrganizationOutput, AgentRecordOutput, InstitutionalChairOutput, ChairAssignmentOutput, ForebearOutput, LineageEdgeOutput, NorthstarOutput } from "./genome_schema.js";
3
+ /** The multi-section institution document as it lives on disk (shape per institutions/quartet.json).
4
+ * Each present section is validated LOSS-FREE against its already-authored per-section schema in
5
+ * src/genome_schema.ts; an absent optional section is treated as empty, not as an error. This IS
6
+ * the `definition` a store row carries (see docs spec ITEM 4) — file and store backings share it so
7
+ * they cannot drift. */
8
+ export interface InstitutionDocumentSections {
9
+ institution: InstitutionOutput;
10
+ organizations?: readonly OrganizationOutput[];
11
+ agent_records?: readonly AgentRecordOutput[];
12
+ org_members?: readonly {
13
+ org_slug: string;
14
+ agent_slug: string;
15
+ }[];
16
+ chairs?: readonly InstitutionalChairOutput[];
17
+ assignments?: readonly ChairAssignmentOutput[];
18
+ forebears?: readonly ForebearOutput[];
19
+ lineage_edges?: readonly LineageEdgeOutput[];
20
+ northstars?: readonly NorthstarOutput[];
21
+ }
22
+ /** A validated, ADMITTED institution carried in the loaded genome, keyed by institution slug.
23
+ * Only documents that (a) parse, (b) validate section-by-section, and (c) pass
24
+ * checkInstitutionAdmissibility appear here — an inadmissible one fails closed into a load_error. */
25
+ export interface LoadedInstitution {
26
+ slug: string;
27
+ document: InstitutionDocumentSections;
28
+ }
29
+ /**
30
+ * SEAM (RED — body throws). Read every institutions/*.json under `root`, validate each present
31
+ * section against its per-section schema, invoke checkInstitutionAdmissibility on the schema-valid
32
+ * document, and return the admitted institutions keyed by slug PLUS one load_error of kind
33
+ * "institution" per file that is malformed, schema-invalid, inadmissible, or a duplicate slug.
34
+ *
35
+ * TOTAL by contract: the GREEN body must never throw for an institution reason — a bad document is
36
+ * a per-file load_error and drops out; the rest of the genome loads. Deliberately NOT wired into
37
+ * loadGenome yet: wiring it (after the agent/standard/org maps exist) is the GREEN change these red
38
+ * tests demand. Until then this throws, so the tree compiles and red is honest.
39
+ */
40
+ export declare function loadInstitutions(root: string): {
41
+ institutions: Map<string, LoadedInstitution>;
42
+ load_errors: LoadError[];
43
+ };