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.
- package/README.fr.md +2 -2
- package/README.md +2 -2
- package/dist/build-info.json +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +11 -4
- package/dist/core/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/docs/architecture.md +7 -0
- package/docs/migration-timeout-discovery-inconclusive.md +126 -0
- package/docs/proof-model.md +20 -2
- package/docs/proof-planner.md +368 -0
- package/docs/reference.md +3 -1
- 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 @@
|
|
|
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/docs/architecture.md
CHANGED
|
@@ -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.
|
package/docs/proof-model.md
CHANGED
|
@@ -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
|
|
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
|
|