diff --git a/docs/execution/approved-issue-plans-ledger.md b/docs/execution/approved-issue-plans-ledger.md index 0532fe51b..c9b6355ac 100644 --- a/docs/execution/approved-issue-plans-ledger.md +++ b/docs/execution/approved-issue-plans-ledger.md @@ -10,8 +10,8 @@ pass. Issue comments and state changes are recorded when explicitly directed by - Coordinator branch: `codex/issue-execution-ledger` - Started: 2026-09-05, Europe/Berlin - Merge policy changed: 2026-09-06; maintainer authorized immediate merge of complete, mergeable PRs -- Current integrated main evidence: `ea97de5ec4e9adced7e83d6ff02e208727961887` after seventeen approved merges, - including Plan 35 PR #3471 and Plan 19 PR #3472 +- Current integrated main evidence: `2a4a1583be097290906a1252045c57e73b78b1a9` after eighteen approved merges, + including Plan 19 PR #3472 and Plan 34 PR #3473 - Status values: `pending`, `diagnosing`, `implementing`, `reviewing`, `published`, `merged`, `no-change`, `blocked`, `declined`, `skipped` - Evidence rule: each terminal disposition needs current source/GitHub proof, focused tests or reproduction evidence, and @@ -57,20 +57,20 @@ pass. Issue comments and state changes are recorded when explicitly directed by | 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 | merged | implementation/review/remediation chain complete | `codex/issue-3397-literal-whitespace` | `38832014b` → `2f6942fb7` → merge `ea97de5ec` | Plan 16 merged; coordinate DOCX/PDF/editor with 31 | literal whitespace preserved through editor transforms, clipboard/table normalization, PDF layout/textkit geometry, and DOCX; final bare `TD`/`TH` gap fixed | post-main web 102, PDF 106, DOCX 20, three typechecks, Biome, diff green; dedicated Chromium E2E 2/2 | [#3472](https://github.com/amruthpillai/reactive-resume/pull/3472) | complete | direct Word/LibreOffice visual unavailable; XML/four-space contract verified | | 20 section restoration | #3378, #3265, #2921 | 20A merged for #2921; residuals split | implementation/review chain complete | `codex/issue-2921-hidden-section-recovery` | `7a98f6662` → `792d7f8e2` → merge `5850230f8` | 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) | begin dependent Plan 21 when owner slot permits | #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 | +| 21 section heading visibility | #3060 | implementing | `task_b7cc0bb3ec69` / `ctx_23c399d315ec` | `issue-3060-section-heading-visibility` | `2a4a1583b` → active | 20A and 34 merged; precedes 31 | Q1–Q3 approved: explicit default-visible heading toggle, complete visual omission, accessible label retained, continuations start visible | fresh isolated implementation worker active on schema/web/PDF/DOCX/accessibility/raster matrix | — | implement, independently review, publish | no product blocker; must preserve Gengar shared-renderer capability | | 22 skill keyword presentation | #2785 | merged | implementation/review/remediation chain complete | `codex/issue-2785-skill-keyword-layout` | `38832014b` → `3c06c3b0b` → merge `870388192` | must precede/serialize 34 | built-in/custom inline/list schema, menus, PDF, DOCX, accessible HTML, import, locales, generated docs, and recovery hashes updated; both independent reviews clean | 1,280 affected tests and build; post-main 80 focused tests; remediation tooling 97/97, type/lint/diff green | [#3469](https://github.com/amruthpillai/reactive-resume/pull/3469) | complete; Plan 34 dispatched | no product gate | | 23 pagination controls | #3350, #3090 | 23A merged; 23B pending; 23C blocked | implementation/review chain complete for 23A | `codex/issue-3090-authored-page-guidance` | `b85d285b6` → `412da288f` → merge `0fbeeeb4c` | 23B → possible 23C | 23A explains authored layout pages versus renderer-created physical overflow; hosted pagination assertion strengthened; 14 review threads answered and resolved | builder/PDF focused tests, affected typechecks, catalog validation, authenticated E2E, Biome/boundaries/build/diff green; relevant hosted E2E passed, unrelated baseline flakes documented | [#3467](https://github.com/amruthpillai/reactive-resume/pull/3467) | begin 23B matrix when owner slot permits | 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 | -| 27 offline fonts | #3377 | evidence-ready; implementation blocked | audit `task_47ed7eb02d48` | `codex-audit-builder-20-34` | `7a98f6662` → no source change | 27A → 27B; informs 30A; serialize 13/14 | remote catalog/PDF/web fetch paths verified; no local resolver or complete licensed manifest | audit font/PDF/web suites and typechecks/boundaries passed | — | inventory cold-network requests and build asset/license manifest | licenses, all fallback assets, size, deployment path unknown | +| 27 offline fonts | #3377 | diagnostic phase implementing | `task_127bb41b0f99` / `ctx_3d9bd07290cc` | `issue-3377-offline-font-diagnostic` | `2a4a1583b` → active | 27A → 27B; informs 30A; serialize 13/14 | worker measuring cold browser/server font paths and specifying bounded administrator-hosted manifest without production behavior change | focused font/PDF tests plus cold-network evidence required | — | complete Phase A, review evidence, publish diagnostic if durable | resolver implementation remains blocked until licenses/assets/owners/missing-font behavior proven | | 28 basics custom styles | #3137 | merged partial unit | implementation/review/remediation complete | `codex/issue-3137-semantic-css-diagnostics` | `b85d285b6` → `28c933b55` → merge `38832014b` | serialize semantic docs/tests with 26 | gradients remain unsupported; false-positive recognition and direct-LINK assertions fixed; both threads resolved and CodeRabbit approved | main-integrated package gates plus remediation resume 47/47, PDF 10/10, typechecks, Biome, and diff green; unrelated baseline E2E flakes documented | [#3468](https://github.com/amruthpillai/reactive-resume/pull/3468) | retain residual issue until reporter names remaining failure | reporter has not named remaining failure; keep issue open | | 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 | merged | implementation/review chain complete | `codex/issue-2725-one-shot-sort` | `7a98f6662` → `5c07409ae` → merge `b85d285b6` | 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; independent review found no issues | focused/full tests, typechecks, boundaries, build, catalogs, authenticated E2E, review, and hosted gates green | [#3465](https://github.com/amruthpillai/reactive-resume/pull/3465) | complete | 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 | implementing | `task_422be45068f7` / `ctx_5d1d1df17ea3` | `codex/issue-2611-gengar-skill-layout` | `870388192` → active | 22 merged; serialize shared Skills renderer | typed template capability + single shared renderer consumption selected; no template-name branch | implementation worker active on focused Gengar/Onyx/semantic/pagination matrix | — | finish, independently review, publish | legacy exact dimensions/screenshot parity unavailable; do not claim it | +| 34 Gengar skill layout | #2611 | merged | implementation/review chain complete | `codex/issue-2611-gengar-skill-layout` | `870388192` → `f2186d4f7` → merge `2a4a1583b` | 22 merged; shared Skills renderer serialized before 21 | Gengar-only capability restores name → rating → proficiency → keywords in visual and semantic trees; other templates unchanged; independent review clean | 51 focused PDF tests, PDF typecheck, boundaries, Biome, diff green after current-main integration | [#3473](https://github.com/amruthpillai/reactive-resume/pull/3473) | complete | no historical screenshot parity claim | | 35 resume import errors | #2768 | merged adjacent-fix unit | implementation/review chain complete | `codex/issue-2768-import-reproduction` | `38832014b` → `ae219f3d9` → merge `a6057abd7` | none | synthetic matrix proved and fixed empty-MIME rejection, v4 misclassification, and opaque offline-PDF messages; independent review found no product blocker; historical failure remains unproved | focused 26 web + 144 import; web typecheck/build; boundaries/Biome; E2E 13/13 plus repeats 12/12; post-main 158 tests/typecheck/Biome/diff green | [#3471](https://github.com/amruthpillai/reactive-resume/pull/3471) | retain historical needs-info issue | reporter artifact/version/error/steps absent; keep issue open | ## Active orchestration @@ -161,8 +161,11 @@ pass. Issue comments and state changes are recorded when explicitly directed by | Plan 35 independent review | `task_e417d3d5d084` / `ctx_e4b1ec8ae401` | same Plan 35 worktree | complete; no product blocker; worker released | two evidence-label limits recorded; 1,127 emitted JS/MJS artifacts removed without deleting review evidence; current main integrated and PR #3471 opened | | Plan 33A research | `task_0ed3877760c1` / `ctx_7e91c8f1d077` | `codex/issue-2689-europass-research` | complete; worker released | commit `2de5b6240`; official-source mapping plus one-page/overflow/comparison artifacts; no renderer code | | Plan 33A independent review | `task_55fd536909d2` / `ctx_ac573ee1d4ad` | same Plan 33A worktree | complete; two P1 visual findings; worker released | overflow page 1 date/title collision and page 2 right-edge clipping; research/mapping/source-safety checks otherwise clean | -| Plan 33A visual remediation | `task_e5a239df7684` / `ctx_fd5ff59ddc46` | same Plan 33A worktree | implementing | correct only two blocking SVG geometry defects, rerender concept, then narrow visual rereview | -| Plan 34 implementation | `task_422be45068f7` / `ctx_5d1d1df17ea3` | `codex/issue-2611-gengar-skill-layout` | implementing | fresh post-Plan-22 worktree; Gengar-only rating order with peer-template controls | +| Plan 33A visual remediation | `task_e5a239df7684` / `ctx_fd5ff59ddc46` | same Plan 33A worktree | complete; worker released | commit `57f2c30`; date/title collision and right-edge text/URL clipping corrected; XML/mapping/bounds gates green | +| Plan 33A visual rereview | `task_dbf4b61a1ada` / `ctx_4ba872ef6b5c` | same Plan 33A worktree | reviewing | full-resolution raster inspection limited to two corrected geometry findings | +| Plan 34 implementation/review | `task_422be45068f7`, `task_e7e35921c6be` | `codex/issue-2611-gengar-skill-layout` | complete; PR #3473 merged | implementation `b337d8147`, current-main head `f2186d4f7`, independent review clean, merge `2a4a1583b` | +| Plan 21 implementation | `task_b7cc0bb3ec69` / `ctx_23c399d315ec` | `issue-3060-section-heading-visibility` | implementing | fresh worktree from Plan34-integrated main; complete schema/web/PDF/DOCX/accessibility contract | +| Plan 27A font diagnostic | `task_127bb41b0f99` / `ctx_3d9bd07290cc` | `issue-3377-offline-font-diagnostic` | implementing | cold-network surface matrix plus bounded local manifest/license/size evidence; no production resolver change | ## Existing PR and residual accounting @@ -182,6 +185,7 @@ pass. Issue comments and state changes are recorded when explicitly directed by | PR #3470 | merged 2026-09-06 | `576fad5ef8c1a622fd78245e0c0c26c24c08d662` → merge `744eaa902` | current main integrated; independent review clean; local enabled/disabled production E2E and focused gates green; normal merge, no bypass | partial unit complete; keep #2669 open | | PR #3471 | merged 2026-09-06 | `ae219f3d911a259d0a7a4ce26505060d4956232e` → merge `a6057abd7` | current main integrated; independent review found no product blocker; post-main 158 focused tests, web typecheck, Biome, and diff green; normal merge | adjacent fixes complete; keep #2768 open | | PR #3472 | merged 2026-09-06 | `2f6942fb7299770a231c863b6b3a4e99c4538fad` → merge `ea97de5ec` | current main integrated twice; final 102 web tests, web typecheck, Biome, and diff green after independent-review remediation; normal merge | complete; #3397 closed | +| PR #3473 | merged 2026-09-06 | `f2186d4f7495804670c6973b9454578280e461a7` → merge `2a4a1583b` | current main integrated; independent review clean; 51 focused PDF tests, PDF typecheck, Biome, boundaries, and diff green; normal merge | complete; #2611 closed | | Residual #2828 | pending product direction | — | stale whole-document concurrent-tab overwrite reproduced in Chromium/PostgreSQL; excluded from 63 | account for separately; do not implement conflict UI until product policy selected | ## Rulings and blockers log @@ -193,7 +197,7 @@ pass. Issue comments and state changes are recorded when explicitly directed by - 2026-09-06 — Publication throughput policy: require one independent pre-publication review, run focused risk-based gates, then push and open PR immediately. Hosted CI runs concurrently under coordinator monitoring. Repeat review only for a concrete finding and limit it to the changed seam; workers do not poll hosted state or repeat unchanged full suites. -- 2026-09-06 — Maintainer changed integration policy: merge complete, mergeable PRs immediately. Seventeen approved PRs were +- 2026-09-06 — Maintainer changed integration policy: merge complete, mergeable PRs immediately. Eighteen approved PRs were squash-merged without admin bypass. Plan 10 retired-link work was explicitly rejected as disproportionate redirect and error-handling overhead; PR #3463 closed unmerged and rationale recorded on issue #2836. - 2026-09-06 — Plan 22 orchestration metadata initially named issue #3060. Live issue revalidation corrected ownership to @@ -208,7 +212,7 @@ pass. Issue comments and state changes are recorded when explicitly directed by #3457 (`ee52636c1`), #3458 (`772bf1452`), #3459 (`8c5804ed0`), #3460 (`549135bb3`), #3462 (`5850230f8`), #3461 (`ab67831e4`), #3464 (`999cd618c`), #3466 (`695cdb851`), and #3465 (`b85d285b6`), #3467 (`0fbeeeb4c`), #3468 (`38832014b`), #3469 (`870388192`), and - #3470 (`744eaa902`), #3471 (`a6057abd7`), and #3472 (`ea97de5ec`). + #3470 (`744eaa902`), #3471 (`a6057abd7`), #3472 (`ea97de5ec`), and #3473 (`2a4a1583b`). - Plan 10: PR [#3463](https://github.com/amruthpillai/reactive-resume/pull/3463), closed unmerged by maintainer direction; issue [#2836 comment](https://github.com/amruthpillai/reactive-resume/issues/2836#issuecomment-5556080394) records not-planned rationale. - Plan 16: PR [#3464](https://github.com/amruthpillai/reactive-resume/pull/3464), merged as @@ -229,3 +233,5 @@ pass. Issue comments and state changes are recorded when explicitly directed by `a6057abd7951a05c47b4785114f3e5eff670066e`; historical issue #2768 remains open/needs-info. - Plan 19: PR [#3472](https://github.com/amruthpillai/reactive-resume/pull/3472), merged as `ea97de5ec4e9adced7e83d6ff02e208727961887`; issue #3397 closed. +- Plan 34: PR [#3473](https://github.com/amruthpillai/reactive-resume/pull/3473), merged as + `2a4a1583be097290906a1252045c57e73b78b1a9`; issue #2611 closed.