Skip to content
Closed
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
52 changes: 24 additions & 28 deletions docs_build/dev/BUILD_PR.md
Original file line number Diff line number Diff line change
@@ -1,59 +1,55 @@
# PR_26175_ALFA_002-toolbox-status-bar-context-polish
# PR_26175_ALFA_007-game-hub-project-readonly-proof

## Purpose
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.
Prove that Game Hub keeps existing project/game identity read-only while allowing normal create and metadata-edit workflows.

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

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

## Exact Targets
- `docs_build/dev/BUILD_PR.md`
- `assets/theme-v2/js/toolbox-status-bar.js`
- `assets/theme-v2/css/status.css`
- `tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs`
- `docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_report.md`
- `docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_validation-lane.md`
- `docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_requirements-checklist.md`
- `tests/playwright/tools/GameHubMockRepository.spec.mjs`
- `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`
- `docs_build/dev/reports/codex_review.diff`
- `docs_build/dev/reports/codex_changed_files.txt`

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

## Validation
Run:
Run targeted read-only proof validation:

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

Also verify the changed source does not introduce inline styles or style blocks:
Also verify changed source does not introduce inline styles or style blocks:

```powershell
rg -n "<style|style=" assets/theme-v2/js/toolbox-status-bar.js assets/theme-v2/css/status.css tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs
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
```

## Artifact
Create repo-structured delta ZIP:

```text
tmp/PR_26175_ALFA_002-toolbox-status-bar-context-polish_delta.zip
tmp/PR_26175_ALFA_007-game-hub-project-readonly-proof_delta.zip
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# PR_26175_ALFA_007-game-hub-project-readonly-proof Report

## Overall Status
PASS

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.

## Evidence Matrix

| Requirement | Status | Evidence |
| --- | --- | --- |
| 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`. |
| 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`. |
| 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`. |
| 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`. |
| 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`. |
| 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`. |
| 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`. |
| Preserve product behavior and contracts | PASS | ALFA_007 changes only `tests/playwright/tools/GameHubMockRepository.spec.mjs` plus build/report artifacts. |

## Validation Summary
- 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.
- PASS: changed-source style scan found no inline style or style-block matches.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# PR_26175_ALFA_007-game-hub-project-readonly-proof Requirements Checklist

- PASS: BUILD_PR.md was replaced with ALFA_007 as the source of truth.
- PASS: Existing Game Hub project identity is proved read-only in edit mode.
- PASS: Purpose and status metadata controls remain editable.
- PASS: Legacy Project Workspace project-information controls are absent from Game Hub.
- PASS: Legacy project-record table controls are absent from Game Hub.
- PASS: Source idea child rows are proved read-only.
- PASS: Source-linked destructive delete control is unavailable.
- PASS: Add/create remains the only tested path with an editable new game name input.
- PASS: Product UI code was not changed.
- PASS: Repository/API/service contracts were not changed.
- PASS: No browser-owned product data was introduced as source of truth.
- PASS: No inline styles, style blocks, or page-local CSS were added.
- PASS: Targeted Playwright validation passed.
- PASS: Required reports were created.
- PASS: Repo-structured delta ZIP was created.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# PR_26175_ALFA_007-game-hub-project-readonly-proof Validation Lane

## Commands
```powershell
npx playwright test tests/playwright/tools/GameHubMockRepository.spec.mjs --workers=1 --grep "Game Hub proves project identity is read-only outside create"
```

Result: PASS, 1 passed and 0 failed.

```powershell
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
```

Result: PASS, no matches.

## Notes
- The validation lane is intentionally scoped to the ALFA_007 proof test.
- No product code changes were required for the proof.
10 changes: 4 additions & 6 deletions docs_build/dev/reports/codex_changed_files.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
assets/theme-v2/css/status.css
assets/theme-v2/js/toolbox-status-bar.js
docs_build/dev/BUILD_PR.md
docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_report.md
docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_validation-lane.md
docs_build/dev/reports/PR_26175_ALFA_002-toolbox-status-bar-context-polish_requirements-checklist.md
tests/playwright/tools/GameHubMockRepository.spec.mjs
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
docs_build/dev/reports/codex_changed_files.txt
docs_build/dev/reports/codex_review.diff
tests/playwright/tools/ToolboxSelectedGameStatusBar.spec.mjs
Loading
Loading