Skip to content

Commit 21dea16

Browse files
author
DavidQ
committed
Rollback Workspace Manager header attempts and add tool pager
PR Details: - Restores Workspace Manager layout from the pre-header/banner anchor. - Removes failed top Workspace Manager header/banner/control experiments. - Adds centered [PREV] <toolname> [NEXT] above the existing tools/editors section. - Selects and mounts the first available tool on load. - Keeps explicit gameId behavior without restoring legacy query fallback.
1 parent 5bafa6a commit 21dea16

8 files changed

Lines changed: 379 additions & 369 deletions

docs/dev/codex_rules.md

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,48 @@ These rules OVERRIDE all other instructions.
44

55
## This PR
66

7-
Force the Workspace Manager tool pager UI above Editors.
7+
Rollback failed Workspace Manager header/banner attempts, then add only the requested pager.
88

99
Allowed:
10-
- targeted Workspace Manager UI/render behavior changes
11-
- remove newly created top header/banner/control area
10+
- targeted rollback of Workspace Manager files affected by 20_14 through 20_19
11+
- add centered [PREV] <toolname> [NEXT] above tools/editors
1212
- validation report
1313

1414
Forbidden:
1515
- broad cleanup
1616
- unrelated refactoring
1717
- changes to samples behavior
1818
- changes to required labels
19-
- new header/banner replacement
19+
- new header
20+
- new banner
21+
- keeping failed top Workspace Manager control/header area
2022
- second SSoT
2123
- start_of_day changes
2224
- roadmap text rewrite outside status markers
2325

24-
## User-Approved Exception
26+
## Rollback Anchor
27+
28+
Find the commit with comment:
29+
30+
Remove Workspace Manager default and query fallbacks
31+
32+
Use it as the Workspace Manager restore anchor before applying pager.
33+
34+
## Required UI
35+
36+
Restore normal Workspace Manager content first.
37+
38+
Then add only:
39+
40+
[PREV] <toolname> [NEXT]
41+
42+
above the existing tools/editors section.
2543

26-
For this PR only:
27-
- the first available tool in the game tool list MUST be selected on page load
28-
- the selected first tool MUST be displayed between PREV and NEXT
29-
- the selected first tool MAY be activated/mounted on page load
44+
## User-Approved Behavior
3045

31-
This approved behavior is not considered an anti-pattern in this PR.
46+
For this PR:
47+
- first available tool is selected on page load
48+
- selected tool is active/mounted on page load
3249

3350
## Still Forbidden
3451

@@ -37,21 +54,7 @@ Do not restore:
3754
- legacy `game` query fallback
3855
- hidden fallback routing
3956
- stale memory reuse
40-
- label-text route guessing
41-
- DOM-order route guessing
42-
43-
## Required UI
44-
45-
Create centered control directly above Editors:
46-
47-
[PREV] <toolname> [NEXT]
48-
49-
Do not use:
50-
- detached top banner
51-
- new header
52-
- dropdown workflow
53-
- Select Tool button
54-
- Mount button for initial flow
57+
- broken header/banner/control area
5558

5659
## Anti-Patterns Forbidden
5760

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# BUILD_PR_LEVEL_20_20_ROLLBACK_WORKSPACE_HEADER_AND_ADD_TOOL_PAGER Validation
2+
3+
## Rollback Anchor
4+
- Commit hash: `c64249d281bcd69e60bf58590061627a2b500cd8`
5+
- Commit comment: `Remove Workspace Manager default and query fallbacks`
6+
7+
## Changed Files
8+
- `tools/Workspace Manager/index.html`
9+
- `tools/Workspace Manager/main.js`
10+
- `tools/Workspace Manager/toolHost.css`
11+
- `docs/dev/reports/workspace_manager_rollback_header_and_tool_pager_validation.md`
12+
13+
## Proof: Failed Header/Banner/Control Area Removed
14+
- `index.html` no longer contains `tool-host-surface` or `tool-host-editor-overlay` blocks.
15+
- `index.html` no longer contains inline boot-fallback script text (`Workspace Manager boot import failed`).
16+
- Command checks:
17+
- `PASS: index.html missing tool-host-surface`
18+
- `PASS: index.html missing editor overlay`
19+
- `PASS: index.html missing inline boot catch banner script`
20+
21+
## Proof: Normal Workspace Manager Content Loads Below Site Chrome
22+
- Workspace mount surface remains present and is the primary page body container:
23+
- `tools/Workspace Manager/index.html:17` `<div data-tool-host-mount-container class="tool-host-workspace__mount"></div>`
24+
- Layout keeps mount surface filling remaining page area:
25+
- `tools/Workspace Manager/toolHost.css:14` `.tool-host-workspace {`
26+
- `tools/Workspace Manager/toolHost.css:15` `display: flex;`
27+
- `tools/Workspace Manager/toolHost.css:16` `flex-direction: column;`
28+
- `tools/Workspace Manager/toolHost.css:26` `.tool-host-workspace__mount {`
29+
- `tools/Workspace Manager/toolHost.css:27` `flex: 1 1 auto;`
30+
31+
## Proof: Only [PREV] <toolname> [NEXT] Was Added
32+
- Pager markup only:
33+
- `tools/Workspace Manager/index.html:11` `<section class="tool-host-pager" ...>`
34+
- `tools/Workspace Manager/index.html:12` `[PREV]`
35+
- `tools/Workspace Manager/index.html:13` current tool label span
36+
- `tools/Workspace Manager/index.html:14` `[NEXT]`
37+
- No new header/banner block exists in `index.html`.
38+
39+
## Proof: Pager Appears Above Existing Tools/Editors Section
40+
- Pager block is defined before mount/editors container in DOM:
41+
- `tools/Workspace Manager/index.html:11` pager section
42+
- `tools/Workspace Manager/index.html:17` mount container
43+
- Pager is centered:
44+
- `tools/Workspace Manager/toolHost.css:31` `.tool-host-pager {`
45+
- `tools/Workspace Manager/toolHost.css:35` `justify-content: center;`
46+
47+
## Proof: First Available Tool Selected/Mounted On Load
48+
- Initial tool selection for explicit game launch context uses first available tool:
49+
- `tools/Workspace Manager/main.js:657` `const initialToolId = requestedToolId || (initialGameEntry && gameLaunchRequested ? (toolIds[0] || "") : "");`
50+
- Selected tool is mounted during init:
51+
- `tools/Workspace Manager/main.js:677` `mountSelectedTool("init");`
52+
53+
## Proof: Prev/Next Changes Selected/Mounted Tool
54+
- Prev handler changes selection and mounts:
55+
- `tools/Workspace Manager/main.js:540` prev click binding
56+
- `tools/Workspace Manager/main.js:544` `mountSelectedTool("prev");`
57+
- Next handler changes selection and mounts:
58+
- `tools/Workspace Manager/main.js:549` next click binding
59+
- `tools/Workspace Manager/main.js:553` `mountSelectedTool("next");`
60+
61+
## Proof: gameId || game Fallback Not Restored
62+
- `readInitialGameId` uses only `gameId`:
63+
- `tools/Workspace Manager/main.js:279` `const gameId = (url.searchParams.get("gameId") || "").trim();`
64+
- Command checks:
65+
- `PASS: main.js missing gameId || game`
66+
- `PASS: main.js missing searchParams.get("game")`
67+
68+
## Proof: Samples Remain Untouched
69+
- Command check:
70+
- `PASS: samples untouched in git diff`
71+
- Based on `git diff --name-only -- samples games` returning no changed files.
72+
73+
## External Memory / Stale Memory Guard
74+
- Existing context cleanup remains intact:
75+
- `tools/Workspace Manager/main.js:4` imports `removeToolHostSharedContextById`
76+
- `tools/Workspace Manager/main.js:347` `unmountGameFrame()` cleanup routine
77+
- `tools/Workspace Manager/main.js:622` cleanup bound on `beforeunload`
78+
79+
## Anti-Pattern Self-Check
80+
- No `gameId || game` fallback restored: PASS
81+
- No legacy `searchParams.get("game")` fallback: PASS
82+
- No new header/banner/control area: PASS
83+
- No dropdown + Select Tool + Mount required for initial flow: PASS (pager-only controls are present)
84+
- No samples behavior changes: PASS
85+
- No broad Workspace Manager refactor: PASS (targeted files only)
Lines changed: 37 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Codex Commands — BUILD_PR_LEVEL_20_19_FORCE_WORKSPACE_TOOL_PAGER_ABOVE_EDITORS
1+
# Codex Commands — BUILD_PR_LEVEL_20_20_ROLLBACK_WORKSPACE_HEADER_AND_ADD_TOOL_PAGER
22

33
## Model
44
GPT-5.4 or GPT-5.3-codex
@@ -10,70 +10,60 @@ High
1010

1111
```text
1212
Read docs/dev/codex_rules.md first.
13-
Read docs/dev/reports/workspace_manager_auto_mount_tool_selection_validation.md if present.
14-
Read docs/dev/specs/TOOL_LAUNCH_SSOT.md if present.
1513
16-
Execute BUILD_PR_LEVEL_20_19_FORCE_WORKSPACE_TOOL_PAGER_ABOVE_EDITORS.
14+
Execute BUILD_PR_LEVEL_20_20_ROLLBACK_WORKSPACE_HEADER_AND_ADD_TOOL_PAGER.
1715
18-
User UAT correction:
19-
- Do not use a new HEADER at all.
20-
- Delete/remove what was created as the top Workspace Manager header/banner/control area.
21-
- Force this UI centered above Editors:
22-
[PREV] <toolname> [NEXT]
23-
- On page load, default <toolname> to the first tool in the available list.
24-
- No more attempts to keep the header.
25-
- No dropdown + Select Tool + Mount initial workflow.
16+
User UAT failure:
17+
- Current Workspace Manager page still has the unwanted header/banner/control area.
18+
- Only the site image is showing below it.
19+
- User wants this rolled back to the way Workspace Manager loaded before the failed header attempts.
20+
- Then add only [PREV] <toolname> [NEXT] above the tools/editors section.
2621
27-
Goal:
28-
Replace the current top header/banner/dropdown workflow with a centered tool pager directly above Editors.
22+
Rollback anchor:
23+
Find the commit with commit comment:
24+
Remove Workspace Manager default and query fallbacks
2925
30-
Required behavior:
31-
- URL tools/Workspace Manager/index.html?gameId=Bouncing-ball&mount=game renders existing Workspace Manager page shell.
32-
- Remove newly created top banner/header/control content.
33-
- Directly above Editors, centered, render:
34-
[PREV] <selected tool name> [NEXT]
35-
- On page load, select the first available tool for the explicit gameId context.
36-
- Activate/mount selected tool on page load.
37-
- Prev/Next changes the selected tool and active/mounted tool.
38-
- Do not require dropdown.
39-
- Do not require Select Tool button.
40-
- Do not require Mount button.
41-
- Keep game context loaded from explicit gameId.
42-
- Keep samples untouched.
26+
This is the state after BUILD_PR_LEVEL_20_13_REMOVE_WORKSPACE_MANAGER_DEFAULT_AND_QUERY_FALLBACKS and before the failed 20_14 through 20_19 header/banner attempts.
4327
44-
User-approved exception:
45-
- First available tool selected on page load is REQUIRED for this PR.
46-
- This is not considered fallback/default anti-pattern for this PR.
28+
Required steps:
29+
1. Inspect git history for Workspace Manager files.
30+
2. Restore only Workspace Manager files affected by 20_14 through 20_19 to the rollback anchor state.
31+
Likely files:
32+
- tools/Workspace Manager/main.js
33+
- tools/Workspace Manager/index.html
34+
- any Workspace Manager CSS touched by those PRs
35+
3. Do not rollback unrelated files.
36+
4. After restore, add exactly one centered pager directly above the existing tools/editors section:
37+
[PREV] <toolname> [NEXT]
38+
5. On page load, select the first available tool for the explicit gameId context.
39+
6. Mount/activate that selected tool.
40+
7. Prev/Next changes selected and mounted tool.
41+
8. Do not use dropdown + Select Tool + Mount workflow.
42+
9. Do not create or keep any new header/banner.
4743
4844
Still forbidden:
49-
- restoring gameId || game
45+
- restore gameId || game
5046
- legacy game query fallback
5147
- hidden fallback routing
5248
- stale memory reuse
53-
- new header/banner
49+
- changing samples
5450
- broad Workspace Manager refactor
55-
- second SSoT
5651
- start_of_day changes
5752
58-
Likely files:
59-
- tools/Workspace Manager/main.js
60-
- tools/Workspace Manager/index.html
61-
- Workspace Manager CSS only if needed
62-
6353
Validation:
64-
Create docs/dev/reports/workspace_manager_tool_pager_above_editors_validation.md with:
54+
Create docs/dev/reports/workspace_manager_rollback_header_and_tool_pager_validation.md with:
55+
- rollback anchor commit hash and comment
6556
- changed files
66-
- proof newly created header/banner/control area removed
67-
- proof centered [PREV] <toolname> [NEXT] appears above Editors
68-
- proof first available tool selected on page load
69-
- proof selected tool active/mounted on page load
57+
- proof failed header/banner/control area removed
58+
- proof normal Workspace Manager content loads below site chrome
59+
- proof only [PREV] <toolname> [NEXT] was added
60+
- proof pager appears above existing tools/editors section
61+
- proof first available tool selected/mounted on load
7062
- proof Prev/Next changes selected/mounted tool
71-
- proof dropdown + Select Tool + Mount initial workflow removed
7263
- proof gameId || game fallback not restored
73-
- proof game context still loads from explicit gameId
74-
- proof sample Open <tool> remains untouched
64+
- proof samples remain untouched
7565
- anti-pattern self-check
7666
7767
Return ZIP at:
78-
tmp/BUILD_PR_LEVEL_20_19_FORCE_WORKSPACE_TOOL_PAGER_ABOVE_EDITORS.zip
68+
tmp/BUILD_PR_LEVEL_20_20_ROLLBACK_WORKSPACE_HEADER_AND_ADD_TOOL_PAGER.zip
7969
```
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
Force Workspace Manager tool pager above Editors
1+
Rollback Workspace Manager header attempts and add tool pager
22

33
PR Details:
4-
- Removes the newly created Workspace Manager top header/banner workflow.
5-
- Adds centered [PREV] <toolname> [NEXT] control above Editors.
6-
- Selects and mounts the first available tool on page load per user direction.
7-
- Prev/Next switches selected and mounted tool.
8-
- Removes dropdown + Select Tool + Mount initial workflow.
9-
- Keeps explicit gameId and does not restore legacy query fallback.
4+
- Restores Workspace Manager layout from the pre-header/banner anchor.
5+
- Removes failed top Workspace Manager header/banner/control experiments.
6+
- Adds centered [PREV] <toolname> [NEXT] above the existing tools/editors section.
7+
- Selects and mounts the first available tool on load.
8+
- Keeps explicit gameId behavior without restoring legacy query fallback.

0 commit comments

Comments
 (0)