Skip to content

Commit 6c7a259

Browse files
committed
ALFA 007 game hub project readonly proof
1 parent 6d94477 commit 6c7a259

7 files changed

Lines changed: 463 additions & 544 deletions

docs_build/dev/BUILD_PR.md

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,55 @@
1-
# PR_26175_ALFA_002-toolbox-status-bar-context-polish
1+
# PR_26175_ALFA_007-game-hub-project-readonly-proof
22

33
## Purpose
4-
Polish the shared toolbox status bar context display so it shows only selected-game name/purpose on the left and categorized tool context in the center.
4+
Prove that Game Hub keeps existing project/game identity read-only while allowing normal create and metadata-edit workflows.
55

66
## Source Of Truth
7-
This `BUILD_PR.md` is the source of truth for `PR_26175_ALFA_002-toolbox-status-bar-context-polish`.
7+
This `BUILD_PR.md` is the source of truth for `PR_26175_ALFA_007-game-hub-project-readonly-proof`.
88

99
## Exact Scope
10-
- Do not include environment text in the status bar because environment already appears in the platform banner.
11-
- On the left side, display the selected Game Hub game name and selected Game Hub game purpose.
12-
- On the center side, display tool context messages for tool actions, save state, validation messages, warnings, or errors.
13-
- Preserve normal placement above the footer.
14-
- Preserve fullscreen/tool display mode bottom anchoring.
15-
- Preserve Idea Board selected-game filtering exclusion.
16-
- Preserve Game Hub as selected-game owner through the existing repository contract.
17-
- Keep the shared Theme V2 toolbox component model.
18-
- Update targeted Playwright coverage for the polished left and center context.
10+
- Add targeted Playwright proof that existing Game Hub project identity is read-only in edit mode.
11+
- Prove legacy Project Workspace project-information and project-record table controls are absent from Game Hub.
12+
- Prove source-idea child rows are read-only context, not editable project controls.
13+
- Prove add/create remains the only place where a new game name can be entered.
14+
- Preserve existing valid create/open/edit/delete behavior.
15+
- Do not change product UI or repository/API/service behavior unless targeted validation proves it is required.
1916

2017
## Exact Targets
2118
- `docs_build/dev/BUILD_PR.md`
22-
- `assets/theme-v2/js/toolbox-status-bar.js`
23-
- `assets/theme-v2/css/status.css`
24-
- `tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs`
25-
- `docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_report.md`
26-
- `docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_validation-lane.md`
27-
- `docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_requirements-checklist.md`
19+
- `tests/playwright/tools/GameHubMockRepository.spec.mjs`
20+
- `docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_report.md`
21+
- `docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_validation-lane.md`
22+
- `docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_requirements-checklist.md`
2823
- `docs_build/dev/reports/codex_review.diff`
2924
- `docs_build/dev/reports/codex_changed_files.txt`
3025

3126
## Out Of Scope
32-
- No environment status in the toolbox status bar.
33-
- No row highlights.
34-
- No large banners.
35-
- No modal-style status messages.
27+
- No product/UI implementation changes unless targeted validation fails because of a real read-only gap.
28+
- No repository/API/service contract changes.
29+
- No Game Journey completion-metrics changes.
30+
- No shared toolbox status bar changes.
31+
- No browser-owned product data as source of truth.
32+
- No silent fallbacks.
3633
- No inline styles, style blocks, or page-local CSS.
37-
- No API/service contract changes.
3834
- No engine core changes.
3935
- No `start_of_day` folder changes.
4036

4137
## Validation
42-
Run:
38+
Run targeted read-only proof validation:
4339

4440
```powershell
45-
npx playwright test tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs --workers=1
41+
npx playwright test tests/playwright/tools/GameHubMockRepository.spec.mjs --workers=1 --grep "Game Hub proves project identity is read-only outside create"
4642
```
4743

48-
Also verify the changed source does not introduce inline styles or style blocks:
44+
Also verify changed source does not introduce inline styles or style blocks:
4945

5046
```powershell
51-
rg -n "<style|style=" assets/theme-v2/js/toolbox-status-bar.js assets/theme-v2/css/status.css tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs
47+
rg -n "<[s]tyle|[s]tyle=" tests/playwright/tools/GameHubMockRepository.spec.mjs docs_build/dev/BUILD_PR.md docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_report.md docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_validation-lane.md docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_requirements-checklist.md
5248
```
5349

5450
## Artifact
5551
Create repo-structured delta ZIP:
5652

5753
```text
58-
tmp/PR_26175_ALFA_002-toolbox-status-bar-context-polish_delta.zip
54+
tmp/PR_26175_ALFA_007-game-hub-project-readonly-proof_delta.zip
5955
```
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# PR_26175_ALFA_007-game-hub-project-readonly-proof Report
2+
3+
## Overall Status
4+
PASS
5+
6+
ALFA_007 adds targeted proof coverage that Game Hub keeps existing project/game identity read-only outside the create row. No product UI, repository, API, or service code changes were required.
7+
8+
## Evidence Matrix
9+
10+
| Requirement | Status | Evidence |
11+
| --- | --- | --- |
12+
| Replace BUILD source of truth with ALFA_007 | PASS | `docs_build/dev/BUILD_PR.md:1` identifies `PR_26175_ALFA_007-game-hub-project-readonly-proof`. |
13+
| Existing Game Hub project identity is read-only in edit mode | PASS | The proof test opens an existing row for edit and asserts the `Game` input value remains `Readonly Lantern Reef` with `readonly`: `tests/playwright/tools/GameHubMockRepository.spec.mjs:541`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:543`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:544`. |
14+
| Metadata edit controls remain available | PASS | The proof verifies `Purpose` and `Status` are not readonly: `tests/playwright/tools/GameHubMockRepository.spec.mjs:545`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:546`. |
15+
| Legacy Project Workspace project panels are absent | PASS | The proof asserts Game Hub does not render legacy project-information or project-record tables: `tests/playwright/tools/GameHubMockRepository.spec.mjs:521`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:522`. |
16+
| Source idea child rows are read-only context | PASS | The source-idea table has no buttons, inputs, textareas, selects, contenteditable elements, or role buttons: `tests/playwright/tools/GameHubMockRepository.spec.mjs:531`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:532`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:533`. |
17+
| Source-linked project destructive action remains unavailable | PASS | The proof expects `Delete Open Game` to be hidden for the source-linked active game: `tests/playwright/tools/GameHubMockRepository.spec.mjs:525`. |
18+
| Add/create remains the place where new game names can be entered | PASS | The proof opens the add row and verifies the create-row `Game` input is editable and not readonly: `tests/playwright/tools/GameHubMockRepository.spec.mjs:549`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:551`, `tests/playwright/tools/GameHubMockRepository.spec.mjs:552`. |
19+
| Preserve product behavior and contracts | PASS | ALFA_007 changes only `tests/playwright/tools/GameHubMockRepository.spec.mjs` plus build/report artifacts. |
20+
21+
## Validation Summary
22+
- PASS: `npx playwright test tests/playwright/tools/GameHubMockRepository.spec.mjs --workers=1 --grep "Game Hub proves project identity is read-only outside create"` produced 1 passed, 0 failed.
23+
- PASS: changed-source style scan found no inline style or style-block matches.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# PR_26175_ALFA_007-game-hub-project-readonly-proof Requirements Checklist
2+
3+
- PASS: BUILD_PR.md was replaced with ALFA_007 as the source of truth.
4+
- PASS: Existing Game Hub project identity is proved read-only in edit mode.
5+
- PASS: Purpose and status metadata controls remain editable.
6+
- PASS: Legacy Project Workspace project-information controls are absent from Game Hub.
7+
- PASS: Legacy project-record table controls are absent from Game Hub.
8+
- PASS: Source idea child rows are proved read-only.
9+
- PASS: Source-linked destructive delete control is unavailable.
10+
- PASS: Add/create remains the only tested path with an editable new game name input.
11+
- PASS: Product UI code was not changed.
12+
- PASS: Repository/API/service contracts were not changed.
13+
- PASS: No browser-owned product data was introduced as source of truth.
14+
- PASS: No inline styles, style blocks, or page-local CSS were added.
15+
- PASS: Targeted Playwright validation passed.
16+
- PASS: Required reports were created.
17+
- PASS: Repo-structured delta ZIP was created.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# PR_26175_ALFA_007-game-hub-project-readonly-proof Validation Lane
2+
3+
## Commands
4+
```powershell
5+
npx playwright test tests/playwright/tools/GameHubMockRepository.spec.mjs --workers=1 --grep "Game Hub proves project identity is read-only outside create"
6+
```
7+
8+
Result: PASS, 1 passed and 0 failed.
9+
10+
```powershell
11+
rg -n "<[s]tyle|[s]tyle=" tests/playwright/tools/GameHubMockRepository.spec.mjs docs_build/dev/BUILD_PR.md docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_report.md docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_validation-lane.md docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_requirements-checklist.md
12+
```
13+
14+
Result: PASS, no matches.
15+
16+
## Notes
17+
- The validation lane is intentionally scoped to the ALFA_007 proof test.
18+
- No product code changes were required for the proof.
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
assets/theme-v2/css/status.css
2-
assets/theme-v2/js/toolbox-status-bar.js
31
docs_build/dev/BUILD_PR.md
4-
docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_report.md
5-
docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_validation-lane.md
6-
docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_requirements-checklist.md
2+
tests/playwright/tools/GameHubMockRepository.spec.mjs
3+
docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_report.md
4+
docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_validation-lane.md
5+
docs_build/dev/reports/PR_26175_ALFA_007-game-hub-project-readonly-proof_requirements-checklist.md
76
docs_build/dev/reports/codex_changed_files.txt
87
docs_build/dev/reports/codex_review.diff
9-
tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs

0 commit comments

Comments
 (0)