---
name: admin-snappy-final-handoff
status: paused
updated: 2026-08-09
---

# Admin-snappy final handoff

Audience: AI coding agents first.

## Resume target

- Work ONLY in `/home/user/Projects/Press.zone/wordpress/wp-content/.worktrees/admin-snappy-final/plugins/international-press-zone`.
- Branch: `admin-snappy-final`.
- Base/HEAD: `a7810c1c Remove plugin dark mode and simplify overview`.
- Preserve dirty shared checkout and `/home/user/Projects/Press.zone/admin-snappy-integration`.
- Local WIP checkpoint: `Checkpoint admin snappy delivery` at branch HEAD atop `a7810c1c`; run `git rev-parse --short HEAD` for its immutable hash.
- Worktree is clean except intentionally untracked generated junk `%h/` and `admin/.vitest-results.json`; NEVER commit either.
- The checkpoint contains the intended final-build `admin/dist/js/*.js` assets.

## Implemented

- Final-shape skeletons, scoped persistence, stale-while-revalidate, keyed DOM patching, route teardown, mutation invalidation, and interaction-state preservation are assembled.
- Active jobs, polling/progress, license/entitlement, payment/checkout, and migration state remain live/nonpersistent.
- Overview/dark-mode release is forward-ported: Quick Actions first, System Health absent, plugin dark mode absent.
- `AdminDataPolicy` has 15 runtime descriptors. Historical performance contract remains exactly 7 rows.
- Registered `/posts` collection is covered by `posts:page`; workflow/team/assignment routes match registered controllers.
- REST cache uses `rest_dispatch_request`, full response replay, generation tokens, and canonical `RateLimiter::resolveIdentifier()`.
- Plan/spec/performance README reconciled. Latest README edits clarify `/posts` runtime-only coverage and routed Team/Workflow/Assignments.
- Composer advisory fixed (`squizlabs/php_codesniffer` 3.13.6). npm audit is clean.
- Final production build completed. Removed 35 stale chunks by comparing `runtime.js` mapping plus manifest; retained 34 current assets.
- PHPStan baseline regenerated from the current tree; PHPStan passes.
- PHPCS auto-fix applied to the three new cache/policy files; `phpcs-baseline.json` regenerated and changed-file check passes.

## Verified before pause

- `cd admin && npm run lint:js && npm test -- --run`: pass; 28 files / 523 tests.
- `cd admin && npm run build`: pass without build warnings.
- `tests/run-unit-tests.sh tests/unit`: pass.
- `vendor/bin/phpstan analyse --configuration=phpstan.neon.dist --no-progress`: pass.
- `composer audit --no-interaction`: no advisories.
- `npm --prefix admin audit --audit-level=high`: 0 vulnerabilities.
- `git diff --check`: pass after removing `_tabs.scss` trailing blank line.
- Performance validators pass for immutable baseline, beachhead receipt, and existing final receipt (`2026-08-07T22:06:17.142Z`).
- Integration runner remains environment-gated: `AutoPublishStatusTest.php` and `SettingsIdempotencyTest.php` cannot load WordPress bootstrap; `ContentManagerTest.php` skips all 23 tests and the runner correctly rejects zero executed tests. These match pre-existing integration constraints and are not admin-snappy regressions.

Expected test log noise: negative-path unit/Vitest fixtures intentionally emit application error/debug logs. Test processes exited zero; no build warning was waived.

## Paused browser/runtime state

- `devzone-wordpress-snappy` is STOPPED because user requested all work paused.
- Detached `deck-podman run -d` is invalid here: `deck-podman` uses `systemd-run --wait --collect`, so the service scope kills detached conmon/rootlessport. It produced no host listener and restart ended with `conmon process killed`.
- Proven runtime form: launch `deck-podman run --rm ... wordpress:7.0.2-php8.5-apache` WITHOUT `-d` as a harness background command. This kept the wrapper/service alive.
- Proven exact mount before pause: `/home/user/Projects/Press.zone/wordpress/wp-content/.worktrees/admin-snappy-final -> /var/www/html/wp-content`.
- Proven local response before pause: `http://127.0.0.1:8081/wp-admin/` returned 302 to the expected port-8081 login URL.
- A remote canary was started after restoration but intentionally stopped before completion when the user paused work.
- Previous Chromium/Firefox attempt failed only because the detached container had no listener: `ERR_CONNECTION_REFUSED http://100.126.128.50:8081/wp-login.php`.
- First attempt through `local-gate` failed because that nested environment reported `/home/user/.claude/buildbox-hosts.json` unreadable. Invoke `e2e-remote` directly with a fresh `--key`; the wrapper itself is the required offload boundary.

## Remaining work — ordered

1. Re-arm exact candidate in foreground-through-background form using the same volumes/env as the stopped command in this session. Verify exact mount and local 302.
2. Run one remote reachability canary with a fresh `e2e-remote --key`.
3. Run `admin-snappy-all-pages.spec.js` once across `--project=chromium --project=firefox` through `e2e-remote`.
4. Run exactly one fresh `--capture-final` through `e2e-remote`, then `--validate-final`. Do not rewrite the seven historical rows or waive a nonzero capture.
5. Update the README's stated latest final-receipt timestamp only if the fresh capture appends a newer valid receipt.
6. Re-run only gates invalidated by any browser/performance fix. Do not duplicate already-valid broad receipts without a changed seam.
7. Obtain final review if reviewer capacity is available. The attempted `code-reviewer` produced no result because its API weekly limit was exhausted until 2026-08-14 17:00 Asia/Bangkok.
8. Remove/exclude only generated junk `%h/` and `admin/.vitest-results.json`; preserve intended final dist assets.
9. Amend the local checkpoint into the final single commit after all gates pass, keeping one terse imperative sentence and no co-author. Then land per project trunk rules without force/no-verify.
10. Push `origin/master`, build distribution, deploy with `tools/deploy-dev1.mjs`, arm, and verify user-visible admin behavior on dev1.
11. Stop or re-arm the temporary 8081 runtime intentionally after delivery; never leave an accidental detached/broken container.

## Task ledger at pause

- Pending: #2 final browser/performance receipt; #3 end-to-end landing; #30 exact-candidate runtime restoration.
- All other admin-snappy reconciliation tasks are completed.
