assertledger 1.1.0 → 1.2.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.
- package/README.fr.md +14 -4
- package/README.md +14 -4
- package/conformance/schema-extensions.json +25 -0
- package/dist/build-info.json +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +68 -20
- package/dist/cli.js.map +1 -1
- package/dist/contracts/index.d.ts +510 -4
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +230 -16
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/runtime-doctor.d.ts +123 -0
- package/dist/contracts/runtime-doctor.d.ts.map +1 -1
- package/dist/contracts/runtime-doctor.js +64 -0
- package/dist/contracts/runtime-doctor.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +16 -6
- package/dist/core/index.js.map +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +26 -2
- package/dist/diagnostics.js.map +1 -1
- package/dist/engine/adapters/bun-test-profile.d.ts +17 -0
- package/dist/engine/adapters/bun-test-profile.d.ts.map +1 -0
- package/dist/engine/adapters/bun-test-profile.js +17 -0
- package/dist/engine/adapters/bun-test-profile.js.map +1 -0
- package/dist/engine/git-regression.d.ts +2 -2
- package/dist/engine/git-regression.d.ts.map +1 -1
- package/dist/engine/git-regression.js.map +1 -1
- package/dist/engine/index.d.ts +11 -5
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +454 -49
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/runtime-doctor.d.ts +13 -4
- package/dist/engine/runtime-doctor.d.ts.map +1 -1
- package/dist/engine/runtime-doctor.js +80 -2
- package/dist/engine/runtime-doctor.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +36 -6
- package/dist/mcp/index.js.map +1 -1
- package/dist/proof-planner/carry-over.d.ts +21 -0
- package/dist/proof-planner/carry-over.d.ts.map +1 -0
- package/dist/proof-planner/carry-over.js +212 -0
- package/dist/proof-planner/carry-over.js.map +1 -0
- package/dist/proof-planner/index.d.ts +11 -0
- package/dist/proof-planner/index.d.ts.map +1 -0
- package/dist/proof-planner/index.js +11 -0
- package/dist/proof-planner/index.js.map +1 -0
- package/dist/proof-planner/model.d.ts +272 -0
- package/dist/proof-planner/model.d.ts.map +1 -0
- package/dist/proof-planner/model.js +215 -0
- package/dist/proof-planner/model.js.map +1 -0
- package/dist/proof-planner/plan.d.ts +140 -0
- package/dist/proof-planner/plan.d.ts.map +1 -0
- package/dist/proof-planner/plan.js +1124 -0
- package/dist/proof-planner/plan.js.map +1 -0
- package/dist/proof-planner/policy.d.ts +100 -0
- package/dist/proof-planner/policy.d.ts.map +1 -0
- package/dist/proof-planner/policy.js +407 -0
- package/dist/proof-planner/policy.js.map +1 -0
- package/dist/proof-planner/render.d.ts +4 -0
- package/dist/proof-planner/render.d.ts.map +1 -0
- package/dist/proof-planner/render.js +73 -0
- package/dist/proof-planner/render.js.map +1 -0
- package/dist/sdk/index.d.ts +7 -6
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +20 -7
- package/dist/sdk/index.js.map +1 -1
- package/docs/adapter-protocol.md +61 -0
- package/docs/architecture.md +11 -1
- package/docs/developer-experience.md +7 -5
- package/docs/distribution.md +8 -3
- package/docs/migration-timeout-discovery-inconclusive.md +126 -0
- package/docs/migration-verification-v3.md +33 -0
- package/docs/project-intent.md +7 -5
- package/docs/proof-model.md +20 -2
- package/docs/proof-planner.md +368 -0
- package/docs/reference.md +9 -6
- package/docs/repository-init.md +38 -7
- package/docs/runtime-doctor.md +12 -9
- package/integrations/bun/assertions.d.mts +4 -0
- package/integrations/bun/assertions.mjs +25 -0
- package/integrations/bun/driver.d.mts +27 -0
- package/integrations/bun/driver.mjs +383 -0
- package/integrations/bun/preload.mjs +165 -0
- package/integrations/skill/SKILL.md +4 -1
- package/package.json +8 -4
- package/schemas/evidence-manifest.v3.json +897 -0
- package/schemas/repository-init-config.v2.json +210 -0
- package/schemas/repository-init-lock.v2.json +162 -0
- package/schemas/repository-init-result.v2.json +212 -0
- package/schemas/verification-request.v3.json +484 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/proof-planner/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/proof-planner/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,WAAW,CAAC;AAUpE,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAoE/D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
function scope(requirement) {
|
|
2
|
+
return requirement.surfaces.length > 0 ? ` [${requirement.surfaces.join(", ")}]` : "";
|
|
3
|
+
}
|
|
4
|
+
function requirementLine(requirement) {
|
|
5
|
+
return ` - ${requirement.kind} (${requirement.binding})${scope(requirement)} <- ${requirement.because.join(", ")}`;
|
|
6
|
+
}
|
|
7
|
+
/** Human-readable view of a plan. The JSON plan stays the authoritative, machine-readable form. */
|
|
8
|
+
export function renderAssurancePlan(plan) {
|
|
9
|
+
const lines = [];
|
|
10
|
+
lines.push(`AssurancePlan ${plan.level} ${plan.status} - revision ${plan.subject.revision} (baseline ${plan.subject.baseline})`);
|
|
11
|
+
lines.push(`policy ${plan.policy.id}@${plan.policy.version}; impact ${plan.impactBound}; ${plan.levelBySubject.map((entry) => `${entry.subject} ${entry.level}`).join(", ")}`);
|
|
12
|
+
lines.push("");
|
|
13
|
+
lines.push("WHY");
|
|
14
|
+
for (const decision of plan.rationale) {
|
|
15
|
+
if (decision.step === "floor" && decision.fact && decision.level) {
|
|
16
|
+
lines.push(` - floor ${decision.level} ${decision.fact}: ${decision.detail}`);
|
|
17
|
+
}
|
|
18
|
+
else if (decision.step === "raise" && decision.fact) {
|
|
19
|
+
lines.push(` - raise ${decision.fact}: ${decision.detail}`);
|
|
20
|
+
}
|
|
21
|
+
else if (decision.step !== "floor" && decision.step !== "raise") {
|
|
22
|
+
lines.push(` - ${decision.step}: ${decision.detail}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
lines.push("");
|
|
26
|
+
lines.push("REQUIRED");
|
|
27
|
+
for (const requirement of plan.requiredEvidence)
|
|
28
|
+
lines.push(requirementLine(requirement));
|
|
29
|
+
if (plan.recommendedEvidence.length > 0) {
|
|
30
|
+
lines.push("");
|
|
31
|
+
lines.push("RECOMMENDED");
|
|
32
|
+
for (const requirement of plan.recommendedEvidence)
|
|
33
|
+
lines.push(requirementLine(requirement));
|
|
34
|
+
}
|
|
35
|
+
const heavy = plan.explicitlyNotRequired.filter((entry) => entry.requirement.weight !== "targeted");
|
|
36
|
+
const light = plan.explicitlyNotRequired.filter((entry) => entry.requirement.weight === "targeted");
|
|
37
|
+
if (plan.explicitlyNotRequired.length > 0) {
|
|
38
|
+
lines.push("");
|
|
39
|
+
lines.push("NOT REQUIRED");
|
|
40
|
+
for (const entry of heavy)
|
|
41
|
+
lines.push(` - ${entry.requirement.kind}: ${entry.rationale}`);
|
|
42
|
+
if (light.length > 0) {
|
|
43
|
+
lines.push(` - targeted, not triggered: ${light.map((entry) => entry.requirement.kind).join(", ")}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (plan.undeterminedEvidence.length > 0) {
|
|
47
|
+
lines.push("");
|
|
48
|
+
lines.push("UNDETERMINED");
|
|
49
|
+
for (const entry of plan.undeterminedEvidence) {
|
|
50
|
+
lines.push(` - ${entry.requirement.kind}: ${entry.rationale}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
lines.push("");
|
|
54
|
+
lines.push("ESCALATE IF");
|
|
55
|
+
for (const escalation of plan.escalations) {
|
|
56
|
+
lines.push(` - ${escalation.signal} (${escalation.variant}): ${escalation.rationale}`);
|
|
57
|
+
}
|
|
58
|
+
if (plan.signals.length > 0) {
|
|
59
|
+
lines.push("");
|
|
60
|
+
lines.push("SIGNALS");
|
|
61
|
+
for (const signal of plan.signals) {
|
|
62
|
+
lines.push(` - ${signal.id} ${signal.signal} -> ${signal.classification}: ${signal.reason}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (plan.residualUncertainty.length > 0) {
|
|
66
|
+
lines.push("");
|
|
67
|
+
lines.push("RESIDUAL UNCERTAINTY");
|
|
68
|
+
for (const entry of plan.residualUncertainty)
|
|
69
|
+
lines.push(` - ${entry.statement}`);
|
|
70
|
+
}
|
|
71
|
+
return `${lines.join("\n")}\n`;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/proof-planner/render.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type AgenticBenchmarkAcquisitionReplayResult, type AgenticBenchmarkAcquisitionResult, type AgenticBenchmarkArtifact, type AgenticBenchmarkReplayResult, type AgenticCorpusAllocation, type AgenticCorpusAllocationCommitmentReplayResult, type AgenticCorpusAllocationReplayResult, type AgenticCorpusExperimentArtifact, type AgenticCorpusExperimentReplayResult, type AgenticProfileReplayResult, type AgenticProfileReplayResultV2, type AgenticProfileReport, type AgenticProfileReportV2, type EvidenceExport, type EvidenceExportReplayResult, type EvidenceManifestContract, type EvidenceManifestV2Contract, type EvidenceProviderManifest, type ReplayResult, type RepositoryAnalysis, type RepositoryAudit, type RepositoryInitResult } from "../contracts/index.js";
|
|
2
|
-
import { type RuntimeDoctorResult } from "../contracts/runtime-doctor.js";
|
|
1
|
+
import { type AgenticBenchmarkAcquisitionReplayResult, type AgenticBenchmarkAcquisitionResult, type AgenticBenchmarkArtifact, type AgenticBenchmarkReplayResult, type AgenticCorpusAllocation, type AgenticCorpusAllocationCommitmentReplayResult, type AgenticCorpusAllocationReplayResult, type AgenticCorpusExperimentArtifact, type AgenticCorpusExperimentReplayResult, type AgenticProfileReplayResult, type AgenticProfileReplayResultV2, type AgenticProfileReport, type AgenticProfileReportV2, type EvidenceExport, type EvidenceExportReplayResult, type EvidenceManifestContract, type EvidenceManifestV2Contract, type EvidenceManifestV3Contract, type EvidenceProviderManifest, type ReplayResult, type RepositoryAnalysis, type RepositoryAudit, type RepositoryInitResult, type RepositoryInitResultV2 } from "../contracts/index.js";
|
|
2
|
+
import { type RuntimeDoctorResult, type RuntimeDoctorResultV2 } from "../contracts/runtime-doctor.js";
|
|
3
3
|
import { type AgenticCorpusExperimentReplayDependencies, replayAgenticCorpusAllocationCommitment } from "../core/index.js";
|
|
4
4
|
import { type GitRegressionOptions, type GitRegressionV2Options } from "../engine/git-regression.js";
|
|
5
5
|
import { type RepositoryAuditOptions, type RepositoryInitOptions, type RuntimeDoctorOptions, type VerifyCampaignOptions } from "../engine/index.js";
|
|
6
|
-
export type SchemaName = "agentic-corpus-allocation-request" | "agentic-corpus-allocation" | "agentic-corpus-allocation-replay-result" | "agentic-corpus-allocation-commitment" | "agentic-corpus-allocation-reveal" | "agentic-corpus-allocation-commitment-replay-result" | "agentic-corpus-experiment-plan" | "agentic-corpus-experiment-plan-replay-result" | "agentic-corpus-experiment-request" | "agentic-corpus-experiment-artifact" | "agentic-corpus-experiment-replay-request" | "agentic-corpus-experiment-replay-result" | "agentic-benchmark-request" | "agentic-benchmark-artifact" | "agentic-benchmark-replay-result" | "agentic-benchmark-acquisition-request" | "agentic-benchmark-acquisition-result" | "agentic-benchmark-acquisition-replay-result" | "agentic-profile-request" | "agentic-profile-report" | "agentic-profile-replay-result" | "agentic-profile-request-v2" | "agentic-profile-report-v2" | "agentic-profile-replay-result-v2" | "verification-request" | "verification-request-v2" | "repository-analysis" | "repository-audit" | "repository-init-config" | "repository-init-lock" | "repository-init-result" | "evidence-manifest" | "evidence-manifest-v2" | "replay-result" | "evidence-provider-manifest" | "evidence-export-request" | "evidence-export" | "evidence-export-replay-result";
|
|
6
|
+
export type SchemaName = "agentic-corpus-allocation-request" | "agentic-corpus-allocation" | "agentic-corpus-allocation-replay-result" | "agentic-corpus-allocation-commitment" | "agentic-corpus-allocation-reveal" | "agentic-corpus-allocation-commitment-replay-result" | "agentic-corpus-experiment-plan" | "agentic-corpus-experiment-plan-replay-result" | "agentic-corpus-experiment-request" | "agentic-corpus-experiment-artifact" | "agentic-corpus-experiment-replay-request" | "agentic-corpus-experiment-replay-result" | "agentic-benchmark-request" | "agentic-benchmark-artifact" | "agentic-benchmark-replay-result" | "agentic-benchmark-acquisition-request" | "agentic-benchmark-acquisition-result" | "agentic-benchmark-acquisition-replay-result" | "agentic-profile-request" | "agentic-profile-report" | "agentic-profile-replay-result" | "agentic-profile-request-v2" | "agentic-profile-report-v2" | "agentic-profile-replay-result-v2" | "verification-request" | "verification-request-v2" | "verification-request-v3" | "repository-analysis" | "repository-audit" | "repository-init-config" | "repository-init-config-v2" | "repository-init-lock" | "repository-init-lock-v2" | "repository-init-result" | "repository-init-result-v2" | "evidence-manifest" | "evidence-manifest-v2" | "evidence-manifest-v3" | "replay-result" | "evidence-provider-manifest" | "evidence-export-request" | "evidence-export" | "evidence-export-replay-result";
|
|
7
7
|
export type AgenticCorpusExperimentReplayOptions = Omit<AgenticCorpusExperimentReplayDependencies, "replayProvenance" | "verifyCommitmentSignatures">;
|
|
8
8
|
/** Provider-neutral programmatic facade over AssertLedger's deterministic components. */
|
|
9
9
|
export declare class AssertLedger {
|
|
@@ -19,15 +19,16 @@ export declare class AssertLedger {
|
|
|
19
19
|
};
|
|
20
20
|
analyze(root: string): Promise<RepositoryAnalysis>;
|
|
21
21
|
audit(root: string, options?: RepositoryAuditOptions): Promise<RepositoryAudit>;
|
|
22
|
-
init(root: string, options?: RepositoryInitOptions): Promise<RepositoryInitResult>;
|
|
23
|
-
doctor(root: string): Promise<RepositoryInitResult>;
|
|
24
|
-
doctorRuntime(root: string, options: RuntimeDoctorOptions): Promise<RuntimeDoctorResult>;
|
|
22
|
+
init(root: string, options?: RepositoryInitOptions): Promise<RepositoryInitResult | RepositoryInitResultV2>;
|
|
23
|
+
doctor(root: string, options?: Pick<RepositoryInitOptions, "exclude" | "framework">): Promise<RepositoryInitResult | RepositoryInitResultV2>;
|
|
24
|
+
doctorRuntime(root: string, options: RuntimeDoctorOptions): Promise<RuntimeDoctorResult | RuntimeDoctorResultV2>;
|
|
25
25
|
verify(request: unknown): Promise<EvidenceManifestContract>;
|
|
26
26
|
/**
|
|
27
27
|
* Executes a v2 campaign. A container request runs through the operator-owned runtime command in
|
|
28
28
|
* `options`; the request itself can never select a host executable.
|
|
29
29
|
*/
|
|
30
30
|
verifyV2(request: unknown, options?: VerifyCampaignOptions): Promise<EvidenceManifestV2Contract>;
|
|
31
|
+
verifyV3(request: unknown, options?: VerifyCampaignOptions): Promise<EvidenceManifestV3Contract>;
|
|
31
32
|
checkGitRegression(options: GitRegressionOptions): Promise<EvidenceManifestContract>;
|
|
32
33
|
/** Qualifies a committed regression inside digest-pinned containers and returns v2 evidence. */
|
|
33
34
|
checkGitRegressionV2(options: GitRegressionV2Options): Promise<EvidenceManifestV2Contract>;
|
package/dist/sdk/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uCAAuC,EAC5C,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,6CAA6C,EAClD,KAAK,mCAAmC,EACxC,KAAK,+BAA+B,EACpC,KAAK,mCAAmC,EACxC,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAyB3B,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { agenticBenchmarkAcquisitionReplayResultJsonSchema, agenticBenchmarkAcquisitionRequestJsonSchema, agenticBenchmarkAcquisitionResultJsonSchema, agenticBenchmarkArtifactJsonSchema, agenticBenchmarkReplayResultJsonSchema, agenticBenchmarkRequestJsonSchema, agenticCorpusAllocationCommitmentJsonSchema, agenticCorpusAllocationCommitmentReplayResultJsonSchema, agenticCorpusAllocationJsonSchema, agenticCorpusAllocationReplayResultJsonSchema, agenticCorpusAllocationRequestJsonSchema, agenticCorpusAllocationRevealJsonSchema, agenticCorpusExperimentArtifactJsonSchema, agenticCorpusExperimentPlanJsonSchema, agenticCorpusExperimentPlanReplayResultJsonSchema, agenticCorpusExperimentReplayRequestJsonSchema, agenticCorpusExperimentReplayResultJsonSchema, agenticCorpusExperimentRequestJsonSchema, agenticProfileReplayResultJsonSchema, agenticProfileReplayResultV2JsonSchema, agenticProfileReportJsonSchema, agenticProfileReportV2JsonSchema, agenticProfileRequestJsonSchema, agenticProfileRequestV2JsonSchema, evidenceExportJsonSchema, evidenceExportReplayResultJsonSchema, evidenceExportRequestJsonSchema, evidenceManifestJsonSchema, evidenceManifestV2JsonSchema, evidenceProviderManifestJsonSchema, parseAgenticBenchmarkAcquisitionReplayResult, parseAgenticBenchmarkAcquisitionRequest, parseAgenticBenchmarkAcquisitionResult, parseAgenticBenchmarkArtifact, parseAgenticBenchmarkReplayResult, parseAgenticBenchmarkRequest, parseAgenticCorpusAllocation, parseAgenticCorpusAllocationCommitmentReplayResult, parseAgenticCorpusAllocationReplayResult, parseAgenticCorpusAllocationRequest, parseAgenticCorpusExperimentArtifact, parseAgenticCorpusExperimentPlan, parseAgenticCorpusExperimentReplayResult, parseAgenticCorpusExperimentRequest, parseAgenticProfileReplayResult, parseAgenticProfileReplayResultV2, parseAgenticProfileReport, parseAgenticProfileReportV2, parseAgenticProfileRequest, parseAgenticProfileRequestV2, parseEvidenceExport, parseEvidenceExportReplayResult, parseEvidenceExportRequest, parseEvidenceProviderManifest, parseReplayResult, parseRepositoryAnalysis, parseRepositoryAudit,
|
|
2
|
-
import {
|
|
1
|
+
import { agenticBenchmarkAcquisitionReplayResultJsonSchema, agenticBenchmarkAcquisitionRequestJsonSchema, agenticBenchmarkAcquisitionResultJsonSchema, agenticBenchmarkArtifactJsonSchema, agenticBenchmarkReplayResultJsonSchema, agenticBenchmarkRequestJsonSchema, agenticCorpusAllocationCommitmentJsonSchema, agenticCorpusAllocationCommitmentReplayResultJsonSchema, agenticCorpusAllocationJsonSchema, agenticCorpusAllocationReplayResultJsonSchema, agenticCorpusAllocationRequestJsonSchema, agenticCorpusAllocationRevealJsonSchema, agenticCorpusExperimentArtifactJsonSchema, agenticCorpusExperimentPlanJsonSchema, agenticCorpusExperimentPlanReplayResultJsonSchema, agenticCorpusExperimentReplayRequestJsonSchema, agenticCorpusExperimentReplayResultJsonSchema, agenticCorpusExperimentRequestJsonSchema, agenticProfileReplayResultJsonSchema, agenticProfileReplayResultV2JsonSchema, agenticProfileReportJsonSchema, agenticProfileReportV2JsonSchema, agenticProfileRequestJsonSchema, agenticProfileRequestV2JsonSchema, evidenceExportJsonSchema, evidenceExportReplayResultJsonSchema, evidenceExportRequestJsonSchema, evidenceManifestJsonSchema, evidenceManifestV2JsonSchema, evidenceManifestV3JsonSchema, evidenceProviderManifestJsonSchema, parseAgenticBenchmarkAcquisitionReplayResult, parseAgenticBenchmarkAcquisitionRequest, parseAgenticBenchmarkAcquisitionResult, parseAgenticBenchmarkArtifact, parseAgenticBenchmarkReplayResult, parseAgenticBenchmarkRequest, parseAgenticCorpusAllocation, parseAgenticCorpusAllocationCommitmentReplayResult, parseAgenticCorpusAllocationReplayResult, parseAgenticCorpusAllocationRequest, parseAgenticCorpusExperimentArtifact, parseAgenticCorpusExperimentPlan, parseAgenticCorpusExperimentReplayResult, parseAgenticCorpusExperimentRequest, parseAgenticProfileReplayResult, parseAgenticProfileReplayResultV2, parseAgenticProfileReport, parseAgenticProfileReportV2, parseAgenticProfileRequest, parseAgenticProfileRequestV2, parseEvidenceExport, parseEvidenceExportReplayResult, parseEvidenceExportRequest, parseEvidenceProviderManifest, parseReplayResult, parseRepositoryAnalysis, parseRepositoryAudit, parseVersionedRepositoryInitResult, parseEvidenceManifest, parseEvidenceManifestV2, parseEvidenceManifestV3, parseVerificationRequest, parseVerificationRequestV2, parseVerificationRequestV3, parseVersionedEvidenceManifest, replayResultJsonSchema, repositoryAnalysisJsonSchema, repositoryAuditJsonSchema, repositoryInitConfigJsonSchema, repositoryInitConfigV2JsonSchema, repositoryInitLockJsonSchema, repositoryInitLockV2JsonSchema, repositoryInitResultJsonSchema, repositoryInitResultV2JsonSchema, verificationRequestJsonSchema, verificationRequestV2JsonSchema, verificationRequestV3JsonSchema, } from "../contracts/index.js";
|
|
2
|
+
import { parseVersionedRuntimeDoctorResult, } from "../contracts/runtime-doctor.js";
|
|
3
3
|
import { ASSERTLEDGER_SOURCE_REVISION } from "../build-info.js";
|
|
4
4
|
import { createAgenticBenchmark, createAgenticCorpusAllocation, createAgenticCorpusExperimentArtifact, createAgenticProfile, createAgenticProfileV2, createEvidenceExport, createEvidenceProviderManifest, replayAgenticBenchmark, replayAgenticBenchmarkAcquisition, replayAgenticCorpusAllocation, replayAgenticCorpusAllocationCommitment, replayAgenticCorpusExperimentArtifact, replayAgenticProfile, replayAgenticProfileV2, replayEvidenceExport, replayEvidenceManifest, } from "../core/index.js";
|
|
5
5
|
import { explainReasonCodes } from "../diagnostics.js";
|
|
@@ -14,19 +14,19 @@ export class AssertLedger {
|
|
|
14
14
|
return explainReasonCodes(codes);
|
|
15
15
|
}
|
|
16
16
|
async analyze(root) {
|
|
17
|
-
return parseRepositoryAnalysis(await analyzeRepository(root));
|
|
17
|
+
return parseRepositoryAnalysis(await analyzeRepository(root, { configuredExcludes: true }));
|
|
18
18
|
}
|
|
19
19
|
async audit(root, options = {}) {
|
|
20
20
|
return parseRepositoryAudit(await auditRepository(root, options));
|
|
21
21
|
}
|
|
22
22
|
async init(root, options = {}) {
|
|
23
|
-
return
|
|
23
|
+
return parseVersionedRepositoryInitResult(await initializeRepository(root, options));
|
|
24
24
|
}
|
|
25
|
-
async doctor(root) {
|
|
26
|
-
return this.init(root, { dryRun: true });
|
|
25
|
+
async doctor(root, options = {}) {
|
|
26
|
+
return this.init(root, { ...options, dryRun: true });
|
|
27
27
|
}
|
|
28
28
|
async doctorRuntime(root, options) {
|
|
29
|
-
return
|
|
29
|
+
return parseVersionedRuntimeDoctorResult(await doctorRepositoryRuntime(root, options));
|
|
30
30
|
}
|
|
31
31
|
async verify(request) {
|
|
32
32
|
return parseEvidenceManifest(await verifyCampaign(parseVerificationRequest(request)));
|
|
@@ -38,6 +38,9 @@ export class AssertLedger {
|
|
|
38
38
|
async verifyV2(request, options = {}) {
|
|
39
39
|
return parseEvidenceManifestV2(await verifyCampaign(parseVerificationRequestV2(request), options));
|
|
40
40
|
}
|
|
41
|
+
async verifyV3(request, options = {}) {
|
|
42
|
+
return parseEvidenceManifestV3(await verifyCampaign(parseVerificationRequestV3(request), options));
|
|
43
|
+
}
|
|
41
44
|
async checkGitRegression(options) {
|
|
42
45
|
return qualifyGitRegression(options);
|
|
43
46
|
}
|
|
@@ -245,20 +248,30 @@ export class AssertLedger {
|
|
|
245
248
|
return verificationRequestJsonSchema();
|
|
246
249
|
case "verification-request-v2":
|
|
247
250
|
return verificationRequestV2JsonSchema();
|
|
251
|
+
case "verification-request-v3":
|
|
252
|
+
return verificationRequestV3JsonSchema();
|
|
248
253
|
case "repository-analysis":
|
|
249
254
|
return repositoryAnalysisJsonSchema();
|
|
250
255
|
case "repository-audit":
|
|
251
256
|
return repositoryAuditJsonSchema();
|
|
252
257
|
case "repository-init-config":
|
|
253
258
|
return repositoryInitConfigJsonSchema();
|
|
259
|
+
case "repository-init-config-v2":
|
|
260
|
+
return repositoryInitConfigV2JsonSchema();
|
|
254
261
|
case "repository-init-lock":
|
|
255
262
|
return repositoryInitLockJsonSchema();
|
|
263
|
+
case "repository-init-lock-v2":
|
|
264
|
+
return repositoryInitLockV2JsonSchema();
|
|
256
265
|
case "repository-init-result":
|
|
257
266
|
return repositoryInitResultJsonSchema();
|
|
267
|
+
case "repository-init-result-v2":
|
|
268
|
+
return repositoryInitResultV2JsonSchema();
|
|
258
269
|
case "evidence-manifest":
|
|
259
270
|
return evidenceManifestJsonSchema();
|
|
260
271
|
case "evidence-manifest-v2":
|
|
261
272
|
return evidenceManifestV2JsonSchema();
|
|
273
|
+
case "evidence-manifest-v3":
|
|
274
|
+
return evidenceManifestV3JsonSchema();
|
|
262
275
|
case "replay-result":
|
|
263
276
|
return replayResultJsonSchema();
|
|
264
277
|
case "evidence-provider-manifest":
|
package/dist/sdk/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,iDAAiD,EACjD,4CAA4C,EAC5C,2CAA2C,EAC3C,kCAAkC,EAClC,sCAAsC,EACtC,iCAAiC,EACjC,2CAA2C,EAC3C,uDAAuD,EACvD,iCAAiC,EACjC,6CAA6C,EAC7C,wCAAwC,EACxC,uCAAuC,EACvC,yCAAyC,EACzC,qCAAqC,EACrC,iDAAiD,EACjD,8CAA8C,EAC9C,6CAA6C,EAC7C,wCAAwC,EACxC,oCAAoC,EACpC,sCAAsC,EACtC,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,iDAAiD,EACjD,4CAA4C,EAC5C,2CAA2C,EAC3C,kCAAkC,EAClC,sCAAsC,EACtC,iCAAiC,EACjC,2CAA2C,EAC3C,uDAAuD,EACvD,iCAAiC,EACjC,6CAA6C,EAC7C,wCAAwC,EACxC,uCAAuC,EACvC,yCAAyC,EACzC,qCAAqC,EACrC,iDAAiD,EACjD,8CAA8C,EAC9C,6CAA6C,EAC7C,wCAAwC,EACxC,oCAAoC,EACpC,sCAAsC,EACtC,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,EAC/B,iCAAiC,EAOjC,wBAAwB,EACxB,oCAAoC,EACpC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,kCAAkC,EAClC,4CAA4C,EAC5C,uCAAuC,EACvC,sCAAsC,EACtC,6BAA6B,EAC7B,iCAAiC,EACjC,4BAA4B,EAC5B,4BAA4B,EAC5B,kDAAkD,EAClD,wCAAwC,EACxC,mCAAmC,EACnC,oCAAoC,EACpC,gCAAgC,EAChC,wCAAwC,EACxC,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,EACjC,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,+BAA+B,EAC/B,0BAA0B,EAC1B,6BAA6B,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,kCAAkC,EAClC,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAM9B,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,EAC9B,gCAAgC,EAChC,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iCAAiC,GAGlC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAEL,sBAAsB,EACtB,6BAA6B,EAC7B,qCAAqC,EACrC,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,uCAAuC,EACvC,qCAAqC,EACrC,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAGL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EAKpB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,6BAA6B,EAC7B,iDAAiD,GAClD,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAoDrD,yFAAyF;AACzF,MAAM,OAAO,YAAY;IACvB,OAAO,CAAC,KAAwB;QAC9B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,OAAO,uBAAuB,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAO,GAA2B,EAAE;QAC5D,OAAO,oBAAoB,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,OAAO,GAA0B,EAAE;QAEnC,OAAO,kCAAkC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,OAAO,GAAyD,EAAE;QAElE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,OAA6B;QAE7B,OAAO,iCAAiC,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC3B,OAAO,qBAAqB,CAAC,MAAM,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACZ,OAAgB,EAChB,OAAO,GAA0B,EAAE;QAEnC,OAAO,uBAAuB,CAC5B,MAAM,cAAc,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAgB,EAChB,OAAO,GAA0B,EAAE;QAEnC,OAAO,uBAAuB,CAC5B,MAAM,cAAc,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAA6B;QACpD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,oBAAoB,CAAC,OAA+B;QACxD,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,QAAiB;QACtB,IAAI,cAG0B,CAAC;QAC/B,IAAI,CAAC;YACH,cAAc,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iBAAiB,CAAC;gBACvB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,mBAAmB,EAAE,KAAK;gBAC1B,mBAAmB,EAAE,KAAK;gBAC1B,sBAAsB,EAAE,KAAK;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,iBAAiB,CAAC,EAAE,GAAG,sBAAsB,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,CAAC,OAAgB;QACtB,OAAO,yBAAyB,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,aAAa,CAAC,MAAe;QAC3B,IAAI,CAAC;YACH,OAAO,+BAA+B,CACpC,oBAAoB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CACxD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,+BAA+B,CAAC;gBACrC,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,mBAAmB,EAAE,KAAK;gBAC1B,iBAAiB,EAAE,KAAK;gBACxB,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAAgB;QAC7B,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,oBAAoB,CAAC,cAAuB;QAC1C,IAAI,CAAC;YACH,OAAO,+BAA+B,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,+BAA+B,CAAC;gBACrC,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,mBAAmB,EAAE,KAAK;gBAC1B,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,6BAA6B,CAClC,8BAA8B,CAAC;YAC7B,OAAO,EAAE,oBAAoB;YAC7B,cAAc,EAAE,4BAA4B;YAC5C,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,yBAAyB,CAAC,SAAS;oBAC9C,cAAc,EAAE,yBAAyB,CAAC,cAAc;oBACxD,QAAQ,EAAE,yBAAyB,CAAC,QAAQ;iBAC7C;gBACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;aACtF;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAAgB;QACxB,OAAO,6BAA6B,CAClC,sBAAsB,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,QAAiB;QAC/B,IAAI,CAAC;YACH,OAAO,iCAAiC,CACtC,sBAAsB,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAChE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iCAAiC,CAAC;gBACvC,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,mBAAmB,EAAE,KAAK;gBAC1B,kBAAkB,EAAE,KAAK;gBACzB,iBAAiB,EAAE,KAAK;gBACxB,mBAAmB,EAAE,KAAK;gBAC1B,sBAAsB,EAAE,KAAK;gBAC7B,0BAA0B,EAAE,KAAK;gBACjC,mBAAmB,EAAE,KAAK;gBAC1B,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QACrC,OAAO,sCAAsC,CAC3C,MAAM,uBAAuB,CAAC,uCAAuC,CAAC,OAAO,CAAC,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,0BAA0B,CAAC,MAAe;QACxC,OAAO,4CAA4C,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,SAAS,CAAC,OAAgB;QACxB,OAAO,2BAA2B,CAChC,sBAAsB,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,MAAe;QAC7B,IAAI,CAAC;YACH,OAAO,iCAAiC,CACtC,sBAAsB,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAC5D,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iCAAiC,CAAC;gBACvC,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,oBAAoB,EAAE,KAAK;gBAC3B,kBAAkB,EAAE,KAAK;gBACzB,iBAAiB,EAAE,KAAK;gBACxB,iBAAiB,EAAE,KAAK;gBACxB,cAAc,EAAE,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,cAAc,CAAC,OAAgB;QAC7B,OAAO,4BAA4B,CACjC,6BAA6B,CAAC,mCAAmC,CAAC,OAAO,CAAC,CAAC,CAC5E,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,UAAmB;QACxC,IAAI,CAAC;YACH,OAAO,wCAAwC,CAC7C,6BAA6B,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,CACxE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,wCAAwC,CAAC;gBAC9C,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,qBAAqB,EAAE,KAAK;gBAC5B,kBAAkB,EAAE,KAAK;gBACzB,qBAAqB,EAAE,KAAK;gBAC5B,uBAAuB,EAAE,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,OAAgB,EAAE,IAAa;QAC9C,OAAO,oCAAoC,CACzC,qCAAqC,CACnC,mCAAmC,CAAC,OAAO,CAAC,EAC5C,gCAAgC,CAAC,IAAI,CAAC,CACvC,CACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CACpB,QAAiB,EACjB,OAA6C;QAE7C,OAAO,wCAAwC,CAC7C,qCAAqC,CACnC,EAAE,QAAQ,EAAE,EACZ;YACE,GAAG,OAAO;YACV,gBAAgB,EAAE,6BAA6B;YAC/C,0BAA0B,EAAE,iDAAiD;SAC9E,CACF,CACF,CAAC;IACJ,CAAC;IAED,gCAAgC,CAC9B,KAAoE;QAEpE,OAAO,kDAAkD,CACvD,uCAAuC,CAAC,KAAK,EAAE;YAC7C,gBAAgB,EAAE,iDAAiD;SACpE,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAgB;QACrB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,mCAAmC;gBACtC,OAAO,wCAAwC,EAAE,CAAC;YACpD,KAAK,2BAA2B;gBAC9B,OAAO,iCAAiC,EAAE,CAAC;YAC7C,KAAK,yCAAyC;gBAC5C,OAAO,6CAA6C,EAAE,CAAC;YACzD,KAAK,sCAAsC;gBACzC,OAAO,2CAA2C,EAAE,CAAC;YACvD,KAAK,kCAAkC;gBACrC,OAAO,uCAAuC,EAAE,CAAC;YACnD,KAAK,oDAAoD;gBACvD,OAAO,uDAAuD,EAAE,CAAC;YACnE,KAAK,gCAAgC;gBACnC,OAAO,qCAAqC,EAAE,CAAC;YACjD,KAAK,8CAA8C;gBACjD,OAAO,iDAAiD,EAAE,CAAC;YAC7D,KAAK,mCAAmC;gBACtC,OAAO,wCAAwC,EAAE,CAAC;YACpD,KAAK,oCAAoC;gBACvC,OAAO,yCAAyC,EAAE,CAAC;YACrD,KAAK,0CAA0C;gBAC7C,OAAO,8CAA8C,EAAE,CAAC;YAC1D,KAAK,yCAAyC;gBAC5C,OAAO,6CAA6C,EAAE,CAAC;YACzD,KAAK,2BAA2B;gBAC9B,OAAO,iCAAiC,EAAE,CAAC;YAC7C,KAAK,4BAA4B;gBAC/B,OAAO,kCAAkC,EAAE,CAAC;YAC9C,KAAK,iCAAiC;gBACpC,OAAO,sCAAsC,EAAE,CAAC;YAClD,KAAK,uCAAuC;gBAC1C,OAAO,4CAA4C,EAAE,CAAC;YACxD,KAAK,sCAAsC;gBACzC,OAAO,2CAA2C,EAAE,CAAC;YACvD,KAAK,6CAA6C;gBAChD,OAAO,iDAAiD,EAAE,CAAC;YAC7D,KAAK,yBAAyB;gBAC5B,OAAO,+BAA+B,EAAE,CAAC;YAC3C,KAAK,wBAAwB;gBAC3B,OAAO,8BAA8B,EAAE,CAAC;YAC1C,KAAK,+BAA+B;gBAClC,OAAO,oCAAoC,EAAE,CAAC;YAChD,KAAK,4BAA4B;gBAC/B,OAAO,iCAAiC,EAAE,CAAC;YAC7C,KAAK,2BAA2B;gBAC9B,OAAO,gCAAgC,EAAE,CAAC;YAC5C,KAAK,kCAAkC;gBACrC,OAAO,sCAAsC,EAAE,CAAC;YAClD,KAAK,sBAAsB;gBACzB,OAAO,6BAA6B,EAAE,CAAC;YACzC,KAAK,yBAAyB;gBAC5B,OAAO,+BAA+B,EAAE,CAAC;YAC3C,KAAK,yBAAyB;gBAC5B,OAAO,+BAA+B,EAAE,CAAC;YAC3C,KAAK,qBAAqB;gBACxB,OAAO,4BAA4B,EAAE,CAAC;YACxC,KAAK,kBAAkB;gBACrB,OAAO,yBAAyB,EAAE,CAAC;YACrC,KAAK,wBAAwB;gBAC3B,OAAO,8BAA8B,EAAE,CAAC;YAC1C,KAAK,2BAA2B;gBAC9B,OAAO,gCAAgC,EAAE,CAAC;YAC5C,KAAK,sBAAsB;gBACzB,OAAO,4BAA4B,EAAE,CAAC;YACxC,KAAK,yBAAyB;gBAC5B,OAAO,8BAA8B,EAAE,CAAC;YAC1C,KAAK,wBAAwB;gBAC3B,OAAO,8BAA8B,EAAE,CAAC;YAC1C,KAAK,2BAA2B;gBAC9B,OAAO,gCAAgC,EAAE,CAAC;YAC5C,KAAK,mBAAmB;gBACtB,OAAO,0BAA0B,EAAE,CAAC;YACtC,KAAK,sBAAsB;gBACzB,OAAO,4BAA4B,EAAE,CAAC;YACxC,KAAK,sBAAsB;gBACzB,OAAO,4BAA4B,EAAE,CAAC;YACxC,KAAK,eAAe;gBAClB,OAAO,sBAAsB,EAAE,CAAC;YAClC,KAAK,4BAA4B;gBAC/B,OAAO,kCAAkC,EAAE,CAAC;YAC9C,KAAK,yBAAyB;gBAC5B,OAAO,+BAA+B,EAAE,CAAC;YAC3C,KAAK,iBAAiB;gBACpB,OAAO,wBAAwB,EAAE,CAAC;YACpC,KAAK,+BAA+B;gBAClC,OAAO,oCAAoC,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,OAAO,SAAU,SAAQ,YAAY;CAAG;AAE9C,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,qCAAqC,EACrC,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,qCAAqC,EACrC,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,oBAAoB,CAAC"}
|
package/docs/adapter-protocol.md
CHANGED
|
@@ -78,6 +78,67 @@ these deterministic facts without a timestamp under
|
|
|
78
78
|
File-based runtime attribution is stronger than source scanning, but it is not authenticated. The
|
|
79
79
|
Node.js runner, reporter events, candidate code, dependencies, and host remain trusted inputs.
|
|
80
80
|
|
|
81
|
+
## Built-in `bun:test` adapter (verification v3)
|
|
82
|
+
|
|
83
|
+
The official Bun profile accepts a verification request with:
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"kind": "bun-test",
|
|
88
|
+
"executable": "bun",
|
|
89
|
+
"baseTestFiles": ["tests/base.test.ts"]
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
It is qualified for Bun `1.4.2` revision `744846f844374847c902b5e7fd59b4342a51ef99`
|
|
94
|
+
using a controlled `bun:test` preload on explicitly unsandboxed `trusted-local` execution.
|
|
95
|
+
The container backend is refused. The engine resolves and hashes the Bun executable, checks its
|
|
96
|
+
version and revision twice, hashes its bundled driver, preload and assertion helper, and records all of
|
|
97
|
+
these identities with a fresh ten-case runtime preflight in the v3 manifest. The preflight
|
|
98
|
+
separates an owned assertion from a generic throw, a caught assertion followed by a generic
|
|
99
|
+
throw, a saved assertion error thrown in a later test or another parameterized row, an error from
|
|
100
|
+
an earlier asynchronous continuation, two genuine failing assertion rows, an operand error, a native Bun `expect`
|
|
101
|
+
failure, and a failing `afterEach` hook. Every Bun process uses argv with
|
|
102
|
+
`shell: false` and `--max-concurrency=1`.
|
|
103
|
+
|
|
104
|
+
Candidate tests that need assertion evidence import the packaged helper:
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
import { test } from "bun:test";
|
|
108
|
+
import { assertSame } from "assertledger/bun";
|
|
109
|
+
|
|
110
|
+
test("result", () => assertSame(compute(), expected));
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`assertSame` evaluates its arguments before entering the helper, compares them with `Object.is`,
|
|
114
|
+
and throws a fixed, AssertLedger-owned error when they differ. The engine installs the exact
|
|
115
|
+
bundled helper into each disposable workspace because repository snapshots omit `node_modules`.
|
|
116
|
+
The engine installs a preload before test files execute. It wraps `test` and `it` registrations,
|
|
117
|
+
records their source file and completion, and checks that the thrown object belongs to a private
|
|
118
|
+
set of errors actually issued by `assertSame` in the active test callback. A saved helper error
|
|
119
|
+
thrown in another test or parameterized row does not acquire assertion ownership. AsyncLocalStorage
|
|
120
|
+
keeps ownership with the originating test when its asynchronous work overlaps a later test.
|
|
121
|
+
The driver requires every configured base file to run and checks
|
|
122
|
+
that callback totals and failures agree with Bun's JUnit totals and process exit. JUnit never
|
|
123
|
+
classifies an assertion or supplies candidate attribution. A generic throw, failed control,
|
|
124
|
+
skipped test, missing callback or inconsistent count cannot kill a target.
|
|
125
|
+
Multiple failing candidate rows count as an assertion failure only when every failure is owned
|
|
126
|
+
by a helper call in its own execution.
|
|
127
|
+
The preload sends signed events to the driver over a dedicated process pipe. A one-run key is
|
|
128
|
+
delivered before candidate modules load and is not placed in the candidate environment or a
|
|
129
|
+
workspace file. The driver emits the final bounded JSON report on its own stdout; candidate code
|
|
130
|
+
cannot pre-create that result file. The generic `testforge-command` adapter retains its existing
|
|
131
|
+
result-file protocol.
|
|
132
|
+
Bun's separate unhandled-error summary blocks attribution when collection fails outside a
|
|
133
|
+
callback. The preload records failing lifecycle hooks separately, so they cannot be hidden by an
|
|
134
|
+
owned assertion failure in the same test.
|
|
135
|
+
|
|
136
|
+
Native `bun:test` `expect` failures are deliberately non-attributed because they do not throw the
|
|
137
|
+
AssertLedger-owned error class. A candidate that catches an `assertSame` failure and throws a
|
|
138
|
+
different error is also non-attributed. The preload instrumentation is part of the qualified
|
|
139
|
+
adapter and may reject Bun test registration forms that it cannot observe consistently.
|
|
140
|
+
The adapter does not authenticate candidate code or provide hostile-code containment.
|
|
141
|
+
|
|
81
142
|
## Structured command adapter protocol v1
|
|
82
143
|
|
|
83
144
|
The legacy wire identifier `testforge-command` lets any framework participate without moving gate logic into the
|
package/docs/architecture.md
CHANGED
|
@@ -129,7 +129,10 @@ environment and limits; `node:test` probes then run inside the image.
|
|
|
129
129
|
|
|
130
130
|
The repository digest covers regular files visited by the analyzer. The analyzer omits `.git`,
|
|
131
131
|
`.testforge`, `node_modules`, and operator-excluded path segments. It rejects any encountered
|
|
132
|
-
symbolic link instead of silently excluding it.
|
|
132
|
+
symbolic link instead of silently excluding it. Campaign manifests and benchmark snapshots apply the
|
|
133
|
+
verification request's exclusions when the snapshot is copied; `audit` applies only the defaults.
|
|
134
|
+
Only the public `analyze` entry point also omits the names configured in `assertledger.config.json`,
|
|
135
|
+
so its digest can differ from an audit or manifest digest of the same tree. Candidate contents and world overlays have separate
|
|
133
136
|
digests. Preserve the snapshot and resolved dependency identities for stronger provenance.
|
|
134
137
|
|
|
135
138
|
`detectedTestFrameworks` remains a sorted string array in repository-analysis v1 so this correction
|
|
@@ -151,6 +154,13 @@ The emitted manifest contains normalized observations and stdout/stderr digests,
|
|
|
151
154
|
output, candidate or world file bodies, or a repository archive. A self-contained audit bundle must
|
|
152
155
|
preserve those inputs and logs beside the manifest.
|
|
153
156
|
|
|
157
|
+
## Internal proof planner
|
|
158
|
+
|
|
159
|
+
`src/proof-planner` decides which evidence is proportionate for a change, from a provider-neutral
|
|
160
|
+
change impact, the affected claims and a versioned assurance policy. It follows the core's purity
|
|
161
|
+
rules, is not exported from the package entry points, and never grants or verifies evidence: the
|
|
162
|
+
gates above keep that authority. See [proof-planner.md](proof-planner.md).
|
|
163
|
+
|
|
154
164
|
## Extension points
|
|
155
165
|
|
|
156
166
|
- Built-in adapters translate framework behavior into normalized observations.
|
|
@@ -37,11 +37,13 @@ execution remains unavailable unless an operator separately starts it with
|
|
|
37
37
|
`--allow-unsafe-execution`; that mode is explicitly UNSANDBOXED trusted-local.
|
|
38
38
|
|
|
39
39
|
On a connected read-only server, agents may call `assertledger_doctor` (or the legacy
|
|
40
|
-
`testforge_doctor` alias) with `{ "root": "..." }
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
`testforge_doctor` alias) with `{ "root": "..." }`, plus optional `"exclude"` entry names that follow
|
|
41
|
+
the `--exclude` rules; an empty array replaces the configured list (see
|
|
42
|
+
[repository initialization](repository-init.md)). It returns the
|
|
43
|
+
same static repository initialization result as `assertledger doctor . --json`, after enforcing the
|
|
44
|
+
server's allowed-root boundary. The tool writes no configuration and does not execute repository
|
|
45
|
+
code. It reports configuration readiness only; dynamic dependency, reporter, permission and liveness
|
|
46
|
+
diagnostics remain outside this static check.
|
|
45
47
|
|
|
46
48
|
Use the separate [runtime doctor](runtime-doctor.md) after initialization to run controlled probes
|
|
47
49
|
with explicit authorization. [Reason-code explanations](diagnostics.md) remain available without
|
package/docs/distribution.md
CHANGED
|
@@ -10,8 +10,8 @@ The smoke exercises both installed command aliases (`assertledger`, `testforge`)
|
|
|
10
10
|
both SDK class aliases, the public root and core exports, static init and audit,
|
|
11
11
|
and the bundled trusted `node:test` example. The strong test must be selected,
|
|
12
12
|
the weak test must be rejected as `WEAK_ORACLE`, and every replay rail must pass.
|
|
13
|
-
It also checks the advertised schemas, conformance bundle, integration skill
|
|
14
|
-
runtime files in the tarball and installed package.
|
|
13
|
+
It also checks the advertised schemas, conformance bundle, integration skill, Bun assertion
|
|
14
|
+
helper, callback preload and driver, and runtime files in the tarball and installed package.
|
|
15
15
|
It also compiles a TypeScript consumer against the installed root/core exports
|
|
16
16
|
using the checkout's pinned compiler and Node type definitions. Consumer imports
|
|
17
17
|
resolve from the temporary project; no source-package alias is configured.
|
|
@@ -26,7 +26,12 @@ the tarball and its SHA-256 are retained under `.testforge/package-smoke/<run-id
|
|
|
26
26
|
Temporary consumers are removed after the run. The retained manifest is replayable;
|
|
27
27
|
its original execution paths refer to the removed consumer.
|
|
28
28
|
|
|
29
|
-
CI runs this smoke on Windows and
|
|
29
|
+
CI runs this smoke on Windows, Linux and macOS with Node 22.15.0 and 24 plus pinned Bun 1.4.2,
|
|
30
|
+
alongside `pnpm check`.
|
|
31
|
+
The verification matrix installs Bun 1.4.2 on Windows, Linux, and macOS and executes the
|
|
32
|
+
real Bun campaign and its negative witnesses. The package smoke also runs a Bun v3 campaign
|
|
33
|
+
and replay through the freshly installed CLI and checks the installed `assertledger/bun` export
|
|
34
|
+
and types.
|
|
30
35
|
A successful local smoke proves that local tarball on the reported Node version
|
|
31
36
|
and operating system. It does not establish npm publication, cross-platform CI
|
|
32
37
|
success, hostile-code isolation, or adoption by external users. The example uses
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Timeouts and infrastructure errors no longer fail discovery
|
|
2
|
+
|
|
3
|
+
A candidate run that ends in `TIMEOUT` or `INFRA_ERROR` never reached a verdict. It can neither
|
|
4
|
+
prove nor disprove that the candidate test was discovered and attributed. The core now classifies
|
|
5
|
+
such a candidate as `INCONCLUSIVE` instead of `INVALID`. This resolves an ambiguity of the
|
|
6
|
+
[proof model](proof-model.md), which listed the case both under `INVALID` (discovery failed) and
|
|
7
|
+
under `INCONCLUSIVE` (`TIMEOUT` or `INFRA_ERROR`); the core applied the first.
|
|
8
|
+
|
|
9
|
+
## What changed
|
|
10
|
+
|
|
11
|
+
The engine reports every `TIMEOUT` and `INFRA_ERROR` observation with `attributed: false` and,
|
|
12
|
+
normally, `candidateTestsDiscovered: 0`. The `DISCOVERY` gate requires every candidate run to report
|
|
13
|
+
an attributed candidate test, so those runs made it fail, and the candidate became `INVALID` before
|
|
14
|
+
the core looked at execution outcomes. A candidate that hangs on the faulty code was reported as a
|
|
15
|
+
broken test, and the campaign as `REJECTED`.
|
|
16
|
+
|
|
17
|
+
Once completeness and stability hold, `DISCOVERY` now distinguishes the runs that fail it:
|
|
18
|
+
|
|
19
|
+
| Runs that fail discovery | Before | After |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| None | `DISCOVERY` passed | unchanged |
|
|
22
|
+
| At least one completed run (`PASS`, `ASSERTION_FAILURE`, compile, collection, crash or no-test outcome) | `INVALID`, `CANDIDATE_DISCOVERY_INVALID` | unchanged |
|
|
23
|
+
| Only `TIMEOUT` or `INFRA_ERROR` runs | `INVALID`, `CANDIDATE_DISCOVERY_INVALID` | `INCONCLUSIVE`, `CANDIDATE_EXECUTION_INCONCLUSIVE` |
|
|
24
|
+
|
|
25
|
+
In the last case the `DISCOVERY` gate is `FAILED` with reason `CANDIDATE_EXECUTION_INCONCLUSIVE`,
|
|
26
|
+
and `REFERENCE`, `NEUTRAL` and `TARGET_STRENGTH` stay `NOT_RUN` with `PREREQUISITE_GATE_FAILED`, as
|
|
27
|
+
after any failed prerequisite. The candidate kills nothing: a red reference or neutral world, or a
|
|
28
|
+
target its other runs killed, is not recorded as a failed gate or a kill, whereas a timeout reported
|
|
29
|
+
with an attributed candidate test, a core input the engine does not produce, still lets those gates
|
|
30
|
+
run. Once its attempts are complete and agree, a completed run that disproves discovery still makes
|
|
31
|
+
the candidate `INVALID`, whatever else timed out; missing attempts still make it `INCONCLUSIVE` and
|
|
32
|
+
attempts that disagree `UNSTABLE` first. Inconclusive execution still takes precedence over a red
|
|
33
|
+
reference or neutral world, as it already did for timeouts that passed discovery.
|
|
34
|
+
|
|
35
|
+
## Observable effects
|
|
36
|
+
|
|
37
|
+
For a campaign where a candidate falls in the last row:
|
|
38
|
+
|
|
39
|
+
- candidate status `INVALID` becomes `INCONCLUSIVE`, with the reason codes above, whatever the
|
|
40
|
+
campaign decision, including in the candidate list of evidence exports built from the manifest
|
|
41
|
+
and in the evidence status profile v1 reports for that candidate;
|
|
42
|
+
- when no other candidate is selected, the campaign decision `REJECTED` / `NO_ELIGIBLE_CANDIDATE`
|
|
43
|
+
becomes `INCONCLUSIVE` / `CANDIDATE_EVIDENCE_INCONCLUSIVE`, and the CLI exit code of `verify` and
|
|
44
|
+
`check` becomes `3` instead of `2`; in that case the evidence export reason code becomes
|
|
45
|
+
`CANDIDATE_EVIDENCE_INCONCLUSIVE` instead of `CANDIDATE_EVIDENCE_INVALID`. A campaign with a
|
|
46
|
+
selected candidate stays `VERIFIED`,
|
|
47
|
+
invalid controls keep their precedence (`CONTROL_EVIDENCE_INVALID`), and a campaign that another
|
|
48
|
+
unstable or inconclusive candidate already made `INCONCLUSIVE` keeps its decision;
|
|
49
|
+
- the `decisionDigest` and `artifactDigest` values of the manifest change. The digest projections
|
|
50
|
+
do not.
|
|
51
|
+
|
|
52
|
+
The core does not look at where those outcomes come from. They include a candidate that hangs on a
|
|
53
|
+
target world and a structured-command adapter that dies without a report, writes a malformed report
|
|
54
|
+
or reports `INFRA_ERROR` itself (each witnessed below), as well as other engine paths such as a run
|
|
55
|
+
that ends without an exit code and without a valid report (for the structured-command adapter, with
|
|
56
|
+
any report but `PASS`), a `node:test` run without a valid report, a contradictory report, a process
|
|
57
|
+
that fails to start or a container execution failure. A candidate that makes its own run end in
|
|
58
|
+
`INFRA_ERROR`, for example by forcing a zero exit code despite failing tests, is therefore
|
|
59
|
+
inconclusive rather than invalid. None of them can be selected: only an `ELIGIBLE` candidate is, so
|
|
60
|
+
no `VERIFIED` decision changes.
|
|
61
|
+
|
|
62
|
+
## Replay of existing manifests
|
|
63
|
+
|
|
64
|
+
Replay recomputes the decision from the recorded observations, and no field distinguishes the
|
|
65
|
+
decision semantics before and after this change (`policyVersion` stays `1.0.0`). Therefore:
|
|
66
|
+
|
|
67
|
+
- a manifest sealed before this change, with at least one candidate in the last row above, no
|
|
68
|
+
longer replays: `decisionDigestValid` and `artifactDigestValid` stay `true`,
|
|
69
|
+
`decisionSemanticsValid` and `valid` become `false`. This holds per candidate, not per decision:
|
|
70
|
+
a `VERIFIED` manifest with such a neighbouring candidate is affected too, and so are the evidence
|
|
71
|
+
exports, profiles and benchmarks built from it;
|
|
72
|
+
- a manifest sealed after this change with such a candidate fails replay the same way under a
|
|
73
|
+
verifier that predates it (1.1.0 and earlier).
|
|
74
|
+
|
|
75
|
+
Re-decide affected manifests from their observations with the release that includes this change,
|
|
76
|
+
and replay them with a verifier of that release or a later one. Manifests without a candidate in
|
|
77
|
+
the last row replay as before.
|
|
78
|
+
|
|
79
|
+
## Compatibility decision
|
|
80
|
+
|
|
81
|
+
`CONTRIBUTING.md` asks for a schema-version discussion before a contract-breaking change. This
|
|
82
|
+
change keeps `schemaVersion` and `policyVersion` unchanged:
|
|
83
|
+
|
|
84
|
+
- the previous decision contradicted the proof model's own rule that `TIMEOUT` and `INFRA_ERROR`
|
|
85
|
+
are inconclusive. Campaign requests declare `policyVersion`, and the core accepts only `1.0.0`;
|
|
86
|
+
versioning would make the core accept a second version that requests opt into, while every
|
|
87
|
+
request that does not opt in would keep the misclassification;
|
|
88
|
+
- replay fails closed: an affected manifest never replays as valid under the other semantics, so no
|
|
89
|
+
verdict is silently reinterpreted, and every other manifest replays unchanged.
|
|
90
|
+
|
|
91
|
+
The cost of this choice: `policyVersion` `1.0.0` no longer names a single decision function, so
|
|
92
|
+
archived manifests of the affected case, including `VERIFIED` ones with an affected neighbour, stop
|
|
93
|
+
replaying; and a candidate can turn its own `INVALID` status into `INCONCLUSIVE` by ending its run
|
|
94
|
+
in `INFRA_ERROR`, which can turn the campaign decision from `REJECTED` into `INCONCLUSIVE` (exit
|
|
95
|
+
code 3 instead of 2), never into a selection.
|
|
96
|
+
|
|
97
|
+
The alternative is a `policyVersion` bump under which `1.0.0` manifests keep replaying with the old
|
|
98
|
+
rule. Choosing it would replace this section and the replay section above.
|
|
99
|
+
|
|
100
|
+
## What does not change
|
|
101
|
+
|
|
102
|
+
No schema version, manifest field, gate order, digest projection, adapter protocol, diagnostic
|
|
103
|
+
catalogue entry or unsafe-execution permission changes, and no reason code is added or removed;
|
|
104
|
+
`CANDIDATE_EXECUTION_INCONCLUSIVE` can now appear on the `DISCOVERY` gate. Its explanation already
|
|
105
|
+
asks to fix the timeout or infrastructure failure and rerun; the campaign explanation of
|
|
106
|
+
`CANDIDATE_EVIDENCE_INCONCLUSIVE` still speaks of unstable or incomplete evidence, as it did for
|
|
107
|
+
timeouts after discovery. The conformance v1 bundle and its lock are unchanged: every candidate run
|
|
108
|
+
in its fixtures reports an attributed candidate test, so none reaches the new case. The self-hosted
|
|
109
|
+
core campaign keeps its mutation anchors and its existing-test snapshot.
|
|
110
|
+
|
|
111
|
+
## Compatibility witnesses
|
|
112
|
+
|
|
113
|
+
- `tests/core-inconclusive-discovery.test.ts` fails against the previous core for `TIMEOUT` and
|
|
114
|
+
`INFRA_ERROR` runs as the engine reports them, a candidate that hangs everywhere, a hung neighbour
|
|
115
|
+
of an eligible candidate, and a red reference with a timed-out target. It also pins, to the values
|
|
116
|
+
the previous core produced for the same host-independent fixtures, the decision digests of the
|
|
117
|
+
inputs whose verdict must not change (a completed run that disproves discovery beside a `TIMEOUT`
|
|
118
|
+
or an `INFRA_ERROR`, unattributed assertion, compile, collection and crash outcomes, a completed
|
|
119
|
+
crash reported without an exit code, no test discovered, diverging timeouts, a timed-out control,
|
|
120
|
+
an attributed timeout), and shows that a manifest sealed before this change, rebuilt with both of
|
|
121
|
+
its digests, fails replay only on decision semantics. The reverse direction was observed by
|
|
122
|
+
replaying a manifest of this change with the previous core, which the repository tests cannot
|
|
123
|
+
import.
|
|
124
|
+
- `tests/engine.test.ts` runs a real `node:test` candidate that hangs on the target world for every
|
|
125
|
+
attempt, and a structured-command adapter that dies without a report, writes a malformed report
|
|
126
|
+
or reports `INFRA_ERROR` on the target. All four fail against the previous core and pass now.
|