assertledger 1.1.0 → 1.1.1

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 (36) hide show
  1. package/README.fr.md +2 -2
  2. package/README.md +2 -2
  3. package/dist/build-info.json +1 -1
  4. package/dist/core/index.d.ts.map +1 -1
  5. package/dist/core/index.js +11 -4
  6. package/dist/core/index.js.map +1 -1
  7. package/dist/proof-planner/carry-over.d.ts +21 -0
  8. package/dist/proof-planner/carry-over.d.ts.map +1 -0
  9. package/dist/proof-planner/carry-over.js +212 -0
  10. package/dist/proof-planner/carry-over.js.map +1 -0
  11. package/dist/proof-planner/index.d.ts +11 -0
  12. package/dist/proof-planner/index.d.ts.map +1 -0
  13. package/dist/proof-planner/index.js +11 -0
  14. package/dist/proof-planner/index.js.map +1 -0
  15. package/dist/proof-planner/model.d.ts +272 -0
  16. package/dist/proof-planner/model.d.ts.map +1 -0
  17. package/dist/proof-planner/model.js +215 -0
  18. package/dist/proof-planner/model.js.map +1 -0
  19. package/dist/proof-planner/plan.d.ts +140 -0
  20. package/dist/proof-planner/plan.d.ts.map +1 -0
  21. package/dist/proof-planner/plan.js +1124 -0
  22. package/dist/proof-planner/plan.js.map +1 -0
  23. package/dist/proof-planner/policy.d.ts +100 -0
  24. package/dist/proof-planner/policy.d.ts.map +1 -0
  25. package/dist/proof-planner/policy.js +407 -0
  26. package/dist/proof-planner/policy.js.map +1 -0
  27. package/dist/proof-planner/render.d.ts +4 -0
  28. package/dist/proof-planner/render.d.ts.map +1 -0
  29. package/dist/proof-planner/render.js +73 -0
  30. package/dist/proof-planner/render.js.map +1 -0
  31. package/docs/architecture.md +7 -0
  32. package/docs/migration-timeout-discovery-inconclusive.md +126 -0
  33. package/docs/proof-model.md +20 -2
  34. package/docs/proof-planner.md +368 -0
  35. package/docs/reference.md +3 -1
  36. package/package.json +4 -4
@@ -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,4 @@
1
+ import type { AssurancePlan } from "./plan.js";
2
+ /** Human-readable view of a plan. The JSON plan stays the authoritative, machine-readable form. */
3
+ export declare function renderAssurancePlan(plan: AssurancePlan): string;
4
+ //# sourceMappingURL=render.d.ts.map
@@ -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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"}
@@ -151,6 +151,13 @@ The emitted manifest contains normalized observations and stdout/stderr digests,
151
151
  output, candidate or world file bodies, or a repository archive. A self-contained audit bundle must
152
152
  preserve those inputs and logs beside the manifest.
153
153
 
154
+ ## Internal proof planner
155
+
156
+ `src/proof-planner` decides which evidence is proportionate for a change, from a provider-neutral
157
+ change impact, the affected claims and a versioned assurance policy. It follows the core's purity
158
+ rules, is not exported from the package entry points, and never grants or verifies evidence: the
159
+ gates above keep that authority. See [proof-planner.md](proof-planner.md).
160
+
154
161
  ## Extension points
155
162
 
156
163
  - Built-in adapters translate framework behavior into normalized observations.
@@ -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.
@@ -55,15 +55,33 @@ Candidate statuses are:
55
55
 
56
56
  - `ELIGIBLE`: every gate needed by policy passed;
57
57
  - `WEAK_ORACLE`: reference and neutral evidence passed, but target strength did not;
58
- - `INVALID`: discovery, reference, or neutral evidence failed;
58
+ - `INVALID`: a completed run disproved discovery, or reference or neutral evidence failed;
59
59
  - `UNSTABLE`: complete attempts produced different normalized outcomes;
60
60
  - `INCONCLUSIVE`: required observations were missing or execution produced `TIMEOUT` or
61
61
  `INFRA_ERROR`.
62
62
 
63
+ When several apply, the first gate that fails decides, and inconclusive execution takes precedence
64
+ over later failures:
65
+
66
+ 1. missing observations make the candidate `INCONCLUSIVE` (`COMPLETENESS`);
67
+ 2. diverging attempts make it `UNSTABLE` (`STABILITY`);
68
+ 3. a completed run without an attributed candidate test makes it `INVALID`
69
+ (`CANDIDATE_DISCOVERY_INVALID`);
70
+ 4. when only `TIMEOUT` or `INFRA_ERROR` runs lack an attributed candidate test, `DISCOVERY` is
71
+ not established and the candidate is `INCONCLUSIVE` (`CANDIDATE_EXECUTION_INCONCLUSIVE`): such a
72
+ run never reached a verdict, so it can neither prove nor disprove discovery;
73
+ 5. after discovery, any `TIMEOUT` or `INFRA_ERROR` run makes the candidate `INCONCLUSIVE` before a
74
+ red reference or neutral world makes it `INVALID`.
75
+
76
+ See [the migration note](migration-timeout-discovery-inconclusive.md) for the effect on existing
77
+ manifests.
78
+
63
79
  ## Campaign statuses
64
80
 
65
81
  - `VERIFIED`: at least one eligible candidate was selected.
66
- - `REJECTED`: evidence was complete and conclusive, but no candidate was eligible.
82
+ - `REJECTED`: evidence was complete and conclusive, but no candidate was eligible. Once attempts are
83
+ complete and agree, a completed run that disproves discovery is conclusive, even if other runs
84
+ timed out.
67
85
  - `INCONCLUSIVE`: controls were invalid, or at least one candidate was unstable or inconclusive.
68
86
  - `ENGINE_ERROR`: the core could not normalize the supplied evidence safely.
69
87