Files
erofs-freebsd-out-tree/docs/pre8-baseline.md
T
2026-08-13 10:44:59 +02:00

3.9 KiB

Pre8 Responsibility-Alignment Baseline

Repository Identity

The following identities were read directly from Git objects at execution-start commit 475b62437f89a8a98e0e3a1d1628481768525cb2:

execution-start commit: 475b62437f89a8a98e0e3a1d1628481768525cb2
execution-start tree:   3f0bc6be8324446440ce578f03d892c95f73591c
repo-pre-7 tree:        b8f9af2cd55225c4348b79ff5910ae6fc83cd517
repo-pre-8 tree:        b8f9af2cd55225c4348b79ff5910ae6fc83cd517

The equal repo-pre-7 and repo-pre-8 tree identities establish that repo-pre-8 is an exact tracked snapshot of repo-pre-7 at the execution start. This relationship is based on Git object identities, not a live worktree comparison.

Relevant source identities at the same commit are:

mode    blob                                      path
100644  e06822e363d9122a39256494bde7d12cfea1f7c9  repo-pre-8/src/decompressor.c
100644  ff595fe009679a4e950eb3743b2f152fac4aad31  repo-pre-8/src/decompressor_lzma.c
100644  f3e48cd2016608aaf84ed5e80151782a6c5513f7  repo-pre-8/src/decompressor_deflate.c
100644  23756af263ceb148ca50fbb8cd1ae80ba3fac4cd  repo-pre-8/src/decompressor_zstd.c
100644  cac9ee15f81a1607a03fbab3466cf89c588872c8  repo-pre-8/src/internal.h
100644  2257a2299b3bcf3ab15978d723843f26d0b4b346  repo-pre-8/src/xattr.c

These values define the immutable comparison baseline for Pre8. Concurrent or later worktree changes are not assessed by this document.

Execution Scope

Pre8 is limited to the following private responsibility-alignment tasks:

  1. Move z_erofs_load_lzma_config() from the core decompressor file to the LZMA backend without changing its name, signature, validation order, state updates, or error behavior.
  2. Move z_erofs_load_deflate_config() to the DEFLATE backend with its existing format checks, window-bit limits, state updates, and errors preserved.
  3. Move z_erofs_load_zstd_config() to the ZSTD backend while preserving the availability check, configuration checks, window-log limit, diagnostics, and WITH_ZSTDIO behavior.
  4. Replace the duplicated inline and shared xattr traversal paths with shared private iterator helpers while preserving lookup priority, list order, namespace and errno timing, validation differences, output accounting, and buffer ownership.

The source allowlist is restricted to the six files identified above. This baseline file is the only documentation path used by the baseline step.

Pre8 does not include superblock extraction, a new compress.h contract, descriptor tables, decode callback ABI changes, codec primitive renaming, typed errno conversion, Linux page or folio abstractions, broad function reordering, or any item already recorded under planning/reject/.

Initial Validation Status

This document records the execution baseline only. No implementation, correctness, build, or runtime conclusion is made here.

Validation item Initial status
Pre8 source implementation NOT RUN
Source allowlist and protected-path audit NOT RUN
git diff --check NOT RUN
Loader definition, declaration, reference, and body-equivalence checks NOT RUN
Xattr iterator invariant and behavior review NOT RUN
Direct-parent restoration checks for source commits NOT RUN
Final-HEAD inverse-patch compatibility checks NOT RUN
WITH_ZSTDIO=0 build NOT RUN
WITH_ZSTDIO=1 build NOT RUN
Basic plain/LZ4 QEMU mount, read, readdir, and unmount smoke NOT RUN
Pre7 deferred QEMU coverage NOT RUN
Pre8 xattr QEMU coverage NOT RUN
Pre8 codec QEMU coverage NOT RUN
QEMU cleanup and zero-residual-state checks NOT RUN
Completion and evidence-honesty review NOT RUN

Historical evidence from an earlier snapshot is not a Pre8 result. Every status above remains NOT RUN until supported by fresh evidence from the final Pre8 DUT. This file must not be interpreted as a completion report.