docs/execution/briefs/implement-plan-32.md
Read approved plan 32 from local planning checkout only when HEAD equals
a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d; otherwise use
git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/32-section-date-sorting.md. Read current AGENTS.md, RTK,
issue/domain guidance, ADRs, and applicable brainstorming/TDD skills. Approved direction fixes behavior; do not ask routine
interaction questions. Run root Intent inventory and load matching local skill before edits. Do not spawn subagents, touch
ledger, mutate issues, merge, push, or create PR.
Start clean from refreshed origin/main, rename branch codex/issue-2725-one-shot-sort, revalidate live issue 2725 and open
PRs, and run exact drift. Ensure no active owner touches same section menus. Plan 24 is presentation-only; do not stack unless
current source truly requires its interface. This increment is one-shot Experience/Education only, not autosort or full issue
closure.
Strict TDD and contract:
parsePeriod for numeric/localized/ongoing/year-only/reversed/blank/bare-Present/prose/equal
values without changing parser or ATS behavior. Record nullable cases.sortSectionItemsByPeriod(items, locale): { items, unresolvedIds } in packages/resume and
an intentional public export. New array, original item objects/content/IDs unchanged, identical multiset, no input mutation.[year, month ?? 0]; never persists fabricated dates. Missing known endpoint ranks after known. Unresolved and
reversed entries remain stable at end; return their exact IDs. Cover transitivity, determinism/repeat invocation,
empty/single, localized months, year-only, bare Present, blank, prose, reversed, and stable equal ranges.useUpdateResumeData draft mutation.
One undo restores exact order; save/reload retains chosen order; later edits never resort. Locked state disables action.
Concise Lingui notice identifies only affected entries in current section, preferably safe title or ID semantics supported by
current notification patterns; do not expose unrelated resume content.Record RED and GREEN. Run period/helper tests, focused web menu/undo tests, resume/web typechecks, boundaries, build, Lingui
catalog checks, and synthetic authenticated persistence E2E if feasible. Use narrow non-writing Biome; disclose/inspect any
write-capable pnpm check. Run diff/scope checks. Commit locally; no push/PR before independent review.
Write .orchestration/plan-32-implementation.md: live/drift state, facts vs uncertainty, RED/GREEN, exact commit/files,
tests/results, skipped gates, risks, partial issue coverage, PR not created. Final response at most ten lines.