Skip to content

Commit 3f6b482

Browse files
committed
Merge branch 'codex/fix-idea-board-pr-workflow' of https://github.com/ToolboxAid/HTML-JavaScript-Gaming into codex/fix-idea-board-pr-workflow
# Conflicts: # docs_build/dev/reports/codex_changed_files.txt # docs_build/dev/reports/codex_review.diff
2 parents ba1cb5e + 1dd4035 commit 3f6b482

47 files changed

Lines changed: 987 additions & 399 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

assets/theme-v2/partials/header-nav.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@
6666
<a data-nav-link data-toolbox-menu-item data-route="midi" href="toolbox/midi/index.html">MIDI</a>
6767
<a data-nav-link data-toolbox-menu-item data-route="music" href="toolbox/music/index.html">Music</a>
6868
<a data-nav-link data-toolbox-menu-item data-route="particles" href="toolbox/particles/index.html">Particles</a>
69+
<a data-nav-link data-toolbox-menu-item data-route="text-to-speech" href="toolbox/text-to-speech/index.html">Text To Speech</a>
6970
<a data-nav-link data-toolbox-menu-item data-route="videos" href="toolbox/videos/index.html">Videos</a>
7071
<a data-nav-link data-toolbox-menu-item data-route="speech-to-text" href="toolbox/speech-to-text/index.html">Voice Capture</a>
71-
<a data-nav-link data-toolbox-menu-item data-route="text-to-speech" href="toolbox/text-to-speech/index.html">Voice Output</a>
7272
<a data-nav-link data-toolbox-menu-item data-route="voices" href="toolbox/voices/index.html">Voices</a>
7373
</div>
7474
</div>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# PR_26171_037 Manual Validation Notes
2+
3+
## Manual Review
4+
- Reviewed the rebuilt active page at `toolbox/text-to-speech/index.html`.
5+
- Confirmed the page uses Theme V2 paths and shared toolbox partials.
6+
- Confirmed the creator workflow exposes text input, voice selection, rate, pitch, volume, Speak, and Stop controls.
7+
- Confirmed the page copy no longer blocks browser preview behind provider-not-implemented behavior.
8+
- Confirmed unavailable speech synthesis has visible actionable status text.
9+
- Confirmed the incorrect `tools/text2speech/` path is absent.
10+
11+
## Environment Note
12+
Audio output was validated through a Playwright Web Speech API stub that records `speak` and `cancel` calls. Physical speaker playback was not audited in this headless validation environment.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# PR_26171_037 Requirement Checklist
2+
3+
| Requirement | Result | Notes |
4+
| --- | --- | --- |
5+
| Use archive `old_text2speech-V2` as behavior reference only | PASS | Reviewed archive controls and engine behavior; rebuilt in current architecture. |
6+
| Active tool path is `toolbox/text-to-speech/` | PASS | Page and module live under the active toolbox path. |
7+
| Restore browser TTS capability | PASS | Browser preview uses `TextToSpeechEngine` and Web Speech API. |
8+
| Creator can enter text | PASS | Textarea is wired into preview request creation. |
9+
| Creator can select available browser voice | PASS | Voice select is populated from browser voices and handles empty state. |
10+
| Creator can adjust rate, pitch, and volume | PASS | Sliders update visible values and preview request options. |
11+
| Speak/Preview can call browser TTS | PASS | Playwright confirms `speechSynthesis.speak` path is called when available. |
12+
| Stop speech | PASS | Playwright confirms Stop calls cancel. |
13+
| Visible actionable unavailable-engine error | PASS | Missing Web Speech API shows an unavailable status and disables preview actions. |
14+
| Do not block browser TTS behind provider not implemented | PASS | Browser provider is implemented locally; paid providers remain planning only. |
15+
| Remove placeholder-only provider behavior | PASS | Placeholder generation/export shell behavior was removed from active preview path. |
16+
| JavaScript external only | PASS | Page references external scripts only. |
17+
| No inline script/style/event handlers | PASS | Targeted static validation passed. |
18+
| Theme V2 only | PASS | Page references Theme V2 stylesheet and shared partials. |
19+
| No fake generation | PASS | No fake audio generation added. |
20+
| No database tables | PASS | No schema or database table changes made. |
21+
| No external paid provider integration | PASS | Paid provider adapters are planning metadata only. |
22+
| Remove incorrect `tools/text2speech` path | PASS | Static check confirms the path is absent. |
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# PR_26171_037 Validation Report
2+
3+
## Commands
4+
- `node --test tests\tools\Text2SpeechShell.test.mjs` - PASS
5+
- `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs --project=playwright --workers=1 --reporter=list` - PASS
6+
- Targeted static Text To Speech validation script - PASS
7+
- `git diff --check` - PASS
8+
- `npm run test:workspace-v2` - FAIL
9+
10+
## Targeted Coverage
11+
- Page loads from `toolbox/text-to-speech/index.html`.
12+
- Text input updates the preview model.
13+
- Voice select renders the available browser voice list and empty/unavailable state.
14+
- Rate, pitch, and volume sliders update visible values.
15+
- Speak calls the browser TTS path when Web Speech API support is available.
16+
- Stop calls `speechSynthesis.cancel()` through the engine.
17+
- Missing Web Speech API support shows a visible actionable error.
18+
- No inline scripts, style blocks, inline styles, or inline event handlers were detected.
19+
- `tools/text2speech/` was absent.
20+
21+
## Project Workspace Command Note
22+
`npm run test:workspace-v2` is the legacy command name for Project Workspace validation. The command ran and failed in `tests/playwright/tools/RootToolsFutureState.spec.mjs` on five broad root/toolbox expectations:
23+
- Root tools list expected `[data-tools-accordion-list] .control-card` entries but found none.
24+
- Common header test did not find `header.site-header` on one active page.
25+
- Learn/tool template/representative tool tests reported failed requests to `http://127.0.0.1:5501/api/...`.
26+
27+
The targeted Text To Speech unit, static, and Playwright validations passed after the functional rebuild.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# PR_26171_037 Text To Speech Functional Tool Rebuild
2+
3+
## Purpose
4+
- Rebuilt Text To Speech as a functional browser TTS tool in the active path `toolbox/text-to-speech/`.
5+
- Used `archive/v1-v2/tools/old_text2speech-V2` as behavior reference material only.
6+
- Kept browser Web Speech API as the local functional engine for this PR.
7+
8+
## Implementation
9+
- Replaced the placeholder-only Text To Speech page with a Theme V2 / Tool Template V2 aligned workspace surface.
10+
- Added creator text entry, browser voice selection, rate, pitch, and volume controls with visible values.
11+
- Wired Speak and Stop actions through the existing `TextToSpeechEngine` Web Speech API wrapper.
12+
- Added visible actionable unavailable-engine messaging when `speechSynthesis` is not present.
13+
- Removed provider-not-implemented blocking behavior from the browser preview path.
14+
- Kept future paid provider adapters as planning metadata only.
15+
- Updated current toolbox registration and shared navigation labels from `Voice Output` to `Text To Speech`.
16+
- Confirmed `tools/text2speech/` does not exist.
17+
18+
## Scope Notes
19+
- No archived implementation was copied directly.
20+
- No fake generation was added.
21+
- No database tables were added.
22+
- No external paid provider integration was added.
23+
- JavaScript remains external with no inline script blocks, style blocks, inline styles, or inline event handlers.

docs_build/dev/reports/codex_changed_files.txt

Lines changed: 68 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,29 +68,84 @@
6868
- PASS 027: Idea Board is table-first; the primary work surface is `data-idea-board-table`, with selected idea row controls and no form-first primary workflow.
6969
- PASS 028: Notes are scoped to the selected idea through `data-idea-board-selected-title`, `data-idea-board-notes-table`, and selected idea state in `toolbox/idea-board/index.js`; Add Note opens an inline row inside the selected notes table; creator notes expose Edit/Delete on the right; system notes expose neither Edit nor Delete; note metadata is table columns.
7070
- PASS 029: Targeted Playwright coverage validates table columns, selected idea switching, scoped note add/edit/delete, system note lockout, placeholder-only Create Project, and no mutating API calls.
71-
- PASS 030: Workspace V2 validation harness now pins public API/site env to the ephemeral test server and updates current Message Studio registry expectations so the required workspace lane passes.
71+
- PASS 030: Workspace V2 validation harness pins public API/site env to the ephemeral test server and updates current Message Studio registry/count expectations so the required workspace lane passes on the rebased branch.
7272

7373
## Validation
74-
- PASS before rebase: `node --check toolbox/idea-board/index.js`.
75-
- PASS before rebase: `node --check tests/playwright/tools/IdeaBoardTableNotes.spec.mjs`.
76-
- PASS before rebase: `node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs`.
77-
- PASS before rebase: `node --check tests/playwright/tools/RootToolsFutureState.spec.mjs`.
78-
- PASS before rebase: Inline HTML guard for `toolbox/idea-board/index.html`.
79-
- PASS before rebase: `npx playwright test tests/playwright/tools/IdeaBoardTableNotes.spec.mjs --project=playwright --workers=1 --reporter=line` (1 passed).
80-
- PASS before rebase: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs --project=playwright --workers=1 --reporter=line -g "Idea Board launches"` (1 passed).
81-
- PASS before rebase: `npm run test:workspace-v2` (5 passed).
82-
- PENDING after conflict resolution: re-run targeted validation.
74+
- PASS after rebase: `node --check toolbox/idea-board/index.js`.
75+
- PASS after rebase: `node --check tests/playwright/tools/IdeaBoardTableNotes.spec.mjs`.
76+
- PASS after rebase: `node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs`.
77+
- PASS after rebase: `node --check tests/playwright/tools/RootToolsFutureState.spec.mjs`.
78+
- PASS after rebase: `npx playwright test tests/playwright/tools/IdeaBoardTableNotes.spec.mjs --project=playwright --workers=1 --reporter=line` (1 passed).
79+
- PASS after rebase: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs --project=playwright --workers=1 --reporter=line -g "Idea Board launches"` (1 passed when rerun alone; earlier parallel run failed in Playwright artifact cleanup only).
80+
- PASS after rebase: `npm run test:workspace-v2` (5 passed).
81+
- PASS: `git diff --cached --check`.
8382
- SKIP: Full samples smoke, per user instruction.
8483

8584
## Git Workflow Fields
8685
- Current branch: codex/fix-idea-board-pr-workflow.
8786
- Created branch: codex/fix-idea-board-pr-workflow from refreshed main.
88-
- Push result: pushed before rebase; force-with-lease push pending after conflict resolution.
87+
- Conflict resolution: rebase onto `origin/main` conflicted only in generated Codex report files; reports were regenerated from the rebased PR diff.
88+
- Push result: pushed before rebase; force-with-lease push pending after amend.
8989
- PR URL: https://github.com/ToolboxAid/HTML-JavaScript-Gaming/pull/4.
9090
- Merge result: pending.
9191
- Final main commit: pending.
9292

9393
## ZIP
9494
- Path: tmp/PR_26171_030-idea-board-workflow-fix_delta.zip.
95-
- Size: pending after conflict-resolution package refresh.
96-
- Contents: pending after conflict-resolution package refresh.
95+
- Size: 101613 bytes.
96+
- Contents:
97+
- docs_build/dev/codex_commands.md
98+
- docs_build/dev/commit_comment.txt
99+
- docs_build/dev/reports/codex_changed_files.txt
100+
- docs_build/dev/reports/codex_review.diff
101+
- docs_build/dev/reports/coverage_changed_js_guardrail.txt
102+
- docs_build/dev/reports/dependency_gating_report.md
103+
- docs_build/dev/reports/dependency_hydration_reuse_report.md
104+
- docs_build/dev/reports/execution_graph_reuse_report.md
105+
- docs_build/dev/reports/failure_fingerprint_report.md
106+
- docs_build/dev/reports/filesystem_scan_reduction_report.md
107+
- docs_build/dev/reports/incremental_validation_report.md
108+
- docs_build/dev/reports/lane_compilation_report.md
109+
- docs_build/dev/reports/lane_deduplication_report.md
110+
- docs_build/dev/reports/lane_input_validation_report.md
111+
- docs_build/dev/reports/lane_manifests/workspace-contract.json
112+
- docs_build/dev/reports/lane_runtime_optimization_report.md
113+
- docs_build/dev/reports/lane_snapshot_report.md
114+
- docs_build/dev/reports/lane_snapshots/workspace-contract.json
115+
- docs_build/dev/reports/lane_warm_start_report.md
116+
- docs_build/dev/reports/lane_warm_starts/workspace-contract.json
117+
- docs_build/dev/reports/monolith_trigger_removal_report.md
118+
- docs_build/dev/reports/persistent_lane_manifest_report.md
119+
- docs_build/dev/reports/playwright_discovery_ownership_report.md
120+
- docs_build/dev/reports/playwright_discovery_scope_report.md
121+
- docs_build/dev/reports/playwright_structure_audit.md
122+
- docs_build/dev/reports/playwright_v8_coverage_report.txt
123+
- docs_build/dev/reports/retry_suppression_report.md
124+
- docs_build/dev/reports/slow_path_pruning_report.md
125+
- docs_build/dev/reports/static_validation_report.md
126+
- docs_build/dev/reports/targeted_file_manifest_report.md
127+
- docs_build/dev/reports/test_cleanup_performance_report.md
128+
- docs_build/dev/reports/test_cleanup_routing_report.md
129+
- docs_build/dev/reports/testing_lane_execution_report.md
130+
- docs_build/dev/reports/validation_cache_report.md
131+
- docs_build/dev/reports/zero_browser_preflight_report.md
132+
- docs_build/pr/APPLY_PR_26171_026-idea-board-template-cleanup.md
133+
- docs_build/pr/APPLY_PR_26171_027-idea-board-table-work-surface.md
134+
- docs_build/pr/APPLY_PR_26171_028-idea-board-notes-table-governance.md
135+
- docs_build/pr/APPLY_PR_26171_029-idea-board-validation-playwright.md
136+
- docs_build/pr/APPLY_PR_26171_030-idea-board-workflow-fix.md
137+
- docs_build/pr/BUILD_PR_26171_026-idea-board-template-cleanup.md
138+
- docs_build/pr/BUILD_PR_26171_027-idea-board-table-work-surface.md
139+
- docs_build/pr/BUILD_PR_26171_028-idea-board-notes-table-governance.md
140+
- docs_build/pr/BUILD_PR_26171_029-idea-board-validation-playwright.md
141+
- docs_build/pr/BUILD_PR_26171_030-idea-board-workflow-fix.md
142+
- docs_build/pr/PLAN_PR_26171_026-idea-board-template-cleanup.md
143+
- docs_build/pr/PLAN_PR_26171_027-idea-board-table-work-surface.md
144+
- docs_build/pr/PLAN_PR_26171_028-idea-board-notes-table-governance.md
145+
- docs_build/pr/PLAN_PR_26171_029-idea-board-validation-playwright.md
146+
- docs_build/pr/PLAN_PR_26171_030-idea-board-workflow-fix.md
147+
- tests/playwright/tools/IdeaBoardTableNotes.spec.mjs
148+
- tests/playwright/tools/RootToolsFutureState.spec.mjs
149+
- tests/playwright/tools/ToolboxRoutePages.spec.mjs
150+
- toolbox/idea-board/index.html
151+
- toolbox/idea-board/index.js

0 commit comments

Comments
 (0)