# Pre8 Loader History Correction

## Scope

This record corrects the commit organization of the Pre8 codec configuration
loader moves. It does not report a source behavior defect and does not rewrite,
amend, squash, or hide any pushed commit.

The affected historical commits are:

```text
dd7f2483d468ec4397a863c7a871391ea1bc2c4c  LZMA loader move
0dba0ea223bee8626b8cd3371562f87ed975a99f  DEFLATE loader move
7c47f6d                                    ZSTD loader move
3d28d96fc48753231b1899fce6189e586cf988c6  xattr iterator change
```

## Recorded Results

Each of the three loader commits restores its direct parent's complete tree
when reverted at the commit where it was introduced. Those direct-parent
revert checks are `PASS`.

When each commit is reverted independently from final functional commit
`3d28d96`, the results are:

| Commit | Final-HEAD independent revert | Result |
|---|---|---|
| `dd7f248` | Unmerged conflict in `decompressor.c`; `internal.h` auto-merged as a staged modification | FAIL |
| `0dba0ea` | Unmerged conflict in `decompressor.c`; `internal.h` auto-merged as a staged modification | FAIL |
| `7c47f6d` | Applies without conflict | PASS |
| `3d28d96` | Applies without conflict | PASS |

The two failures are caused by overlapping patch context in `decompressor.c`.
In both cases, `internal.h` is automatically merged as a staged modification,
not left as an unmerged conflict. This is a commit organization problem, not
evidence of a codec implementation or xattr behavior problem.

The `dd7f248` and `0dba0ea` final-HEAD results remain permanently recorded as
`FAIL`. The `7c47f6d` result remains `PASS`, but that commit is superseded with
the other two loader commits so the loader responsibility change has one
atomic acceptance unit.

## Correction Strategy

The three split loader commits will be reverted in reverse order without
rewriting history. Their exact combined five-path change will then be replayed
as one atomic replacement commit. The replacement is limited to:

```text
repo-pre-8/src/decompressor.c
repo-pre-8/src/decompressor_lzma.c
repo-pre-8/src/decompressor_deflate.c
repo-pre-8/src/decompressor_zstd.c
repo-pre-8/src/internal.h
```

Commit `3d28d96` remains accepted and is not superseded. Its `xattr.c` content
must remain unchanged through the correction.

The new acceptance objects are:

1. the atomic replacement loader commit, which must restore its direct parent
   exactly when reverted and must independently revert from final `HEAD`
   without affecting xattr content; and
2. existing xattr commit `3d28d96`, which must independently revert from final
   `HEAD` without affecting the final loader layout.

## Validation Status

This document records static Git evidence only. No build or QEMU test has been
run for this history correction. Build and runtime validation remain
`NOT RUN` until later Pre8 validation produces fresh evidence from the final
DUT.
