@mmnto/totem 2.13.0 → 2.14.0

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.
@@ -17,7 +17,7 @@
17
17
  import { createHash } from 'node:crypto';
18
18
  import { z } from 'zod';
19
19
  import { AUTHORED_RULE_ID_HEX_LEN, AUTHORED_RULE_ID_RE, AuthoredNegativeFixtureSchema, AuthoredProvenanceRecordSchema, isIso8601CalendarDate, SHA256_HEX_RE, } from '../compiler-schema.js';
20
- import { ParsedRuleRecordSchema } from './rule-record.js';
20
+ import { checkGlobDialect, ParsedRuleRecordSchema } from './rule-record.js';
21
21
  /** The matcher engines an authored rule may declare (mirrors `CompiledRule.engine`). */
22
22
  export const DeclaredEngineSchema = z.enum(['regex', 'ast', 'ast-grep']);
23
23
  // The §3 eligibility-basis forms: `whitelist:<class>` (the cert-#1 deterministic basis,
@@ -25,6 +25,61 @@ export const DeclaredEngineSchema = z.enum(['regex', 'ast', 'ast-grep']);
25
25
  // `draft-classifier+stage4`. Pins `basis` to the contract so a free-form/typo'd value
26
26
  // can't validate (strategy item 2, #2259).
27
27
  const ELIGIBILITY_BASIS_RE = /^(?:whitelist:.+|capability-check|draft-classifier\+stage4)$/;
28
+ /**
29
+ * The prose extensions a prose-tagged whitelist row admits — the extension WITHOUT the dot.
30
+ *
31
+ * The four the Gate 5 batch-1 class review names for the held scope clause (mmnto-ai/totem#2988,
32
+ * Q6): one data constant, read by the scope conjunct below (`isProseGlob`) and by the CLI's
33
+ * owner-form set-id test, which digests it — so a change here moves that pinned id. Disclosed
34
+ * residue, ruled with the four: `txt` also reaches build inputs (`requirements.txt`,
35
+ * `CMakeLists.txt`) whose `#` comments are a no-grammar comment seam, and `mdx` carries ESM and
36
+ * JSX — looser than "reaches no source file" read strictly.
37
+ */
38
+ export const PROSE_EXTENSIONS = Object.freeze(['md', 'mdx', 'rst', 'txt']);
39
+ /**
40
+ * A whitelist row's scope tag (mmnto-ai/totem#2988): `'prose'` admits prose globs only. The
41
+ * literal's one home: `WhitelistScope` (the `WhitelistEntry.scope` type) is inferred from it.
42
+ */
43
+ const WhitelistScopeSchema = z.literal('prose');
44
+ /**
45
+ * ADR-112 §3 — the recorded verdict of the scope conjunct a scope-tagged whitelist row adds to
46
+ * the check (mmnto-ai/totem#2988, P2). Exactly three shapes, each closed, so an inconsistent one
47
+ * (a `satisfied: false` with no cause, a `glob` on `no-globs`, a `cause` on `satisfied: true`) is
48
+ * unrepresentable:
49
+ *
50
+ * - `{ scope: 'prose', satisfied: true }` — every declared glob is a prose glob;
51
+ * - `{ scope: 'prose', satisfied: false, cause: 'non-prose-glob', glob }` — `glob` is the FIRST
52
+ * declared glob (array order) that is not, byte-verbatim. Any string, the empty one
53
+ * included: a caller of the public predicate can pass a glob outside the V1 dialect (`''`,
54
+ * or a glob with surrounding whitespace), which is not a prose glob, and the refusal must be
55
+ * recordable exactly as passed;
56
+ * - `{ scope: 'prose', satisfied: false, cause: 'no-globs' }` — no globs were supplied (fail
57
+ * closed: the predicate is a public export, and the parse-time `fileGlobs.min(1)` guards only
58
+ * the intake path).
59
+ */
60
+ const ScopeConjunctSchema = z.union([
61
+ z
62
+ .object({
63
+ scope: WhitelistScopeSchema,
64
+ satisfied: z.literal(true),
65
+ })
66
+ .strict(),
67
+ z
68
+ .object({
69
+ scope: WhitelistScopeSchema,
70
+ satisfied: z.literal(false),
71
+ cause: z.literal('non-prose-glob'),
72
+ glob: z.string(),
73
+ })
74
+ .strict(),
75
+ z
76
+ .object({
77
+ scope: WhitelistScopeSchema,
78
+ satisfied: z.literal(false),
79
+ cause: z.literal('no-globs'),
80
+ })
81
+ .strict(),
82
+ ]);
28
83
  /**
29
84
  * ADR-112 §3 — the result of the INDEPENDENT structural-eligibility check.
30
85
  * Produced by `evaluateStructuralEligibility` (NOT by the author): only
@@ -32,8 +87,14 @@ const ELIGIBILITY_BASIS_RE = /^(?:whitelist:.+|capability-check|draft-classifier
32
87
  * `classifierDisposition: 'structural'`. `judgedBy` records who/what judged it
33
88
  * (ledger-recorded, never the author), so a human cannot smuggle a behavioral
34
89
  * policy past ADR-091's gate by hand-asserting "structural" (FM(d)).
90
+ *
91
+ * `.strict()` since mmnto-ai/totem#2988: a reader of this version fails LOUD on a field it does
92
+ * not know, where the pre-change (non-strict) schema stripped it silently — the mixed-version
93
+ * gap, in which an older reader drops a newer recorded verdict without a word. The result rides
94
+ * inside the authoring-ledger row, whose own schema is strict for the same reason.
35
95
  */
36
- export const StructEligResultSchema = z.object({
96
+ export const StructEligResultSchema = z
97
+ .object({
37
98
  decidable: z.boolean(),
38
99
  /**
39
100
  * `whitelist:<class>` for the cert-#1 static-whitelist basis; the
@@ -51,7 +112,23 @@ export const StructEligResultSchema = z.object({
51
112
  judgedBy: z.string().refine((s) => s.trim().length > 0, {
52
113
  message: 'judgedBy must name the check/agent that judged eligibility (never the author)',
53
114
  }),
54
- });
115
+ /**
116
+ * The scope conjunct's recorded verdict (mmnto-ai/totem#2988, P2). Present iff the pair
117
+ * matched EXACTLY ONE whitelist row AND that row carries a scope tag; absent otherwise, so an
118
+ * untagged row's result keeps exactly the three keys above and its ledger material hash is
119
+ * byte-identical to the pre-change one. Recorded on BOTH outcomes because ADR-112 §3 requires
120
+ * the check that judged to record who judged and why — an admitted entry carries the
121
+ * conjunct's outcome, a refused one its cause. An optional field rather than a `basis` suffix
122
+ * because `whitelist:.+` is not injective (a class literally named with the suffix would
123
+ * collide) and the ADR's basis form is `whitelist:<class>`. This schema does not tie
124
+ * `decidable` to the conjunct: a hand-written `decidable: true` beside an unsatisfied
125
+ * conjunct parses. The check never produces one (an unsatisfied conjunct is `decidable:
126
+ * false`, in `evaluateStructuralEligibility`), and the cert path re-derives each entry
127
+ * rather than trusting its recorded row.
128
+ */
129
+ scopeConjunct: ScopeConjunctSchema.optional(),
130
+ })
131
+ .strict();
55
132
  /** ADR-112 §3/§7 — accelerant-lineage marker. A mined hint that informed a human is recorded, never erased. */
56
133
  export const AuthoredOriginSchema = z.union([
57
134
  z.object({ kind: z.literal('from-scratch') }),
@@ -320,23 +397,83 @@ export const AuthoredRulesFileSchema = z
320
397
  }),
321
398
  })
322
399
  .strict();
400
+ /** The wildcard-only last segments that name no extension at all (`docs/**`, `*`). */
401
+ const WILDCARD_ONLY_SEGMENTS = new Set(['**', '*']);
402
+ // mmnto-ai/totem#2988 — is `glob` a PROSE glob? First, a glob OUTSIDE the V1 dialect
403
+ // (`checkGlobDialect`, § Design 7) is not: the intake's record parse already refuses one, but
404
+ // this test is reachable through the public `evaluateStructuralEligibility`, whose caller could
405
+ // otherwise pass `!**/*.md` (negation under
406
+ // the legacy matcher), ` **/*.md` (surrounding whitespace) or `''` and read them as prose. Then
407
+ // the test is on the glob's LAST path segment (the text after the last `/`, the whole glob when
408
+ // there is none), byte-verbatim as the V1 dialect keeps it. NOT prose when that segment is `**`
409
+ // or `*`, has no `.`, or its final extension (the text after the LAST `.`, lower-cased) is not
410
+ // in `PROSE_EXTENSIONS`. So `**/*.md`, `docs/**/*.TXT` and `README.md` are prose; `**/Makefile`
411
+ // (no extension), `**/*.md.ts` (a compound suffix whose final extension is `ts`),
412
+ // `**/package.json`, `docs/**`, `**/*.md*` (final extension `md*`), `*.txt.` (an empty final
413
+ // extension) and every dialect-illegal glob (`''`, ` **/*.md`, `!**/*.md`, `/docs/*.md`,
414
+ // `docs//*.md`, …) are not. Only `fileGlobs` are judged: `excludeGlobs` only narrow a scope and
415
+ // are not an input. Pure and deterministic; the algorithm is in no set-id digest
416
+ // (precedent-consistent — the pair predicate's code is not either). Line comments, not a doc
417
+ // block: the globs above would close one.
418
+ export function isProseGlob(glob) {
419
+ if (checkGlobDialect(glob) !== null)
420
+ return false;
421
+ const segment = glob.slice(glob.lastIndexOf('/') + 1);
422
+ if (WILDCARD_ONLY_SEGMENTS.has(segment))
423
+ return false;
424
+ const dot = segment.lastIndexOf('.');
425
+ if (dot === -1)
426
+ return false;
427
+ const extension = segment.slice(dot + 1).toLowerCase();
428
+ return PROSE_EXTENSIONS.some((e) => e === extension);
429
+ }
323
430
  /**
324
431
  * ADR-112 §3 — the INDEPENDENT structural-eligibility check. A CLOSED registry
325
432
  * predicate, NOT prose: `decidable` is true iff EXACTLY ONE whitelist entry
326
- * matches `(declaredEngine, structuralClass)`. Unknown class, unsupported
327
- * engine, or multiple matches → `decidable: false` (NO default-to-structural).
433
+ * matches `(declaredEngine, structuralClass)` AND, when that entry carries a
434
+ * scope tag, the scope conjunct holds over the record's declared `fileGlobs`.
435
+ * Unknown class, unsupported engine, or multiple matches → `decidable: false`
436
+ * (NO default-to-structural), with no `scopeConjunct` recorded.
328
437
  * The author supplies `declaredEngine` + `structuralClass`; this check OWNS the
329
438
  * verdict — any author-supplied disposition is irrelevant here (FM(d)).
439
+ *
440
+ * The ADR-112 §3 check has a THIRD input for a tagged row (mmnto-ai/totem#2988, P2): the
441
+ * record's declared `fileGlobs`. For a row tagged `'prose'`, absent or empty globs fail closed
442
+ * (`cause: 'no-globs'`), the first non-prose glob in array order refuses (`cause:
443
+ * 'non-prose-glob'`, the glob byte-verbatim), and otherwise the entry is decidable; the verdict
444
+ * is recorded in `scopeConjunct` on BOTH outcomes, so the check that judged is the check that
445
+ * records why. An untagged row's result is byte-identical to the pre-change one — exactly
446
+ * `decidable`, `basis`, `judgedBy` — whether or not globs were passed. `basis` is always
447
+ * `whitelist:<class>`.
330
448
  * Deterministic + pure (no IO, no LLM) — the same input always yields the same
331
449
  * verdict (Tenet-15).
332
450
  */
333
451
  export function evaluateStructuralEligibility(input, whitelist, judgedBy) {
334
452
  const matches = whitelist.filter((e) => e.engine === input.declaredEngine && e.structuralClass === input.structuralClass);
335
- return {
336
- decidable: matches.length === 1,
337
- basis: `whitelist:${input.structuralClass}`,
338
- judgedBy,
339
- };
453
+ const basis = `whitelist:${input.structuralClass}`;
454
+ const row = matches.length === 1 ? matches[0] : undefined;
455
+ if (row === undefined || row.scope === undefined) {
456
+ return { decidable: row !== undefined, basis, judgedBy };
457
+ }
458
+ const globs = input.fileGlobs ?? [];
459
+ if (globs.length === 0) {
460
+ return {
461
+ decidable: false,
462
+ basis,
463
+ judgedBy,
464
+ scopeConjunct: { scope: row.scope, satisfied: false, cause: 'no-globs' },
465
+ };
466
+ }
467
+ const failing = globs.find((g) => !isProseGlob(g));
468
+ if (failing !== undefined) {
469
+ return {
470
+ decidable: false,
471
+ basis,
472
+ judgedBy,
473
+ scopeConjunct: { scope: row.scope, satisfied: false, cause: 'non-prose-glob', glob: failing },
474
+ };
475
+ }
476
+ return { decidable: true, basis, judgedBy, scopeConjunct: { scope: row.scope, satisfied: true } };
340
477
  }
341
478
  // ── Stable rule-id mint (ADR-112 §8) ──────────────────────────────────────────
342
479
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"authored-rule.js","sourceRoot":"","sources":["../../src/spine/authored-rule.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,6EAA6E;AAC7E,mEAAmE;AACnE,oEAAoE;AACpE,EAAE;AACF,8EAA8E;AAC9E,wEAAwE;AACxE,6EAA6E;AAC7E,iFAAiF;AACjF,wEAAwE;AACxE,oFAAoF;AACpF,2EAA2E;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,wFAAwF;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;AAGzE,wFAAwF;AACxF,2EAA2E;AAC3E,sFAAsF;AACtF,2CAA2C;AAC3C,MAAM,oBAAoB,GAAG,8DAA8D,CAAC;AAE5F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB;;;;;;;;;OASG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC5D,OAAO,EACL,sGAAsG;KACzG,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QACtD,OAAO,EAAE,+EAA+E;KACzF,CAAC;CACH,CAAC,CAAC;AAGH,+GAA+G;AAC/G,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;IAC7C,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAC/F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5D,OAAO,EAAE,yBAAyB;SACnC,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAGH,sFAAsF;AACtF,mFAAmF;AACnF,uFAAuF;AACvF,uFAAuF;AACvF,oFAAoF;AACpF,sFAAsF;AACtF,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C;;;;;;;;;;OAUG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE;QAC5C,OAAO,EACL,gGAAgG;KACnG,CAAC;IACF,UAAU,EAAE,8BAA8B;IAC1C,mFAAmF;IACnF,qBAAqB,EAAE,sBAAsB;IAC7C,MAAM,EAAE,oBAAoB;IAC5B;;;;;OAKG;IACH,cAAc,EAAE,oBAAoB;IACpC,6FAA6F;IAC7F,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QAChE,OAAO,EAAE,yDAAyD;KACnE,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,yFAAyF;QACzF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAClD,OAAO,EAAE,oDAAoD;SAC9D,CAAC;QACF,gFAAgF;QAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE;YAC3C,OAAO,EAAE,2EAA2E;SACrF,CAAC;QACF,wFAAwF;QACxF,MAAM,EAAE,sBAAsB;KAC/B,CAAC;SACD,MAAM,EAAE;IACX,wEAAwE;IACxE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CAC5B,CAAC,CAAC;AAGH,iFAAiF;AACjF,EAAE;AACF,gEAAgE;AAChE,uEAAuE;AACvE,gFAAgF;AAChF,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,kFAAkF;AAClF,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,qEAAqE;AACrE,iFAAiF;AACjF,kFAAkF;AAClF,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,kFAAkF;AAClF,sCAAsC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,4EAA4E;IAC5E,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,sCAAsC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QACtD,OAAO,EAAE,wCAAwC;KAClD,CAAC;IACF,yEAAyE;IACzE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QACzD,OAAO,EAAE,uCAAuC;KACjD,CAAC;IACF,kEAAkE;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QACzD,OAAO,EAAE,sCAAsC;KAChD,CAAC;IACF;;;;;OAKG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;QACpC,OAAO,EAAE,6EAA6E;KACvF,CAAC;CACH,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,0FAA0F;IAC1F,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;IAC9F;;;;;OAKG;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,qBAAqB,EAAE;QAC7B,OAAO,EACL,oFAAoF;KACvF,CAAC;IACJ,sGAAsG;IACtG,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,EAAE,qDAAqD;KAC/D,CAAC;IACJ;;;;;;;OAOG;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,EAAE,4EAA4E;KACtF,CAAC;IACJ;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,EACL,iGAAiG;KACpG,CAAC;IACJ,0EAA0E;IAC1E,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QACzD,OAAO,EAAE,gEAAgE;KAC1E,CAAC;IACF;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE;IACnE;;;;OAIG;IACH,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,qMAAqM;IACrM,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,EAAE,kFAAkF;KAC5F,CAAC;IACJ,qGAAqG;IACrG,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,qGAAqG;IACrG,+BAA+B,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAChD;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,+DAA+D,CAAC;SACxF,QAAQ,EAAE;IACb,+BAA+B;IAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QAC7C,OAAO,EAAE,0CAA0C;KACpD,CAAC;CACH,CAAC;KACD,MAAM,EAAE,CAAC;AAgBZ;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAkE,EAClE,SAAoC,EACpC,QAAgB;IAEhB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,CACxF,CAAC;IACF,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QAC/B,KAAK,EAAE,aAAa,KAAK,CAAC,eAAe,EAAE;QAC3C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,YAAoB,EACpB,WAAgC;IAEhC,uFAAuF;IACvF,uFAAuF;IACvF,wFAAwF;IACxF,6EAA6E;IAC7E,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;SAC9C,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACpD,CAAC;AACH,CAAC;AAeD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,OAAsC;IAClE,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,kBAAkB,2GAA2G,CACpL,CAAC;QACJ,CAAC;QACD,MAAM,mBAAmB,GAAG,YAAY,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,8DAA8D,MAAM,CAAC,kBAAkB,2EAA2E,CACnK,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC;YACd,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,qBAAqB,EAAE,YAAY;YACnC,mBAAmB;YACnB,+EAA+E;YAC/E,4EAA4E;YAC5E,4EAA4E;YAC5E,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAC5B,2EAA2E;YAC3E,6EAA6E;YAC7E,6EAA6E;YAC7E,iEAAiE;YACjE,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,iFAAiF;YACjF,yEAAyE;YACzE,6EAA6E;YAC7E,0CAA0C;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC;YACX,YAAY,EAAE,mBAAmB;YACjC,WAAW,EAAE,YAAY;YACzB,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,oBAAoB;SACxC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"authored-rule.js","sourceRoot":"","sources":["../../src/spine/authored-rule.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { stringify as yamlStringify } from 'yaml';
3
- import { AuthoredRuleInputSchema, AuthoredRuleRecordSchema, evaluateStructuralEligibility, mintAuthoredRuleId, toCompileFeed, } from './authored-rule.js';
4
- import { parseRuleRecord } from './rule-record.js';
3
+ import { AuthoredRuleInputSchema, AuthoredRuleRecordSchema, evaluateStructuralEligibility, isProseGlob, mintAuthoredRuleId, PROSE_EXTENSIONS, StructEligResultSchema, toCompileFeed, } from './authored-rule.js';
4
+ import { checkGlobDialect, GLOB_DIALECT_RULES, parseRuleRecord, } from './rule-record.js';
5
5
  // ── Prop 310 § Design 1 — the record carrier the envelope now holds ──────────
6
6
  const RECORD_PATH = '.totem/rules/float-finite-assert.rule.yaml';
7
7
  const RECORD_YAML = yamlStringify({
@@ -73,6 +73,200 @@ describe('evaluateStructuralEligibility (ADR-112 §3 — closed predicate)', ()
73
73
  }
74
74
  });
75
75
  });
76
+ // ── mmnto-ai/totem#2988 (P2) — the scope conjunct of a prose-tagged row ──────
77
+ const UNTAGGED_KEYS = ['decidable', 'basis', 'judgedBy'];
78
+ const SCOPED_WHITELIST = [
79
+ { engine: 'regex', structuralClass: 'float-finite-assert' },
80
+ { engine: 'regex', structuralClass: 'forbidden-literal-token', scope: 'prose' },
81
+ ];
82
+ const judgeProse = (fileGlobs) => evaluateStructuralEligibility({
83
+ declaredEngine: 'regex',
84
+ structuralClass: 'forbidden-literal-token',
85
+ ...(fileGlobs !== undefined ? { fileGlobs } : {}),
86
+ }, SCOPED_WHITELIST, 'static-whitelist@test');
87
+ describe('evaluateStructuralEligibility — the prose scope conjunct (mmnto-ai/totem#2988)', () => {
88
+ it('an untagged row keeps EXACTLY the three keys, with and without globs (byte-identical to the pre-change result)', () => {
89
+ const input = { declaredEngine: 'regex', structuralClass: 'float-finite-assert' };
90
+ const without = evaluateStructuralEligibility(input, SCOPED_WHITELIST, 'static-whitelist@test');
91
+ const withGlobs = evaluateStructuralEligibility({ ...input, fileGlobs: ['src/**/*.ts'] }, SCOPED_WHITELIST, 'static-whitelist@test');
92
+ for (const r of [without, withGlobs]) {
93
+ expect(Object.keys(r)).toEqual(UNTAGGED_KEYS);
94
+ expect(r).toEqual({
95
+ decidable: true,
96
+ basis: 'whitelist:float-finite-assert',
97
+ judgedBy: 'static-whitelist@test',
98
+ });
99
+ }
100
+ expect(JSON.stringify(withGlobs)).toBe(JSON.stringify(without));
101
+ });
102
+ it('a pair matching NO row carries no scopeConjunct, globs or not', () => {
103
+ const r = evaluateStructuralEligibility({ declaredEngine: 'ast-grep', structuralClass: 'forbidden-literal-token', fileGlobs: [] }, SCOPED_WHITELIST, 'static-whitelist@test');
104
+ expect(r.decidable).toBe(false);
105
+ expect(Object.keys(r)).toEqual(UNTAGGED_KEYS);
106
+ });
107
+ it('a pair matching TWO tagged rows carries no scopeConjunct (ambiguity is decided before the conjunct)', () => {
108
+ const dupes = [
109
+ { engine: 'regex', structuralClass: 'forbidden-literal-token', scope: 'prose' },
110
+ { engine: 'regex', structuralClass: 'forbidden-literal-token', scope: 'prose' },
111
+ ];
112
+ const r = evaluateStructuralEligibility({
113
+ declaredEngine: 'regex',
114
+ structuralClass: 'forbidden-literal-token',
115
+ fileGlobs: ['**/*.md'],
116
+ }, dupes, 'static-whitelist@test');
117
+ expect(r.decidable).toBe(false);
118
+ expect(Object.keys(r)).toEqual(UNTAGGED_KEYS);
119
+ });
120
+ it('a tagged row with every glob prose is decidable and records the satisfied conjunct', () => {
121
+ const r = judgeProse(['**/*.md', '**/*.mdx', 'docs/**/*.RST', '**/*.txt']);
122
+ expect(r).toEqual({
123
+ decidable: true,
124
+ basis: 'whitelist:forbidden-literal-token',
125
+ judgedBy: 'static-whitelist@test',
126
+ scopeConjunct: { scope: 'prose', satisfied: true },
127
+ });
128
+ });
129
+ it('a tagged row refuses on the FIRST non-prose glob in array order, recording it byte-verbatim', () => {
130
+ const r = judgeProse(['**/*.md', 'src/**/*.TS', '**/Makefile']);
131
+ expect(r).toEqual({
132
+ decidable: false,
133
+ basis: 'whitelist:forbidden-literal-token',
134
+ judgedBy: 'static-whitelist@test',
135
+ scopeConjunct: {
136
+ scope: 'prose',
137
+ satisfied: false,
138
+ cause: 'non-prose-glob',
139
+ glob: 'src/**/*.TS',
140
+ },
141
+ });
142
+ });
143
+ it('a tagged row fails CLOSED on absent globs and on empty globs (cause no-globs)', () => {
144
+ for (const r of [judgeProse(undefined), judgeProse([])]) {
145
+ expect(r).toEqual({
146
+ decidable: false,
147
+ basis: 'whitelist:forbidden-literal-token',
148
+ judgedBy: 'static-whitelist@test',
149
+ scopeConjunct: { scope: 'prose', satisfied: false, cause: 'no-globs' },
150
+ });
151
+ }
152
+ });
153
+ it('every result the predicate builds validates against the strict schema', () => {
154
+ for (const r of [
155
+ judgeProse(['**/*.md']),
156
+ judgeProse(['**/*.ts']),
157
+ judgeProse([]),
158
+ evaluateStructuralEligibility({ declaredEngine: 'regex', structuralClass: 'float-finite-assert' }, SCOPED_WHITELIST, 'static-whitelist@test'),
159
+ ]) {
160
+ expect(StructEligResultSchema.parse(r)).toEqual(r);
161
+ }
162
+ });
163
+ });
164
+ describe('isProseGlob — the last-segment prose test (mmnto-ai/totem#2988)', () => {
165
+ const PROSE = ['**/*.md', 'docs/**/*.TXT', 'README.md', 'docs/wiki/**/*.mdx', '*.rst'];
166
+ const NOT_PROSE = [
167
+ '**/Makefile',
168
+ '**/*.md.ts',
169
+ '**/package.json',
170
+ 'docs/**',
171
+ '*',
172
+ '**',
173
+ '**/*.md*',
174
+ '*.txt.',
175
+ 'src/**/*.ts',
176
+ 'notes.md/**',
177
+ ];
178
+ it.each(PROSE)('%s is a prose glob', (glob) => {
179
+ expect(isProseGlob(glob)).toBe(true);
180
+ });
181
+ it.each(NOT_PROSE)('%s is not a prose glob', (glob) => {
182
+ expect(isProseGlob(glob)).toBe(false);
183
+ });
184
+ // One dialect-illegal glob per § Design 7 rule, each built to END in a prose extension, so the
185
+ // dialect is the only thing that can make it non-prose. Typed as a total record over
186
+ // `GlobDialectRule`, so a rule added to the dialect without a row here fails the type check.
187
+ const BACKSLASH = String.fromCharCode(92);
188
+ const DIALECT_ILLEGAL = {
189
+ empty: '',
190
+ 'surrounding-whitespace': ' **/*.md',
191
+ separator: ['docs', '*.md'].join(BACKSLASH),
192
+ 'absolute-path': '/docs/*.md',
193
+ 'drive-letter': 'C:/docs/*.md',
194
+ 'brace-expansion': '{docs,wiki}/*.md',
195
+ negation: '!**/*.md',
196
+ 'regex-syntax': 'doc[s]/*.md',
197
+ 'empty-segment': 'docs//*.md',
198
+ 'current-segment': './docs/*.md',
199
+ 'parent-segment': '../docs/*.md',
200
+ 'embedded-globstar': 'docs**/*.md',
201
+ 'adjacent-globstar': '**/**/*.md',
202
+ };
203
+ it('a glob outside the V1 dialect is never a prose glob — one per dialect rule', () => {
204
+ expect(Object.keys(DIALECT_ILLEGAL).sort()).toEqual([...GLOB_DIALECT_RULES].sort());
205
+ for (const rule of GLOB_DIALECT_RULES) {
206
+ const glob = DIALECT_ILLEGAL[rule];
207
+ expect(checkGlobDialect(glob)?.rule, rule).toBe(rule);
208
+ expect(isProseGlob(glob), rule).toBe(false);
209
+ }
210
+ });
211
+ it('the public predicate refuses a dialect-illegal glob with a recordable result (the falsification leg F3)', () => {
212
+ for (const glob of ['', '!**/*.md', ' **/*.md']) {
213
+ const r = judgeProse([glob]);
214
+ expect(r, JSON.stringify(glob)).toEqual({
215
+ decidable: false,
216
+ basis: 'whitelist:forbidden-literal-token',
217
+ judgedBy: 'static-whitelist@test',
218
+ scopeConjunct: { scope: 'prose', satisfied: false, cause: 'non-prose-glob', glob },
219
+ });
220
+ expect(StructEligResultSchema.safeParse(r).success, JSON.stringify(glob)).toBe(true);
221
+ }
222
+ });
223
+ });
224
+ describe('PROSE_EXTENSIONS (mmnto-ai/totem#2988, Q6)', () => {
225
+ it('is frozen and is exactly the four, without the dot', () => {
226
+ expect(Object.isFrozen(PROSE_EXTENSIONS)).toBe(true);
227
+ expect([...PROSE_EXTENSIONS]).toEqual(['md', 'mdx', 'rst', 'txt']);
228
+ });
229
+ });
230
+ describe('StructEligResultSchema — strict, with the three closed scopeConjunct shapes (mmnto-ai/totem#2988)', () => {
231
+ const base = {
232
+ decidable: false,
233
+ basis: 'whitelist:forbidden-literal-token',
234
+ judgedBy: 'static-whitelist@test',
235
+ };
236
+ it('still accepts the three-key shape every ledger row on record carries', () => {
237
+ expect(StructEligResultSchema.safeParse({ ...base, decidable: true }).success).toBe(true);
238
+ });
239
+ it('accepts each of the three conjunct shapes', () => {
240
+ for (const scopeConjunct of [
241
+ { scope: 'prose', satisfied: true },
242
+ { scope: 'prose', satisfied: false, cause: 'non-prose-glob', glob: '**/*.ts' },
243
+ // An empty-string glob is recordable byte-verbatim: a public caller can pass one, and the
244
+ // refusal must be representable for every input (the falsification leg's F3).
245
+ { scope: 'prose', satisfied: false, cause: 'non-prose-glob', glob: '' },
246
+ { scope: 'prose', satisfied: false, cause: 'no-globs' },
247
+ ]) {
248
+ expect(StructEligResultSchema.safeParse({ ...base, scopeConjunct }).success).toBe(true);
249
+ }
250
+ });
251
+ it('refuses every inconsistent conjunct shape', () => {
252
+ for (const scopeConjunct of [
253
+ { scope: 'prose', satisfied: false },
254
+ { scope: 'prose', satisfied: true, cause: 'no-globs' },
255
+ { scope: 'prose', satisfied: true, cause: 'non-prose-glob', glob: '**/*.ts' },
256
+ { scope: 'prose', satisfied: false, cause: 'no-globs', glob: '**/*.ts' },
257
+ { scope: 'prose', satisfied: false, cause: 'non-prose-glob' },
258
+ { scope: 'prose', satisfied: false, cause: 'other' },
259
+ { scope: 'source', satisfied: true },
260
+ { satisfied: true },
261
+ { scope: 'prose', satisfied: true, extra: 1 },
262
+ ]) {
263
+ expect(StructEligResultSchema.safeParse({ ...base, scopeConjunct }).success).toBe(false);
264
+ }
265
+ });
266
+ it('refuses an unknown extra key on the result itself (strict — never stripped silently)', () => {
267
+ expect(StructEligResultSchema.safeParse({ ...base, scopeValidation: true }).success).toBe(false);
268
+ });
269
+ });
76
270
  describe('AuthoredRuleRecord schema (ADR-112 §3)', () => {
77
271
  const base = {
78
272
  ruleId: '0f1e2d3c4b5a6978',
@@ -1 +1 @@
1
- {"version":3,"file":"authored-rule.test.js","sourceRoot":"","sources":["../../src/spine/authored-rule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authored-rule.test.js","sourceRoot":"","sources":["../../src/spine/authored-rule.test.ts"],"names":[],"mappings":"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"}