From f969ecc4a65af6c6636510f8083a2efe56a262c0 Mon Sep 17 00:00:00 2001 From: vasilito Date: Sun, 12 Jul 2026 02:04:37 +0300 Subject: [PATCH] phase 2.3 (local): add orphan-patch decision tree reference to local/AGENTS.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirrors the parent AGENTS.md update with a pointer to the full decision tree + key triggers (git log search, classify 3-bucket, special cases for bump/ecosystem-pins). Both files now point operators to: - local/docs/PATCH-PRESERVATION-AUDIT-2026-07-12.md - local/patches/legacy-superseded-/SUPERSEDED.md - AGENTS.md § 'Orphan-Patch Supersession Decision Tree' --- local/AGENTS.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/local/AGENTS.md b/local/AGENTS.md index 8b9a998078..3189298164 100644 --- a/local/AGENTS.md +++ b/local/AGENTS.md @@ -613,6 +613,29 @@ If we can fetch fresh upstream sources tomorrow, provision sources from `sources If a change exists only inside an upstream-owned `recipes/*/source/` tree, then it is **not yet preserved**, even if the current build happens to pass. +### Orphan-patch decision tree (added 2026-07-12, Phase 2.3) + +When `local/scripts/verify-patch-content.sh` reports a patch in +`local/patches//` is no longer present in the fork HEAD +(orphan), the default action is NOT to reapply. Apply this decision +tree per AGENTS.md § "Orphan-Patch Supersession Decision Tree": + + 1. Run 'git -C local/sources/ log --all --oneline -i --grep ' + where is extracted from the orphan's filename. + + 2. Classify the orphan: + (a) SUPERSEDED upstream → MOVE to legacy-superseded-/ + (b) INTEGRATED via other commit → MOVE to legacy-superseded-/ + (c) MISSING-UPSTREAM → try patch -p1 --fuzz=5, else mark Phase 2.4+ + and leave in local/patches// + + 3. Special cases (always SUPERSEDED): + - 'bump' patches: managed by sync-versions.sh + - 'ecosystem-pins': managed by Local Fork Supremacy + AGENTS.md rules + +See: `local/docs/PATCH-PRESERVATION-AUDIT-2026-07-12.md` and the +`SUPERSEDED.md` audit log in `local/patches/legacy-superseded-/`. + ### Local fork recipe directories must not carry patch files When a recipe's `[source]` uses `path = ".../local/sources//"`, the local fork