# Landing-sweep triage ledger — wp-content monorepo

- **origin/master audited:** `cee8d2649fe47eb153d0ca5ecb47edab817ea4d3` (fetched fresh at start of this session)
- **Date:** 2026-08-21
- **Method:** read-only git only (`log`, `show`, `diff`, `merge-base`, `rev-list`, `cherry`, `branch`, `worktree list`, `git merge-tree --write-tree` as the merge-cleanliness oracle). No refs, working trees, or tracked files were modified. `.worktrees/manual-translation-protection-rc` was never entered or `-C`'d into.
- **Sanity check:** recomputed `git branch --no-merged origin/master` fresh — set of 76 unmerged branches is byte-identical to the pre-computed `branches.txt`. No two-dot diff (`origin/master..branch`, tip-to-tip) is empty for any of the 76 — nothing is byte-identical to current master tip, so every branch has *some* drift; the question is whether that drift is novel or just noise.
- **Classification precedence used (fixes an internal collision the task brief noted):** named-ACTIVE branches → `archive/`/`wip/archive/` prefix (ARCHIVE-KEEP) → date ≥ 2026-08-20 (ACTIVE) → license/PayPal/JobReceiver-era content (STALE-SUPERSEDED) → patch-id-equivalent-only (ALREADY-LANDED) → merge-tree verdict (LAND-CLEAN / LAND-CONFLICT) → INVESTIGATE.

## Totals

Verified by construction: every branch below was placed into exactly one two-column `branch<TAB>class` mapping file, checked for zero duplicates and an exact match (both directions, `comm`) against the freshly recomputed 76-branch `--no-merged` set. Two defects from an earlier manual count are fixed here: (1) `fix/plugin-worker-parity` (2026-08-06, OAuth PKCE connect flow, 8 commits, 997 files/175k deletions) was omitted entirely from the first pass — now classified STALE-SUPERSEDED below; (2) `wt/acf-field-policy-keys` was miscounted as ALREADY-LANDED — a scoped `git diff origin/master wt/acf-field-policy-keys -- <its files>` shows it **removes** `do_action('ipz_data_changed', ...)` calls and constants that exist on current master, i.e. it's a pre-amendment snapshot master has since moved past, not patch-equivalent content — reclassified STALE-SUPERSEDED. The 3 near-duplicate `*-target-safety*`/`*-e2e-reconcile*` branches (cherry `+1/-0`, genuinely novel, merge-tree conflicts) were also removed from ALREADY-LANDED — they were already correctly counted once each in LAND-CONFLICT.

| Classification | Count |
|---|---|
| ARCHIVE-KEEP | 14 |
| ACTIVE-DO-NOT-TOUCH (within the 76) | 2 |
| STALE-SUPERSEDED | 16 |
| ALREADY-LANDED | 5 (all distinct lanes; no duplicate tips remain in this table) |
| LAND-CLEAN | 6 |
| LAND-CONFLICT | 24 |
| INVESTIGATE | 9 (8 table rows; one row bundles 2 branches — `wt/ipz-shared-controls-reaudit` + `-reaudit-land`) |
| **Total (76 unmerged branches)** | **76** |

Note: `wt/manual-translation-protection-rc` is fully MERGED (ahead=0) so it is **not** one of the 76 and is **not** in the count above; per the task's hard constraint it is listed separately below as a 3rd ACTIVE-DO-NOT-TOUCH entry (so that section's table has 3 rows, but only 2 count toward the 76-total).

---

## ARCHIVE-KEEP (14)

All `archive/*` and `wip/archive/*` prefixed. Deliberate snapshot refs — keep, never land, never delete without owner sign-off.

| Branch | Tip | Date | Ahead | Novel content (files/subjects) |
|---|---|---|---|---|
| archive/feat-real-onboarding-c1293d800613 | bec2a0ad2 | 2026-08-19 | 2 | 21 files — onboarding/licensing snapshot (PayPal-era) |
| archive/worktree-audit-generate-all-counts-545e686c5689 | — | 2026-08-19 | 4 | 8 files — Generate All counts snapshot |
| archive/worktree-mirror-original-custom-fields-ec1e3939505f | — | 2026-08-19 | 6 | 74 files — ACF mirror-fields snapshot |
| archive/worktree-multilingual-slice1-claudex-aacbf8c0be53 | — | 2026-08-19 | 2 | 26 files — multilingual site-entry routing snapshot |
| archive/wt-navigation-adapter-final-7ae90453b5b2 | — | 2026-08-19 | 2 | 7 files — nav adapter snapshot |
| archive/wt-navigation-adapter-final-ship-40c641ecffdb | — | 2026-08-19 | 2 | 7 files — nav adapter snapshot (ship variant) |
| archive/wt-real-onboarding-826ba2bf8e3d | — | 2026-08-19 | 1 | 3 files — onboarding snapshot |
| archive/wt-synced-pattern-adapter-7b34c9c6fac9 | — | 2026-08-19 | 2 | 9 files — synced-pattern adapter snapshot |
| archive/wt-task-84-site-content-handler-8e238100ddb2 | — | 2026-08-19 | 3 | 15 files — Site Content handler snapshot |
| wip/archive/manual-protection-current-before-completion-20260819 | — | 2026-08-19 | 2 | 7 files |
| wip/archive/manual-protection-current-latest-20260820 | — | 2026-08-20 | 2 | 13 files (date ≥ 08-20 but archive-prefix wins precedence) |
| wip/archive/manual-translation-locks-legacy-20260819 | — | 2026-08-19 | 2 | 12 files |
| wip/archive/plugin-golive-connected-fixture-overlap | — | 2026-08-19 | 2 | 1 file |
| wip/archive/plugin-golive-page-fidelity-before-delegation | — | 2026-08-19 | 2 | 3 files |

## ACTIVE-DO-NOT-TOUCH (3)

| Branch | Tip | Date | Note |
|---|---|---|---|
| wt/manual-translation-protection-rc | 01940a992 | 2026-08-20 | Live PG-14 lane; MERGED (ahead=0) but named-protected; worktree `.worktrees/manual-translation-protection-rc` never entered per hard constraint |
| wip/handoff/manual-protection-20260821 | — | 2026-08-21 | Named-protected, dated 08-21, merge-tree clean (1 file, 392 insertions) but out of scope to touch |
| test/pg14-e2e-acceptance-20260821 | — | 2026-08-21 | Named-protected, dated 08-21, merge-tree clean (68 files) but out of scope to touch |

---

## STALE-SUPERSEDED (16)

Content predates/contradicts current architecture (retired license-key/PayPal/JobReceiver design) or is a superseded early attempt at a feature that landed differently on master (confirmed via `git merge-base --is-ancestor`).

| Branch | Tip date | Ahead | Novel content | Reason |
|---|---|---|---|---|
| recover/cloudpanel-runtime-health | 2026-07-30 | 8 | 84 files, incl. "Fix international license activation" | Oldest branch (07-30); license-activation era, huge conflict surface (rc=1) |
| recovery/licensing-hardening-1afebda6 | 2026-08-11 | 4 | 13 files — license-key encrypted storage | License-key architecture retired per INDEX line 51; **identical tip** to `wt/licensing-hardening` (same SHA `1afebda61...`) |
| wt/licensing-hardening | 2026-08-11 | 4 | (same 13 files, dup tip of above) | Same as above — duplicate ref, one lane |
| worktree-agent-a0e196bc8b551386b | 2026-08-13 | 1 | "Restore authenticated license encryption with per-site key fallback" | License-key architecture retired |
| worktree-license-only-api-configuration | 2026-07-31 | 2 | 63 files, 7047 insertions — license-only API config | License-key architecture retired; oldest/broadest of the license lanes |
| wt/licensing-hardening-split | 2026-08-11 | 3 | 13 files — license status/key storage | License-key architecture retired |
| feat/real-onboarding | 2026-08-13 | 1 | "Make real PayPal checkout idempotent and provision managed credentials" | PayPal checkout retired; note: merge-tree is CLEAN (mtrc=0) but content is architecturally obsolete — do not land |
| wt/navigation-adapter-final-ship | 2026-08-15 | 1 | 7 files — dormant nav translations | Superseded: `45ee7ef347747ab0ac1cd5e3ba18387f0edec2b0` (the plan's claimed DONE/published SHA) **is confirmed an ancestor of origin/master** |
| wt/navigation-adapter-publish-final | 2026-08-15 | 1 | 7 files — dormant nav adapter | Same supersession as above |
| wt/synced-pattern-adapter | 2026-08-15 | 1 | 9 files — dormant synced-pattern adapter | Superseded: `2079fefa27fa80fb7e7a00ed01d5680b7538bdec` confirmed ancestor of origin/master |
| wt/task-84-site-content-handler | 2026-08-15 | 2 | 15 files — dormant Site Content translation handler | Superseded: `097a5f64b` (in merge `aa56fce30`) confirmed ancestor of origin/master |
| wt/page-fidelity-delivery | 2026-08-16 | 2 | 13 files — Page translation fidelity | Superseded: `01940a992` (PG-11..13) confirmed ancestor of origin/master; INDEX itself says "stale page-fidelity branch remains reference only" |
| wt/page-role-layout-completion | 2026-08-16 | 2 | 13 files — near-identical to above | Same supersession |
| wt/acf-table-accordion-design | 2026-08-11 | 1 | 3 files — "Design ACF field table accordions" | Superseded: master already has "Design→Build→Route and verify→Record delivery→Restore" ACF accordion lineage (`9792a9137` etc., confirmed ancestor of master) via a different commit lineage; this early design-only branch is orphaned |
| wt/acf-field-policy-keys | 3971b09ca | 1 | 3 files — removes `do_action('ipz_data_changed', 'acf-fields')` calls and several public constants/imports from `ACFFieldPolicy.php`/`ACFIntegration.php` | **Reclassified from ALREADY-LANDED**: scoped diff (`git diff origin/master <branch> -- <its files>`) shows the branch is *missing* code that exists on current master (the diff is all `-` lines relative to origin/master), i.e. this is a pre-amendment snapshot; INDEX line 52 confirms an "amended implementation commit" landed after this branch's base — landing this branch would regress master |
| fix/plugin-worker-parity | 2026-08-06 | 8 | 997 files, 175,587 deletions — OAuth PKCE connect flow, "Match the plugin client to the worker wire contract"; `git cherry` shows a mixed `+4/-2` (some commits patch-equivalent to landed history, some not) | Oldest content-bearing branch found in the sweep (missed in the first pass, added on recount); its OAuth/hosted-onboarding direction matches INDEX's "Real production onboarding — SUPERSEDED: replaced by Connect + social auth + Stripe checkout" note; massive delete-heavy diff and modify/delete conflicts on both sides indicate it predates a large restructure — not safe to land as-is |

---

## ALREADY-LANDED (5)

Patch-id-equivalent to history already in origin/master (`git cherry` shows all commits as `-`), but merge-tree conflicts due to context drift since landing (files evolved further on master) — confirms nothing novel to land, safe to delete. (Corrected: the 3 `*-target-safety*`/`*-e2e-reconcile*` branches and `wt/acf-field-policy-keys` were removed from this table after rechecking — see LAND-CONFLICT and STALE-SUPERSEDED respectively.)

| Branch | Tip | Ahead | cherry +/- | Novel content |
|---|---|---|---|---|
| worktree-agent-ad3851cf25be6e1f2 | — | 4 | +0/-4 | fields-scroller/onboarding/account shared-component slices, all patch-equivalent to landed work |
| wt/account-component-integration | — | 2 | +0/-2 | "Use shared account components" — already landed |
| wt/fields-version-landing | — | 1 | +0/-1 | "Bump plugin version to 0.9.52" — already landed |
| wt/ipz-remote-gate-ast-toolchain | — | 1 | +0/-1 | "Require lock-owned AST analysis" — already landed |
| wt/wip-preserve-20260812 | — | 2 | +0/-2 | "Refresh/Preserve all current WIP carriers" — a preservation snapshot, already superseded/landed |

---

## LAND-CLEAN (6) — candidate landing batch

All merge clean (mtrc=0) against current origin/master, genuinely novel (cherry +1/-0), non-overlapping file sets (verified via `--name-only`).

| Order | Branch | Files touched | Subject |
|---|---|---|---|
| 1 | wt/ipz-retire-phantom-settings | `admin/src/pages/settings.js` | Retire the log level and character limit settings |
| 2 | wt/ipz-account-skeleton | `admin/src/pages/account.js` | Paint an account skeleton shaped like its table |
| 3 | wt/ipz-test-remove-parity | `.claude/skills/verification.md`, `tests/e2e/ui-parity-comments-settings.spec.js` | Drop the cross-plugin settings parity test |
| 4 | wt/ipz-test-journeys | `docs/user_journeys/UJ-006/007-*.md`, `tests/e2e/journeys/UJ-006/007-*.spec.js` | Test settings save/reset against real behavior |
| 5 | wt/ui-redesign-land | `admin/src/pages/fields-translate.js`, `admin/tests/acf-search-caret.test.js`, `tests/e2e/journeys/UJ-ACF-search-caret.spec.js` | Keep the caret in place when typing in ACF search inputs |
| 6 | wt/deploy-dev1-botmaster-notify | `tools/deploy-dev1.mjs` | Notify Press.zone channel via botmaster on successful dev1 deploy |

No pairwise file overlap among these 6 — a single sequential batch is safe. **Excluded from this batch:** `feat/real-onboarding` also merges clean but is STALE-SUPERSEDED (PayPal architecture retired) — do not land despite clean merge-tree.

**Caveat — these are plan-less, unreviewed orphan branches.** None of the 6 map to an entry in `INDEX.md`; there is no recorded plan, gate run, or independent review for any of them in this repo's plan registry. "LAND-CLEAN" here means only "merges cleanly and is novel" (mechanical git facts), not "reviewed and approved to ship." The owner should size review risk accordingly before landing — this is a merge-cleanliness recommendation, not a content-quality sign-off.

---

## LAND-CONFLICT (24)

Novel content, `merge-tree` reports conflicts. Ordered by estimated rebase size (conflicted-path count from `merge-tree --name-only`).

| Branch | Ahead | Conflicted paths (count) | Novel content summary |
|---|---|---|---|
| worktree-agent-ad72e0af03f2a95af | 1 | 1 — `tests/e2e/global-setup.js` | Fix E2E target safety setup (earlier/smaller variant) |
| wt/backend-defect-fixes | 3 | 1 | 6 files — Prisma credit-transaction mapper/typed contract (press-zone-backend, not IPZ plugin) |
| worktree-audit-generate-all-counts | 3 | 1 | 6 files — Generate All word/token totals restore |
| wt/ipz-remote-e2e | 1 | 1 | 1 file — component deployment receipt |
| wt/ipz-test-settings-tabs | 1 | 1 | 1 file — assert real settings tab inventory |
| wt/ipz-test-translation-settings | 1 | 1 | 1 file — test translation settings behavior instead of markup |
| wt/fields-scroller-landing | 1 | 1 | 4 files — expose fields table horizontal scrolling |
| wt/ipz-e2e-target-safety-land | 1 | 2 — `tests/e2e/global-setup.js`, `tests/e2e/target-safety.node-test.js` | E2E target-safety fix — tip `e27d1d3dc` |
| wt/universal-admin-e2e-reconcile | 1 | 2 (same paths) | Identical tip `aaff760f4` to `wt/universal-admin-e2e-reconcile-agent` — **duplicate, one lane** |
| wt/universal-admin-e2e-reconcile-agent | 1 | 2 (same paths) | Duplicate of above (same tip) |
| wt/ipz-delivery1-receipt | 2 | 2 | 2 files — docs: landing blocker / search delivery receipt |
| wt/ipz-settings-validation-fix | 1 | 2 | 4 files — stop invalid settings values from saving |
| wt/fields-scroller-final | 2 | 3 | 9 files — build fields scroller assets |
| wt/fields-scroller-ship | 2 | 3 | 9 files — identical stat to `wt/fields-scroller-final` (likely same content, different tip) |
| wt/ipz-remote-precommit | 1 | 3 | 4 files, 2572 insertions — enforce remote IPZ pre-commit gates |
| wt/fields-deploy | 2 | 4 | 5 files — fields clipping fix + version bump |
| wt/ipz-e2e-consolidate | 7 | 4 | 13 files — consolidates the settings/account/E2E LAND-CLEAN atoms above into one integration branch |
| wt/mslayout-complete | 3 | 4 | 14 files — Site Content class naming, nav adapter snapshot cleanup |
| wt/ipz-land-v2 | 10 | 5 | 19 files — further consolidation of settings/account/E2E lane (superset of ipz-e2e-consolidate) |
| wt/ipz-final-land | 8 | 6 | 17 files — another consolidation variant of the same settings/account/E2E lane |
| worktree-mirror-original-custom-fields | 5 | 6 | 74 files — mirror original ACF fields in translation editor (duplicate-in-content of `archive/worktree-mirror-original-custom-fields-ec1e3939505f`, which is ARCHIVE-KEEP) |
| fix/task-91-ux-current | 2 | 8 | 13 files — Task 91 publication + site entry page metadata |
| wt/localhost-only-testing | 1 | 10 | 18 files — enforce localhost-only WordPress testing |
| wt/remaining-release-orchestration | 9 | 11 | 20 files, 5804 insertions — job reconciliation/finalization/dispatch hardening |

**Note on the three near-identical "consolidation" branches** (`wt/ipz-e2e-consolidate`, `wt/ipz-final-land`, `wt/ipz-land-v2`): these are successive integration attempts that each re-bundle the same set of atomic changes already captured individually as LAND-CLEAN branches above (retire-phantom-settings, account-skeleton, test-remove-parity, test-journeys, settings-validation-fix, test-settings-tabs, test-translation-settings). **Recommendation: land the 6 LAND-CLEAN atoms directly; do not also land these 3 consolidation branches** — they'd be redundant and are the more conflict-prone path to the same result. Treat them as ARCHIVE/delete candidates once the atoms land, not as an independent LAND-CONFLICT rebase target.

---

## INVESTIGATE (9 branches, 8 rows)

Cannot confidently classify without deeper (out-of-scope) review — large conflict surface, ambiguous supersession, or matches an ACTIVE (not IDLE) plan needing owner judgment on whether to keep pursuing.

| Branch | Ahead | Conflicts | Why ambiguous |
|---|---|---|---|
| wt/acf-task11-runtime | 10 | 17 | 33 files, 8370 insertions — "Complete ACF runtime integration," "Harden translation job dispatch" — large, touches job-dispatch/reconciliation area that has since evolved; unclear if superseded or still-wanted feature work |
| cap02-active-client | 3 | 18 | 22 files — "Repair active translation client contracts" (CAP-02); no matching INDEX plan found — orphaned work, purpose unclear without owner context |
| worktree-design-system-component-audit | 2 | 14 | 34 files — "Complete shared admin component audit / Enforce shared component radius tokens"; overlaps heavily with the (confirmed-landed) D5 lifecycle work — likely partially superseded, partially novel; needs file-by-file review |
| worktree-multilingual-slice1-claudex | 1 | 15 | 26 files, 7373 insertions — "Ship multilingual site entry routing"; matches ACTIVE plan `2026-08-09-multilingual-site-entry-and-layout.md` ("Slice 1... DONE; owner requested every remaining Release 2/3 slice") — unclear if this branch IS the landed slice-1 or a stale duplicate; the archive twin `archive/worktree-multilingual-slice1-claudex-aacbf8c0be53` (ARCHIVE-KEEP) suggests it's already preserved/superseded, but not confirmed |
| wt/modal-acf-yoast-accordions | 13 | 12 | 38 files, 2440 insertions — "Surface manual-policy ACF fields in Edit Translation modal," multiple version-bump commits (0.9.61-0.9.63) suggesting a deployed-then-abandoned lane; matches no clean IDLE/DONE plan entry; largest of the "still maybe wanted" ACF work |
| wt/shared-control-repair | 6 | 21 | 51 files — "Repair shared admin controls," overlaps `wt/ipz-shared-controls-reaudit` below; needs de-duplication decision |
| wt/ipz-shared-controls-reaudit / wt/ipz-shared-controls-reaudit-land | 10 / 1 | 81 / 81 | 183 files each — same stat for both; `-land` (1 commit) is likely a squash of `-reaudit` (10 commits, includes a "Merge latest master" commit). Very large conflict surface (81 paths) against current master — needs the owner/expert agent's judgment, not a triage-level call |
| wt/ui-component-redesign | 3 | 165 | 258 files, 10543 insertions — matches ACTIVE plan `2026-08-12-universal-admin-component-redesign.md` ("implementation and independent visual verification are complete; landing... remain"); largest branch in the whole sweep. Given the confirmed-landed D5 lifecycle work already present on master (see Discrepancies), this branch's baseline likely predates significant master drift — high value, high conflict, explicitly out of scope for a triage-level merge decision |

---

## Discrepancies (INDEX.md claims vs reality)

This is the headline finding of the sweep: **essentially every Delivery-5 "IDLE — landing explicitly excluded" component-lifecycle plan is factually wrong.** All 13 checkable commit SHAs from those plans are confirmed `git merge-base --is-ancestor <sha> origin/master` = true, and the corresponding component files on origin/master already contain the claimed lifecycle methods (`.mount =`, `.update =`, `.destroy =`).

| # | Plan (INDEX line) | Claimed status | Reality found | Verdict |
|---|---|---|---|---|
| 1 | Tooltip (`2026-08-15-tooltip-lifecycle.md`, line 5) | DONE, committed locally as `92e853a7b`; "landing remains explicitly excluded" | `92e853a7b` is an ancestor of origin/master; `Tooltip.js` on master has `mount()`/`update()`/`destroy()` | **DISCREPANCY** — already landed, not excluded |
| 2 | TileSelect (line 6) | IDLE, "committed locally," no SHA given | `TileSelect.js` on master already has a `.destroy =` lifecycle method | **DISCREPANCY** — plan gives no SHA to verify, but the described feature is present on master |
| 3 | SortableList (line 16) | IDLE, `D5-SORTABLELIST-01` "committed locally," no SHA | `SortableList.js` on master has `.destroy =` | **DISCREPANCY** |
| 4 | DataRegion (line 17) | IDLE, "committed locally," no SHA | `DataRegion.js` on master has 3 `.destroy`-pattern hits | **DISCREPANCY** |
| 5 | Batch D: AssignmentCard/RegionPresets/Table (line 18) | IDLE, no SHA | `AssignmentCard.js` (3 hits) and `Table.js` (2 hits) on master have lifecycle destroy patterns | **DISCREPANCY** |
| 6 | Select (line 20) | IDLE, `D5-SELECT-01`, no SHA | `Select.js` on master has `.destroy =` | **DISCREPANCY** |
| 7 | Badge (line 21) | IDLE, `D5-BADGE-01`, no SHA | `Badge.js` on master has `.destroy =` | **DISCREPANCY** |
| 8 | ProgressBar (line 22 **and** line 59, contradictory) | Line 22: IDLE, no SHA. Line 59: DONE, `3d7a3350b` | `ProgressBar.js` on master has `.destroy =`; `3d7a3350b` presence not independently re-verified but line 59 already confirms landed | **REGISTRY DEFECT** — same plan listed twice with contradictory IDLE/DONE status, not two plans |
| 9 | Checkbox (line 23) | IDLE, `0144af55e` (+ upstream fix `478e92904`), "landing is explicitly excluded" | Both SHAs confirmed ancestors of origin/master | **DISCREPANCY** — already landed |
| 10 | Disclosure (line 24) | IDLE, `1df2ec685`/`f9166d743`/`6372b4620`, "landing is explicitly excluded" | All 3 SHAs confirmed ancestors of origin/master | **DISCREPANCY** |
| 11 | Pagination (line 25) | IDLE, `D5-PAGINATION-01`, no SHA, "landing is explicitly excluded" | `Pagination.js` on master has `.destroy =` | **DISCREPANCY** |
| 12 | TagInput (line 26) | IDLE, `75642ec38`, "landing is explicitly excluded" | `75642ec38` confirmed ancestor; master's `TagInput.js` is **byte-identical** to that commit's version (`git diff origin/master 75642ec38 -- TagInput.js` is empty) | **DISCREPANCY** — landed exactly, not excluded |
| 13 | FilterBar (line 27) | IDLE, `47671e633`/`eedee940d`/`ce994debd`, "landing is explicitly excluded" | All 3 SHAs confirmed ancestors of origin/master | **DISCREPANCY** |
| 14 | ColorField (line 28) | IDLE, `7d8a43467`/`d5716924f`/`7bc0a8183`, "landing is explicitly excluded" | All 3 confirmed ancestors; `git log origin/master -- ColorField.js` shows `d5716924f` plus two later refinement commits (`6bcd7906d`, `eaddd8dde`) — master's version is *newer* than the plan's own claimed final state | **DISCREPANCY** — landed and further refined since |
| 15 | Dormant Site Content bounded source lookup, Task #88 (line 32) | IDLE, "amended local commit awaits independent re-review" | Commit `cb41e7eba` ("Add bounded Site Content source lookup") confirmed ancestor of origin/master | **DISCREPANCY** — already published |
| 16 | Dormant Site Content attempt authority, Task #87 (line 38) | IDLE, "fully verified... immediate controller publication is next" | Commit `9385c62b3` ("Persist Site Content attempt authority") confirmed ancestor of origin/master | **DISCREPANCY** — already published |
| 17 | Translation attempt correlation contract, Task #85 (line 40) | IDLE, "verified in a local commit pending publication" | Commit `1610bbf04` ("Add translation attempt correlation contract") confirmed ancestor of origin/master | **DISCREPANCY** — already published |
| 18 | Block-template adapter attempt fixture repair, Task #89 (line 36) | IDLE, "verified and independently approved; immediate controller publication is next" | Commits `a47abcb47` ("Repair adapter attempt hash fixture") and `66e4d2fb5` ("Add dormant block template translation adapter") confirmed ancestors of origin/master | **DISCREPANCY** — already published |
| 19 | ACF field table accordions (line 53) | IDLE, "final-review... focused owned gates pass; coordinator owns Sol re-review" | Commits `1b3849f31`→`9792a9137`→`ea8bfee37`→`f3739082c`→`b2f76cb3f` ("Design"→"Build"→"Route and verify"→"Record delivery"→"Restore...") all confirmed ancestors of origin/master | **DISCREPANCY** — fully built, routed, and delivered on master already |
| 20 | admin-snappy (line 45) | IDLE, "release 0.9.36 was rolled back after regression; further deployment verification is superseded pending diagnosis" | Closed this pass: `git rev-parse master origin/master` differ, but `git merge-base --is-ancestor master origin/master` is **true** — local `master` (the branch `.worktrees/admin-snappy-land` has checked out) carries **zero content not already on `origin/master`**. Nothing hidden or ahead. | **CONSISTENT** — not a discrepancy; the IDLE claim is not contradicted by any unlanded content |
| 21 | Plugin-wide search architecture / D5-INPUT-01 editor asset-manifest repair (line 61) | IDLE, "verified locally and awaiting independent re-review" | Closed this pass: `git log origin/master --all --grep='D5-INPUT-01'` and `--grep='asset-manifest'` (case-insensitive) both return **zero commits anywhere in the repo**, on any ref. No branch in the 76-unmerged set or on origin/master references this work. | **UNABLE TO LOCATE** — unlike rows 1–19, this is not evidence of a false-IDLE claim; the described commit simply doesn't exist in any inspected ref. Could be a plan written ahead of an actual commit, or work living outside this repo's git history — flag for the owner, not a confirmed discrepancy either way |
| 22 | (Sanity note, not a plan) `docs/plans/2026-08-04-ipz-advanced-settings.jsonl` shows as modified in the working tree per the initial `git status`, but per the shared-checkout warning this reflects another session's WIP, not this session's edits — not evaluated further | — | — | out of scope |

**Caveat on rows 2–7, 11 (TileSelect, SortableList, DataRegion, Batch D, Select, Badge, Pagination):** these 7 plans give no SHA to check ancestry against. The "DISCREPANCY" verdict for them rests on an *inference* — the named component file on `origin/master` already contains a `.destroy =` lifecycle hook — not a direct commit-message tie to that specific plan (`git log --grep` for `D5-TILESELECT`/`D5-SELECT`/etc. tags returns zero hits repo-wide, so the tags themselves were never used in a commit subject). A component having teardown logic does not prove *that plan's specific slice* landed; it's consistent with it, not conclusive. The SHA-backed rows (1, 8–10, 12–14) are direct ancestry proofs and should be weighted more heavily than the inference-only rows.

**Bottom line for the owner:** of the 21 substantive checks in this table: **13 are DISCREPANCY with direct SHA-ancestry proof** (rows 1, 9, 10, 12, 13, 14 — Delivery-5 lifecycle components — plus rows 15–19 — dormant Site Content/ACF work), **7 are DISCREPANCY but inference-only** (rows 2–7, 11 — same "IDLE, landing explicitly excluded" claim contradicted by a lifecycle-hook pattern found in the named component file on master, but no commit ever used the plan's tag in its subject, confirmed via zero-hit `--grep` searches — flag as likely-true but not proven), **1 is a registry defect** (row 8, same plan listed twice in INDEX.md with contradictory status), **1 is CONSISTENT/not-a-discrepancy** (row 20, admin-snappy, closed this pass — local master has zero content ahead of origin/master), and **1 is UNABLE TO LOCATE** (row 21, D5-INPUT-01, closed this pass — zero commits anywhere reference it, either direction). **INDEX.md's IDLE section is stale and should be re-audited wholesale** for the Delivery-5 lifecycle and dormant Site Content/ACF plans — it is very likely these plan docs were written against an older, now-superseded view of what had landed, or the "IDLE... landing explicitly excluded" framing was never updated after a later merge actually landed the work. This affects the interpretation of every branch in this ledger whose novel content might overlap these areas: several INVESTIGATE and LAND-CONFLICT branches above (e.g. `worktree-design-system-component-audit`, `wt/ui-component-redesign`) may in fact be attempting to re-do work that already exists on master in a different form — their conflict counts are consistent with that (they conflict because master has moved on with equivalent/successor work, not because they're simply behind).

---

## Worktree hygiene

From `git worktree list` (159 lines incl. header data / ~156 worktrees), joined by branch name:

**Deletion candidates (branch classified ALREADY-LANDED or STALE-SUPERSEDED, worktree exists) — RECOMMENDATIONS ONLY, nothing deleted:**

| Worktree path | Branch | Classification |
|---|---|---|
| `.claude/worktrees/cloudpanel-restoration-recovery` | recover/cloudpanel-runtime-health | STALE-SUPERSEDED |
| `.claude/worktrees/agent-a0e196bc8b551386b` | worktree-agent-a0e196bc8b551386b | STALE-SUPERSEDED |
| `.claude/worktrees/license-only-api-configuration` | worktree-license-only-api-configuration | STALE-SUPERSEDED |
| `.worktrees/licensing-hardening` | wt/licensing-hardening-split (tip shows `f0d131a60` on this path — verify exact branch before deleting; `wt/licensing-hardening`/`recovery/licensing-hardening-1afebda6` have no live worktree) | STALE-SUPERSEDED |
| `.worktrees/navigation-adapter-publish-final` | wt/navigation-adapter-publish-final | STALE-SUPERSEDED |
| `.worktrees/page-fidelity-delivery` | wt/page-fidelity-delivery | STALE-SUPERSEDED |
| `.worktrees/page-role-layout-completion` | wt/page-role-layout-completion | STALE-SUPERSEDED |
| `.worktrees/acf-table-accordion-design` | wt/acf-table-accordion-design | STALE-SUPERSEDED |
| `.claude/worktrees/agent-ad3851cf25be6e1f2` | worktree-agent-ad3851cf25be6e1f2 | ALREADY-LANDED |
| `.worktrees/account-component-integration` | wt/account-component-integration | ALREADY-LANDED |
| `.worktrees/acf-field-policy-keys` | wt/acf-field-policy-keys | STALE-SUPERSEDED (moved from ALREADY-LANDED — see Totals note) |
| `.worktrees/fields-version-landing` | wt/fields-version-landing | ALREADY-LANDED |
| `.worktrees/ipz-remote-gate-ast-toolchain` | wt/ipz-remote-gate-ast-toolchain | ALREADY-LANDED |
| `.worktrees/wip-preserve-20260812` | wt/wip-preserve-20260812 | ALREADY-LANDED |

No worktree found (branch-only, nothing to remove) for: `recovery/licensing-hardening-1afebda6`, `wt/licensing-hardening`, `feat/real-onboarding`, `wt/navigation-adapter-final-ship`, `wt/synced-pattern-adapter`, `wt/task-84-site-content-handler`.

**Duplicate-tip worktree pairs worth consolidating (both point at identical commits):**
- `wt/universal-admin-e2e-reconcile` (worktree `.worktrees/universal-admin-e2e-reconcile`) and `wt/universal-admin-e2e-reconcile-agent` (worktree `.claude/worktrees/agent-a59269a2861c6c169`) — identical tip `aaff760f4`.

**Exact unmapped-worktree count** (computed by joining the bracketed branch name in each `git worktree list` line against the 76-branch classification set, `comm`): 156 worktrees are on a named branch (+3 detached-HEAD = 159 total lines). Of the 156, **35 map to one of the 76 classified branches** above and **121 do not** — those 121 are worktrees for branches that were already MERGED into origin/master (out of this sweep's scope, since the task only required classifying the 76 UNMERGED branches), or for `master` itself, or for other refs not in the unmerged set.
- 3 detached-HEAD worktrees: `mchk` (`b29450e8c`, path outside this repo tree under `.cache/agent-tmp/...` — another session's, not touched), `task88-diagnostic` (`ea5dff2a2`), `textarea-lifecycle` (`83649c947`) — the latter is a plausible orphaned D5-lifecycle carrier worth a follow-up look given the systemic IDLE-plan discrepancy found above, but not evaluated in this pass.
- The 121 unmapped were not individually classified — task scope was the 76 UNMERGED branches, not the full worktree inventory.

---

## Recommended landing batch (ordered)

The 6 **LAND-CLEAN** branches, no file overlap, safe to sequence in any order (suggested order matches table above): `wt/ipz-retire-phantom-settings` → `wt/ipz-account-skeleton` → `wt/ipz-test-remove-parity` → `wt/ipz-test-journeys` → `wt/ui-redesign-land` → `wt/deploy-dev1-botmaster-notify`.

Do **not** additionally land `wt/ipz-e2e-consolidate` / `wt/ipz-final-land` / `wt/ipz-land-v2` — they re-bundle the same content and are strictly higher-conflict paths to the same end state (see LAND-CONFLICT note above).

## Deletion candidates (RECOMMENDATIONS ONLY — nothing deleted in this task)

Branch + worktree pairs safe to remove after landing/owner sign-off: the 5 ALREADY-LANDED lanes and 9 STALE-SUPERSEDED lanes (8 originally + `wt/acf-field-policy-keys`, reclassified into STALE-SUPERSEDED, also has a live worktree) with live worktrees listed in the Worktree Hygiene table above (14 worktree removals total — the table row count is unchanged by the reclassification, only the label on that one row changed), plus the 14 ARCHIVE-KEEP branches should be **kept** (never delete without explicit owner sign-off per hard constraint), and the 3 ACTIVE-DO-NOT-TOUCH branches must not be touched at all. `fix/plugin-worker-parity` (STALE-SUPERSEDED, added on recount) has no live worktree found in `worktrees.txt` — branch-only, nothing to remove.
