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 number Diff line number Diff line change
@@ -0,0 +1,16 @@
# PR_26171_BETA_069-message-tts-profile-contract-alignment Manual Validation Notes

Generated: 2026-06-20T22:03:35.223Z

## TEAM Ownership

- TEAM owner: BETA

## Manual Review

- Reviewed Message Studio UI contract in toolbox/messages/index.html and toolbox/messages/messages.js.
- Confirmed user-facing Message Studio copy no longer describes Message Parts as Emotion Profile-owned.
- Confirmed Message Parts table exposes Text, Emotion, and TTS Profile columns and add/edit controls.
- Confirmed TTS Studio parent/child profile behavior is covered by existing targeted Playwright validation.
- Confirmed no inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.
- Confirmed no database schema changes were added; the existing Local API TTS profile seed was renamed to the required balanced profile.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# PR_26171_BETA_069-message-tts-profile-contract-alignment Message/TTS Ownership Checklist

Generated: 2026-06-20T22:03:35.223Z

## TEAM Ownership

- TEAM owner: BETA

## Checklist

| Requirement | Result | Evidence |
| --- | --- | --- |
| Message Studio owns text and ordered message parts | PASS | toolbox/messages/messages.js and MessagesTool.spec.mjs |
| TTS Studio owns profiles and per-profile emotion values | PASS | toolbox/text-to-speech/text2speech.js and TextToSpeechFunctional.spec.mjs |
| src/engine/audio owns playback | PASS | Message Studio delegates through message-tts-service-registry.js to TextToSpeechEngine |
| Audio owns generated/played output | PASS | TextToSpeechEngine queues played speech output; no Message Studio audio output ownership added |
| No separate Emotion Studio | PASS | Message Studio test asserts removed standalone emotion table hooks remain absent |
| No browser-owned product data as source of truth | PASS | Message Studio data loads through Local API; this PR did not add browser storage persistence |
| No silent fallback | PASS | Missing speech support and missing profile/emotion/text states produce visible messages |
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# PR_26171_BETA_069-message-tts-profile-contract-alignment Parent/Child Table Checklist

Generated: 2026-06-20T22:03:35.223Z

## TEAM Ownership

- TEAM owner: BETA

## Message Studio

| Requirement | Result | Evidence |
| --- | --- | --- |
| Parent table is Messages | PASS | Messages table remains the primary center-panel table |
| Clicking Message row opens Message Parts child table | PASS | MessagesTool.spec.mjs opens a row and verifies Message Parts |
| Child table has Text | PASS | Test verifies data-segment-text in the add/edit row |
| Child table has Emotion | PASS | Test verifies data-segment-emotion in the add/edit row |
| Child table has TTS Profile | PASS | Test verifies data-segment-tts-profile in the add/edit row |
| Default balanced TTS Profile is available | PASS | Local API seed and fallback profile use Default Balanced TTS Profile |

## TTS Studio

| Requirement | Result | Evidence |
| --- | --- | --- |
| Parent table is TTS Profiles | PASS | TextToSpeechFunctional.spec.mjs verifies TTS Profiles table |
| Clicking profile opens Emotion Settings child table | PASS | TextToSpeechFunctional.spec.mjs opens Default, Man, and Woman profiles |
| Emotion Settings belong to selected profile | PASS | Emotion rows are rendered under selected profile and edited through profile-specific controls |
| Man Profile 1 has Neutral, Happy, Angry, Scared | PASS | TextToSpeechFunctional.spec.mjs |
| Woman Profile 2 has Neutral, Happy, Angry, Scared | PASS | TextToSpeechFunctional.spec.mjs |
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# PR_26171_BETA_069-message-tts-profile-contract-alignment Validation

Generated: 2026-06-20T22:03:35.223Z

## TEAM Ownership

- TEAM owner: BETA

## Commands Run

| Command | Result | Notes |
| --- | --- | --- |
| npx playwright test tests/playwright/tools/MessagesTool.spec.mjs | INFRA TIMEOUT | Initial parallel run timed out before result. |
| npx playwright test tests/playwright/tools/MessagesTool.spec.mjs | INFRA FAIL | App reached expected state, but Playwright trace artifact creation failed under tmp/test-results. |
| npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off | PASS | 2 passed. Trace disabled to avoid artifact writer failure. |
| npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs | PASS | 2 passed. |
| node --test tests/tools/Text2SpeechShell.test.mjs | PASS | 4 passed. |
| npm run test:workspace-v2 | PASS | Legacy command name; user-facing language is Project Workspace / Game Hub. 5 passed. |
| git diff --check | PASS | Only line-ending warnings were emitted by Git. |

## Validation Notes

The repo Playwright config enables trace capture under tmp/test-results. The Message Studio app scenario passed after rerunning with trace disabled; the preceding failure was artifact creation, not a product assertion failure.

## Latest Status Snapshot

```text
## pr/26171-BETA-069-message-tts-profile-contract-alignment
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
M docs_build/dev/reports/dependency_gating_report.md
M docs_build/dev/reports/dependency_hydration_reuse_report.md
M docs_build/dev/reports/execution_graph_reuse_report.md
M docs_build/dev/reports/failure_fingerprint_report.md
M docs_build/dev/reports/filesystem_scan_reduction_report.md
M docs_build/dev/reports/incremental_validation_report.md
M docs_build/dev/reports/lane_compilation_report.md
M docs_build/dev/reports/lane_deduplication_report.md
M docs_build/dev/reports/lane_input_validation_report.md
M docs_build/dev/reports/lane_manifests/workspace-contract.json
M docs_build/dev/reports/lane_runtime_optimization_report.md
M docs_build/dev/reports/lane_snapshot_report.md
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
M docs_build/dev/reports/lane_warm_start_report.md
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
M docs_build/dev/reports/monolith_trigger_removal_report.md
M docs_build/dev/reports/persistent_lane_manifest_report.md
M docs_build/dev/reports/playwright_discovery_ownership_report.md
M docs_build/dev/reports/playwright_discovery_scope_report.md
M docs_build/dev/reports/playwright_structure_audit.md
M docs_build/dev/reports/playwright_v8_coverage_report.txt
M docs_build/dev/reports/retry_suppression_report.md
M docs_build/dev/reports/slow_path_pruning_report.md
M docs_build/dev/reports/static_validation_report.md
M docs_build/dev/reports/targeted_file_manifest_report.md
M docs_build/dev/reports/test_cleanup_performance_report.md
M docs_build/dev/reports/test_cleanup_routing_report.md
M docs_build/dev/reports/testing_lane_execution_report.md
M docs_build/dev/reports/validation_cache_report.md
M docs_build/dev/reports/zero_browser_preflight_report.md
M src/dev-runtime/messages/messages-sqlite-service.mjs
M tests/playwright/tools/MessagesTool.spec.mjs
M toolbox/messages/index.html
M toolbox/messages/messages.js
```

## git diff --check Output

```text
warning: in the working copy of 'docs_build/dev/reports/lane_manifests/workspace-contract.json', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'docs_build/dev/reports/lane_snapshots/workspace-contract.json', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'docs_build/dev/reports/lane_warm_starts/workspace-contract.json', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'src/dev-runtime/messages/messages-sqlite-service.mjs', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'tests/playwright/tools/MessagesTool.spec.mjs', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'toolbox/messages/index.html', LF will be replaced by CRLF the next time Git touches it
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# PR_26171_BETA_069-message-tts-profile-contract-alignment

Generated: 2026-06-20T22:03:35.223Z

## TEAM Ownership

- TEAM owner: BETA
- Ownership source: docs_build/dev/PROJECT_MULTI_PC.txt
- Message Studio maps to BETA-owned Messages.
- TTS Studio maps to BETA-owned Text To Speech / TTS.
- TextToSpeechEngine-adjacent playback maps to BETA-owned Audio / TTS, with src/engine/audio retaining playback code ownership.

## Instruction Compliance

- Read docs_build/dev/PROJECT_INSTRUCTIONS.md: PASS
- Read docs_build/dev/PROJECT_MULTI_PC.txt: PASS
- Confirm TEAM token in PR name: PASS
- Confirm BETA ownership for Message Studio, TTS Studio, and TextToSpeechEngine-adjacent playback: PASS
- Started from clean synced main before branch creation: PASS
- Branch created: pr/26171-BETA-069-message-tts-profile-contract-alignment

## Scope

Implemented a scoped Message/TTS alignment refresh on top of the historical PR_26171_069 work already on main:

- Message Studio visible contract now uses Emotion rather than Emotion Profile language.
- Default Local API TTS Profile seed is the required balanced profile.
- Message Studio validation and playback errors use the Message Parts contract wording.
- Message Studio Playwright coverage now verifies the Message Part edit row exposes Text, Emotion, and TTS Profile controls.

No separate Emotion Studio was created. No inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added. No database schema changes were added.

## Git Workflow

- Current branch at report generation: pr/26171-BETA-069-message-tts-profile-contract-alignment
- Starting HEAD: 77462a96a3bb19f508e2d10a5aacbaa243a97fb1
- origin/main: 77462a96a3bb19f508e2d10a5aacbaa243a97fb1
- origin/main...HEAD: 0 0
- Push result: pending at report generation
- PR URL: pending at report generation
- Merge result: pending at report generation
- Final main commit: pending at report generation

## Changed Files Before Report Generation

```text
docs_build/dev/reports/coverage_changed_js_guardrail.txt
docs_build/dev/reports/dependency_gating_report.md
docs_build/dev/reports/dependency_hydration_reuse_report.md
docs_build/dev/reports/execution_graph_reuse_report.md
docs_build/dev/reports/failure_fingerprint_report.md
docs_build/dev/reports/filesystem_scan_reduction_report.md
docs_build/dev/reports/incremental_validation_report.md
docs_build/dev/reports/lane_compilation_report.md
docs_build/dev/reports/lane_deduplication_report.md
docs_build/dev/reports/lane_input_validation_report.md
docs_build/dev/reports/lane_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/retry_suppression_report.md
docs_build/dev/reports/slow_path_pruning_report.md
docs_build/dev/reports/static_validation_report.md
docs_build/dev/reports/targeted_file_manifest_report.md
docs_build/dev/reports/test_cleanup_performance_report.md
docs_build/dev/reports/test_cleanup_routing_report.md
docs_build/dev/reports/testing_lane_execution_report.md
docs_build/dev/reports/validation_cache_report.md
docs_build/dev/reports/zero_browser_preflight_report.md
src/dev-runtime/messages/messages-sqlite-service.mjs
tests/playwright/tools/MessagesTool.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
```

## Requirement Checklist

- Message Studio parent table = Messages: PASS
- Message row opens Message Parts child table/accordion: PASS
- Message Parts select Text, Emotion, and TTS Profile: PASS
- Default balanced TTS Profile exists until authored profiles are available: PASS
- No separate Emotion Studio: PASS
- TTS Studio parent table = TTS Profiles: PASS
- TTS Profile row opens Emotion Settings child table/accordion: PASS
- Emotion Settings belong to selected TTS Profile: PASS
- Man Profile 1 / Woman Profile 2 each expose Neutral, Happy, Angry, Scared: PASS
- Message Studio owns text and ordered message parts: PASS
- TTS Studio owns profiles and per-profile emotion values: PASS
- src/engine/audio owns playback: PASS
- Audio owns generated/played output: PASS
45 changes: 40 additions & 5 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,42 @@
docs_build/dev/PROJECT_INSTRUCTIONS.md
docs_build/dev/PROJECT_MULTI_PC.txt
docs_build/dev/reports/PR_26171_ALPHA_075-team-based-pr-naming-manual-validation-notes.md
docs_build/dev/reports/PR_26171_ALPHA_075-team-based-pr-naming-validation.md
docs_build/dev/reports/PR_26171_ALPHA_075-team-based-pr-naming.md
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-manual-validation-notes.md
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-message-tts-ownership-checklist.md
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-parent-child-table-checklist.md
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-validation.md
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment.md
docs_build/dev/reports/codex_changed_files.txt
docs_build/dev/reports/codex_review.diff
docs_build/dev/reports/coverage_changed_js_guardrail.txt
docs_build/dev/reports/dependency_gating_report.md
docs_build/dev/reports/dependency_hydration_reuse_report.md
docs_build/dev/reports/execution_graph_reuse_report.md
docs_build/dev/reports/failure_fingerprint_report.md
docs_build/dev/reports/filesystem_scan_reduction_report.md
docs_build/dev/reports/incremental_validation_report.md
docs_build/dev/reports/lane_compilation_report.md
docs_build/dev/reports/lane_deduplication_report.md
docs_build/dev/reports/lane_input_validation_report.md
docs_build/dev/reports/lane_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/retry_suppression_report.md
docs_build/dev/reports/slow_path_pruning_report.md
docs_build/dev/reports/static_validation_report.md
docs_build/dev/reports/targeted_file_manifest_report.md
docs_build/dev/reports/test_cleanup_performance_report.md
docs_build/dev/reports/test_cleanup_routing_report.md
docs_build/dev/reports/testing_lane_execution_report.md
docs_build/dev/reports/validation_cache_report.md
docs_build/dev/reports/zero_browser_preflight_report.md
src/dev-runtime/messages/messages-sqlite-service.mjs
tests/playwright/tools/MessagesTool.spec.mjs
toolbox/messages/index.html
toolbox/messages/messages.js
Loading
Loading