Skip to content

Commit 989e92c

Browse files
author
DavidQ
committed
Clarify Workspace V2 toolState lifecycle with named drafts, promotion move semantics, and copy-back from published tools - PR_26124_018-workspace-toolstate-lifecycle-ux
1 parent e46755d commit 989e92c

9 files changed

Lines changed: 756 additions & 253 deletions

docs/dev/codex_commands.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,3 +341,10 @@ PR_26124_018-clarify-tools-vs-toolstate-ux
341341
```bash
342342
npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_018-clarify-tools-vs-toolstate-ux."
343343
```
344+
345+
---
346+
PR_26124_018-workspace-toolstate-lifecycle-ux
347+
348+
```bash
349+
npx @openai/codex run --model gpt-5.3-codex --reasoning medium "Implement PR_26124_018-workspace-toolstate-lifecycle-ux."
350+
```

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Clarify Workspace V2 tools output vs active/saved toolState UX with explicit direct publish action and published tools list - PR_26124_018-clarify-tools-vs-toolstate-ux
1+
Clarify Workspace V2 toolState lifecycle ownership across Producer, Tool State Library, and Published Tools with explicit named create/load/promotion flows - PR_26124_018-workspace-toolstate-lifecycle-ux
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# PR_26124_018-workspace-toolstate-lifecycle-ux
2+
3+
## Scope
4+
- `tools/workspace-v2/index.html`
5+
- `tools/workspace-v2/index.js`
6+
- `tests/playwright/workspace-v2.validation.spec.js`
7+
- `tests/ui/workspace-v2.asset-manager.spec.js`
8+
9+
## Implementation Summary
10+
- Moved Tool State Library UI into the Producer panel so Producer owns:
11+
- tool selector
12+
- toolState ID input
13+
- load/create/open/direct/promote actions
14+
- saved Tool State Library list
15+
- Enforced named toolState lifecycle for Producer actions:
16+
- `Load Tool State` now requires a valid toolState ID, loads fixture payload, saves/overwrites `savedToolStates[toolStateId]`, sets it active, and opens the selected tool.
17+
- `Create & Open Tool State` now requires a valid toolState ID, saves a new `savedToolStates[toolStateId]` from active payload, sets it active, and opens the selected tool.
18+
- Added seeded generated toolState ID when the input is empty to support "provide or accept generated" workflow.
19+
- Active promotion lifecycle:
20+
- `Promote Active Tool State to Tools` publishes to `tools.<toolId>`,
21+
- removes matching saved draft if present,
22+
- clears active workspace toolState after publish.
23+
- Saved card promotion lifecycle:
24+
- each card `Promote to Tools` publishes to `tools.<toolId>` and removes the saved draft entry.
25+
- Published Tools visibility:
26+
- kept visible `Published Tools` output,
27+
- excludes `workspace-v2`,
28+
- includes `palette-browser` and published non-palette tools,
29+
- added `Copy to Tool State` on each published non-palette tool to create a new saved draft without removing the published tool.
30+
- Preserved constraints:
31+
- no `palette-manager-v2` toolState producer option,
32+
- no palette-manager promotion path,
33+
- no session wording reintroduced,
34+
- no sample JSON changes.
35+
36+
## Validation
37+
- `node --check tools/workspace-v2/index.js` -> pass
38+
- `node --check tests/playwright/workspace-v2.validation.spec.js` -> pass
39+
- `node --check tests/ui/workspace-v2.asset-manager.spec.js` -> pass
40+
- `npm run test:workspace-v2` -> pass (`20 passed`, `0 failed`)
41+
42+
## Full Samples Smoke
43+
- Skipped intentionally. This PR is Workspace V2 + targeted Playwright coverage only and does not modify shared sample framework paths.
Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
git status --short
22
M docs/dev/codex_commands.md
33
M docs/dev/commit_comment.txt
4-
M docs/dev/reports/codex_changed_files.txt
54
M docs/dev/reports/codex_review.diff
65
M tests/playwright/workspace-v2.validation.spec.js
76
M tests/ui/workspace-v2.asset-manager.spec.js
87
M tools/workspace-v2/index.html
98
M tools/workspace-v2/index.js
10-
?? docs/dev/reports/PR_26124_018_clarify_tools_vs_toolstate_ux_report.md
9+
?? docs/dev/reports/PR_26124_018_workspace_toolstate_lifecycle_ux_report.md
1110

1211
git diff --stat
1312
docs/dev/codex_commands.md | 7 +
1413
docs/dev/commit_comment.txt | 2 +-
15-
docs/dev/reports/codex_changed_files.txt | Bin 535 -> 1990 bytes
16-
docs/dev/reports/codex_review.diff | 300 +++++++++++++++++++++--
17-
tests/playwright/workspace-v2.validation.spec.js | 11 +-
18-
tests/ui/workspace-v2.asset-manager.spec.js | 2 +-
19-
tools/workspace-v2/index.html | 7 +-
20-
tools/workspace-v2/index.js | 71 +++++-
21-
8 files changed, 364 insertions(+), 36 deletions(-)
14+
docs/dev/reports/codex_review.diff | 654 ++++++++++++++++-------
15+
tests/playwright/workspace-v2.validation.spec.js | 30 +-
16+
tests/ui/workspace-v2.asset-manager.spec.js | 6 +-
17+
tools/workspace-v2/index.html | 35 +-
18+
tools/workspace-v2/index.js | 216 +++++++-
19+
7 files changed, 706 insertions(+), 244 deletions(-)

0 commit comments

Comments
 (0)