diff --git a/docs_build/dev/PROJECT_INSTRUCTIONS.md b/docs_build/dev/PROJECT_INSTRUCTIONS.md
index 8ec5d3681..6a2014f2f 100644
--- a/docs_build/dev/PROJECT_INSTRUCTIONS.md
+++ b/docs_build/dev/PROJECT_INSTRUCTIONS.md
@@ -1660,6 +1660,81 @@ For tools that present Summary Table or Notes Table note-management surfaces:
- System-created notes may only have status changed when the tool explicitly allows status editing.
- Selected Note Metadata must be shown as table columns, not as a separate detached panel.
+## TABLE-FIRST WORKSPACE GOVERNANCE
+
+Primary tool work surfaces must be table-first unless a PR explicitly approves another interaction model.
+
+Rules:
+- The primary work surface is a table.
+- Prefer inline table workflows over forms.
+- No detached selected-item context panels.
+- No detached notes/detail panels when child rows can render under the parent row.
+- Parent name cells own accordion behavior.
+- The chevron appears inside the parent name cell.
+- The entire parent name cell toggles expansion.
+- Child count columns are informational only.
+- Only one parent row may be expanded at a time.
+- The default state is all collapsed.
+- Child rows are indented.
+- The child Add button aligns with child rows.
+- Metadata remains stored but hidden unless explicitly needed.
+- Add buttons are left aligned and self-describing.
+- Enumerated fields become dropdowns during edit mode.
+
+Parent/child table pattern examples:
+- Idea 1-* Notes
+- Character 1-* Dialog
+- Quest 1-* Objectives
+- Audio Profile 1-* Effects
+
+Visual examples:
+
+1. Default collapsed table.
+
+| Idea | Pitch | Status | Updated | Notes | Actions |
+| --- | --- | --- | --- | --- | --- |
+| > Sky Orchard | Grow floating islands... | Exploring | 2026-06-20 | 3 Notes | Edit Delete |
+| > Clockwork Courier | Deliver messages through looping city... | New | 2026-06-20 | 0 Notes | Edit Delete |
+| Add Idea | | | | | |
+
+2. Expanded parent with child rows indented.
+
+| Idea | Pitch | Status | Updated | Notes | Actions |
+| --- | --- | --- | --- | --- | --- |
+| v Sky Orchard | Grow floating islands... | Exploring | 2026-06-20 | 3 Notes | Edit Delete |
+| Note | Actions | | | | |
+| Wind test needs traversal risks. | Edit Delete | | | | |
+| Island height should read from camera. | Edit Delete | | | | |
+| Add Note | | | | | |
+
+3. Normal row with Edit/Delete.
+
+| Idea | Pitch | Status | Updated | Notes | Actions |
+| --- | --- | --- | --- | --- | --- |
+| > Sky Orchard | Grow floating islands... | Exploring | 2026-06-20 | 3 Notes | Edit Delete |
+
+4. Edit row with Save/Cancel and dropdown status.
+
+| Idea | Pitch | Status | Updated | Notes | Actions |
+| --- | --- | --- | --- | --- | --- |
+| [Sky Orchard] | [Grow floating islands...] | [Exploring v] | 2026-06-20 | 3 Notes | Save Cancel |
+
+5. Add row with Save/Cancel.
+
+| Idea | Pitch | Status | Updated | Notes | Actions |
+| --- | --- | --- | --- | --- | --- |
+| [New idea] | [Pitch] | [New v] | auto | 0 Notes | Save Cancel |
+
+Explicit row-state rules:
+- Normal row actions: Edit Delete.
+- Edit row actions: Save Cancel.
+- Add row actions: Save Cancel.
+- Save/Cancel is row-level only.
+- No page-level Save for normal row editing.
+- Cancel restores previous row state.
+- Save commits only the edited row.
+- Multiple simultaneous row edits are prohibited unless explicitly approved.
+
## INPUT RESOLUTION RULES
- Discover real files and directories.
diff --git a/docs_build/dev/reports/codex_changed_files.txt b/docs_build/dev/reports/codex_changed_files.txt
index ac3c628b0..4a954a997 100644
--- a/docs_build/dev/reports/codex_changed_files.txt
+++ b/docs_build/dev/reports/codex_changed_files.txt
@@ -1,52 +1,57 @@
-# Codex Changed Files - PR_26171_033-idea-board-inline-accordion-cell
+# Codex Changed Files - PR_26171_039-table-first-workspace-governance
## Git Workflow
-- Current branch: `codex/pr-26171-033-idea-board-inline-accordion-cell`.
+- Current branch: `codex/pr-26171-039-table-first-workspace-governance`.
- Expected starting branch: `main` (PASS before branch creation).
-- Created branch: `codex/pr-26171-033-idea-board-inline-accordion-cell`.
+- Created branch: `codex/pr-26171-039-table-first-workspace-governance`.
- Push result: pending until after commit.
- PR URL: pending until after push.
- Merge result: pending until after PR validation/merge.
- Final main commit: pending until after merge and final pull.
## Changed Files
-- assets/theme-v2/images/gfs-chevron-down.svg
-- assets/theme-v2/images/gfs-chevron-up.svg
-- docs_build/dev/codex_commands.md
-- docs_build/dev/commit_comment.txt
+- docs_build/dev/PROJECT_INSTRUCTIONS.md
- docs_build/dev/reports/codex_changed_files.txt
- docs_build/dev/reports/codex_review.diff
-- docs_build/dev/reports/coverage_changed_js_guardrail.txt
-- docs_build/dev/reports/playwright_v8_coverage_report.txt
-- docs_build/pr/APPLY_PR_26171_033-idea-board-inline-accordion-cell.md
-- docs_build/pr/BUILD_PR_26171_033-idea-board-inline-accordion-cell.md
-- docs_build/pr/PLAN_PR_26171_033-idea-board-inline-accordion-cell.md
-- tests/playwright/tools/IdeaBoardTableNotes.spec.mjs
-- tests/playwright/tools/ToolboxRoutePages.spec.mjs
-- toolbox/idea-board/index.js
## Requirement Evidence
-- PASS: Separate `>` expand/collapse button removed from `toolbox/idea-board/index.js`; no `data-idea-board-notes-chevron` control remains.
-- PASS: No separate expand/collapse control column was added; the visible Idea table remains Idea, Pitch, Status, Updated, Notes, Actions.
-- PASS: Notes count is rendered as a plain informational span and no longer carries `data-idea-board-toggle-notes`.
-- PASS: Chevron image is rendered inside the Idea row header cell.
-- PASS: Collapsed rows use `assets/theme-v2/images/gfs-chevron-down.svg`.
-- PASS: Expanded rows use `assets/theme-v2/images/gfs-chevron-up.svg`.
-- PASS: The whole Idea cell carries the toggle target and handles click plus Enter/Space keyboard activation.
-- PASS: Expanded notes continue to render directly under the owning idea row.
-- PASS: Targeted Playwright verifies clicking Notes count does not expand from a collapsed state.
-- PASS: Targeted Playwright verifies clicking Notes count does not collapse from an expanded state.
-- PASS: Targeted Playwright verifies clicking the Idea cell expands/collapses and the chevron switches down/up.
-- PASS: Theme V2 chevron SVG assets were added under `assets/theme-v2/images/`.
+- PASS: Added `TABLE-FIRST WORKSPACE GOVERNANCE` section to `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
+- PASS: Section states primary work surface is a table.
+- PASS: Section says to prefer inline table workflows over forms.
+- PASS: Section prohibits detached selected-item context panels.
+- PASS: Section prohibits detached notes/detail panels when child rows can render under the parent row.
+- PASS: Parent/child patterns include Idea 1-* Notes, Character 1-* Dialog, Quest 1-* Objectives, and Audio Profile 1-* Effects.
+- PASS: Section says parent name cell owns accordion behavior.
+- PASS: Section says chevron appears inside parent name cell.
+- PASS: Section says entire parent name cell toggles expansion.
+- PASS: Section says child count columns are informational only.
+- PASS: Section says only one parent row may be expanded at a time.
+- PASS: Section says default state is all collapsed.
+- PASS: Section says child rows are indented.
+- PASS: Section says child Add button aligns with child rows.
+- PASS: Section says metadata remains stored but hidden unless explicitly needed.
+- PASS: Section says Add buttons are left aligned and self-describing.
+- PASS: Section says enumerated fields become dropdowns during edit mode.
+- PASS: Visual examples include default collapsed table, expanded parent with indented child rows, normal Edit/Delete row, edit Save/Cancel row with dropdown status, and add Save/Cancel row.
+- PASS: Explicit row-state rules include Normal row actions: Edit Delete.
+- PASS: Explicit row-state rules include Edit row actions: Save Cancel.
+- PASS: Explicit row-state rules include Add row actions: Save Cancel.
+- PASS: Explicit row-state rules state Save/Cancel is row-level only.
+- PASS: Explicit row-state rules prohibit page-level Save for normal row editing.
+- PASS: Explicit row-state rules state Cancel restores previous row state.
+- PASS: Explicit row-state rules state Save commits only the edited row.
+- PASS: Explicit row-state rules prohibit multiple simultaneous row edits unless explicitly approved.
+- PASS: Runtime code was not changed.
+- PASS: Tests were not changed.
+- PASS: Roadmap status was not changed.
## Validation
-- PASS: `node --check toolbox/idea-board/index.js`.
-- PASS: `node --check tests/playwright/tools/IdeaBoardTableNotes.spec.mjs`.
-- PASS: `node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs`.
-- PASS: `npx playwright test tests/playwright/tools/IdeaBoardTableNotes.spec.mjs --project=playwright --workers=1 --reporter=line` (1 passed).
-- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs --project=playwright --workers=1 --reporter=line -g "Idea Board launches"` (1 passed).
-- SKIP: Full samples smoke was not run; it is not in scope for this PR.
+- PASS: `git diff --check`.
+- PASS: Heading confirmation found `## TABLE-FIRST WORKSPACE GOVERNANCE`.
+- PASS: Visual examples confirmation found `Visual examples:` and numbered examples.
+- PASS: Save/Cancel row-state confirmation found edit/add examples and explicit row-state rules.
+- PASS: No Playwright impact; this PR is docs/workflow only.
## ZIP
-- Path: `tmp/PR_26171_033-idea-board-inline-accordion-cell_delta.zip`.
+- Path: `tmp/PR_26171_039-table-first-workspace-governance_delta.zip`.
- Size and contents: reported after final ZIP generation.
diff --git a/docs_build/dev/reports/codex_review.diff b/docs_build/dev/reports/codex_review.diff
index 0c8105aa7..e48d87175 100644
--- a/docs_build/dev/reports/codex_review.diff
+++ b/docs_build/dev/reports/codex_review.diff
@@ -1,557 +1,182 @@
-diff --git a/assets/theme-v2/images/gfs-chevron-down.svg b/assets/theme-v2/images/gfs-chevron-down.svg
-new file mode 100644
-index 000000000..13ff30337
---- /dev/null
-+++ b/assets/theme-v2/images/gfs-chevron-down.svg
-@@ -0,0 +1,3 @@
-+
-diff --git a/assets/theme-v2/images/gfs-chevron-up.svg b/assets/theme-v2/images/gfs-chevron-up.svg
-new file mode 100644
-index 000000000..8f1a44434
---- /dev/null
-+++ b/assets/theme-v2/images/gfs-chevron-up.svg
-@@ -0,0 +1,3 @@
-+
-diff --git a/docs_build/dev/codex_commands.md b/docs_build/dev/codex_commands.md
-index d7d9ec8c6..ecd6fdded 100644
---- a/docs_build/dev/codex_commands.md
-+++ b/docs_build/dev/codex_commands.md
-@@ -1,20 +1,20 @@
- # Codex Commands
-
- ## PR
--- `PR_26171_032-idea-board-accordion-table-model`
-+- `PR_26171_033-idea-board-inline-accordion-cell`
-
- ## Source Documents
- - `docs_build/dev/PROJECT_INSTRUCTIONS.md`
--- `docs_build/pr/PLAN_PR_26171_032-idea-board-accordion-table-model.md`
--- `docs_build/pr/BUILD_PR_26171_032-idea-board-accordion-table-model.md`
--- `docs_build/pr/APPLY_PR_26171_032-idea-board-accordion-table-model.md`
-+- `docs_build/pr/PLAN_PR_26171_033-idea-board-inline-accordion-cell.md`
-+- `docs_build/pr/BUILD_PR_26171_033-idea-board-inline-accordion-cell.md`
-+- `docs_build/pr/APPLY_PR_26171_033-idea-board-inline-accordion-cell.md`
-
- ## Git Workflow Commands
- - `git branch --show-current`
- - `git status -sb`
- - `git branch --list`
- - `git pull --ff-only origin main`
--- `git switch -c codex/pr-26171-032-idea-board-accordion-table-model`
-+- `git switch -c codex/pr-26171-033-idea-board-inline-accordion-cell`
-
- ## Inspection Commands
- - `Get-Content -Raw docs_build/dev/PROJECT_INSTRUCTIONS.md`
-@@ -27,13 +27,11 @@
- - `node --check toolbox/idea-board/index.js`
- - `node --check tests/playwright/tools/IdeaBoardTableNotes.spec.mjs`
- - `node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs`
--- `node -e ""`
- - `npx playwright test tests/playwright/tools/IdeaBoardTableNotes.spec.mjs --project=playwright --workers=1 --reporter=line`
- - `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs --project=playwright --workers=1 --reporter=line -g "Idea Board launches"`
--- `npm run test:workspace-v2`
-
- ## Artifact Commands
- - Generate `docs_build/dev/reports/codex_changed_files.txt`
- - Generate `docs_build/dev/reports/codex_review.diff`
--- Create `tmp/PR_26171_032-idea-board-accordion-table-model_delta.zip`
-+- Create `tmp/PR_26171_033-idea-board-inline-accordion-cell_delta.zip`
- - Verify ZIP size and repo-relative paths
-diff --git a/docs_build/dev/commit_comment.txt b/docs_build/dev/commit_comment.txt
-index 684187bdb..a8cd06794 100644
---- a/docs_build/dev/commit_comment.txt
-+++ b/docs_build/dev/commit_comment.txt
-@@ -1,5 +1,5 @@
--PR_26171_032 idea board accordion table model
-+PR_26171_033 idea board inline accordion cell
-
--- reshape Idea Board in-page data into idea and note table records
--- default to collapsed notes with row-level expand/collapse controls
-+- move accordion chevron into the Idea table cell
-+- keep Notes count informational instead of a toggle
- - update targeted Playwright coverage and reports
-diff --git a/docs_build/dev/reports/codex_changed_files.txt b/docs_build/dev/reports/codex_changed_files.txt
-index bbdede254..ac3c628b0 100644
---- a/docs_build/dev/reports/codex_changed_files.txt
-+++ b/docs_build/dev/reports/codex_changed_files.txt
-@@ -1,117 +1,52 @@
--# Codex Changed Files - PR_26171_032-idea-board-accordion-table-model
-+# Codex Changed Files - PR_26171_033-idea-board-inline-accordion-cell
-
- ## Git Workflow
--- Current branch: `codex/pr-26171-032-idea-board-accordion-table-model`
-+- Current branch: `codex/pr-26171-033-idea-board-inline-accordion-cell`.
- - Expected starting branch: `main` (PASS before branch creation).
--- Created branch: `codex/pr-26171-032-idea-board-accordion-table-model`.
-+- Created branch: `codex/pr-26171-033-idea-board-inline-accordion-cell`.
- - Push result: pending until after commit.
- - PR URL: pending until after push.
- - Merge result: pending until after PR validation/merge.
- - Final main commit: pending until after merge and final pull.
-
- ## Changed Files
-+- assets/theme-v2/images/gfs-chevron-down.svg
-+- assets/theme-v2/images/gfs-chevron-up.svg
- - docs_build/dev/codex_commands.md
- - docs_build/dev/commit_comment.txt
--- docs_build/dev/reports/dependency_gating_report.md
--- docs_build/dev/reports/dependency_hydration_reuse_report.md
--- docs_build/dev/reports/execution_graph_reuse_report.md
--- docs_build/dev/reports/failure_fingerprint_report.md
--- docs_build/dev/reports/filesystem_scan_reduction_report.md
--- docs_build/dev/reports/incremental_validation_report.md
--- docs_build/dev/reports/lane_compilation_report.md
--- docs_build/dev/reports/lane_deduplication_report.md
--- docs_build/dev/reports/lane_input_validation_report.md
--- docs_build/dev/reports/lane_runtime_optimization_report.md
--- docs_build/dev/reports/lane_snapshot_report.md
--- docs_build/dev/reports/lane_warm_start_report.md
--- docs_build/dev/reports/monolith_trigger_removal_report.md
--- docs_build/dev/reports/persistent_lane_manifest_report.md
--- docs_build/dev/reports/playwright_discovery_ownership_report.md
--- docs_build/dev/reports/playwright_discovery_scope_report.md
--- docs_build/dev/reports/playwright_structure_audit.md
--- docs_build/dev/reports/retry_suppression_report.md
--- docs_build/dev/reports/slow_path_pruning_report.md
--- docs_build/dev/reports/static_validation_report.md
--- docs_build/dev/reports/targeted_file_manifest_report.md
--- docs_build/dev/reports/test_cleanup_performance_report.md
--- docs_build/dev/reports/test_cleanup_routing_report.md
--- docs_build/dev/reports/testing_lane_execution_report.md
--- docs_build/dev/reports/validation_cache_report.md
--- docs_build/dev/reports/zero_browser_preflight_report.md
--- docs_build/pr/APPLY_PR_26171_032-idea-board-accordion-table-model.md
--- docs_build/pr/BUILD_PR_26171_032-idea-board-accordion-table-model.md
--- docs_build/pr/PLAN_PR_26171_032-idea-board-accordion-table-model.md
-+- docs_build/dev/reports/codex_changed_files.txt
-+- docs_build/dev/reports/codex_review.diff
-+- docs_build/dev/reports/coverage_changed_js_guardrail.txt
-+- docs_build/dev/reports/playwright_v8_coverage_report.txt
-+- docs_build/pr/APPLY_PR_26171_033-idea-board-inline-accordion-cell.md
-+- docs_build/pr/BUILD_PR_26171_033-idea-board-inline-accordion-cell.md
-+- docs_build/pr/PLAN_PR_26171_033-idea-board-inline-accordion-cell.md
- - tests/playwright/tools/IdeaBoardTableNotes.spec.mjs
- - tests/playwright/tools/ToolboxRoutePages.spec.mjs
--- toolbox/idea-board/index.html
- - toolbox/idea-board/index.js
-
--## Name Status
--- M docs_build/dev/codex_commands.md
--- M docs_build/dev/commit_comment.txt
--- M docs_build/dev/reports/dependency_gating_report.md
--- M docs_build/dev/reports/dependency_hydration_reuse_report.md
--- M docs_build/dev/reports/execution_graph_reuse_report.md
--- M docs_build/dev/reports/failure_fingerprint_report.md
--- M docs_build/dev/reports/filesystem_scan_reduction_report.md
--- M docs_build/dev/reports/incremental_validation_report.md
--- M docs_build/dev/reports/lane_compilation_report.md
--- M docs_build/dev/reports/lane_deduplication_report.md
--- M docs_build/dev/reports/lane_input_validation_report.md
--- M docs_build/dev/reports/lane_runtime_optimization_report.md
--- M docs_build/dev/reports/lane_snapshot_report.md
--- M docs_build/dev/reports/lane_warm_start_report.md
--- M docs_build/dev/reports/monolith_trigger_removal_report.md
--- M docs_build/dev/reports/persistent_lane_manifest_report.md
--- M docs_build/dev/reports/playwright_discovery_ownership_report.md
--- M docs_build/dev/reports/playwright_discovery_scope_report.md
--- M docs_build/dev/reports/playwright_structure_audit.md
--- M docs_build/dev/reports/retry_suppression_report.md
--- M docs_build/dev/reports/slow_path_pruning_report.md
--- M docs_build/dev/reports/static_validation_report.md
--- M docs_build/dev/reports/targeted_file_manifest_report.md
--- M docs_build/dev/reports/test_cleanup_performance_report.md
--- M docs_build/dev/reports/test_cleanup_routing_report.md
--- M docs_build/dev/reports/testing_lane_execution_report.md
--- M docs_build/dev/reports/validation_cache_report.md
--- M docs_build/dev/reports/zero_browser_preflight_report.md
--- A docs_build/pr/APPLY_PR_26171_032-idea-board-accordion-table-model.md
--- A docs_build/pr/BUILD_PR_26171_032-idea-board-accordion-table-model.md
--- A docs_build/pr/PLAN_PR_26171_032-idea-board-accordion-table-model.md
--- M tests/playwright/tools/IdeaBoardTableNotes.spec.mjs
--- M tests/playwright/tools/ToolboxRoutePages.spec.mjs
--- M toolbox/idea-board/index.html
--- M toolbox/idea-board/index.js
--
- ## Requirement Evidence
--- PASS: Idea records use DB-shaped fields `ideaId`, `userId`, `idea`, `pitch`, `status`, and `updated` in `toolbox/idea-board/index.js`.
--- PASS: Note records use DB-shaped fields `noteId`, `ideaId`, `note`, `system`, and `updated` in `toolbox/idea-board/index.js`.
--- PASS: Relationship semantics are represented in-page by `userId` on idea records and `ideaId` on note records.
--- PASS: No real DB persistence, adapters, SQLite services, SQLite DDL, or SQLite seed files were added.
--- PASS: Default state has `expandedIdeaId: null`, no expanded rows, and the main table shows all ideas only.
--- PASS: Add Idea appears as the final table row/action area and opens an inline idea row at the bottom.
--- PASS: Visible Idea table columns are Idea, Pitch, Status, Updated, Notes, Actions.
--- PASS: Seed rows render Top Thoughts, Sky Orchard, and Clockwork Courier with the requested pitches, statuses, dates, note counts, and Edit/Delete actions.
--- PASS: Notes count and chevron buttons expand/collapse notes for that idea.
--- PASS: Expanded notes render directly under the owning idea row, and only one expanded idea is required/active at a time.
--- PASS: Notes are not selected context; visible selected-idea terminology, `Selected idea context`, and detached `Notes for Sky Orchard` heading were removed.
--- PASS: Visible note metadata columns are removed; expanded note table shows only Note and Actions columns.
--- PASS: Expanded notes include a `Notes` header.
--- PASS: Note rows expose Edit/Delete when allowed; system notes expose Edit and do not expose Delete.
--- PASS: Add Note appears under the expanded notes area for that idea.
--- PASS: Add/Edit Idea rows use inline controls with a Status dropdown and Save/Cancel actions on the same row.
--- PASS: Add/Edit Note rows use inline controls with Save/Cancel actions on the same row inside the expanded notes area.
-+- PASS: Separate `>` expand/collapse button removed from `toolbox/idea-board/index.js`; no `data-idea-board-notes-chevron` control remains.
-+- PASS: No separate expand/collapse control column was added; the visible Idea table remains Idea, Pitch, Status, Updated, Notes, Actions.
-+- PASS: Notes count is rendered as a plain informational span and no longer carries `data-idea-board-toggle-notes`.
-+- PASS: Chevron image is rendered inside the Idea row header cell.
-+- PASS: Collapsed rows use `assets/theme-v2/images/gfs-chevron-down.svg`.
-+- PASS: Expanded rows use `assets/theme-v2/images/gfs-chevron-up.svg`.
-+- PASS: The whole Idea cell carries the toggle target and handles click plus Enter/Space keyboard activation.
-+- PASS: Expanded notes continue to render directly under the owning idea row.
-+- PASS: Targeted Playwright verifies clicking Notes count does not expand from a collapsed state.
-+- PASS: Targeted Playwright verifies clicking Notes count does not collapse from an expanded state.
-+- PASS: Targeted Playwright verifies clicking the Idea cell expands/collapses and the chevron switches down/up.
-+- PASS: Theme V2 chevron SVG assets were added under `assets/theme-v2/images/`.
-
- ## Validation
- - PASS: `node --check toolbox/idea-board/index.js`.
- - PASS: `node --check tests/playwright/tools/IdeaBoardTableNotes.spec.mjs`.
- - PASS: `node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs`.
--- PASS: Idea Board inline HTML guard found no inline `