assertledger 1.3.1 → 1.5.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 (107) hide show
  1. package/README.fr.md +6 -3
  2. package/README.md +6 -3
  3. package/conformance/schema-extensions.json +15 -0
  4. package/dist/build-info.json +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +218 -8
  7. package/dist/cli.js.map +1 -1
  8. package/dist/contracts/index.d.ts +467 -4
  9. package/dist/contracts/index.d.ts.map +1 -1
  10. package/dist/contracts/index.js +256 -3
  11. package/dist/contracts/index.js.map +1 -1
  12. package/dist/contracts/qualification.d.ts +528 -0
  13. package/dist/contracts/qualification.d.ts.map +1 -0
  14. package/dist/contracts/qualification.js +357 -0
  15. package/dist/contracts/qualification.js.map +1 -0
  16. package/dist/core/index.d.ts +9 -0
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/core/index.js +46 -2
  19. package/dist/core/index.js.map +1 -1
  20. package/dist/core/qualification.d.ts +17 -0
  21. package/dist/core/qualification.d.ts.map +1 -0
  22. package/dist/core/qualification.js +571 -0
  23. package/dist/core/qualification.js.map +1 -0
  24. package/dist/diagnostics.d.ts.map +1 -1
  25. package/dist/diagnostics.js +81 -4
  26. package/dist/diagnostics.js.map +1 -1
  27. package/dist/engine/adapters/bun-native.d.ts +35 -0
  28. package/dist/engine/adapters/bun-native.d.ts.map +1 -0
  29. package/dist/engine/adapters/bun-native.js +179 -0
  30. package/dist/engine/adapters/bun-native.js.map +1 -0
  31. package/dist/engine/adapters/bun-test-designated-profile.d.ts +23 -0
  32. package/dist/engine/adapters/bun-test-designated-profile.d.ts.map +1 -0
  33. package/dist/engine/adapters/bun-test-designated-profile.js +24 -0
  34. package/dist/engine/adapters/bun-test-designated-profile.js.map +1 -0
  35. package/dist/engine/container.d.ts +7 -0
  36. package/dist/engine/container.d.ts.map +1 -1
  37. package/dist/engine/container.js +22 -7
  38. package/dist/engine/container.js.map +1 -1
  39. package/dist/engine/git-regression.d.ts.map +1 -1
  40. package/dist/engine/git-regression.js +9 -2
  41. package/dist/engine/git-regression.js.map +1 -1
  42. package/dist/engine/index.d.ts +14 -0
  43. package/dist/engine/index.d.ts.map +1 -1
  44. package/dist/engine/index.js +828 -97
  45. package/dist/engine/index.js.map +1 -1
  46. package/dist/engine/qualification.d.ts +154 -0
  47. package/dist/engine/qualification.d.ts.map +1 -0
  48. package/dist/engine/qualification.js +725 -0
  49. package/dist/engine/qualification.js.map +1 -0
  50. package/dist/engine/test-closure.d.ts +39 -0
  51. package/dist/engine/test-closure.d.ts.map +1 -0
  52. package/dist/engine/test-closure.js +513 -0
  53. package/dist/engine/test-closure.js.map +1 -0
  54. package/dist/engine/witness-import.d.ts +31 -0
  55. package/dist/engine/witness-import.d.ts.map +1 -0
  56. package/dist/engine/witness-import.js +224 -0
  57. package/dist/engine/witness-import.js.map +1 -0
  58. package/dist/index.d.ts +3 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +3 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/mcp/index.d.ts.map +1 -1
  63. package/dist/mcp/index.js +65 -0
  64. package/dist/mcp/index.js.map +1 -1
  65. package/dist/sdk/index.d.ts +292 -3
  66. package/dist/sdk/index.d.ts.map +1 -1
  67. package/dist/sdk/index.js +39 -1
  68. package/dist/sdk/index.js.map +1 -1
  69. package/docs/container-isolation.md +6 -0
  70. package/docs/migration-orchestration-qualification-v1.md +109 -0
  71. package/docs/migration-verification-v4.md +94 -0
  72. package/docs/orchestration-qualification.md +167 -0
  73. package/docs/reference.md +13 -0
  74. package/docs/witness-import.md +67 -0
  75. package/examples/orchestration/README.md +68 -0
  76. package/examples/orchestration/consumer-obligations.json +101 -0
  77. package/examples/orchestration/workspace/bitbucket-pipelines.yml +10 -0
  78. package/examples/orchestration/workspace/command-shape.test.mjs +25 -0
  79. package/examples/orchestration/workspace/commands.mjs +14 -0
  80. package/examples/orchestration/workspace/completion.mjs +39 -0
  81. package/examples/orchestration/workspace/faults.json +1 -0
  82. package/examples/orchestration/workspace/native.test.ts +4 -0
  83. package/examples/orchestration/workspace/package.json +6 -0
  84. package/examples/orchestration/workspace/packages/app/package.json +12 -0
  85. package/examples/orchestration/workspace/packages/app/verdict.txt +1 -0
  86. package/examples/orchestration/workspace/packages/leaf/package.json +9 -0
  87. package/examples/orchestration/workspace/packages/leaf/verdict.txt +1 -0
  88. package/examples/orchestration/workspace/pnpm-lock.yaml +170 -0
  89. package/examples/orchestration/workspace/pnpm-workspace.yaml +2 -0
  90. package/examples/orchestration/workspace/task.mjs +23 -0
  91. package/examples/orchestration/workspace/turbo.json +38 -0
  92. package/examples/orchestration/workspace/wrapper.mjs +45 -0
  93. package/integrations/bun/driver.d.mts +30 -1
  94. package/integrations/bun/driver.mjs +215 -6
  95. package/integrations/bun/preload.mjs +186 -5
  96. package/integrations/bun-native/README.md +86 -0
  97. package/integrations/bun-native/driver.mjs +396 -0
  98. package/integrations/bun-native/preload.mjs +375 -0
  99. package/integrations/skill/SKILL.md +25 -5
  100. package/package.json +1 -1
  101. package/schemas/evidence-manifest.v4.json +995 -0
  102. package/schemas/qualification-execution-request.v1.json +571 -0
  103. package/schemas/qualification-plan.v1.json +528 -0
  104. package/schemas/qualification-receipt.v1.json +821 -0
  105. package/schemas/qualification-replay-result.v1.json +37 -0
  106. package/schemas/verification-request.v4.json +590 -0
  107. package/schemas/witness-import-request.v1.json +231 -0
@@ -0,0 +1,357 @@
1
+ import * as z from "zod";
2
+ /** Supported collector contracts; package/runtime versions are separate identities. */
3
+ export const QUALIFICATION_ADAPTER_VERSIONS = Object.freeze({
4
+ command: "1.0.0",
5
+ turbo: "1.0.0",
6
+ "node-test": "1.0.0",
7
+ "bun-native": "1.0.0",
8
+ "ci-config": "1.0.0",
9
+ });
10
+ export const QualificationJsonSchema = z.json();
11
+ const Id = z
12
+ .string()
13
+ .min(1)
14
+ .max(128)
15
+ .regex(/^[A-Za-z0-9][A-Za-z0-9._-]*$/);
16
+ const Digest = z.string().regex(/^sha256:[a-f0-9]{64}$/);
17
+ const RelativePath = z
18
+ .string()
19
+ .min(1)
20
+ .max(512)
21
+ .refine((value) => !value.includes("\\") &&
22
+ !value.includes(":") &&
23
+ !value.startsWith("/") &&
24
+ value
25
+ .split("/")
26
+ .every((part) => part !== "" &&
27
+ part !== "." &&
28
+ part !== ".." &&
29
+ [...part].every((character) => character.charCodeAt(0) >= 32) &&
30
+ !/[. ]$/.test(part) &&
31
+ !/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(part)), "Expected a portable relative path");
32
+ const File = z.strictObject({ path: RelativePath, content: z.string().max(1_048_576) });
33
+ const Check = z.strictObject({
34
+ id: Id,
35
+ actionId: Id,
36
+ field: z.string().min(1).max(512),
37
+ expected: QualificationJsonSchema,
38
+ });
39
+ export const QualificationObservationSchema = z.strictObject({
40
+ worldId: Id,
41
+ attempt: z.int().min(1).max(10),
42
+ actionId: Id,
43
+ state: z.enum(["COMPLETED", "TIMEOUT", "CRASH", "INFRA_ERROR", "COLLECTION_ERROR", "NO_TESTS"]),
44
+ facts: z.record(z.string(), QualificationJsonSchema),
45
+ bindingDigest: Digest,
46
+ });
47
+ export const QualificationPlanSchema = z.strictObject({
48
+ schemaVersion: z.literal("1.0.0"),
49
+ profileId: Id,
50
+ subject: z.strictObject({
51
+ commit: z.string().min(1).max(128),
52
+ baseCommit: z.string().min(1).max(128),
53
+ candidateDigest: Digest,
54
+ inputDigest: Digest,
55
+ }),
56
+ ciTrust: z
57
+ .strictObject({
58
+ repositoryId: z.string().min(1).max(512),
59
+ observerId: Id,
60
+ publicKeyPem: z.string().min(1).max(8192),
61
+ requiredSteps: z
62
+ .array(z.strictObject({ id: Id, commandDigest: Digest }))
63
+ .min(1)
64
+ .max(1000),
65
+ })
66
+ .optional(),
67
+ tools: z
68
+ .array(z.strictObject({
69
+ id: Id,
70
+ version: z.string().min(1).max(128),
71
+ digest: Digest,
72
+ identityPath: z
73
+ .string()
74
+ .min(1)
75
+ .max(4096)
76
+ .refine((value) => /^(?:[A-Za-z]:[\\/]|\/|\\\\[^\\]+\\[^\\]+)/.test(value) &&
77
+ [...value].every((character) => character.charCodeAt(0) >= 32), "Tool identity must name an absolute path")
78
+ .optional(),
79
+ versionCommand: z
80
+ .strictObject({
81
+ executable: z.string().min(1).max(4096),
82
+ arguments: z.array(z.string().max(8192)).max(100),
83
+ })
84
+ .optional(),
85
+ }))
86
+ .min(1)
87
+ .max(100),
88
+ suites: z
89
+ .array(z.strictObject({
90
+ id: Id,
91
+ files: z.array(RelativePath).max(1000),
92
+ extraction: z.enum(["COMPLETE", "UNAVAILABLE", "OMITTED"]),
93
+ }))
94
+ .max(1000),
95
+ obligations: z
96
+ .array(z.strictObject({
97
+ id: Id,
98
+ kind: z.enum([
99
+ "tests",
100
+ "selection",
101
+ "cache",
102
+ "propagation",
103
+ "wrapper",
104
+ "ci-config",
105
+ "ci-local",
106
+ "ci-live",
107
+ ]),
108
+ required: z.boolean(),
109
+ suiteIds: z.array(Id).max(1000),
110
+ checks: z.array(Check).min(1).max(1000),
111
+ limits: z.array(z.string().min(1).max(2048)).max(100),
112
+ }))
113
+ .min(1)
114
+ .max(1000),
115
+ actions: z
116
+ .array(z.strictObject({
117
+ id: Id,
118
+ adapter: z.enum(["command", "turbo", "node-test", "bun-native", "ci-config"]),
119
+ executable: z.string().min(1).max(1024),
120
+ arguments: z.array(z.string().max(8192)).max(100),
121
+ environment: z.record(z
122
+ .string()
123
+ .regex(/^[A-Za-z_][A-Za-z0-9_]*$/)
124
+ .refine((key) => !/^(NODE_OPTIONS|NODE_TEST_|TESTFORGE_|ASSERTLEDGER_|QUALIFICATION_|HOME$|USERPROFILE$|COMSPEC$|SHELL$)/i.test(key), "Reserved environment key"), z.string().max(8192)),
125
+ prepareFiles: z.array(File).max(1000),
126
+ removePaths: z.array(RelativePath).max(1000),
127
+ observe: z.strictObject({
128
+ trace: z.boolean(),
129
+ outputs: z.array(RelativePath).max(1000),
130
+ report: RelativePath.nullable(),
131
+ }),
132
+ }))
133
+ .min(1)
134
+ .max(1000),
135
+ worlds: z
136
+ .array(z.strictObject({
137
+ id: Id,
138
+ kind: z.enum(["REFERENCE", "TARGET", "NEUTRAL"]),
139
+ files: z.array(File).max(1000),
140
+ discriminants: z
141
+ .array(z.strictObject({ obligationId: Id, checkIds: z.array(Id).min(1).max(1000) }))
142
+ .max(1000),
143
+ }))
144
+ .min(2)
145
+ .max(1000),
146
+ requiredAttempts: z.int().min(2).max(10),
147
+ timeoutMs: z.int().min(1).max(600_000),
148
+ maximumOutputBytes: z.int().min(1).max(16_777_216),
149
+ isolation: z.strictObject({
150
+ kind: z.literal("trusted-local"),
151
+ acknowledgedUnsafeExecution: z.literal(true),
152
+ }),
153
+ allowedCandidatePaths: z.array(RelativePath).max(1000),
154
+ });
155
+ export const QualificationExecutionRequestSchema = z.strictObject({
156
+ root: z.string().min(1).max(4096),
157
+ plan: QualificationPlanSchema,
158
+ planDigest: Digest,
159
+ candidate: z.strictObject({ files: z.array(File).max(1000) }),
160
+ });
161
+ export const QualificationExpectedDomainSchema = z.strictObject({
162
+ planDigest: Digest,
163
+ candidateDigest: Digest,
164
+ inputDigest: Digest,
165
+ commit: z.string().min(1).max(128),
166
+ baseCommit: z.string().min(1).max(128),
167
+ mechanismDigest: Digest.optional(),
168
+ });
169
+ export function parseQualificationPlan(value) {
170
+ const plan = QualificationPlanSchema.parse(value);
171
+ const unique = (ids, label) => {
172
+ if (new Set(ids.map((id) => id.toLowerCase())).size !== ids.length)
173
+ throw new Error(`Duplicate ${label}`);
174
+ };
175
+ for (const [label, items] of [
176
+ ["tool", plan.tools],
177
+ ["suite", plan.suites],
178
+ ["obligation", plan.obligations],
179
+ ["action", plan.actions],
180
+ ["world", plan.worlds],
181
+ ])
182
+ unique(items.map((item) => item.id), label);
183
+ unique(plan.allowedCandidatePaths, "candidate path");
184
+ if (plan.ciTrust)
185
+ unique(plan.ciTrust.requiredSteps.map((step) => step.id), "CI required step");
186
+ const actions = new Set(plan.actions.map((action) => action.id));
187
+ const suites = new Set(plan.suites.map((suite) => suite.id));
188
+ for (const suite of plan.suites)
189
+ unique(suite.files, "suite file");
190
+ for (const obligation of plan.obligations) {
191
+ unique(obligation.suiteIds, "suite reference");
192
+ unique(obligation.checks.map((check) => check.id), "check");
193
+ if (obligation.suiteIds.some((id) => !suites.has(id)) ||
194
+ obligation.checks.some((check) => !actions.has(check.actionId)))
195
+ throw new Error("Unknown obligation reference");
196
+ if (obligation.kind === "tests" && obligation.suiteIds.length === 0)
197
+ throw new Error("Test obligation requires a suite");
198
+ if (obligation.kind === "tests") {
199
+ const checkedActions = plan.actions.filter((action) => (action.adapter === "node-test" || action.adapter === "bun-native") &&
200
+ obligation.checks.some((check) => check.actionId === action.id));
201
+ for (const suiteId of obligation.suiteIds) {
202
+ const suite = plan.suites.find((item) => item.id === suiteId);
203
+ if (suite?.files.some((file) => !checkedActions.some((action) => action.arguments.includes(file))))
204
+ throw new Error(`Test suite requires a checked test action:${suiteId}`);
205
+ }
206
+ }
207
+ }
208
+ for (const action of plan.actions) {
209
+ unique(action.prepareFiles.map((file) => file.path), "prepare path");
210
+ unique(action.removePaths, "remove path");
211
+ unique(action.observe.outputs, "output path");
212
+ }
213
+ if (!["REFERENCE", "NEUTRAL"].every((kind) => plan.worlds.some((world) => world.kind === kind)))
214
+ throw new Error("Reference and neutral worlds required");
215
+ for (const world of plan.worlds) {
216
+ unique(world.files.map((file) => file.path), "world path");
217
+ unique(world.discriminants.map((item) => item.obligationId), "discriminant");
218
+ if (world.kind !== "TARGET" && world.discriminants.length > 0)
219
+ throw new Error("Only target worlds declare discriminants");
220
+ if (world.kind === "TARGET" && world.discriminants.length === 0)
221
+ throw new Error("Target world requires a discriminant");
222
+ for (const discriminant of world.discriminants) {
223
+ unique(discriminant.checkIds, "discriminant check");
224
+ const obligation = plan.obligations.find((item) => item.id === discriminant.obligationId);
225
+ if (!obligation ||
226
+ discriminant.checkIds.some((id) => !obligation.checks.some((check) => check.id === id)))
227
+ throw new Error("Unknown discriminant reference");
228
+ if (obligation.kind === "ci-live")
229
+ throw new Error("Target discriminant requires a locally evaluated obligation");
230
+ }
231
+ }
232
+ return plan;
233
+ }
234
+ const RuntimePath = z
235
+ .string()
236
+ .min(1)
237
+ .max(4096)
238
+ .refine((value) => /^(?:[A-Za-z]:[\\/]|\/|\\\\[^\\]+\\[^\\]+)/.test(value) &&
239
+ [...value].every((character) => character.charCodeAt(0) >= 32), "Runtime tool identity must name an absolute path");
240
+ export const QUALIFICATION_SNAPSHOT_EXCLUDES = [
241
+ ".git",
242
+ ".testforge",
243
+ ".turbo",
244
+ "coverage",
245
+ "node_modules",
246
+ ];
247
+ export const QualificationRuntimeSchema = z.strictObject({
248
+ mechanismDigest: Digest,
249
+ platform: z.string().min(1).max(128),
250
+ architecture: z.string().min(1).max(128),
251
+ node: z.string().regex(/^\d+\.\d+\.\d+(?:[-+][A-Za-z0-9.-]+)?$/),
252
+ tools: z.record(Id, z.strictObject({
253
+ executable: RuntimePath,
254
+ identityPath: RuntimePath,
255
+ digest: Digest,
256
+ version: z.string().min(1).max(128),
257
+ versionArguments: z.array(z.string().max(8192)).max(100),
258
+ })),
259
+ collectorDigest: Digest,
260
+ snapshotExcludes: z.tuple([
261
+ z.literal(".git"),
262
+ z.literal(".testforge"),
263
+ z.literal(".turbo"),
264
+ z.literal("coverage"),
265
+ z.literal("node_modules"),
266
+ ]),
267
+ dependencySnapshot: z.literal("EXCLUDED_NODE_MODULES"),
268
+ });
269
+ export const QualificationProvenanceSchema = z.strictObject({
270
+ engineVersion: z.string().min(1),
271
+ adapterVersions: z.record(z.string(), z.string().min(1)),
272
+ runtime: QualificationRuntimeSchema,
273
+ executionTrust: z.literal("TRUSTED_LOCAL_UNSANDBOXED"),
274
+ });
275
+ export const QualificationCiObservationSchema = z.strictObject({
276
+ protocolVersion: z.literal("1.0.0"),
277
+ provider: z.literal("bitbucket"),
278
+ repositoryId: z.string().min(1).max(512),
279
+ observerId: Id,
280
+ commit: z.string().min(1).max(128),
281
+ baseCommit: z.string().min(1).max(128),
282
+ candidateDigest: Digest,
283
+ inputDigest: Digest,
284
+ planDigest: Digest,
285
+ pipelineId: z.string().min(1).max(128),
286
+ pipelineUrl: z.string().min(1).max(2048),
287
+ steps: z
288
+ .array(z.strictObject({
289
+ id: Id,
290
+ commandDigest: Digest,
291
+ commit: z.string().min(1).max(128),
292
+ result: z.enum(["SUCCESS", "FAILURE", "SKIPPED"]),
293
+ }))
294
+ .max(1000),
295
+ terminalResult: z.enum(["SUCCESS", "FAILURE", "STOPPED"]),
296
+ signature: z.string().regex(/^[A-Za-z0-9+/]{86}==$/),
297
+ });
298
+ export const QualificationAssessmentSchema = z.strictObject({
299
+ obligationId: Id,
300
+ kind: z.string(),
301
+ required: z.boolean(),
302
+ status: z.enum(["COVERED", "OPEN", "REJECTED"]),
303
+ reasons: z.array(z.string()),
304
+ mismatchCheckIds: z.array(Id),
305
+ });
306
+ export const QualificationReceiptSchema = z.strictObject({
307
+ schemaVersion: z.literal("1.0.0"),
308
+ plan: QualificationPlanSchema,
309
+ planDigest: Digest,
310
+ candidateDigest: Digest,
311
+ observations: z.array(QualificationObservationSchema),
312
+ provenance: QualificationProvenanceSchema,
313
+ externalCi: QualificationJsonSchema.nullable(),
314
+ assessments: z.array(QualificationAssessmentSchema),
315
+ coveredGuaranteeIds: z.array(Id),
316
+ openGuaranteeIds: z.array(Id),
317
+ decision: z.enum(["QUALIFIED", "OPEN", "REJECTED"]),
318
+ decisionDigest: Digest,
319
+ artifactDigest: Digest,
320
+ });
321
+ export const QualificationReplayResultSchema = z.strictObject({
322
+ valid: z.boolean(),
323
+ integrityValid: z.boolean(),
324
+ semanticsValid: z.boolean(),
325
+ domainValid: z.boolean(),
326
+ reexecuted: z.literal(false),
327
+ producerAuthenticated: z.literal(false),
328
+ });
329
+ export function qualificationPlanJsonSchema() {
330
+ return {
331
+ ...z.toJSONSchema(QualificationPlanSchema),
332
+ $id: "https://testforge.dev/schemas/qualification-plan.v1.json",
333
+ title: "Orchestration qualification plan v1",
334
+ };
335
+ }
336
+ export function qualificationReceiptJsonSchema() {
337
+ return {
338
+ ...z.toJSONSchema(QualificationReceiptSchema),
339
+ $id: "https://testforge.dev/schemas/qualification-receipt.v1.json",
340
+ title: "Orchestration qualification receipt v1",
341
+ };
342
+ }
343
+ export function qualificationReplayResultJsonSchema() {
344
+ return {
345
+ ...z.toJSONSchema(QualificationReplayResultSchema),
346
+ $id: "https://testforge.dev/schemas/qualification-replay-result.v1.json",
347
+ title: "Orchestration qualification replay result v1",
348
+ };
349
+ }
350
+ export function qualificationExecutionRequestJsonSchema() {
351
+ return {
352
+ ...z.toJSONSchema(QualificationExecutionRequestSchema),
353
+ $id: "https://testforge.dev/schemas/qualification-execution-request.v1.json",
354
+ title: "Orchestration qualification execution request v1",
355
+ };
356
+ }
357
+ //# sourceMappingURL=qualification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qualification.js","sourceRoot":"","sources":["../../src/contracts/qualification.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,15 @@ export interface EvidenceContext {
47
47
  candidateRoots: string[];
48
48
  backend?: JsonValue;
49
49
  };
50
+ repository?: {
51
+ includeDependencies: boolean;
52
+ omittedLinks: string[];
53
+ git: {
54
+ mode: "synthesized";
55
+ treeId: string;
56
+ gitVersion: string;
57
+ } | null;
58
+ };
50
59
  worlds: Array<{
51
60
  id: string;
52
61
  provenance: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ const EVIDENCE_SCHEMA_VERSION = "1.0.0";
3
3
  // Version 2.0.0 adds a decision-bound execution backend record; its absence stays a v1 manifest.
4
4
  const EVIDENCE_SCHEMA_VERSION_V2 = "2.0.0";
5
5
  const EVIDENCE_SCHEMA_VERSION_V3 = "3.0.0";
6
+ // Version 4.0.0 also binds the repository snapshot scope: dependencies and omitted links.
7
+ const EVIDENCE_SCHEMA_VERSION_V4 = "4.0.0";
6
8
  const EVIDENCE_POLICY_VERSION = "1.0.0";
7
9
  const SHA256_DIGEST_PATTERN = /^sha256:[a-f0-9]{64}$/u;
8
10
  const OBSERVATION_OUTCOMES = new Set([
@@ -183,6 +185,40 @@ function sortedUniqueStrings(record, key, maximumItems, maximumLength) {
183
185
  }
184
186
  return [...new Set(value)].sort(compareOrdinal);
185
187
  }
188
+ function parseRepositorySnapshot(value) {
189
+ if (!isRecord(value))
190
+ throw new TypeError("evidenceContext.repository must be an object");
191
+ if (typeof value.includeDependencies !== "boolean") {
192
+ throw new TypeError("evidenceContext.repository.includeDependencies must be boolean");
193
+ }
194
+ const links = value.omittedLinks;
195
+ if (!Array.isArray(links) ||
196
+ links.length > 10_000 ||
197
+ links.some((link, index) => typeof link !== "string" ||
198
+ link.length === 0 ||
199
+ link.length > 1_024 ||
200
+ (index > 0 && compareOrdinal(links[index - 1], link) >= 0))) {
201
+ throw new TypeError("evidenceContext.repository.omittedLinks must be sorted unique paths");
202
+ }
203
+ const git = value.git;
204
+ if (git === null) {
205
+ return { includeDependencies: value.includeDependencies, omittedLinks: [...links], git: null };
206
+ }
207
+ if (!isRecord(git) ||
208
+ git.mode !== "synthesized" ||
209
+ typeof git.treeId !== "string" ||
210
+ !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u.test(git.treeId) ||
211
+ typeof git.gitVersion !== "string" ||
212
+ git.gitVersion.length === 0 ||
213
+ git.gitVersion.length > 256) {
214
+ throw new TypeError("evidenceContext.repository.git must be null or a synthesized tree record");
215
+ }
216
+ return {
217
+ includeDependencies: value.includeDependencies,
218
+ omittedLinks: [...links],
219
+ git: { mode: "synthesized", treeId: git.treeId, gitVersion: git.gitVersion },
220
+ };
221
+ }
186
222
  function parseEvidenceContext(value, schemaVersion) {
187
223
  if (!isRecord(value))
188
224
  throw new TypeError("evidenceContext must be an object");
@@ -193,10 +229,16 @@ function parseEvidenceContext(value, schemaVersion) {
193
229
  if (!isRecord(value.execution)) {
194
230
  throw new TypeError("evidenceContext.execution must be an object");
195
231
  }
196
- const backendRequired = schemaVersion === EVIDENCE_SCHEMA_VERSION_V2 || schemaVersion === EVIDENCE_SCHEMA_VERSION_V3;
232
+ const backendRequired = schemaVersion === EVIDENCE_SCHEMA_VERSION_V2 ||
233
+ schemaVersion === EVIDENCE_SCHEMA_VERSION_V3 ||
234
+ schemaVersion === EVIDENCE_SCHEMA_VERSION_V4;
197
235
  if (backendRequired && !isRecord(value.execution.backend)) {
198
236
  throw new TypeError("evidenceContext.execution.backend must be an object");
199
237
  }
238
+ const repositoryRequired = schemaVersion === EVIDENCE_SCHEMA_VERSION_V4;
239
+ if (repositoryRequired && !isRecord(value.repository)) {
240
+ throw new TypeError("evidenceContext.repository must be an object");
241
+ }
200
242
  if (!Array.isArray(value.worlds) || value.worlds.length === 0) {
201
243
  throw new TypeError("evidenceContext.worlds must be non-empty");
202
244
  }
@@ -231,6 +273,7 @@ function parseEvidenceContext(value, schemaVersion) {
231
273
  candidateRoots: sortedUniqueStrings(value.execution, "candidateRoots", 100, 512),
232
274
  ...(backendRequired ? { backend: jsonField(value.execution, "backend") } : {}),
233
275
  },
276
+ ...(repositoryRequired ? { repository: parseRepositorySnapshot(value.repository) } : {}),
234
277
  worlds,
235
278
  };
236
279
  }
@@ -240,7 +283,8 @@ function parseInputUnchecked(input) {
240
283
  const schemaVersion = stringField(input, "schemaVersion");
241
284
  if (schemaVersion !== EVIDENCE_SCHEMA_VERSION &&
242
285
  schemaVersion !== EVIDENCE_SCHEMA_VERSION_V2 &&
243
- schemaVersion !== EVIDENCE_SCHEMA_VERSION_V3) {
286
+ schemaVersion !== EVIDENCE_SCHEMA_VERSION_V3 &&
287
+ schemaVersion !== EVIDENCE_SCHEMA_VERSION_V4) {
244
288
  throw new TypeError(`Unsupported schemaVersion: ${schemaVersion}`);
245
289
  }
246
290
  const policyValue = input.policy;