Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Instruction Compliance Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Gate

- PASS: Read `docs_build/dev/PROJECT_INSTRUCTIONS.md`.
- PASS: Read `docs_build/dev/PROJECT_MULTI_PC.txt`.
- PASS: Current branch was `main` before creating `pr/26171-BETA-073-message-tts-table-ui-correction`.
- PASS: Repository was clean and synced with `origin/main` before branch creation.
- PASS: PR name includes required TEAM token `BETA`.
- PASS: Team BETA owns Messages, Text To Speech/TTS, and Audio content work.
- PASS: Implementation path uses active `toolbox/text-to-speech/` and `toolbox/messages/` paths.
- PASS: No `tools/text2speech/` path was created.
- PASS: Required validation scope was targeted TTS Studio, targeted Message Studio, and legacy `npm run test:workspace-v2` for Project Workspace/Game Hub coverage.
- PASS: Required report and ZIP outputs are included in this PR.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Manual Validation Notes

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Manual Review

- Reviewed `src/shared/toolbox/tool-metadata-inventory.js` to confirm Text To Speech uses the active `text-to-speech/index.html` registry entry and beta release metadata.
- Reviewed `toolbox/text-to-speech/index.html` to confirm the summary uses only Theme V2 reusable classes and keeps all live data hooks.
- Reviewed `toolbox/messages/index.html` and `toolbox/messages/messages.js` to confirm Add Message/Add Part are table-row workflows and Message Parts remain child table content.
- Reviewed targeted Playwright coverage for Message Studio TTS Profile dropdown compatibility.

## Automated Browser Validation Used As Manual Proxy

- TTS validation clicked through the toolbox index Text To Speech card and confirmed the active path.
- TTS validation exercised the TTS Studio page, summary hooks, profile/emotion table behavior, and speech synthesis.
- Message validation exercised add/edit message rows, add/edit part rows, name-cell expansion, part-count non-expansion, message playback, part playback, and unavailable audio errors.

## Not Performed

- No unscripted manual browser session was run beyond Playwright browser validation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Message Parent-Child Table Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Parent table remains `Messages`.
- PASS: Message name cell owns expand/collapse and exposes `aria-expanded`.
- PASS: Keyboard Enter/Space on the message name cell toggles the child table.
- PASS: Clicking the Parts count cell does not expand the child table.
- PASS: Child table remains `Message Parts` with ordered parts.
- PASS: Child table includes Order, Text, Emotion, TTS Profile, Status, and Actions columns.
- PASS: Add Message is an inline table action row and opens an inline add row.
- PASS: Edit Message opens an inline edit row.
- PASS: Add Part is an inline child-table action row and opens an inline add row.
- PASS: Edit Part opens an inline edit row.
- PASS: Play Message, Play Part, and Stop remain visible and validated.
- PASS: No separate Emotion Studio was introduced.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Summary Layout Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: TTS summary uses existing Theme V2 `content-cluster content-cluster--nowrap` classes.
- PASS: TTS summary uses existing `pill`, `mini-stat`, and `mini-stat--inline` classes.
- PASS: Summary row includes TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: The existing live data hooks remain: `data-tts-text-count`, `data-tts-profile-count`, `data-tts-emotion-count`, `data-tts-voice-count`, and `data-tts-engine-label`.
- PASS: No page-local CSS, tool-local CSS, inline style, or style block was added.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
# PR_26171_BETA_073-message-tts-table-ui-correction TTS Tools Registration Checklist

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA

- PASS: Text To Speech metadata uses `path: text-to-speech`.
- PASS: Text To Speech metadata uses `entryPoint: text-to-speech/index.html`.
- PASS: Text To Speech metadata now uses `status: beta` and `releaseChannel: beta`.
- PASS: Toolbox index validation finds `Text To Speech` with href `/toolbox/text-to-speech/index.html`.
- PASS: Toolbox index validation finds `data-registered-tool-route=toolbox/text-to-speech/index.html`.
- PASS: Validation asserts no link targets `tools/text2speech`.
- PASS: No `tools/text2speech/` directory was created.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
# PR_26171_BETA_073-message-tts-table-ui-correction Validation Report

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction

## Required Validation

- PASS: `npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs`
- 3 passed. Covers TTS page behavior, one-line summary row, toolbox registration path, and unavailable speech error.
- PASS: `node --test tests/tools/Text2SpeechShell.test.mjs`
- 4 passed. Covers TTS shell/profile contract.
- PASS: `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off`
- 2 passed. Covers Messages parent/child table, inline add/edit rows, TTS Profile dropdown compatibility, playback, and unavailable audio error.
- PASS: `npm run test:workspace-v2`
- Legacy command name; user-facing product language is Project Workspace/Game Hub. Final rerun passed 5 workspace-contract tests.
- PASS: `git diff --check`
- No whitespace errors; Git emitted line-ending normalization warnings only.

## Additional Focused Sanity Validation

- PASS: `npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs -g "toolbox index shows wireframe" --trace=off`
- 1 passed after updating expected toolbox counts for Text To Speech moving from planned/missing metadata into active beta registration.

## Notes

- Initial Message Studio validation exposed a missing Add Message control on empty tables; fixed and reran to PASS.
- Initial Project Workspace validation exposed stale toolbox count expectations; fixed and reran to PASS.
- Node emitted experimental SQLite warnings during relevant test runs; tests passed.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
# PR_26171_BETA_073-message-tts-table-ui-correction

Generated: 2026-06-20T23:06:25.711Z
Team ownership: BETA
Branch: pr/26171-BETA-073-message-tts-table-ui-correction
Base HEAD: eaee83f9327b336ec5679ebd591d94e50fab0523
origin/main at branch start: eaee83f9327b336ec5679ebd591d94e50fab0523
Ahead/behind before commit: 0 0
Spec source: latest user request in Codex session; no repository BUILD_PR doc for PR_26171_BETA_073 was found by targeted search.

## Purpose

Correct TTS and Message Studio UI alignment while preserving Theme V2, external JavaScript, existing Local API contracts, and server/API-backed product data ownership.

## Requirement Checklist

- PASS: TTS Studio appears on the toolbox index through the active registry path `toolbox/text-to-speech/index.html`.
- PASS: No `tools/text2speech/` path was created or linked.
- PASS: TTS summary uses a single Theme V2 inline row with TTS Studio, Characters, TTS Profiles, Emotion Settings, Voices, and Engine items.
- PASS: Message Studio keeps parent table `Messages`.
- PASS: Message name cell owns expand/collapse for the Message Parts child table; clicking the Parts count does not expand.
- PASS: Message Parts child table keeps ordered parts with Text, Emotion, TTS Profile, Status, and Actions.
- PASS: Add/Edit Message and Add/Edit Part remain inline row workflows.
- PASS: Play Message, Play Part, and Stop controls remain visible and validated.
- PASS: No separate Emotion Studio was created.
- PASS: No database tables or browser-owned product data source of truth were added.
- PASS: No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.

## Implementation Summary

- Corrected Text To Speech registry metadata from uppercase `Beta` to authoritative `beta` release-channel metadata so the DB-backed toolbox registry exposes it as active/visible.
- Reworked the TTS summary from a five-card grid into a Theme V2 nowrap inline summary row.
- Moved Message Studio Add Message and Add Part actions into table rows.
- Tightened Message Studio expansion to the parent message name cell with keyboard support.
- Updated targeted and workspace tests for the corrected TTS registration and table behavior.

## Git Workflow

- Current branch: pr/26171-BETA-073-message-tts-table-ui-correction
- Created branch: `pr/26171-BETA-073-message-tts-table-ui-correction`
- Push result: pending until commit/push step completes.
- PR URL: pending until PR creation step completes.
- Merge result: pending until PR merge step completes.
- Final main commit: pending until post-merge sync completes.
21 changes: 17 additions & 4 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table-validation.md
docs_build/dev/reports/PR_26171_BETA_071-tts-profile-emotion-table.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
Expand All@@ -13,15 +10,25 @@ 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_manifests/workspace-contract.json
docs_build/dev/reports/lane_runtime_optimization_report.md
docs_build/dev/reports/lane_snapshot_report.md
docs_build/dev/reports/lane_snapshots/workspace-contract.json
docs_build/dev/reports/lane_warm_start_report.md
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
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/playwright_v8_coverage_report.txt
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-instruction-compliance-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-message-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-summary-layout-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-tts-tools-registration-checklist.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction-validation-report.md
docs_build/dev/reports/PR_26171_BETA_073-message-tts-table-ui-correction.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
Expand All@@ -31,5 +38,11 @@ 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
src/shared/toolbox/tool-metadata-inventory.js
tests/playwright/tools/MessagesTool.spec.mjs
tests/playwright/tools/RootToolsFutureState.spec.mjs
tests/playwright/tools/TextToSpeechFunctional.spec.mjs
toolbox/text-to-speech/text2speech.js
tests/playwright/tools/ToolboxRoutePages.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
toolbox/text-to-speech/index.html
Loading
Loading