# Pre9 LZMA Diagnostic Implementation Baseline ## Baseline Meaning The Pre9 planning phase ended when the planning documents were committed at `d1ee2e05b82b5e8a8927861f1e981710532f2f23`. This file starts the implementation phase and records identities only. It does not claim that the TC004 root cause is known, that Pre8 introduced the observed timeout, or that any source or test-harness fix has been selected or implemented. All values below were read from Git objects or the named evidence files on 2026-08-13 UTC. Historical Pre8 evidence is context for controlled Pre9 diagnosis, not a Pre9 test result. ## Main Repository Identity Repository: `/work/erofs-freebsd-pre` ```text branch: main execution-start commit: d1ee2e05b82b5e8a8927861f1e981710532f2f23 execution-start tree: 95a55ff912d007ca40bd578057e8a4cc6a21bbd9 xdm/main: d1ee2e05b82b5e8a8927861f1e981710532f2f23 remote xdm main: d1ee2e05b82b5e8a8927861f1e981710532f2f23 initial dirty entries: 0 ``` Snapshot identities at the execution-start commit: ```text snapshot subtree src tree repo-pre-7 b8f9af2cd55225c4348b79ff5910ae6fc83cd517 dc203534d7b5721905f8538026e4c59346106020 repo-pre-8 1e24c992a5b071e6fdabfdc42d342b6ed5a91cf5 cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2 repo-pre-9 1e24c992a5b071e6fdabfdc42d342b6ed5a91cf5 cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2 ``` The equal Pre8 and Pre9 object identities establish that Pre9 starts as an exact tracked snapshot of Pre8. Pre7 is intentionally different and remains the earlier controlled comparison point. ## Conditional Source Allowlist Identity The primary conditional allowlist is `zdata.c`, `decompressor_lzma.c`, and `internal.h`. The remaining three files require the additional decision gates defined by the plan. Their baseline modes and blobs are: ```text gate mode blob path primary 100644 54c1c88e5c368e7b5f6a16188c48406767850821 repo-pre-9/src/zdata.c primary 100644 688acd704e28daa46369fa2e63e895bce5262774 repo-pre-9/src/decompressor_lzma.c primary 100644 9821fe3a8b5fcaaeb3939d191f15e9ce637cc8d1 repo-pre-9/src/internal.h extra 100644 ca5d33cd42145159d71e153f115128ac75258708 repo-pre-9/src/inode.c extra 100644 b233f138d036a2b37394946b382034955dc2a1df repo-pre-9/src/erofs_vnops.c extra 100644 51170741a0fb5eced814db898c1a233e8a23088a repo-pre-9/src/zmap.c ``` This identity table authorizes no source change by itself. Source edits remain conditional on controlled evidence and the applicable decision gate. ## tests-dev and Base Image Identity The external test repository was inspected without modification: ```text repository: /work/tests-dev branch: main current commit: 374b8e3ab4b0df24d6761802b70c694e2896d5fd current tree: c438e72ebe94a6f10801999bfbdd36b43134d471 xdm/main: 374b8e3ab4b0df24d6761802b70c694e2896d5fd initial dirty entries: 27 untracked paths dirty inventory SHA256: bca9ca20e85698d04dad820a11bd0bbb117492c967d6fd338e7acf61bb8fa957 ``` The pre-existing tests-dev dirty inventory was: ```text demo-result/FINAL-REPORT.md demo-result/audit-checklist.md demo-result/audit-findings.md demo-result/current-status.md demo-result/fix-plan.md demo-result/fix-verification-report.json demo-result/progress-report.md demo-result/repo-pre-6-smoke-20260812/ demo-result/repo22-full-20260811T065312Z/ demo-result/repo22-full-20260811T071634Z/ demo-result/repo22-full-20260811T073716Z/ demo-result/repo22-full-20260811T082907Z/ demo-result/repo22-full-20260811T095621Z/ demo-result/test-execution-summary.md erofsstress/demo-result/repo-pre-3-smoke-20260812/ erofsstress/demo-result/repo-pre-6-smoke-20260812/ guest/setup-build-env.sh lfs/FreeBSD-15.0-RELEASE-src.txz scripts/check-kernel-src.sh scripts/complete-setup-and-test.py scripts/install-kernel-sources.py scripts/manual-fix.sh scripts/quick-install-src.py scripts/run-final-test.sh scripts/setup-build-env-simple.py scripts/setup-build-env.py scripts/simple-install-kernel-src.sh ``` These paths are not owned by this baseline step and must not be staged, modified, or removed as part of it. Immutable base image identity: ```text path: /work/tests-dev/lfs/freebsd-15-dev-src-20260811.bp format: QEMU QCOW2 Image (v3) mode: 0444 size: 16,515,530,752 bytes SHA256: 67f359621f23a1d745f0889370cbb99a096cee3e99a0b2f3bb18fc7a91bf6fef ``` The base image is an input only. It must not be modified during Pre9 testing. ## Historical TC004 Evidence Identity The prior observation is preserved by tests-dev evidence commit `46e6840f1b8918414af76c9a5731322c697eee8b`, tree `7178de49f3f429796d6de71a910d71bfccd5745a`, with subject `evidence: record repo-pre-8 required smoke`. ```text run ID: pre8-required-20260812T194817Z case: TC004 - LZMA Compressed File Read historical DUT commit: d1f5b686e8945d06b6e8c0a0188b2262de0b4ac2 historical DUT src tree: cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2 DUT archive SHA256: bbcfd8a6a28faba3f7c5c7e827bde5578774be6e08b83d05485d58ee16a7fb6f module SHA256: 348cb1f5a91d47e1412747d285c795c49375a61a66cfb3d35d22f38ecfde6ea0 fixture image: G5/images/lzma-level6.erofs fixture image SHA256: 32107a084b27362a093768b88746c37c2e99a74b9f1301a9d4046988479defe9 source file: G5/sources/levels/level.dat source file SHA256: ddda39737f0f6093e828a032ec161511fefbb1fa361bc6cbffdbc91e48e4c461 deployment manifest: c9540baafb53b3783233c3950f4d8548c28585cd32335dadc14db613692a8978 fixture checksum hash: d08138b1bd51579cbf5461a73abce9d7fddc9cdb8ace1329c9f1581d41e1095f TC004 evidence SHA256: de6982a11fa368fbaad7d837586daa899789cd4cd8b9f698974a3ef4e251811f ``` Evidence paths: ```text /work/tests-dev/demo-result/repo-pre-8-smoke-20260812/pre8-required-20260812T194817Z/summary.json /work/tests-dev/demo-result/repo-pre-8-smoke-20260812/pre8-required-20260812T194817Z/evidence/TC004/TC004_evidence.json /work/tests-dev/demo-result/repo-pre-8-smoke-20260812/summary.md /work/erofs-freebsd-pre/issues/pre8-lzma-read-timeout.md ``` The historical automation verdict was `ERROR` and the audited DUT verdict was `FAIL`: mount and lookup succeeded, but hashing the mounted 8 MiB `level.dat` did not finish within 30 seconds. PID 95693 remained active, and the mount and `md0` stayed busy until the disposable VM was destroyed. Attribution remains `UNKNOWN`. These facts neither prove a Pre8 regression nor select a Pre9 fix. ## Initial Implementation Status | Item | Status | |---|---| | Pre9 planning | COMPLETE | | Pre9 implementation baseline | RECORDED | | tests-dev TC004 prerequisite corrections | NOT RUN | | tests-dev remaining full-suite prerequisites | NOT RUN | | Controlled Pre7 reproduction | NOT RUN | | Controlled Pre8 reproduction | NOT RUN | | Controlled unchanged Pre9 reproduction | NOT RUN | | Manual SSH diagnosis | NOT RUN | | Hypothesis decision gates | NOT RUN | | Source decision | NOT RUN | | Optional diagnostic instrumentation | NOT RUN | | Pre9 source implementation | NOT RUN | | Source static review | NOT RUN | | Source direct-parent revert gate | NOT RUN | | Source final-HEAD inverse gate | NOT RUN | | `WITH_ZSTDIO=0` build | NOT RUN | | `WITH_ZSTDIO=1` build | NOT RUN | | TC004 | NOT RUN | | Extended LZMA matrix | NOT RUN | | Plain/LZ4 smoke | NOT RUN | | Full regression | NOT RUN | | QEMU cleanup and zero-residual-state checks | NOT RUN | | Pre9 completion and evidence-honesty review | NOT RUN | | Pre9 overall | NOT RUN | No diagnostic command, tests-dev prerequisite, controlled comparison, source change, build, QEMU run, or manual SSH investigation has been performed for Pre9 at this baseline. Fresh evidence is required before any status above can advance or any root-cause or repair claim can be made.