Files
Reactive-Resume/docs/execution/briefs/implement-plan-16.md
T

37 lines
3.1 KiB
Markdown

# Implement plan 16: editable imported rich-text tables
Read entire approved plan first from
`/Users/amruth/orca/workspaces/reactive-resume/planning-pr-3455/plans/16-imported-table-borders.md`; portable fallback:
`git show a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d:plans/16-imported-table-borders.md`. Read current `AGENTS.md`, RTK,
issue/domain instructions, ADRs, and applicable skills, including test-driven-development. Run root Intent inventory and load
matching local skill before source edits. Do not spawn subagents. Do not touch ledger, mutate issues, merge, push, or open PR.
Start from refreshed `origin/main`, require clean worktree, rename branch `codex/issue-3196-editable-tables`, revalidate live
#3196 and open PRs, and run exact drift check. Preserve merged #3438. Historical screenshot equivalence remains unverified
without source, but Q11 independently approves supported table editing.
Implement one atomic TDD unit across editor/HTML/PDF:
- Add failing `rich-input.table` tests first and record exact RED output: supported 2x3 table parses as structured Tiptap
JSON; mount emits no change; named-cell edit affects one cell; undo/redo and remount retain rows/cells/text; HTML reimports
equivalently. Include colspan/rowspan, multiple paragraphs, inline marks, paste, and unrelated prop updates.
- Register native Tiptap table/row/header/cell support with smallest required dependencies and frozen lockfile changes.
Preserve supported widths/spans/borders and existing `emitUpdate: false` behavior.
- Detect unsupported structured markup before destructive normalization. Retain exact original HTML, expose accessible read-only
notice, and prevent ordinary edits from overwriting it. Cover locked, keyboard, reopen, and cancellation behavior. Stop if
implementation needs broader HTML security policy or arbitrary editor extensions.
- Keep explicit CSS precedence and borderless tables borderless. Legacy HTML `border` mapping is outside initial scope unless
an exact fixture proves it is first failure; then stop and report fork rather than widening silently.
- Extend actual PDF integration: assert six cell coordinates plus exact horizontal/vertical border operators and fixed-DPI
pixels for supported CSS borders in legacy/semantic modes. Unsupported fallback must remain lossless. Text-only assertion
cannot pass.
- Add focused synthetic import E2E covering edit, undo/redo, save/reload, unrelated edit, browser/server PDF. No private data.
Run initial RED, focused web/PDF GREEN suites including existing #3438 test, web/PDF typechecks, boundaries, full build, and
plan E2E against dedicated disposable DB. Use narrow non-writing Biome; disclose/inspect any write-capable `pnpm check`.
Run `git diff --check` and scope inspection. Commit locally with normal message; no push/PR before independent review.
Write `.orchestration/plan-16-implementation.md`: verified facts vs uncertainty, live/drift state, exact RED/GREEN evidence,
dependency/lockfile changes, commit/files, commands/results, skipped gates, risks, historical issue limitation, PR `not
created`. Final response at most ten lines.