update
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# Pre15 Stage0 Execution Evidence
|
||||
|
||||
## Scope
|
||||
|
||||
B01 establishes the only Pre15 runner interface and the evidence contract used
|
||||
by later gates, builds, directed tests, and smoke runs. It does not modify
|
||||
`src/**`, run the full feature suite, or convert host parser results into KLD
|
||||
runtime claims.
|
||||
|
||||
## Entrypoints
|
||||
|
||||
```sh
|
||||
timeout -k 10 240 tests/pre15/run-host.sh CASE
|
||||
timeout -k 30 1200 tests/pre15/run-build.sh zstdio0
|
||||
timeout -k 30 1200 tests/pre15/run-build.sh zstdio1
|
||||
timeout -k 30 1200 tests/pre15/run-qemu.sh CASE
|
||||
timeout -k 30 1500 tests/pre15/run-smoke.sh final-four-codec
|
||||
```
|
||||
|
||||
Cases are discovered as exact files under `tests/pre15/cases/`; no shared case
|
||||
registry or historical result runner is consulted. `run-build.sh` reports a
|
||||
Linux invocation as `INFRA_BLOCKED` because `build.sh` requires a native
|
||||
FreeBSD host.
|
||||
|
||||
## Evidence
|
||||
|
||||
Set `PRE15_EVIDENCE_ROOT` to a new evidence parent. Every invocation creates a
|
||||
unique run directory and never overwrites an earlier run. `manifest.json`
|
||||
conforms to `tests/pre15/EVIDENCE-SCHEMA.json` and records exact argv, DUT and
|
||||
source identities, worktree diff hash, fixture/module hashes, timestamps,
|
||||
deadline, exit code, target marker, status, cleanup, and raw-output paths.
|
||||
|
||||
The only case statuses are `PASS`, `DUT_FAIL`, `RUNNER_FAIL`,
|
||||
`INFRA_BLOCKED`, `STOP`, and `NOT_RUN`. A nonzero guest command without a target
|
||||
marker is not a DUT failure. Cleanup failure always changes the run to
|
||||
`RUNNER_FAIL`.
|
||||
|
||||
## Ownership
|
||||
|
||||
The runner records each owned process, path, forwarded port, SSH ControlMaster,
|
||||
guest mount, md unit, loaded EROFS KLD, and base image before use. Cleanup runs
|
||||
in reverse order and refuses to remove paths outside the current run directory.
|
||||
QEMU always writes to a fresh overlay. The base image is read-only input for the
|
||||
runner and its SHA256 must remain unchanged.
|
||||
|
||||
Mount, md, and KLD cleanup applies only to resources explicitly registered by
|
||||
the current run. Kernel ZSTDIO is a kernel option, not an unloadable dependency.
|
||||
|
||||
## B01 Controls
|
||||
|
||||
- `B01-runner-selftest`: known-good, target-marked DUT mismatch, pre-target
|
||||
command failure, SSH failure, QEMU early exit, timeout, owned PID cleanup, and
|
||||
deliberate cleanup-boundary failure.
|
||||
- `B01-g3-equivalence`: verifies the two archived script identities, compares
|
||||
their source/artifact inventories with the stable helper, and repeats stable
|
||||
generation.
|
||||
- `TC162-xattr-legacy`: verifies checksum-valid legacy primary, explicit plain,
|
||||
packed, and metabox prefix carriers plus exact single-field `EINTEGRITY`
|
||||
negatives.
|
||||
|
||||
The authoritative B01 and initial gate verdicts are recorded under
|
||||
`planning/pre15/evidence/` after execution from a committed B01 tree.
|
||||
Reference in New Issue
Block a user