diff --git a/docs/execution/approved-issue-plans-ledger.md b/docs/execution/approved-issue-plans-ledger.md index 869c40ff3..e56963286 100644 --- a/docs/execution/approved-issue-plans-ledger.md +++ b/docs/execution/approved-issue-plans-ledger.md @@ -42,20 +42,20 @@ state changes are outside scope. | 07 AIO deployment | #2722 | published | implementation/review chain complete | `codex/issue-2722-postgres-docs` | `7a98f6662` → `171637526` | none | image and repository update flows now separate through correct `reactive-resume`/`reactive_resume` log commands; clean rereview | fresh Compose/DB/docs coordinator gates and all exact-head hosted checks green; approved; zero unresolved threads | [#3457](https://github.com/amruthpillai/reactive-resume/pull/3457) | keep unmerged; monitor only | no AIO implementation; optional Unraid host smoke unavailable | | 08 root public resume | #2669 | plan amendment required before implementation | audit `task_9f27829ca50f` | planned `codex/issue-2669-root-resume` | `7a98f6662` → — | none | current password redirect rejects `/`; public view is slug-hook-bound; SSR canonical cannot import server env; expanded auth/canonical contract identified | audit focused API/web suites, typechecks, boundaries passed | — | amend ownership for identity-vs-return auth flow and server-derived canonical root, then dispatch coherent feature | engineering scope correction; feature remains narrower than arbitrary domain/TLS registry | | 09 external version backup | #2705 | published | implementation/review chain complete | `codex/issue-2705-git-backup-docs` | `7a98f6662` → `4ffdd96bd` | none | clean round-4 rereview; command-site prose requires unused output; replies document selected revision and fresh-file fixes | fresh coordinator 152 tests plus Markdown/diff/scope and all exact-head hosted checks green; approved; zero unresolved threads | [#3458](https://github.com/amruthpillai/reactive-resume/pull/3458) | keep unmerged; monitor only | DB integration/E2E unavailable; no sync/remote/whole-account restore | -| 10 legacy link routing | #2836 | transaction fixes active | `task_ce5381b8974b` / `ctx_45490fb447e1` | `codex/issue-2836-retired-link-notices` | `7a98f6662` → `58d2972c7`, fix active | none | review reproduced concurrent cross-resume reuse leaving same path live and retired; real failed-rename rollback proof also absent | review otherwise passed full tests, typechecks, boundaries, build, migrations, and E2E; PostgreSQL interleaving proved P1 race | — | reorder/serialize live change and retired cleanup, add PostgreSQL concurrency/rollback regressions, rereview | historical cause absent; no redirects/emails/recovery; prospective partial coverage only | +| 10 legacy link routing | #2836 | published; hosted review active | implementation/review chain complete | `codex/issue-2836-retired-link-notices` | `7a98f6662` → local `698cf90`, hosted `3eac878d` | none | live-key acquisition now precedes retired cleanup/capture; PostgreSQL concurrency and post-update rollback proofs independently approved | focused/full tests, typechecks, boundaries, build, migrations, authenticated E2E, and focused rereviews green; hosted checks running | [#3463](https://github.com/amruthpillai/reactive-resume/pull/3463) | review hosted exact-head bot change; keep unmerged | historical cause absent; no redirects/emails/recovery; prospective partial coverage only | | 11 job search policy | #3010 | published | implementation/review chain complete | `codex/issue-3010-jsearch-docs` | `7a98f6662` → `1d0397884` | none | two valid wording comments fixed; independent full-diff re-review found no issues; replies carry commit evidence | 52 focused tests plus Markdown/link/diff/base/scope and all exact-head hosted checks green; approved; zero unresolved threads | [#3459](https://github.com/amruthpillai/reactive-resume/pull/3459) | keep unmerged; monitor only | real provider/browser optional gate unavailable; removal motive unknown | | 12 preview/export failures | #3323, #3290, #3033, #3007, #2609 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | renderer ownership; share observation harness with 18 | zero drift; staged-preview/error-boundary baselines remain; reports cross persistence/font/PDF/viewer/deployment boundaries | audit focused web/PDF suites, affected typechecks, boundaries, build passed | — | isolate PT Sans, browser/config, and template-selection boundaries; no shared fix | exact JSON/output/browser/config/current reproduction missing | | 13 font/glyph/spacing | #3249, #3159, #3147, #3093, #3089, #2988 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | serialize font sources with 14/27 | merged metrics/cache/Unicode fixes present and passing; residuals require per-font/per-symptom fixtures | audit focused PDF/font suites, affected typechecks, boundaries, build passed | — | retain regressions; create residual unit only from exact failing font fixture | missing Ropa Sans/source strings/font hashes/before-after artifacts | | 14 RTL export layout | #3275 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | serialize renderer/fonts with 13/27 | merged canvas-direction fix remains; broader shaping/bidi cause unproved | audit RTL/preview suites, affected typechecks, boundaries, build passed | — | run controlled same-bytes export matrix against approved shaping oracle | exact JSON/font/version and known-good reference absent | | 15 picture fitting/style | #3168, #3088, #2794, #2782 | 15A terminal published; other causes blocked | implementation/review/finalization chain complete | `codex/issue-2782-picture-fit` | `7a98f6662` → `6e071ebcd` | coordinate 06/25; schema/PDF owner exclusion | clean independent exact-head rereview; five threads resolved; fresh CodeRabbit approval; schema/retry fixes valid; rejected requests documented | focused tests/typechecks/boundaries/build/Biome green; exact-head hosted E2E 35/35 and all code checks green; Mintlify parser failure proven pre-existing | [#3461](https://github.com/amruthpillai/reactive-resume/pull/3461) | keep unmerged; monitor/document pre-existing Mintlify gate only | delivery/centering issues still lack source revisions/assets/expected crop | -| 16 imported table borders | #3196 | publication rereview active | `task_939fe21be440` / `ctx_dca9372dac03` | `codex/issue-3196-editable-tables` | `7a98f6662` → `c3f0dde76` | rich-text owner; must precede 19/31 | zero-table/value preservation gaps fixed; five tracked orchestration reports removed; final diff contains six intended product/test/dependency files | web 835, PDF 1,004, focused tests, typechecks, boundaries, build, narrow Biome, full-range diff, and authenticated E2E green | — | independently rereview exact final head; fix findings or push and publish | historical visual equivalence lacks reporter HTML/JSON but feature contract is approved | +| 16 imported table borders | #3196 | published; hosted checks active | implementation/review chain complete | `codex/issue-3196-editable-tables` | `7a98f6662` → `b170290e9` | rich-text owner; Plan 19 stacked from reviewed head | table grammar/grid and link semantics now fail closed when Tiptap cannot round-trip; borderless PDF test is color-independent; final focused rereview clean | focused/broad web/PDF tests, typechecks, boundaries, build, narrow Biome, authenticated E2E, and final focused review green; hosted checks running | [#3464](https://github.com/amruthpillai/reactive-resume/pull/3464) | monitor hosted checks; keep unmerged | historical visual equivalence lacks reporter HTML/JSON but feature contract is approved | | 17 list/skill pagination | #2751, #3040 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | renderer owner shared with 13/14/18 | merged ordered-marker/wrap/level-gap fixes present; current residual not reproduced | audit focused PDF suites, typecheck, boundaries, build passed | — | retain controls; add fix only from exact failing list/skill fixture | #2751 source absent; #3040 current fixture no longer proves residual clipping | | 18 preview/export geometry | #2683 | blocked corrective work; diagnostic-ready | audit `task_1c6582ccdeae` | `codex-audit-rendering-12-19` | `7a98f6662` → no source change | share output-boundary harness with 12; viewer owner exclusion | current viewport/page-size/margin baselines pass; video alone cannot locate cause | audit page/preview tests, affected typechecks, boundaries, build passed | — | compare identical preview/download bytes, MediaBoxes, ink bounds, viewport, DPR | exact JSON/PDF/browser/DPR/zoom/page settings absent | -| 19 literal rich-text whitespace | #3397 | pending after 16 | unassigned | planned `codex/issue-3397-literal-whitespace` | `7a98f6662` → — | stack/rebase after 16; coordinate DOCX/PDF/editor with 31 | verified current marked-policy gap; approved marker contract and four-space tabs remain implementation-ready | audit whitespace/indentation suites, affected typechecks, boundaries, build passed | — | implement web/PDF/DOCX atomically after table seam stabilizes | no product blocker; serialized file ownership only | -| 20 section restoration | #3378, #3265, #2921 | 20A published for #2921; residuals split | implementation/review chain complete | `codex/issue-2921-hidden-section-recovery` | `7a98f6662` → `792d7f8e2` | 20A before 21/31; placement semantics before 29 | collapsed navigation reopens real accordion before deferred row focus/scroll; final independent review found no issues | focused tests, typechecks, boundaries, build, PO checks, diff gates, authenticated E2E, and final exact-head review green; hosted checks running | [#3462](https://github.com/amruthpillai/reactive-resume/pull/3462) | keep unmerged; monitor hosted checks concurrently | #3378/#3265 need version/action/sanitized JSON; defensive fix cannot close them | +| 19 literal rich-text whitespace | #3397 | stacked implementation active | `task_d9237449193e` / `ctx_656a3cd4360a` | `codex/issue-3397-literal-whitespace` | Plan 16 `b170290e9` → active | stacked on reviewed Plan 16; coordinate DOCX/PDF/editor with 31 | verified current marked-policy gap; approved marker contract and four-space tabs remain implementation-ready | audit whitespace/indentation suites, affected typechecks, boundaries, build passed | — | implement marked web/PDF/DOCX whitespace contract atomically | no product blocker; stacked PR must target Plan 16 branch while unmerged | +| 20 section restoration | #3378, #3265, #2921 | 20A published for #2921; residuals split | implementation/review chain complete | `codex/issue-2921-hidden-section-recovery` | `7a98f6662` → `792d7f8e2` | 20A before 21/31; placement semantics before 29 | collapsed navigation reopens real accordion before deferred row focus/scroll; final independent review found no issues | focused tests, typechecks, boundaries, build, PO checks, diff gates, authenticated E2E, and all hosted checks green; approved/mergeable/clean | [#3462](https://github.com/amruthpillai/reactive-resume/pull/3462) | terminal monitor-only; keep unmerged | #3378/#3265 need version/action/sanitized JSON; defensive fix cannot close them | | 21 section heading visibility | #3060 | pending after 20A | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 20A → 21 → 31 | runtime PDF seam exists; persisted schema/menu/DOCX/accessibility contract absent; Q1–Q3 make unit ready | audit schema/web/PDF/DOCX/resume suites and typechecks/boundaries passed | — | add migration-safe flag, menu, PDF/DOCX visual behavior, retained semantic label | serialize shared section/schema files | | 22 skill keyword presentation | #2785 | pending implementation | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | must precede/serialize 34 | array currently comma-joined; inline/list contract ready for built-in and custom Skills | audit schema/web/PDF/DOCX suites and typechecks/boundaries passed | — | select explicit Skills-specific schema trait; implement inline compatibility and semantic list mode | exact schema owner chosen during implementation; no product gate | -| 23 pagination controls | #3350, #3090 | pending 23A/23B; 23C blocked | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 23B → possible 23C | 23A authored-vs-physical page guidance ready; renderer clips oversized `wrap=false` section; item policy unproved | audit focused PDF/web suites and typechecks/boundaries passed | — | publish 23A; build short/boundary/oversized matrix in 23B before item control | safe oversized-item fallback and widow/orphan UI remain unresolved | +| 23 pagination controls | #3350, #3090 | 23A implementation active; 23B pending; 23C blocked | `task_fd704c2e7a5d` / `ctx_287a14d89e28` | `codex/issue-3090-authored-page-guidance` | `7a98f6662` → active | 23B → possible 23C | 23A authored-vs-physical page guidance in progress; renderer clips oversized `wrap=false` section; item policy unproved | audit focused PDF/web suites and typechecks/boundaries passed | — | complete/review/publish 23A; then build 23B matrix | safe oversized-item fallback and widow/orphan UI remain unresolved | | 24 date layout | #3155, #2841 | design-ready only | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 24A → 24B; mutual exclusion with 32, not dependency | free-text date/period sources and current location-first order verified; geometry contract absent | audit schema/PDF suites and typechecks/boundaries passed | — | run all-template 24A geometry characterization and select width/bounds/default | physical width, bounds, alignment, default; DOCX scope not yet confirmed | | 25 experience company logos | #3379 | blocked implementation; contract-design-ready | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 25A → 25B; coordinate 06/15 | current generic uploader has eager deletion and no reference counting/ownership validation; unsafe to reuse unchanged | audit relevant package suites/typechecks/boundaries passed | — | define asset ownership, accepted types, retention/orphan/copy/undo contract and tests | storage ownership/lifetime contract requires new decision | | 26 secondary color | #3373 | inventory-ready; implementation blocked | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 26A → 26B; serialize semantic docs with 28 | theme has three roles; primary consumers are not classified decorative vs semantic | audit schema/PDF suites and typechecks/boundaries passed | — | enumerate primary consumers and approve decorative truth table | consumer classification/visual contract not selected | @@ -64,7 +64,7 @@ state changes are outside scope. | 29 Onyx profile header | #2812 | blocked | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | placement semantics 20; accessibility order 31 | historical Onyx-only PR obsolete; no persisted generic placement owner exists | audit relevant suites/typechecks/boundaries passed | — | choose generic placement capability and produce one-page/overflow visual contract | new persisted-interface choice plus visual contract required | | 30 ATS export evaluation | #2845 | blocked pending measurement prerequisites | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | renderer baselines 12–19 and font assumptions → 30A → possible 30B | current DOCX mirrors authored layout; internal ATS/extraction analyzers exist; no preset/projection | audit PDF/DOCX/tooling suites and typechecks/boundaries passed | — | run synthetic measurement matrix, make no vendor claims; only then consider pure projection | renderer baselines; material benefit and adapter contract unproved | | 31 document accessibility | #2844 | diagnostic-ready after prerequisites | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 20 → 21; rich text 16 → 19; renderer baselines → 31A | builder mirror has H1/H2 but strips rich structure; public viewer differs; cross-output audit absent | audit accessible/PDF/DOCX suites and typechecks/boundaries passed | — | audit DOM/PDF/DOCX/public viewer and manual screen reader before remediation | duplicate-announcement risk and reporter evidence; no assumed tagged-PDF fix | -| 32 section date sorting | #2725 | implementation active | `task_547d2dbc1520` / `ctx_a0f1ac5fb10b` | `codex/issue-2725-one-shot-sort` | `7a98f6662` → active | shared-file exclusion with 20–24; behavior independent of 24 | existing `parsePeriod` reusable; pure stable one-shot sort contract approved for Experience/Education | audit resume/schema/web suites and typechecks/boundaries passed | — | implement pure helper, exact unresolved IDs, menu/undo/persistence tests | bare Present/reversed/blank remain stable unresolved by design | +| 32 section date sorting | #2725 | independent review active | `task_0903351a51d2` / `ctx_537efdb21d35` | `codex/issue-2725-one-shot-sort` | `7a98f6662` → `1031dc9a8` | shared-file exclusion with 20–24; behavior independent of 24 | pure stable one-shot Experience/Education sort implemented with exact unresolved IDs, undo/persistence, and locked-state coverage | focused/full tests, typechecks, boundaries, build, catalogs, and authenticated E2E green | — | one independent review; publish immediately if clean | broader autosort/preferences/custom/role behavior remains out of scope | | 33 Europass template | #2689 | blocked after approved research/proposal unit | audit `task_47ed7eb02d48` | planned `codex/issue-2689-europass-research` | `7a98f6662` → — | 33A → explicit visual approval → possible 33B | no current template; historical draft obsolete/incomplete; research/proposal only approved now | audit registry/gallery/schema suites and typechecks/boundaries passed | — | research authoritative references/licensing and publish concrete one-page/overflow proposal; stop | explicit future visual approval required before any template code | | 34 Gengar skill layout | #2611 | pending after 22 | audit `task_47ed7eb02d48` | planned `codex/issue-2611-gengar-skill-level` | `7a98f6662` → — | 22 → 34; serialize shared Skills renderer | typed template capability + single shared renderer consumption is ready; no template-name branch | audit PDF skills/semantic suites and typechecks/boundaries passed | — | implement after keyword layout lands; assert Gengar-only delta and unchanged peers | file serialization only | | 35 resume import errors | #2768 | diagnostic-ready; corrective work blocked | audit `task_9f27829ca50f` | planned `codex/issue-2768-import-reproduction` | `7a98f6662` → — | none | no reporter fixture/stack; current suites pass; empty-MIME detector/form mismatch is only an unproved candidate | audit import 144, focused web 36, typechecks, boundaries passed | — | create synthetic Playwright-generated PDF/JSON lifecycle E2E; change source only after deterministic 3× failure | historical evidence absent; separate stale import-doc correction from issue fix | @@ -126,15 +126,22 @@ state changes are outside scope. | Plan 16 final rereview | `task_fac7a8d1cf90` / `ctx_b5d8f7f10380` | same Plan 16 worktree | complete; two P1 findings; terminal transferred | truncated `