@mmnto/totem 1.118.0 → 1.119.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.
Files changed (117) hide show
  1. package/dist/artifacts/admission.d.ts +12 -12
  2. package/dist/artifacts/verdict.d.ts +16 -16
  3. package/dist/compile-manifest.d.ts +89 -0
  4. package/dist/compile-manifest.d.ts.map +1 -1
  5. package/dist/compile-manifest.js +180 -31
  6. package/dist/compile-manifest.js.map +1 -1
  7. package/dist/compile-manifest.test.js +169 -1
  8. package/dist/compile-manifest.test.js.map +1 -1
  9. package/dist/compiler-schema.d.ts +1067 -0
  10. package/dist/compiler-schema.d.ts.map +1 -1
  11. package/dist/compiler-schema.js +204 -1
  12. package/dist/compiler-schema.js.map +1 -1
  13. package/dist/compiler-schema.test.js +92 -0
  14. package/dist/compiler-schema.test.js.map +1 -1
  15. package/dist/compiler.d.ts +2 -6
  16. package/dist/compiler.d.ts.map +1 -1
  17. package/dist/compiler.js +6 -17
  18. package/dist/compiler.js.map +1 -1
  19. package/dist/freeze.d.ts +3 -3
  20. package/dist/index.d.ts +12 -3
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +6 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/ledger.d.ts +12 -12
  25. package/dist/lesson-format.d.ts +5 -2
  26. package/dist/lesson-format.d.ts.map +1 -1
  27. package/dist/lesson-format.js +16 -5
  28. package/dist/lesson-format.js.map +1 -1
  29. package/dist/lesson-format.test.js +11 -0
  30. package/dist/lesson-format.test.js.map +1 -1
  31. package/dist/regex-safety/apply-rules-bounded.d.ts +11 -0
  32. package/dist/regex-safety/apply-rules-bounded.d.ts.map +1 -1
  33. package/dist/regex-safety/apply-rules-bounded.js +59 -5
  34. package/dist/regex-safety/apply-rules-bounded.js.map +1 -1
  35. package/dist/regex-validation.d.ts +7 -0
  36. package/dist/regex-validation.d.ts.map +1 -0
  37. package/dist/regex-validation.js +32 -0
  38. package/dist/regex-validation.js.map +1 -0
  39. package/dist/rule-engine.d.ts +11 -1
  40. package/dist/rule-engine.d.ts.map +1 -1
  41. package/dist/rule-engine.js +125 -18
  42. package/dist/rule-engine.js.map +1 -1
  43. package/dist/spine/authored-rule.d.ts +669 -245
  44. package/dist/spine/authored-rule.d.ts.map +1 -1
  45. package/dist/spine/authored-rule.js +113 -27
  46. package/dist/spine/authored-rule.js.map +1 -1
  47. package/dist/spine/authored-rule.test.js +170 -4
  48. package/dist/spine/authored-rule.test.js.map +1 -1
  49. package/dist/spine/authoring-ledger.d.ts +69 -10
  50. package/dist/spine/authoring-ledger.d.ts.map +1 -1
  51. package/dist/spine/authoring-ledger.js +46 -25
  52. package/dist/spine/authoring-ledger.js.map +1 -1
  53. package/dist/spine/authoring-ledger.test.js +20 -7
  54. package/dist/spine/authoring-ledger.test.js.map +1 -1
  55. package/dist/spine/candidate-rule.d.ts +18 -1
  56. package/dist/spine/candidate-rule.d.ts.map +1 -1
  57. package/dist/spine/candidate-rule.js.map +1 -1
  58. package/dist/spine/cert-corpus-seed.d.ts +8 -8
  59. package/dist/spine/compile.d.ts +4 -1
  60. package/dist/spine/compile.d.ts.map +1 -1
  61. package/dist/spine/compile.js +50 -3
  62. package/dist/spine/compile.js.map +1 -1
  63. package/dist/spine/compile.test.js +189 -23
  64. package/dist/spine/compile.test.js.map +1 -1
  65. package/dist/spine/frozen-split.d.ts +18 -18
  66. package/dist/spine/ledgers.d.ts +24 -24
  67. package/dist/spine/lf-normalize.d.ts +9 -0
  68. package/dist/spine/lf-normalize.d.ts.map +1 -0
  69. package/dist/spine/lf-normalize.js +38 -0
  70. package/dist/spine/lf-normalize.js.map +1 -0
  71. package/dist/spine/preimage-differential.d.ts +3 -1
  72. package/dist/spine/preimage-differential.d.ts.map +1 -1
  73. package/dist/spine/preimage-differential.js +9 -6
  74. package/dist/spine/preimage-differential.js.map +1 -1
  75. package/dist/spine/preimage-differential.test.js +59 -0
  76. package/dist/spine/preimage-differential.test.js.map +1 -1
  77. package/dist/spine/record-exemplars.fixture.d.ts +5 -0
  78. package/dist/spine/record-exemplars.fixture.d.ts.map +1 -0
  79. package/dist/spine/record-exemplars.fixture.js +61 -0
  80. package/dist/spine/record-exemplars.fixture.js.map +1 -0
  81. package/dist/spine/record-lower.d.ts +90 -0
  82. package/dist/spine/record-lower.d.ts.map +1 -0
  83. package/dist/spine/record-lower.js +418 -0
  84. package/dist/spine/record-lower.js.map +1 -0
  85. package/dist/spine/record-lower.test.d.ts +2 -0
  86. package/dist/spine/record-lower.test.d.ts.map +1 -0
  87. package/dist/spine/record-lower.test.js +562 -0
  88. package/dist/spine/record-lower.test.js.map +1 -0
  89. package/dist/spine/record-runtime.d.ts +215 -0
  90. package/dist/spine/record-runtime.d.ts.map +1 -0
  91. package/dist/spine/record-runtime.js +330 -0
  92. package/dist/spine/record-runtime.js.map +1 -0
  93. package/dist/spine/record-runtime.test.d.ts +2 -0
  94. package/dist/spine/record-runtime.test.d.ts.map +1 -0
  95. package/dist/spine/record-runtime.test.js +814 -0
  96. package/dist/spine/record-runtime.test.js.map +1 -0
  97. package/dist/spine/rule-record.d.ts +864 -0
  98. package/dist/spine/rule-record.d.ts.map +1 -0
  99. package/dist/spine/rule-record.js +781 -0
  100. package/dist/spine/rule-record.js.map +1 -0
  101. package/dist/spine/rule-record.test.d.ts +2 -0
  102. package/dist/spine/rule-record.test.d.ts.map +1 -0
  103. package/dist/spine/rule-record.test.js +1262 -0
  104. package/dist/spine/rule-record.test.js.map +1 -0
  105. package/dist/spine/windtunnel-firing.d.ts.map +1 -1
  106. package/dist/spine/windtunnel-firing.js +28 -1
  107. package/dist/spine/windtunnel-firing.js.map +1 -1
  108. package/dist/spine/windtunnel-lock.d.ts +10 -10
  109. package/dist/stage4-verifier.d.ts.map +1 -1
  110. package/dist/stage4-verifier.js +61 -17
  111. package/dist/stage4-verifier.js.map +1 -1
  112. package/dist/sys/glob.d.ts +30 -0
  113. package/dist/sys/glob.d.ts.map +1 -1
  114. package/dist/sys/glob.js +62 -1
  115. package/dist/sys/glob.js.map +1 -1
  116. package/dist/types.d.ts +1 -1
  117. package/package.json +1 -1
@@ -5,6 +5,10 @@ import { matchAstGrepPatternsBatch } from './ast-grep-query.js';
5
5
  import { matchAstQueriesBatch } from './ast-query.js';
6
6
  import { extractAddedLines } from './diff-parser.js';
7
7
  import { TotemParseError } from './errors.js';
8
+ // Prop 310 slice 2 — the record-grammar runtime semantics (§ Design 7 two-array
9
+ // scope, § Design 8 `requires` two-pass). Every entry point is gated on
10
+ // `isRecordPathRule`, so the legacy corpus's matching is untouched.
11
+ import { assertNoAstGrepLineScope, assertNoTornRecordRules, assertRequiresPatternsSafe, isInsideRoot, requiresSuppressesMatch, ruleAppliesToFile, } from './spine/record-runtime.js';
8
12
  import { detectStaleManifest, staleManifestError } from './stale-manifest.js';
9
13
  import { fileMatchesGlobs, matchesGlob } from './sys/glob.js';
10
14
  export { fileMatchesGlobs, matchesGlob };
@@ -469,11 +473,27 @@ function resolveAstMatchSuppression(ctx, match, addition) {
469
473
  * on trigger / suppress / failure events.
470
474
  * @param workingDirectory - Optional working directory for resolving files on disk
471
475
  * when parsing spans.
476
+ * @param readFileText - Optional SYNC reader for whole-file content, consulted
477
+ * only by a Prop 310 `requires: {scope: file}` check. Returns `null` when the
478
+ * file cannot be resolved; when omitted, the disk is read directly.
479
+ *
480
+ * SYNC, unlike the ast path's async `readStrategy`, because this function is
481
+ * synchronous and four shipped callers depend on that. The async staged reader
482
+ * is threaded instead through `applyRulesToAdditionsBounded`, which is the
483
+ * dispatcher `totem lint` actually uses for regex rules and is already async —
484
+ * so the staged guarantee lands where staged mode exists (falsification round,
485
+ * 2026-08-21).
472
486
  * @returns All regex-based violations found.
473
487
  */
474
- export function applyRulesToAdditions(ctx, rules, additions, onRuleEvent, workingDirectory) {
488
+ export function applyRulesToAdditions(ctx, rules, additions, onRuleEvent, workingDirectory, readFileText) {
475
489
  if (additions.length === 0 || rules.length === 0)
476
490
  return [];
491
+ // Prop 310 § Design 12 — a rule that is neither classifiable as a record nor
492
+ // as legacy is a torn manifest; fail loud rather than drop its constructs.
493
+ // § Design 8 — and no `requires.pattern` is executed before it clears the same
494
+ // safe-regex2 gate the compile path applies.
495
+ assertNoTornRecordRules(rules);
496
+ assertRequiresPatternsSafe(rules);
477
497
  const violations = [];
478
498
  // Only process regex-engine rules — AST rules have pattern: '' which would match everything
479
499
  const regexRules = rules.filter((r) => r.engine === 'regex' || !r.engine);
@@ -494,6 +514,44 @@ export function applyRulesToAdditions(ctx, rules, additions, onRuleEvent, workin
494
514
  return [];
495
515
  }
496
516
  };
517
+ // Prop 310 § Design 8 — whole-file text for a `requires: {scope: file}` check.
518
+ // Memoized per invocation, and reached ONLY when a record-path rule with a
519
+ // file-scoped requirement has already matched its target: no legacy rule
520
+ // carries `requires`, so this adds zero IO to the shipped path.
521
+ //
522
+ // `readFileText` (when supplied) is what makes the check see the SAME bytes the
523
+ // rest of the lint is judging. Reading the worktree while the caller is judging
524
+ // the index is FAIL-OPEN in the direction that matters: a required context
525
+ // deleted in the staged edit but still present on disk would satisfy the
526
+ // requirement and silence a real staged violation.
527
+ const fileTextCache = new Map();
528
+ const getFileTextSync = (file, workDir) => {
529
+ const cached = fileTextCache.get(file);
530
+ if (cached !== undefined || fileTextCache.has(file))
531
+ return cached ?? null;
532
+ let text = null;
533
+ if (readFileText) {
534
+ // DELIBERATELY unwrapped: the caller's reader owns its own failure
535
+ // contract (a staged reader throws so an unreadable index entry surfaces
536
+ // rather than degrading quietly). A reader that means "absent" returns
537
+ // `null`, which is handled below.
538
+ text = readFileText(file);
539
+ }
540
+ else if (isInsideRoot(workDir, file)) {
541
+ try {
542
+ text = fs.readFileSync(path.resolve(workDir, file), 'utf-8');
543
+ // totem-context: read failure yields no required-context evidence → the requirement is UNMET → the rule still FIRES; like the span exemption above, this fails toward flagging, never toward suppression.
544
+ }
545
+ catch {
546
+ text = null;
547
+ }
548
+ }
549
+ // An out-of-root path falls through with `text === null` — treated as
550
+ // unreadable, so the requirement is unmet and the rule FIRES. Same direction
551
+ // as a read failure; see `isInsideRoot`.
552
+ fileTextCache.set(file, text);
553
+ return text;
554
+ };
497
555
  for (const rule of regexRules) {
498
556
  let re;
499
557
  try {
@@ -511,10 +569,25 @@ export function applyRulesToAdditions(ctx, rules, additions, onRuleEvent, workin
511
569
  throw new TotemParseError(`Rule ${rule.lessonHash} has an invalid regex pattern and cannot be evaluated.`, `Re-run 'totem lesson compile' to regenerate the rule, or archive it via 'totem doctor --pr' if the source lesson cannot produce a valid pattern. Pattern: ${JSON.stringify(rule.pattern)}`, err);
512
570
  }
513
571
  for (const addition of additions) {
514
- // Skip if rule has fileGlobs and this file doesn't match
515
- if (rule.fileGlobs && rule.fileGlobs.length > 0) {
516
- if (!fileMatchesGlobs(addition.file, rule.fileGlobs))
517
- continue;
572
+ // Scope: Prop 310 § Design 7's two-array rule for record-path rules
573
+ // (`positiveMatch && !excludeMatch` under the normative dialect), the
574
+ // shipped `fileMatchesGlobs` predicate — including its unscoped-rule
575
+ // include-everything behaviour — for every legacy rule.
576
+ if (!ruleAppliesToFile(rule, addition.file))
577
+ continue;
578
+ // Prop 310 § Design 8 — pass two. The requirement is part of the MATCH
579
+ // PREDICATE (the rule fires iff the target matched AND the required
580
+ // context is absent), so it is evaluated BEFORE suppression and before any
581
+ // telemetry: a locus whose required context is PRESENT is not a match at
582
+ // all, and must emit neither a violation nor a `suppress` event. Guarded on
583
+ // `rule.requires` so no legacy rule pays the second `re.test`.
584
+ if (rule.requires !== undefined &&
585
+ re.test(addition.line) &&
586
+ requiresSuppressesMatch(rule, {
587
+ line: addition.line,
588
+ file: () => getFileTextSync(addition.file, workingDirectory || process.cwd()),
589
+ })) {
590
+ continue;
518
591
  }
519
592
  // Skip if suppressed via inline directive
520
593
  if (isSuppressed(ctx, addition.line, addition.precedingLine)) {
@@ -588,6 +661,12 @@ export function applyRulesToAdditions(ctx, rules, additions, onRuleEvent, workin
588
661
  * @returns All AST-based violations found.
589
662
  */
590
663
  export async function applyAstRulesToAdditions(ctx, rules, additions, workingDirectory, onRuleEvent, onWarn, readStrategy) {
664
+ // Prop 310 § Design 12 / § Design 8 — torn-manifest guard, the safe-regex2
665
+ // gate, and the ast-grep span-vs-line backstop, all at the same altitude as the
666
+ // tree-sitter `requires` backstop below.
667
+ assertNoTornRecordRules(rules);
668
+ assertRequiresPatternsSafe(rules);
669
+ assertNoAstGrepLineScope(rules);
591
670
  const treeSitterRules = rules.filter((r) => r.engine === 'ast' && r.astQuery);
592
671
  // Widen to include compound rules (mmnto/totem#1408). A rule is runnable
593
672
  // when EITHER `astGrepPattern` (string) or `astGrepYamlRule` (NapiConfig
@@ -595,6 +674,23 @@ export async function applyAstRulesToAdditions(ctx, rules, additions, workingDir
595
674
  // CompiledRuleSchema guarantees these do not coexist, so the per-rule
596
675
  // dispatch below can safely use an if/else on presence alone.
597
676
  const astGrepRules = rules.filter((r) => r.engine === 'ast-grep' && (r.astGrepPattern || r.astGrepYamlRule));
677
+ // Prop 310 § Design 8 / § Design 12 — `requires` has no evaluator on the
678
+ // tree-sitter branch, and leaving it unevaluated would be exactly the
679
+ // accept-then-silently-drop class § Design 12 bans. UNREACHABLE from the record
680
+ // path by construction (the V1 authoring enum is `ast-grep | regex`; `ast` is
681
+ // dropped per § Design 6/R16) and unreachable from the legacy corpus (no
682
+ // compiled rule carries `requires` — pinned by the byte-identity guard), so
683
+ // this is a fail-loud backstop against a hand-edited manifest, never a path a
684
+ // well-formed pipeline can take.
685
+ // Searched over ALL rules, not over `treeSitterRules` — that list is already
686
+ // filtered on `astQuery` being present, so a hand-edited `{engine: 'ast',
687
+ // requires, no astQuery}` rule would slip past the throw and have its
688
+ // `requires` silently unevaluated, which is precisely the hole this backstop
689
+ // exists to close (falsification round, 2026-08-21).
690
+ const treeSitterWithRequires = rules.find((r) => r.engine === 'ast' && r.requires !== undefined);
691
+ if (treeSitterWithRequires) {
692
+ throw new TotemParseError(`Rule ${treeSitterWithRequires.lessonHash} (${treeSitterWithRequires.lessonHeading}) carries a \`requires\` block on the tree-sitter ('ast') engine, which has no two-pass evaluator.`, "Prop 310 § Design 6 drops 'ast' from the V1 authoring surface, so no rule record can produce this combination — the manifest was hand-edited or written by a bypassed producer. Re-compile the rule, or move it to the 'regex' or 'ast-grep' engine where `requires` is evaluated.");
693
+ }
598
694
  if ((treeSitterRules.length === 0 && astGrepRules.length === 0) || additions.length === 0) {
599
695
  return [];
600
696
  }
@@ -627,7 +723,13 @@ export async function applyAstRulesToAdditions(ctx, rules, additions, workingDir
627
723
  // mechanism for adding language support.
628
724
  const ext = path.extname(file);
629
725
  if (!extensionToLanguage(ext)) {
630
- const ruleExpectingThisFile = allAstRules.find((r) => r.fileGlobs && r.fileGlobs.length > 0 && fileMatchesGlobs(file, r.fileGlobs));
726
+ // The `fileGlobs.length > 0` prefix is load-bearing and NOT folded into
727
+ // `ruleAppliesToFile`: an UNSCOPED rule must not trigger this fail-loud
728
+ // guard (no rule cares about the file ⇒ a silent skip is correct), while
729
+ // `ruleAppliesToFile` answers "does this rule apply", for which an unscoped
730
+ // rule applies everywhere. Record-path rules always carry ≥1 glob (min-1 at
731
+ // parse), so the prefix never excludes one.
732
+ const ruleExpectingThisFile = allAstRules.find((r) => r.fileGlobs && r.fileGlobs.length > 0 && ruleAppliesToFile(r, file));
631
733
  if (ruleExpectingThisFile) {
632
734
  // mmnto-ai/totem#1811 (ADR-101): before re-throwing the raw
633
735
  // Tree-sitter language-miss error, check whether the user is
@@ -665,12 +767,7 @@ export async function applyAstRulesToAdditions(ctx, rules, additions, workingDir
665
767
  continue;
666
768
  // ── Tree-sitter S-expression rules ────────────────
667
769
  if (treeSitterRules.length > 0) {
668
- const applicableTreeSitter = treeSitterRules.filter((rule) => {
669
- if (rule.fileGlobs && rule.fileGlobs.length > 0) {
670
- return fileMatchesGlobs(file, rule.fileGlobs);
671
- }
672
- return true;
673
- });
770
+ const applicableTreeSitter = treeSitterRules.filter((rule) => ruleAppliesToFile(rule, file));
674
771
  if (applicableTreeSitter.length > 0) {
675
772
  // Path containment check — prevent traversal outside the project.
676
773
  // Uses path.relative() instead of startsWith() to avoid sibling-directory bypass
@@ -753,12 +850,7 @@ export async function applyAstRulesToAdditions(ctx, rules, additions, workingDir
753
850
  }
754
851
  // ── ast-grep structural pattern rules ─────────────
755
852
  if (astGrepRules.length > 0) {
756
- const applicableAstGrep = astGrepRules.filter((rule) => {
757
- if (rule.fileGlobs && rule.fileGlobs.length > 0) {
758
- return fileMatchesGlobs(file, rule.fileGlobs);
759
- }
760
- return true;
761
- });
853
+ const applicableAstGrep = astGrepRules.filter((rule) => ruleAppliesToFile(rule, file));
762
854
  if (applicableAstGrep.length > 0) {
763
855
  // Read file content once for all ast-grep rules on this file
764
856
  let content = null;
@@ -785,6 +877,9 @@ export async function applyAstRulesToAdditions(ctx, rules, additions, workingDir
785
877
  // Fall through — content stays null for standard file read failures
786
878
  }
787
879
  if (content) {
880
+ // Bound once so the § Design 8 `file`-scope resolver below closes over a
881
+ // narrowed `string` rather than the outer `string | null` binding.
882
+ const fileText = content;
788
883
  // Batch: parse file once, run all patterns.
789
884
  // Each rule carries either astGrepPattern (string) or astGrepYamlRule
790
885
  // (NapiConfig object); the batch helper polymorphically dispatches on
@@ -815,6 +910,18 @@ export async function applyAstRulesToAdditions(ctx, rules, additions, workingDir
815
910
  const rule = applicableAstGrep[i];
816
911
  const matches = batchResults[i] ?? [];
817
912
  for (const match of matches) {
913
+ // Prop 310 § Design 8 — pass two, ahead of every other per-match
914
+ // check for the same reason as the regex path: a locus whose
915
+ // required context is PRESENT is not a match, so it emits neither a
916
+ // violation nor a `suppress` event. The requirement is a REGEX
917
+ // evaluated textually even here — § Design 8 makes it independent of
918
+ // the target engine ("a context check, not a second matcher").
919
+ if (requiresSuppressesMatch(rule, {
920
+ line: match.lineText,
921
+ file: () => fileText,
922
+ })) {
923
+ continue;
924
+ }
818
925
  // Exempt matches inside inline Rust test modules (#2397).
819
926
  if (isProductionRustRule(rule) &&
820
927
  astGrepRustSpans.some((s) => match.lineNumber >= s.startLine && match.lineNumber <= s.endLine)) {
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../src/rule-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../src/rule-engine.ts"],"names":[],"mappings":"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"}