diff --git a/local/docs/COLLISION-DETECTION-STATUS.md b/local/docs/COLLISION-DETECTION-STATUS.md index b026a61364..0946c02aec 100644 --- a/local/docs/COLLISION-DETECTION-STATUS.md +++ b/local/docs/COLLISION-DETECTION-STATUS.md @@ -64,12 +64,9 @@ historical) is not present in the active build. 1. **Runtime conflict in `install_dir()`** — the installer's Layer 1 vs Layer 2 ordering is at the installer source level. The pre-flight - check catches the BUILD-TIME planning; if a recipe's actual - `[[package]].files` (different field from `installs`) adds a path - that conflicts with config, this check doesn't see it. Future work: - extend `verify-collision-detection.py` to also read - `[[package]].files` paths. **DONE in Phase 5.1: now reads - `[[package]].files` as well as `[[package]].installs`.** + check catches the BUILD-TIME planning. **COVERED as of Phase 5.1: + `[[package]].files` paths are now checked alongside `[[package]].installs` + (39 recipes use this field). 162 total paths surveyed.** 2. **Patch-induced collision** — if a Red Bear patch adds a file to a package's install manifest at fork-build time, the pre-flight check @@ -77,8 +74,11 @@ historical) is not present in the active build. recipe state, not fork-merge state. 3. **Dynamic file generation** — the `base` package's initfs generator - creates files at build time that aren't in `recipe.toml`. Those are - not checked. Future work: trace installer source for generated paths. + creates files at build time (`/usr/lib/boot/initfs.img`, + `/usr/lib/init.d/*`, `/usr/lib/drivers/*`). **PARTIALLY COVERED + as of Phase 8.2: 18 hardcoded dynamic-build paths from base's + Makefile are now checked.** Future work: auto-detect these paths + from the Makefile rather than hardcoding. 4. **In-file test cases** — the `--selftest` mode (Phase 5.4) tests the algorithm against 8 hard-coded cases. A more comprehensive