75 lines
2.9 KiB
Markdown
75 lines
2.9 KiB
Markdown
# 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.
|