docs/execution/briefs/implement-plan-16.md
Read entire approved plan from local planning checkout only when its HEAD equals
a2557b2ad40e06e1e63eb655f286e6a78fe6bf0d; otherwise use pinned 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
issue 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:
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.emitUpdate: false behavior.border mapping is outside initial scope unless
an exact fixture proves it is first failure; then stop and report fork rather than widening silently.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.