README.md

Accepted Audit Implementation Plans

Generated on 2026-07-18 against 878c937c3621ab35002e453da563f6ba551d6e86. This directory contains exactly one self-contained Improve plan for each of the 26 accepted findings. Plans preserve current end-to-end behavior except their named correction and recommend no unit or integration tests.

Status and accepted-ID mapping

PlanAccepted findingPriorityEffortDepends onSuggested labelStatus
001A-01 — Require an admin session before writesP0M—ready-for-humanTODO
002A-03 — Place product creation inside the signed-in admin areaP0S—ready-for-agentTODO
003A-04 — Bind address updates to the signed-in CustomerP0S—ready-for-agentTODO
004A-09 — Return the Customer from the Order transactionP0S—ready-for-agentTODO
005A-07 — Make transfer claims safe to repeatP0M—needs-infoTODO
006A-10 — Abort paid Order edits when stock cannot changeP0M—needs-infoTODO
007B-01 — Render editable products from complete product dataP1M—ready-for-agentTODO
008B-02 — Make Featured and New match their labelsP1M—needs-infoTODO
009B-03 — Open the storefront menu as a true modalP1M—ready-for-humanTODO
010B-04 — Refresh every cached purchase-list version after a writeP1S—ready-for-agentTODO
011B-05 — Reject invalid catalog page numbers consistentlyP1S—needs-infoTODO
012B-06 — Restore Delivery zone confirmation and Order notesP1S—ready-for-agentTODO
013B-07 — Preserve old Product links when a slug changesP1M—needs-infoTODO
014S-03 — Use one QPay create-and-store functionP1M004needs-infoTODO
015S-04 — Attempt both scheduled jobs every timeP2S—needs-infoTODO
016S-05 — List the admin functions the assistant already hasP2S—ready-for-agentTODO
017D-01 — Delete stale diagnostics and the cart placeholderP2M—ready-for-humanTODO
018D-03 — Delete unused shared copies and pass-through filesP2S—ready-for-agentTODO
019D-04 — Remove the install-only CI jobP2S—ready-for-humanTODO
020D-08 — Untrack reproducible reports and the dev logP2S—needs-infoTODO
021D-10 — Remove misleading teardown and unrelated scratch filesP2S—needs-infoTODO
022S-06 — Delete broken command names instead of recreating scriptsP2S—needs-infoTODO
023P-01 — Standardize workspace package resolutionP1L018needs-infoTODO
024P-02 — Resolve ownership of the legacy logger packageP2M—needs-infoTODO
025P-04 — Reconcile SQL migrations with journal metadataP0L—ready-for-humanTODO
026P-05 — Make cache maintenance environment-explicit and safeP0M—needs-infoTODO

Status values: TODO, IN PROGRESS, DONE, BLOCKED — <reason>, REJECTED — <reason>.

Dependency graph and execution waves

Hard dependencies: 004 → 014 (avoid conflicting Order/QPay edits) and 018 → 023 (remove duplicate exports before choosing package resolution). All other ordering is coordination, not a blocker.

  • Wave 1 — independent work and information gates: 001 002 003 004 007 008 009 010 011 012 013 015 016 017 018 019 020 021 022 024 025 026.
  • Wave 2 — after decisions or blockers: 005 006 014 023.

Items labeled needs-info or ready-for-human begin with an owner/operator evidence gate; they are not permission to guess.

Verified repository command inventory

These commands exist in baseline manifests; planning did not execute builds, installs, deploys, migrations, purges, or teardown:

CommandBaseline meaningExpected executor result
bun run check-typesTurbo workspace type checksexit 0
bun run buildTurbo workspace buildsexit 0
bun run lintBiome lintexit 0
bun run --cwd apps/admin check-types / builddashboard checks/buildexit 0
bun run --cwd apps/storev2 check-types / buildAstro checks/buildexit 0
bun run --cwd apps/agent checkout:simexisting checkout simulationsuccessful disposable flow with configured environment
bun run --cwd apps/agent payment:proofexisting Payment proof CLIaccepted invariant with configured environment

Every plan states its real browser/API/Worker/Messenger/CLI proof. Environment credentials and operator approval are prerequisites and must never be printed. Destructive or remote-write commands are not verification.

Delivery validator

Run python3 plans/validate.py from the repository root. Expected: exit 0 and a PASS line covering all 26 contiguous baseline excerpts, accepted/rejected/discussion sets, information gates, dependencies, JSON, Markdown links, rendered copy content, public safety, and plans-only scope.

Existing-issue coordination

No accepted audit ID appears in the 34 open issues inspected during recon. Adjacent work must be coordinated without claiming duplicates or closing/modifying issues:

  • Plan 001: Coordinate with broad go-live issue #125; do not claim duplication or modify it.
  • Plan 004: Coordinate with adjacent order-error issue #149; this is not claimed as a duplicate.
  • Plan 005: Coordinate with broad issues #125 and #149; preserve ADR-0004 and do not claim duplication.
  • Plan 006: Coordinate with adjacent storefront error issue #149; this targets admin paid edits.
  • Plan 007: Coordinate with search issue #149 and separate mobile card issue #159; do not claim duplication.
  • Plan 008: Coordinate with adjacent category count issue #163; this is distinct list semantics.
  • Plan 011: Coordinate with broader catalog URL issues #165 and #167; no duplicate claim.
  • Plan 012: Coordinate with #149 asset QA and #172 delivery copy/loading work; neither duplicates state flow.
  • Plan 013: Coordinate with broad old-link QA in #149; do not claim duplication.
  • Plan 014: Coordinate with payment launch issue #125; keep this narrow.
  • Plan 016: Coordinate with broad Messenger PRD #16; no exact overlap.
  • Plan 017: Coordinate with go-live issue #125; do not close or modify it.
  • Plan 018: Coordinate with package-boundary issue #139; this is the narrower deletion.
  • Plan 019: Coordinate directly with open CI issue #139.
  • Plan 021: Coordinate with operational issue #125.
  • Plan 022: Coordinate with operational command context in #125.
  • Plan 023: Coordinate with open package-boundary/CI issue #139; do not absorb its broader scope.
  • Plan 025: Coordinate with migration sequencing context in #125; do not run or modify that issue.
  • Plan 026: Coordinate with cache ownership work in #125.

Rejected findings — record only, do not plan or publish

  • A-02 — rejected by the user; intentionally absent from plans and child drafts.
  • A-05 — rejected by the user; intentionally absent from plans and child drafts.
  • A-08 — rejected by the user; intentionally absent from plans and child drafts.
  • A-11 — rejected by the user; intentionally absent from plans and child drafts.
  • D-02 — rejected by the user; intentionally absent from plans and child drafts.
  • D-05 — rejected by the user; intentionally absent from plans and child drafts.
  • D-06 — rejected by the user; intentionally absent from plans and child drafts.
  • D-09 — rejected by the user; intentionally absent from plans and child drafts.
  • S-01 — rejected by the user; intentionally absent from plans and child drafts.
  • S-02 — rejected by the user; intentionally absent from plans and child drafts.
  • P-03 — rejected by the user; intentionally absent from plans and child drafts.

Needs discussion — not accepted and not publishable

A-06 — Delete the production photo diagnostic. User note: “No note provided”. Decision question: Should the production photo diagnostic be deleted, retained with an explicit owner/access policy, or handled in a separately approved change? No plan or issue draft exists until the user answers.

Publication boundary

github-issue-proposal.md and .json are drafts only. Do not publish until the user explicitly approves. Public drafts omit paths, snippets, secrets, Customer data, payload recipes, and unsafe operational instructions.