Skip to content

Commit 0903433

Browse files
committed
PR_26171_014 Message Studio table governance
1 parent cec2a71 commit 0903433

13 files changed

Lines changed: 3703 additions & 2280 deletions

docs_build/dev/PROJECT_INSTRUCTIONS.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,13 +358,15 @@ Prohibited product-data ownership:
358358

359359
Toolbox and Admin tool metadata must use a shared DB-backed tool metadata source for `toolKey`, `toolName`, `group`, `path`, `order`, and `status`. Browser pages may render metadata returned by the API/service contract, but they must not own a separate runtime copy of that metadata.
360360

361-
## POSTGRES DATABASE DIRECTION
361+
## DATABASE DIRECTION
362362

363-
SQLite is deprecated for new database work.
363+
SQLite is deprecated.
364+
Postgres is authoritative.
364365

365366
Rules:
366367
- New database work must target Postgres.
367-
- New persistence must flow through Local API / Postgres direction only.
368+
- Local API -> Postgres is the required direction.
369+
- New PRs must not introduce SQLite persistence.
368370
- Do not add new SQLite services.
369371
- Do not add new SQLite DDL.
370372
- Do not add new SQLite seed data.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
PR_26171_014-message-studio-table-governance manual validation notes
2+
3+
Reviewed Message Studio page structure after the table governance conversion:
4+
- Message Rows use table columns Name, Primary Emotion, Segments, Tags, Status, Actions.
5+
- Add Message Row opens an inline editable row.
6+
- Edit opens inline row editing.
7+
- Disable actions are present for active rows and no Delete actions are present.
8+
- Selected Message Row renders a nested Segment Table.
9+
- Segment rows support Edit, Move Up, Move Down, and Disable.
10+
- Emotion Profiles and TTS Profiles use inline table rows for add/edit.
11+
- Speech Preview is display-only and has no playback buttons.
12+
13+
No browser category UI is present in toolbox/messages.
14+
No manual provider/audio playback was attempted because it is out of scope.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
PR_26171_014-message-studio-table-governance validation report
2+
3+
Branch:
4+
PASS - Started from main.
5+
6+
Static and syntax checks:
7+
PASS - node --check toolbox/messages/messages.js
8+
PASS - node --check toolbox/messages/messages-api-client.js
9+
PASS - node --check src/dev-runtime/messages/messages-sqlite-service.mjs
10+
PASS - node --check tests/playwright/tools/MessagesTool.spec.mjs
11+
PASS - git diff --check
12+
13+
Targeted runtime/static assertions:
14+
PASS - No category references remain in toolbox/messages browser files.
15+
PASS - No speech synthesis or preview action hooks remain in toolbox/messages browser files.
16+
PASS - No Delete labels exist in Message Studio browser files or the targeted Playwright spec.
17+
18+
Playwright:
19+
PASS - npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --workers=1 --reporter=list
20+
21+
Samples:
22+
SKIPPED - Full samples smoke was out of scope.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# PR_26171_014-message-studio-table-governance
2+
3+
## Branch Validation
4+
5+
PASS - Work was executed from `main` with `git status --short --branch` reporting `## main...origin/main` before edits.
6+
7+
## Requirement Checklist
8+
9+
- PASS - Project instructions now define `DATABASE DIRECTION`, state SQLite is deprecated, Postgres is authoritative, and require Local API -> Postgres for new database work.
10+
- PASS - Browser Message Studio category imports, state, API usage, and rendering were removed from `toolbox/messages/`.
11+
- PASS - Message rows render as a Summary Table with Name, Primary Emotion, Segments, Tags, Status, and Actions.
12+
- PASS - Add Message Row opens an inline editable row inside the table.
13+
- PASS - Message row actions are Edit and Disable; no delete UI is present.
14+
- PASS - Emotion Profiles render as table governance with Name, Volume, Pitch, Rate, Status, and Actions.
15+
- PASS - Add Profile opens an inline emotion profile row; actions are Edit and Disable.
16+
- PASS - TTS Profiles render as table governance with Name, Provider, Voice, Language, Status, and Actions.
17+
- PASS - Add Profile opens an inline TTS profile row; actions are Edit and Disable.
18+
- PASS - Message Segments render nested under the selected message row with Order, Emotion, Text, Status, and Actions.
19+
- PASS - Segment actions are Edit, Move Up, Move Down, and Disable; no delete UI is present.
20+
- PASS - Speech Preview remains display-only with no playback controls, provider calls, or browser speech synthesis calls.
21+
- PASS - Legacy SQLite category storage remains only inside the existing dev adapter as technical debt compatibility for the old schema.
22+
23+
## Impacted Lane
24+
25+
Message Studio Theme V2 tool, browser API client, existing dev-runtime messages adapter compatibility, and targeted Playwright coverage.
26+
27+
## Skipped Lanes
28+
29+
Samples smoke, unrelated toolbox pages, provider/runtime speech playback, audio generation, and repo-wide refactors were skipped as out of scope.
30+
31+
## Validation
32+
33+
- PASS - `node --check toolbox/messages/messages.js`
34+
- PASS - `node --check toolbox/messages/messages-api-client.js`
35+
- PASS - `node --check src/dev-runtime/messages/messages-sqlite-service.mjs`
36+
- PASS - `node --check tests/playwright/tools/MessagesTool.spec.mjs`
37+
- PASS - `rg -n "category|Category" toolbox/messages` returned no browser-surface matches.
38+
- PASS - `rg -n "speechSynthesis|SpeechSynthesis|speak\\(|Preview Message|Preview Segments|Stop Preview" toolbox/messages` returned no matches.
39+
- PASS - `rg -n "Delete" toolbox/messages tests/playwright/tools/MessagesTool.spec.mjs` returned no matches.
40+
- PASS - `npx playwright test tests/playwright/tools/MessagesTool.spec.mjs --workers=1 --reporter=list`
41+
- PASS - `git diff --check`
42+
43+
## Manual Notes
44+
45+
Reviewed the updated Message Studio route structure and confirmed the visible workflow is table-driven. The Speech Preview accordion now displays only status text. No full samples validation was run.
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
docs_build/dev/PROJECT_INSTRUCTIONS.md
2-
docs_build/dev/reports/PR_26171_012-message-tool-postgres-table-layout-cleanup-manual-validation.md
3-
docs_build/dev/reports/PR_26171_012-message-tool-postgres-table-layout-cleanup-validation.txt
4-
docs_build/dev/reports/PR_26171_012-message-tool-postgres-table-layout-cleanup.md
5-
docs_build/dev/reports/codex_changed_files.txt
1+
docs_build/dev/PROJECT_INSTRUCTIONS.md
62
docs_build/dev/reports/codex_review.diff
7-
src/dev-runtime/server/local-api-router.mjs
8-
src/shared/toolbox/tool-metadata-inventory.js
3+
docs_build/dev/reports/coverage_changed_js_guardrail.txt
4+
docs_build/dev/reports/playwright_v8_coverage_report.txt
5+
docs_build/dev/reports/PR_26171_014-message-studio-table-governance.md
6+
docs_build/dev/reports/PR_26171_014-message-studio-table-governance-manual-validation.txt
7+
docs_build/dev/reports/PR_26171_014-message-studio-table-governance-validation.txt
8+
src/dev-runtime/messages/messages-sqlite-service.mjs
99
tests/playwright/tools/MessagesTool.spec.mjs
10-
tests/playwright/tools/RootToolsFutureState.spec.mjs
1110
toolbox/messages/index.html
1211
toolbox/messages/messages.js
12+
toolbox/messages/messages-api-client.js

0 commit comments

Comments
 (0)