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 `