Skip to content

Commit 06b262d

Browse files
committed
PR_26171_BETA_069 message tts profile contract alignment
1 parent 77462a9 commit 06b262d

42 files changed

Lines changed: 1999 additions & 520 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# PR_26171_BETA_069-message-tts-profile-contract-alignment Manual Validation Notes
2+
3+
Generated: 2026-06-20T22:03:35.223Z
4+
5+
## TEAM Ownership
6+
7+
- TEAM owner: BETA
8+
9+
## Manual Review
10+
11+
- Reviewed Message Studio UI contract in toolbox/messages/index.html and toolbox/messages/messages.js.
12+
- Confirmed user-facing Message Studio copy no longer describes Message Parts as Emotion Profile-owned.
13+
- Confirmed Message Parts table exposes Text, Emotion, and TTS Profile columns and add/edit controls.
14+
- Confirmed TTS Studio parent/child profile behavior is covered by existing targeted Playwright validation.
15+
- Confirmed no inline styles, style blocks, inline event handlers, page-local CSS, or tool-local CSS were added.
16+
- Confirmed no database schema changes were added; the existing Local API TTS profile seed was renamed to the required balanced profile.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# PR_26171_BETA_069-message-tts-profile-contract-alignment Message/TTS Ownership Checklist
2+
3+
Generated: 2026-06-20T22:03:35.223Z
4+
5+
## TEAM Ownership
6+
7+
- TEAM owner: BETA
8+
9+
## Checklist
10+
11+
| Requirement | Result | Evidence |
12+
| --- | --- | --- |
13+
| Message Studio owns text and ordered message parts | PASS | toolbox/messages/messages.js and MessagesTool.spec.mjs |
14+
| TTS Studio owns profiles and per-profile emotion values | PASS | toolbox/text-to-speech/text2speech.js and TextToSpeechFunctional.spec.mjs |
15+
| src/engine/audio owns playback | PASS | Message Studio delegates through message-tts-service-registry.js to TextToSpeechEngine |
16+
| Audio owns generated/played output | PASS | TextToSpeechEngine queues played speech output; no Message Studio audio output ownership added |
17+
| No separate Emotion Studio | PASS | Message Studio test asserts removed standalone emotion table hooks remain absent |
18+
| 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 |
19+
| No silent fallback | PASS | Missing speech support and missing profile/emotion/text states produce visible messages |
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# PR_26171_BETA_069-message-tts-profile-contract-alignment Parent/Child Table Checklist
2+
3+
Generated: 2026-06-20T22:03:35.223Z
4+
5+
## TEAM Ownership
6+
7+
- TEAM owner: BETA
8+
9+
## Message Studio
10+
11+
| Requirement | Result | Evidence |
12+
| --- | --- | --- |
13+
| Parent table is Messages | PASS | Messages table remains the primary center-panel table |
14+
| Clicking Message row opens Message Parts child table | PASS | MessagesTool.spec.mjs opens a row and verifies Message Parts |
15+
| Child table has Text | PASS | Test verifies data-segment-text in the add/edit row |
16+
| Child table has Emotion | PASS | Test verifies data-segment-emotion in the add/edit row |
17+
| Child table has TTS Profile | PASS | Test verifies data-segment-tts-profile in the add/edit row |
18+
| Default balanced TTS Profile is available | PASS | Local API seed and fallback profile use Default Balanced TTS Profile |
19+
20+
## TTS Studio
21+
22+
| Requirement | Result | Evidence |
23+
| --- | --- | --- |
24+
| Parent table is TTS Profiles | PASS | TextToSpeechFunctional.spec.mjs verifies TTS Profiles table |
25+
| Clicking profile opens Emotion Settings child table | PASS | TextToSpeechFunctional.spec.mjs opens Default, Man, and Woman profiles |
26+
| Emotion Settings belong to selected profile | PASS | Emotion rows are rendered under selected profile and edited through profile-specific controls |
27+
| Man Profile 1 has Neutral, Happy, Angry, Scared | PASS | TextToSpeechFunctional.spec.mjs |
28+
| Woman Profile 2 has Neutral, Happy, Angry, Scared | PASS | TextToSpeechFunctional.spec.mjs |
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# PR_26171_BETA_069-message-tts-profile-contract-alignment Validation
2+
3+
Generated: 2026-06-20T22:03:35.223Z
4+
5+
## TEAM Ownership
6+
7+
- TEAM owner: BETA
8+
9+
## Commands Run
10+
11+
| Command | Result | Notes |
12+
| --- | --- | --- |
13+
| npx playwright test tests/playwright/tools/MessagesTool.spec.mjs | INFRA TIMEOUT | Initial parallel run timed out before result. |
14+
| 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. |
15+
| npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --trace=off | PASS | 2 passed. Trace disabled to avoid artifact writer failure. |
16+
| npx playwright test tests/playwright/tools/TextToSpeechFunctional.spec.mjs | PASS | 2 passed. |
17+
| node --test tests/tools/Text2SpeechShell.test.mjs | PASS | 4 passed. |
18+
| npm run test:workspace-v2 | PASS | Legacy command name; user-facing language is Project Workspace / Game Hub. 5 passed. |
19+
| git diff --check | PASS | Only line-ending warnings were emitted by Git. |
20+
21+
## Validation Notes
22+
23+
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.
24+
25+
## Latest Status Snapshot
26+
27+
```text
28+
## pr/26171-BETA-069-message-tts-profile-contract-alignment
29+
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
30+
M docs_build/dev/reports/dependency_gating_report.md
31+
M docs_build/dev/reports/dependency_hydration_reuse_report.md
32+
M docs_build/dev/reports/execution_graph_reuse_report.md
33+
M docs_build/dev/reports/failure_fingerprint_report.md
34+
M docs_build/dev/reports/filesystem_scan_reduction_report.md
35+
M docs_build/dev/reports/incremental_validation_report.md
36+
M docs_build/dev/reports/lane_compilation_report.md
37+
M docs_build/dev/reports/lane_deduplication_report.md
38+
M docs_build/dev/reports/lane_input_validation_report.md
39+
M docs_build/dev/reports/lane_manifests/workspace-contract.json
40+
M docs_build/dev/reports/lane_runtime_optimization_report.md
41+
M docs_build/dev/reports/lane_snapshot_report.md
42+
M docs_build/dev/reports/lane_snapshots/workspace-contract.json
43+
M docs_build/dev/reports/lane_warm_start_report.md
44+
M docs_build/dev/reports/lane_warm_starts/workspace-contract.json
45+
M docs_build/dev/reports/monolith_trigger_removal_report.md
46+
M docs_build/dev/reports/persistent_lane_manifest_report.md
47+
M docs_build/dev/reports/playwright_discovery_ownership_report.md
48+
M docs_build/dev/reports/playwright_discovery_scope_report.md
49+
M docs_build/dev/reports/playwright_structure_audit.md
50+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
51+
M docs_build/dev/reports/retry_suppression_report.md
52+
M docs_build/dev/reports/slow_path_pruning_report.md
53+
M docs_build/dev/reports/static_validation_report.md
54+
M docs_build/dev/reports/targeted_file_manifest_report.md
55+
M docs_build/dev/reports/test_cleanup_performance_report.md
56+
M docs_build/dev/reports/test_cleanup_routing_report.md
57+
M docs_build/dev/reports/testing_lane_execution_report.md
58+
M docs_build/dev/reports/validation_cache_report.md
59+
M docs_build/dev/reports/zero_browser_preflight_report.md
60+
M src/dev-runtime/messages/messages-sqlite-service.mjs
61+
M tests/playwright/tools/MessagesTool.spec.mjs
62+
M toolbox/messages/index.html
63+
M toolbox/messages/messages.js
64+
```
65+
66+
## git diff --check Output
67+
68+
```text
69+
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
70+
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
71+
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
72+
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
73+
warning: in the working copy of 'tests/playwright/tools/MessagesTool.spec.mjs', LF will be replaced by CRLF the next time Git touches it
74+
warning: in the working copy of 'toolbox/messages/index.html', LF will be replaced by CRLF the next time Git touches it
75+
```
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# PR_26171_BETA_069-message-tts-profile-contract-alignment
2+
3+
Generated: 2026-06-20T22:03:35.223Z
4+
5+
## TEAM Ownership
6+
7+
- TEAM owner: BETA
8+
- Ownership source: docs_build/dev/PROJECT_MULTI_PC.txt
9+
- Message Studio maps to BETA-owned Messages.
10+
- TTS Studio maps to BETA-owned Text To Speech / TTS.
11+
- TextToSpeechEngine-adjacent playback maps to BETA-owned Audio / TTS, with src/engine/audio retaining playback code ownership.
12+
13+
## Instruction Compliance
14+
15+
- Read docs_build/dev/PROJECT_INSTRUCTIONS.md: PASS
16+
- Read docs_build/dev/PROJECT_MULTI_PC.txt: PASS
17+
- Confirm TEAM token in PR name: PASS
18+
- Confirm BETA ownership for Message Studio, TTS Studio, and TextToSpeechEngine-adjacent playback: PASS
19+
- Started from clean synced main before branch creation: PASS
20+
- Branch created: pr/26171-BETA-069-message-tts-profile-contract-alignment
21+
22+
## Scope
23+
24+
Implemented a scoped Message/TTS alignment refresh on top of the historical PR_26171_069 work already on main:
25+
26+
- Message Studio visible contract now uses Emotion rather than Emotion Profile language.
27+
- Default Local API TTS Profile seed is the required balanced profile.
28+
- Message Studio validation and playback errors use the Message Parts contract wording.
29+
- Message Studio Playwright coverage now verifies the Message Part edit row exposes Text, Emotion, and TTS Profile controls.
30+
31+
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.
32+
33+
## Git Workflow
34+
35+
- Current branch at report generation: pr/26171-BETA-069-message-tts-profile-contract-alignment
36+
- Starting HEAD: 77462a96a3bb19f508e2d10a5aacbaa243a97fb1
37+
- origin/main: 77462a96a3bb19f508e2d10a5aacbaa243a97fb1
38+
- origin/main...HEAD: 0 0
39+
- Push result: pending at report generation
40+
- PR URL: pending at report generation
41+
- Merge result: pending at report generation
42+
- Final main commit: pending at report generation
43+
44+
## Changed Files Before Report Generation
45+
46+
```text
47+
docs_build/dev/reports/coverage_changed_js_guardrail.txt
48+
docs_build/dev/reports/dependency_gating_report.md
49+
docs_build/dev/reports/dependency_hydration_reuse_report.md
50+
docs_build/dev/reports/execution_graph_reuse_report.md
51+
docs_build/dev/reports/failure_fingerprint_report.md
52+
docs_build/dev/reports/filesystem_scan_reduction_report.md
53+
docs_build/dev/reports/incremental_validation_report.md
54+
docs_build/dev/reports/lane_compilation_report.md
55+
docs_build/dev/reports/lane_deduplication_report.md
56+
docs_build/dev/reports/lane_input_validation_report.md
57+
docs_build/dev/reports/lane_manifests/workspace-contract.json
58+
docs_build/dev/reports/lane_runtime_optimization_report.md
59+
docs_build/dev/reports/lane_snapshot_report.md
60+
docs_build/dev/reports/lane_snapshots/workspace-contract.json
61+
docs_build/dev/reports/lane_warm_start_report.md
62+
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
63+
docs_build/dev/reports/monolith_trigger_removal_report.md
64+
docs_build/dev/reports/persistent_lane_manifest_report.md
65+
docs_build/dev/reports/playwright_discovery_ownership_report.md
66+
docs_build/dev/reports/playwright_discovery_scope_report.md
67+
docs_build/dev/reports/playwright_structure_audit.md
68+
docs_build/dev/reports/playwright_v8_coverage_report.txt
69+
docs_build/dev/reports/retry_suppression_report.md
70+
docs_build/dev/reports/slow_path_pruning_report.md
71+
docs_build/dev/reports/static_validation_report.md
72+
docs_build/dev/reports/targeted_file_manifest_report.md
73+
docs_build/dev/reports/test_cleanup_performance_report.md
74+
docs_build/dev/reports/test_cleanup_routing_report.md
75+
docs_build/dev/reports/testing_lane_execution_report.md
76+
docs_build/dev/reports/validation_cache_report.md
77+
docs_build/dev/reports/zero_browser_preflight_report.md
78+
src/dev-runtime/messages/messages-sqlite-service.mjs
79+
tests/playwright/tools/MessagesTool.spec.mjs
80+
toolbox/messages/index.html
81+
toolbox/messages/messages.js
82+
```
83+
84+
## Requirement Checklist
85+
86+
- Message Studio parent table = Messages: PASS
87+
- Message row opens Message Parts child table/accordion: PASS
88+
- Message Parts select Text, Emotion, and TTS Profile: PASS
89+
- Default balanced TTS Profile exists until authored profiles are available: PASS
90+
- No separate Emotion Studio: PASS
91+
- TTS Studio parent table = TTS Profiles: PASS
92+
- TTS Profile row opens Emotion Settings child table/accordion: PASS
93+
- Emotion Settings belong to selected TTS Profile: PASS
94+
- Man Profile 1 / Woman Profile 2 each expose Neutral, Happy, Angry, Scared: PASS
95+
- Message Studio owns text and ordered message parts: PASS
96+
- TTS Studio owns profiles and per-profile emotion values: PASS
97+
- src/engine/audio owns playback: PASS
98+
- Audio owns generated/played output: PASS
Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,42 @@
1-
docs_build/dev/PROJECT_INSTRUCTIONS.md
2-
docs_build/dev/PROJECT_MULTI_PC.txt
3-
docs_build/dev/reports/PR_26171_ALPHA_075-team-based-pr-naming-manual-validation-notes.md
4-
docs_build/dev/reports/PR_26171_ALPHA_075-team-based-pr-naming-validation.md
5-
docs_build/dev/reports/PR_26171_ALPHA_075-team-based-pr-naming.md
1+
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-manual-validation-notes.md
2+
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-message-tts-ownership-checklist.md
3+
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-parent-child-table-checklist.md
4+
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment-validation.md
5+
docs_build/dev/reports/PR_26171_BETA_069-message-tts-profile-contract-alignment.md
66
docs_build/dev/reports/codex_changed_files.txt
77
docs_build/dev/reports/codex_review.diff
8+
docs_build/dev/reports/coverage_changed_js_guardrail.txt
9+
docs_build/dev/reports/dependency_gating_report.md
10+
docs_build/dev/reports/dependency_hydration_reuse_report.md
11+
docs_build/dev/reports/execution_graph_reuse_report.md
12+
docs_build/dev/reports/failure_fingerprint_report.md
13+
docs_build/dev/reports/filesystem_scan_reduction_report.md
14+
docs_build/dev/reports/incremental_validation_report.md
15+
docs_build/dev/reports/lane_compilation_report.md
16+
docs_build/dev/reports/lane_deduplication_report.md
17+
docs_build/dev/reports/lane_input_validation_report.md
18+
docs_build/dev/reports/lane_manifests/workspace-contract.json
19+
docs_build/dev/reports/lane_runtime_optimization_report.md
20+
docs_build/dev/reports/lane_snapshot_report.md
21+
docs_build/dev/reports/lane_snapshots/workspace-contract.json
22+
docs_build/dev/reports/lane_warm_start_report.md
23+
docs_build/dev/reports/lane_warm_starts/workspace-contract.json
24+
docs_build/dev/reports/monolith_trigger_removal_report.md
25+
docs_build/dev/reports/persistent_lane_manifest_report.md
26+
docs_build/dev/reports/playwright_discovery_ownership_report.md
27+
docs_build/dev/reports/playwright_discovery_scope_report.md
28+
docs_build/dev/reports/playwright_structure_audit.md
29+
docs_build/dev/reports/playwright_v8_coverage_report.txt
30+
docs_build/dev/reports/retry_suppression_report.md
31+
docs_build/dev/reports/slow_path_pruning_report.md
32+
docs_build/dev/reports/static_validation_report.md
33+
docs_build/dev/reports/targeted_file_manifest_report.md
34+
docs_build/dev/reports/test_cleanup_performance_report.md
35+
docs_build/dev/reports/test_cleanup_routing_report.md
36+
docs_build/dev/reports/testing_lane_execution_report.md
37+
docs_build/dev/reports/validation_cache_report.md
38+
docs_build/dev/reports/zero_browser_preflight_report.md
39+
src/dev-runtime/messages/messages-sqlite-service.mjs
40+
tests/playwright/tools/MessagesTool.spec.mjs
41+
toolbox/messages/index.html
42+
toolbox/messages/messages.js

0 commit comments

Comments
 (0)