@mmnto/totem 1.79.0 → 1.81.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 (43) hide show
  1. package/dist/compiler-schema.d.ts +1635 -256
  2. package/dist/compiler-schema.d.ts.map +1 -1
  3. package/dist/compiler-schema.js +110 -10
  4. package/dist/compiler-schema.js.map +1 -1
  5. package/dist/compiler-schema.test.js +164 -7
  6. package/dist/compiler-schema.test.js.map +1 -1
  7. package/dist/compiler.d.ts +1 -1
  8. package/dist/compiler.d.ts.map +1 -1
  9. package/dist/compiler.js +1 -1
  10. package/dist/compiler.js.map +1 -1
  11. package/dist/config-schema.d.ts +6 -6
  12. package/dist/index.d.ts +7 -3
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +4 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/spine/authored-rule.d.ts +1030 -32
  17. package/dist/spine/authored-rule.d.ts.map +1 -1
  18. package/dist/spine/authored-rule.js +115 -1
  19. package/dist/spine/authored-rule.js.map +1 -1
  20. package/dist/spine/authored-rule.test.js +10 -4
  21. package/dist/spine/authored-rule.test.js.map +1 -1
  22. package/dist/spine/authoring-ledger.d.ts +204 -0
  23. package/dist/spine/authoring-ledger.d.ts.map +1 -0
  24. package/dist/spine/authoring-ledger.js +220 -0
  25. package/dist/spine/authoring-ledger.js.map +1 -0
  26. package/dist/spine/authoring-ledger.test.d.ts +2 -0
  27. package/dist/spine/authoring-ledger.test.d.ts.map +1 -0
  28. package/dist/spine/authoring-ledger.test.js +144 -0
  29. package/dist/spine/authoring-ledger.test.js.map +1 -0
  30. package/dist/spine/compile.test.js +5 -2
  31. package/dist/spine/compile.test.js.map +1 -1
  32. package/dist/spine/corpus-dispositions.d.ts +4 -4
  33. package/dist/spine/preimage-differential.d.ts +112 -0
  34. package/dist/spine/preimage-differential.d.ts.map +1 -0
  35. package/dist/spine/preimage-differential.js +122 -0
  36. package/dist/spine/preimage-differential.js.map +1 -0
  37. package/dist/spine/preimage-differential.test.d.ts +2 -0
  38. package/dist/spine/preimage-differential.test.d.ts.map +1 -0
  39. package/dist/spine/preimage-differential.test.js +223 -0
  40. package/dist/spine/preimage-differential.test.js.map +1 -0
  41. package/dist/spine/windtunnel-lock.d.ts +6 -6
  42. package/dist/store/lance-schema.d.ts +2 -2
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-schema.d.ts","sourceRoot":"","sources":["../src/compiler-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler-schema.d.ts","sourceRoot":"","sources":["../src/compiler-schema.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,16 @@ export const AstGrepYamlRuleSchema = NapiConfigSchema;
39
39
  * the very transform/hash-stability hazard flagged for `reviewThread` below.
40
40
  */
41
41
  const COMMIT_SHA_RE = /^[0-9a-f]{40}$/;
42
+ /**
43
+ * ADR-112 §4/§8 — the codomain of an IMMUTABLE lesson reference: the 16-hex
44
+ * `hashLesson` id (`compile-lesson.ts`). A `lessonRef` MUST be this immutable id,
45
+ * never a path (`docs/lessons/foo.md`) or a mutable alias (`latest`) — a drifting
46
+ * anchor would break the §4 preimage-differential's identity discipline. Pinned
47
+ * to the codomain so a path/alias fails LOUD at the schema boundary. NOTE
48
+ * (couple-on-merge, strategy#767): bound to the current 16-hex `hashLesson` form;
49
+ * widen here if the lesson-id codomain ever changes.
50
+ */
51
+ const LESSON_REF_RE = /^[0-9a-f]{16}$/;
42
52
  /**
43
53
  * ISO-8601 shape for an authoring date — a calendar date (`YYYY-MM-DD`) or a full
44
54
  * timestamp with optional fractional seconds + `Z`/offset. Shape only; the calendar
@@ -53,7 +63,7 @@ const ISO_8601_DATE_RE = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|
53
63
  * in the time component — a negative offset can legitimately shift the UTC day, so the
54
64
  * head, not the parsed instant, is what must round-trip.
55
65
  */
56
- function isIso8601CalendarDate(s) {
66
+ export function isIso8601CalendarDate(s) {
57
67
  if (!ISO_8601_DATE_RE.test(s) || Number.isNaN(Date.parse(s)))
58
68
  return false;
59
69
  const [y, m, d] = s.slice(0, 10).split('-').map(Number);
@@ -104,20 +114,80 @@ export const MinedProvenanceWireSchema = z.object({
104
114
  /** Full 40-hex git commit SHA the rule was frozen at. */
105
115
  commitSha: z.string().regex(COMMIT_SHA_RE),
106
116
  });
117
+ /**
118
+ * ADR-112 §4 — the preimage-differential SOURCE for one fixture, a discriminated
119
+ * union on `kind` (declared PER FIXTURE; not a fixed binding to landed commits).
120
+ * The materializer (slice C/D) fires the matcher on the preimage and asserts it
121
+ * is SILENT on the postimage — a matcher that fires only on the fixed form is
122
+ * fix-shaped and is NOT a legitimate positive control (FM(i)):
123
+ * - `lesson` (PRIMARY, review-caught repos): the lesson corpus' `badExample`
124
+ * (preimage — fire) / `goodExample` (postimage — silent). `lessonRef` is an
125
+ * IMMUTABLE lesson id/hash (the `hashLesson` codomain, `LESSON_REF_RE`),
126
+ * never a path/mutable alias (§8 identity discipline).
127
+ * - `commit` (FALLBACK, land-then-fix repos): the pre-fix parent
128
+ * (`preimageCommitSha` — fire) / post-fix merge (`mergeCommitSha` — silent).
129
+ *
130
+ * `z.discriminatedUnion` (not `z.union`): both branches carry a REQUIRED literal
131
+ * `kind`, so Zod routes a parse error to the matched branch instead of emitting
132
+ * "no union member matched" noise (cf. `cert-corpus-seed.ts`'s `window`). The
133
+ * OPTIONAL-discriminator round-trip reason `ProvenanceRecordSchema` documents for
134
+ * its `z.union` does NOT apply — `preimageSource` is a new field with no persisted
135
+ * authored set. Each branch is `.strict()` so a cross-branch key (e.g. a
136
+ * `badExample` under `kind:'commit'`) fails LOUD (FM(d) posture) rather than being
137
+ * silently stripped. All refines are NON-mutating (no `.trim()`) to preserve the
138
+ * manifest-hash stability discipline.
139
+ */
140
+ export const PreimageSourceSchema = z.discriminatedUnion('kind', [
141
+ z
142
+ .object({
143
+ kind: z.literal('lesson'),
144
+ /** IMMUTABLE lesson id/hash (the 16-hex `hashLesson` codomain) — never a path/mutable alias (§4/§8). */
145
+ lessonRef: z.string().regex(LESSON_REF_RE, {
146
+ message: 'lessonRef must be an immutable lesson id (16-hex hashLesson codomain), not a path or mutable alias',
147
+ }),
148
+ /**
149
+ * The defect PREIMAGE exemplar the matcher must FIRE on (§4). This is a lesson
150
+ * corpus `badExample` — distinct from `CompiledRuleBaseSchema.badExample` (an
151
+ * optional human-readable code snippet on a compiled rule); here it is the
152
+ * load-bearing positive-control preimage, so non-empty is required.
153
+ */
154
+ badExample: z.string().refine((s) => s.trim().length > 0, {
155
+ message: 'badExample (the defect preimage the matcher must fire on) must be non-empty',
156
+ }),
157
+ /** The fixed POSTIMAGE exemplar the matcher must stay SILENT on (§4) — a lesson `goodExample`. */
158
+ goodExample: z.string().refine((s) => s.trim().length > 0, {
159
+ message: 'goodExample (the fixed form the matcher must stay silent on) must be non-empty',
160
+ }),
161
+ })
162
+ .strict(),
163
+ z
164
+ .object({
165
+ kind: z.literal('commit'),
166
+ /** The PARENT (pre-fix) commit where the DEFECT is present — the matcher must FIRE on this (ADR-112 §4). */
167
+ preimageCommitSha: z.string().regex(COMMIT_SHA_RE, {
168
+ message: 'preimageCommitSha must be a 40-character lowercase hex commit SHA',
169
+ }),
170
+ /** The PR's merge/squash commit — the post-fix (defect-absent) anchor; the matcher must stay SILENT on this. */
171
+ mergeCommitSha: z.string().regex(COMMIT_SHA_RE, {
172
+ message: 'mergeCommitSha must be a 40-character lowercase hex commit SHA',
173
+ }),
174
+ })
175
+ .strict(),
176
+ ]);
107
177
  /**
108
178
  * ADR-112 §3 — one real lc instance an authored rule claims to catch. ALL such
109
179
  * fixtures are TRAIN-side (the §5 leakage guard); the preimage-differential
110
- * (§4) is evaluated in slice C/D, but the record must CARRY both commits + the
111
- * defect locus here so derivation is possible. `matchedSpan` + `contentHash`
112
- * are the line-drift-stable locus (cf. `firingLabelId`), not just the file.
180
+ * (§4) is evaluated in slice C/D, but the record CARRIES the declared
181
+ * `preimageSource` (lesson | commit) + the defect locus here so derivation is
182
+ * possible. `matchedSpan` + `contentHash` are the line-drift-stable locus
183
+ * (cf. `firingLabelId`), not just the file.
113
184
  */
114
- export const AuthoredFixtureSchema = z.object({
115
- /** The PR whose merge introduced the fix (the in-corpus anchor). */
185
+ export const AuthoredFixtureSchema = z
186
+ .object({
187
+ /** The PR where the defect was caught/introduced (the in-corpus anchor). */
116
188
  pr: z.number().int().positive(),
117
- /** The PR's merge/squash committhe post-fix (defect-absent) anchor. */
118
- mergeCommitSha: z.string().regex(COMMIT_SHA_RE),
119
- /** The PARENT (pre-fix) commit where the DEFECT is present (ADR-112 §4). */
120
- preimageCommitSha: z.string().regex(COMMIT_SHA_RE),
189
+ /** The §4 preimage-differential sourcelesson-anchored (PRIMARY) or commit-pair (FALLBACK). */
190
+ preimageSource: PreimageSourceSchema,
121
191
  /** File the defect locus lives in. */
122
192
  filePath: z.string().refine((s) => s.trim().length > 0, {
123
193
  message: 'filePath must be a non-empty reference',
@@ -130,6 +200,36 @@ export const AuthoredFixtureSchema = z.object({
130
200
  contentHash: z.string().refine((s) => s.trim().length > 0, {
131
201
  message: 'contentHash must be a non-empty hash',
132
202
  }),
203
+ })
204
+ // `.strict()` (CR outside-diff): the outer fixture closes too, not just the union branches —
205
+ // a partially-migrated fixture carrying `preimageSource` AND a leftover flat `mergeCommitSha`/
206
+ // `preimageCommitSha` must fail LOUD, never validate-and-silently-strip the stale key (FM(d)).
207
+ .strict()
208
+ // ANTI-VACUITY FAST-FAIL (GCA finding; strategy#767-blessed defense-in-depth). This is NOT the
209
+ // §4 preimage-differential — that is the load-bearing C/D materializer (fire-on-preimage /
210
+ // silent-on-postimage). This only rejects the DEGENERATE case where the two sides are IDENTICAL:
211
+ // an identical preimage/postimage is an UNCONDITIONALLY vacuous control (a matcher cannot fire on
212
+ // one and stay silent on the other), so it is zero-false-positive to reject at intake — distinct
213
+ // from "does the differential hold", which two *different* sides still must prove in C/D.
214
+ // Non-mutating (compares trimmed, never transforms) — manifest-hash stability. A `superRefine` on
215
+ // the OUTER fixture (not a branch `.refine`, which would wrap a `discriminatedUnion` member in a
216
+ // ZodEffects and break discriminator extraction).
217
+ .superRefine((fixture, ctx) => {
218
+ const src = fixture.preimageSource;
219
+ if (src.kind === 'lesson' && src.badExample.trim() === src.goodExample.trim()) {
220
+ ctx.addIssue({
221
+ code: z.ZodIssueCode.custom,
222
+ message: 'badExample and goodExample must differ — identical sides are a vacuous preimage-differential control (ADR-112 §4)',
223
+ path: ['preimageSource', 'goodExample'],
224
+ });
225
+ }
226
+ if (src.kind === 'commit' && src.preimageCommitSha === src.mergeCommitSha) {
227
+ ctx.addIssue({
228
+ code: z.ZodIssueCode.custom,
229
+ message: 'preimageCommitSha and mergeCommitSha must differ — an identical pre/post commit is a vacuous preimage-differential control (ADR-112 §4)',
230
+ path: ['preimageSource', 'mergeCommitSha'],
231
+ });
232
+ }
133
233
  });
134
234
  /**
135
235
  * ADR-112 §3 — the AUTHORED variant of the `ProvenanceRecord` union. A
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-schema.js","sourceRoot":"","sources":["../src/compiler-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler-schema.js","sourceRoot":"","sources":["../src/compiler-schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { canonicalStringify } from './compile-manifest.js';
3
- import { AstGrepYamlRuleSchema, AuthoredProvenanceRecordSchema, CompiledRuleSchema, CompilerOutputSchema, deriveRuleClass, isAuthoredProvenance, isMinedProvenance, LEDGER_RETRY_PENDING_CODES, LegitimacySchema, MinedProvenanceWireSchema, NapiConfigSchema, NonCompilableEntryReadSchema, NonCompilableEntryWriteSchema, NonCompilableReasonCodeSchema, provenanceKind, ProvenanceRecordSchema, shouldWriteToLedger, } from './compiler-schema.js';
3
+ import { AstGrepYamlRuleSchema, AuthoredFixtureSchema, AuthoredProvenanceRecordSchema, CompiledRuleSchema, CompilerOutputSchema, deriveRuleClass, isAuthoredProvenance, isMinedProvenance, LEDGER_RETRY_PENDING_CODES, LegitimacySchema, MinedProvenanceWireSchema, NapiConfigSchema, NonCompilableEntryReadSchema, NonCompilableEntryWriteSchema, NonCompilableReasonCodeSchema, PreimageSourceSchema, provenanceKind, ProvenanceRecordSchema, shouldWriteToLedger, } from './compiler-schema.js';
4
4
  // ─── NapiConfigSchema / AstGrepYamlRuleSchema ────────
5
5
  describe('NapiConfigSchema', () => {
6
6
  it('accepts a minimal compound rule with a rule key', () => {
@@ -825,8 +825,30 @@ describe('legitimacy / ruleClass marker (mmnto-ai/totem#2183)', () => {
825
825
  positiveFixtures: [
826
826
  {
827
827
  pr: 100,
828
- mergeCommitSha: 'b'.repeat(40),
829
- preimageCommitSha: 'c'.repeat(40),
828
+ // §4 FALLBACK source — commit-pair (land-then-fix).
829
+ preimageSource: {
830
+ kind: 'commit',
831
+ preimageCommitSha: 'c'.repeat(40),
832
+ mergeCommitSha: 'b'.repeat(40),
833
+ },
834
+ filePath: 'src/physics/step.ts',
835
+ matchedSpan: 'L10-L12',
836
+ contentHash: 'deadbeefcafe',
837
+ },
838
+ ],
839
+ };
840
+ // §4 PRIMARY source — lesson-anchored (review-caught); same fixture, lesson preimageSource.
841
+ const authoredLesson = {
842
+ ...authored,
843
+ positiveFixtures: [
844
+ {
845
+ pr: 100,
846
+ preimageSource: {
847
+ kind: 'lesson',
848
+ lessonRef: 'a1b2c3d4e5f60718', // 16-hex hashLesson codomain
849
+ badExample: 'if (a == b) { applyImpulse(); }',
850
+ goodExample: 'if (Math.abs(a - b) < EPS) { applyImpulse(); }',
851
+ },
830
852
  filePath: 'src/physics/step.ts',
831
853
  matchedSpan: 'L10-L12',
832
854
  contentHash: 'deadbeefcafe',
@@ -883,12 +905,147 @@ describe('legitimacy / ruleClass marker (mmnto-ai/totem#2183)', () => {
883
905
  expect(() => AuthoredProvenanceRecordSchema.parse({ ...authored, authoredAt: ok })).not.toThrow();
884
906
  }
885
907
  });
886
- it('rejects a fixture with a malformed preimage/merge SHA', () => {
887
- expect(() => AuthoredProvenanceRecordSchema.parse({
888
- ...authored,
889
- positiveFixtures: [{ ...authored.positiveFixtures[0], preimageCommitSha: 'nope' }],
908
+ it('accepts both §4 preimageSource kinds and preserves the discriminator + branch fields', () => {
909
+ const commit = AuthoredProvenanceRecordSchema.parse(authored);
910
+ const lesson = AuthoredProvenanceRecordSchema.parse(authoredLesson);
911
+ const cSrc = commit.positiveFixtures[0].preimageSource;
912
+ const lSrc = lesson.positiveFixtures[0].preimageSource;
913
+ expect(cSrc.kind).toBe('commit');
914
+ if (cSrc.kind === 'commit')
915
+ expect(cSrc.preimageCommitSha).toBe('c'.repeat(40));
916
+ expect(lSrc.kind).toBe('lesson');
917
+ if (lSrc.kind === 'lesson') {
918
+ expect(lSrc.lessonRef).toBe('a1b2c3d4e5f60718');
919
+ expect(lSrc.badExample).toBe('if (a == b) { applyImpulse(); }');
920
+ }
921
+ });
922
+ // The §4 commit branch carries TWO SHAs; the old flat test only guarded preimageCommitSha.
923
+ // Each malformed-SHA case keeps the OTHER SHA valid so the rejection can ONLY be the regex
924
+ // under test — not a missing-field throw (the rewrap landmine: a bad value must live INSIDE
925
+ // preimageSource; a top-level leftover SHA is now rejected by the strict outer object too).
926
+ // The asserted message text is the GCA-requested regression guard (the message is wired).
927
+ it('rejects a commit preimageSource with a malformed preimageCommitSha (other SHA valid)', () => {
928
+ expect(() => AuthoredFixtureSchema.parse({
929
+ ...authored.positiveFixtures[0],
930
+ preimageSource: {
931
+ kind: 'commit',
932
+ preimageCommitSha: 'nope',
933
+ mergeCommitSha: 'b'.repeat(40),
934
+ },
935
+ })).toThrow(/preimageCommitSha must be a 40-character lowercase hex commit SHA/);
936
+ });
937
+ it('rejects a commit preimageSource with a malformed mergeCommitSha (other SHA valid)', () => {
938
+ expect(() => AuthoredFixtureSchema.parse({
939
+ ...authored.positiveFixtures[0],
940
+ preimageSource: {
941
+ kind: 'commit',
942
+ preimageCommitSha: 'c'.repeat(40),
943
+ mergeCommitSha: 'nope',
944
+ },
945
+ })).toThrow(/mergeCommitSha must be a 40-character lowercase hex commit SHA/);
946
+ });
947
+ it('rejects a fixture carrying a leftover flat SHA alongside preimageSource (strict outer — CR outside-diff)', () => {
948
+ // A partial migration (preimageSource added but a stale flat mergeCommitSha left behind) must
949
+ // fail LOUD under `.strict()`, never validate-and-silently-strip the leftover key (FM(d)).
950
+ expect(() => AuthoredFixtureSchema.parse({
951
+ ...authored.positiveFixtures[0],
952
+ mergeCommitSha: 'b'.repeat(40), // leftover flat field — unknown to the strict fixture
890
953
  })).toThrow();
891
954
  });
955
+ // ANTI-VACUITY fast-fail (GCA finding; strategy#767-blessed). Identical preimage/postimage sides
956
+ // are an UNCONDITIONALLY vacuous control — rejected at intake. This is NOT the §4 differential
957
+ // (that's C/D); it only catches the degenerate identical-sides case (zero-false-positive).
958
+ it('rejects a lesson fixture whose badExample equals its goodExample (vacuous — identical sides)', () => {
959
+ expect(() => AuthoredFixtureSchema.parse({
960
+ ...authoredLesson.positiveFixtures[0],
961
+ preimageSource: {
962
+ kind: 'lesson',
963
+ lessonRef: 'a1b2c3d4e5f60718',
964
+ badExample: 'if (a == b) {}',
965
+ goodExample: ' if (a == b) {} ', // trim-equal → still vacuous (non-mutating compare)
966
+ },
967
+ })).toThrow(/identical sides|must differ/i);
968
+ });
969
+ it('rejects a commit fixture whose preimageCommitSha equals its mergeCommitSha (vacuous — identical sides)', () => {
970
+ expect(() => AuthoredFixtureSchema.parse({
971
+ ...authored.positiveFixtures[0],
972
+ preimageSource: {
973
+ kind: 'commit',
974
+ preimageCommitSha: 'a'.repeat(40),
975
+ mergeCommitSha: 'a'.repeat(40),
976
+ },
977
+ })).toThrow(/identical pre\/post commit|must differ/i);
978
+ });
979
+ it('rejects a lesson preimageSource whose lessonRef is a path or mutable alias (immutable 16-hex id only)', () => {
980
+ for (const badRef of [
981
+ 'docs/lessons/foo.md',
982
+ 'latest',
983
+ 'a1b2c3d4e5f60718x',
984
+ 'A1B2C3D4E5F60718',
985
+ ]) {
986
+ expect(() => PreimageSourceSchema.parse({
987
+ kind: 'lesson',
988
+ lessonRef: badRef,
989
+ badExample: 'x == y',
990
+ goodExample: 'abs(x - y) < EPS',
991
+ })).toThrow();
992
+ }
993
+ });
994
+ it('rejects a lesson preimageSource with a whitespace-only badExample or goodExample (vacuous control)', () => {
995
+ const base = { kind: 'lesson', lessonRef: 'a1b2c3d4e5f60718' };
996
+ expect(() => PreimageSourceSchema.parse({ ...base, badExample: ' ', goodExample: 'ok' })).toThrow();
997
+ expect(() => PreimageSourceSchema.parse({ ...base, badExample: 'bad', goodExample: ' ' })).toThrow();
998
+ });
999
+ it('rejects a fixture missing preimageSource entirely (§4 source is required)', () => {
1000
+ const { preimageSource: _omit, ...noSource } = authored.positiveFixtures[0];
1001
+ void _omit;
1002
+ expect(() => AuthoredFixtureSchema.parse(noSource)).toThrow();
1003
+ });
1004
+ it('rejects a preimageSource with a missing or unknown kind (discriminated union)', () => {
1005
+ const validLessonBody = {
1006
+ lessonRef: 'a1b2c3d4e5f60718',
1007
+ badExample: 'x == y',
1008
+ goodExample: 'abs(x - y) < EPS',
1009
+ };
1010
+ // No kind at all, and a bogus kind on an otherwise-valid lesson body — both fail the discriminator.
1011
+ expect(() => PreimageSourceSchema.parse(validLessonBody)).toThrow();
1012
+ expect(() => PreimageSourceSchema.parse({ kind: 'bogus', ...validLessonBody })).toThrow();
1013
+ });
1014
+ it('rejects a cross-branch leak — a lesson key under kind:commit (strict branch, FM(d))', () => {
1015
+ expect(() => PreimageSourceSchema.parse({
1016
+ kind: 'commit',
1017
+ preimageCommitSha: 'c'.repeat(40),
1018
+ mergeCommitSha: 'b'.repeat(40),
1019
+ badExample: 'x == y', // foreign key — strict branch fails LOUD, never silently stripped
1020
+ })).toThrow();
1021
+ });
1022
+ it('does not mutate whitespace-padded (but non-empty) lesson exemplars (non-mutating validator)', () => {
1023
+ const padded = ' if (a == b) {} ';
1024
+ const parsed = PreimageSourceSchema.parse({
1025
+ kind: 'lesson',
1026
+ lessonRef: 'a1b2c3d4e5f60718',
1027
+ badExample: padded,
1028
+ goodExample: padded,
1029
+ });
1030
+ if (parsed.kind === 'lesson') {
1031
+ expect(parsed.badExample).toBe(padded);
1032
+ expect(parsed.goodExample).toBe(padded);
1033
+ }
1034
+ });
1035
+ it('threads the union through negativeFixtures (same shape, lesson kind)', () => {
1036
+ const withNeg = AuthoredProvenanceRecordSchema.parse({
1037
+ ...authored,
1038
+ negativeFixtures: authoredLesson.positiveFixtures,
1039
+ });
1040
+ expect(withNeg.negativeFixtures?.[0].preimageSource.kind).toBe('lesson');
1041
+ });
1042
+ it('round-trips a fixture-bearing authored record byte-identically (manifest-hash safe)', () => {
1043
+ for (const rec of [authored, authoredLesson]) {
1044
+ const before = canonicalStringify(rec);
1045
+ const after = canonicalStringify(AuthoredProvenanceRecordSchema.parse(rec));
1046
+ expect(after).toBe(before);
1047
+ }
1048
+ });
892
1049
  it('does not let an authored record masquerade as mined (kind required on authored branch)', () => {
893
1050
  // An authored-shaped payload tagged kind:'mined' must validate as NEITHER branch: it lacks
894
1051
  // the mined wire's required fields (mergedPr/reviewThread/commitSha) AND fails the authored