Files
erofs-freebsd-out-tree/docs/pre15-stage0/P15-076.md
T
2026-08-18 09:20:44 +02:00

3.6 KiB

P15-076 Stage0 Decision

Status: STOP. B29 is STOP-NO-SOURCE.

The gate is bound to frozen DUT BASE 3e9bc3f03ba9c39c38cc40f2f08eb6e769557f55 and FreeBSD source HEAD 106727738dcfb6c001b46f25363b91cece970085. Three host attempts are retained:

  • 20260815T170841Z-G05-P15-076: RUNNER_FAIL, FreeBSD headers shadowed glibc headers during host compilation.
  • 20260815T170931Z-G05-P15-076: RUNNER_FAIL, the Deflate oracle compared one selected extent with the complete source payload.
  • 20260815T171051Z-G05-P15-076: the runner returned 0, but final review rejects its local GO because mandatory state-model conditions are not closed.

Last Attempt Command

timeout -k 10 240 repo-pre-15/tests/pre15/gates/P15-076.sh \
    --base 3e9bc3f03ba9c39c38cc40f2f08eb6e769557f55 \
    --output planning/pre15/evidence/20260815T171051Z-G05-P15-076/gate-output

The command returned 0 in three seconds. The gate script SHA-256 is 1d2cc18de150c8bdeb4fa8d284ab345f9ec4249c2ba1b50e1badbe7f942b42dc, the input SHA-256 is 30497cf86785c367dcd4a3d6889ba6a6302f6f133d68e4af31d984a1031e0058, and the result SHA-256 is ac007afc4ad5a97bb1561888105c67612d3eea5427f77c54a858bede4c86e0a3.

Benefit Result

The last attempt regenerates the frozen B28 EROFS fixtures in owned temporary storage and decodes the exact selected LZMA, Deflate, and Zstd extents. Input, expected output, and output buffers are outside the tracked allocator region. Baseline creates and destroys a context per decode; the prototype resets one context across 64 exact decodes. Seven samples are retained per mode.

Codec Baseline events Reused events Reduction Measured peak
LZMA 128 2 98.4375% 28,504 B
Deflate 256 4 98.4375% 39,928 B
Zstd 128 2 98.4375% 95,992 B

All tracked baseline backend allocator events are context lifecycle events, so the measured share is 100 percent and passes the 10 percent threshold. All three event reductions pass the 25 percent threshold. Exact output and balanced allocation/free counts pass. CPU remains diagnostic: Deflate is 1.30 percent faster, LZMA is 10.20 percent slower, and Zstd is 15.35 percent faster by median per-decode time; the LZMA regression is retained.

STOP Review

G05 requires both the benefit threshold and a complete pre-source state model. The retained runner does not establish a hard memory limit: its 329,616-byte mount and 2,636,928-byte global calculations use peaks from representative streams. In particular, its Zstd prototype sets ZSTD_d_windowLogMax to 16, while the frozen DUT accepts values through 20. The measured 95,992-byte Zstd peak therefore is not a hard bound for the production-supported range. LZMA is also sampled with a 65,536-byte dictionary while the DUT accepts up to 8 MiB.

The state model also does not execute a global-exhaustion transition. It sets global_owned and mount_owned to the mount limit of two and selects fresh allocation because the mount is full; the independent global limit of 16 is never reached. Text describing global exhaustion cannot replace that missing assertion. Therefore the hard-cap and global-exhaustion requirements are not closed, and the runner-local GO cannot authorize source work.

No threshold, sample, or result is changed to force a decision. Per G05, one failed mandatory condition makes P15-076 STOP; B29 is recorded STOP-NO-SOURCE. No production src/**, B29 case, fixture, or helper was changed. B29 H/K/Q acceptance, QEMU, and the full feature suite were not run. The hard-timeout D check passed. Owned temporary cleanup passed; protected PID 26318, port 9222, and the shared base image were untouched.