Skip to content

Commit 9d87f29

Browse files
author
DavidQ
committed
Resolve second targeted sample JSON ownership cleanup batch - PR 11.44
1 parent 399bf89 commit 9d87f29

9 files changed

Lines changed: 260 additions & 51 deletions

docs/dev/codex_commands.md

Lines changed: 50 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,66 +2,72 @@ MODEL: GPT-5.3-codex
22
REASONING: high
33

44
TASK:
5-
Apply PR 11.43.
5+
Apply PR 11.44.
66

7-
Use PR 11.41 audit output as the source of truth:
8-
docs/dev/reports/PR_11_41_sample_json_ownership_audit.md
7+
Proceed automatically. Do not ask for confirmation.
98

10-
Goal:
11-
Perform the first targeted cleanup batch for deferred sample JSON ownership findings.
12-
13-
Important:
14-
Do NOT run the full samples smoke test by default.
15-
It takes about 20 minutes.
9+
Use the current repo state and reports from:
10+
- docs/dev/reports/PR_11_41_sample_json_ownership_audit.md
11+
- docs/dev/reports/PR_11_43_cleanup_batch_1.md
12+
- docs/dev/reports/PR_11_43_validation.txt
1613

17-
Testing policy:
18-
- Prefer targeted sample-specific tests only.
19-
- Run syntax checks for changed JS files.
20-
- Run targeted smoke only for samples changed by this PR.
21-
- Run full samples smoke only if this PR changes shared sample launch infrastructure or a broad shared loader.
14+
Goal:
15+
Resolve the next smallest safe batch of deferred sample JSON ownership findings.
2216

23-
Cleanup policy:
24-
For deferred PR 11.41 items:
25-
- KEEP + WIRE if JSON belongs to current executable sample and can be visibly used.
26-
- MOVE / REHOME if JSON clearly belongs to a different sample/tool.
27-
- DELETE only if stale/obsolete and coverage remains elsewhere.
28-
- CREATE / UPDATE CORRECT SAMPLE if coverage would otherwise be lost.
29-
- DEFER if ownership is uncertain.
17+
Batch rules:
18+
- Select 2–4 deferred items only.
19+
- Select items with obvious ownership and low blast radius.
20+
- Prefer sample-local JSON/sample-local executable fixes.
21+
- Preserve sample-to-tool/use-case coverage.
22+
- Do not touch sample 1902 except to confirm exemption.
23+
- If an item becomes ambiguous during inspection, defer it and choose another safe item.
3024

31-
Sample 1902:
32-
- remains exempt
33-
- do not apply single-tool ownership cleanup to 1902
25+
Allowed actions:
26+
- KEEP + WIRE: JSON belongs to this sample and can be visibly used there.
27+
- MOVE / REHOME: JSON clearly belongs to another sample/tool.
28+
- DELETE: JSON is stale/obsolete and coverage remains elsewhere.
29+
- CREATE / UPDATE CORRECT SAMPLE: needed to preserve coverage.
30+
- DEFER: ownership uncertain.
3431

35-
Batch selection:
36-
- Choose the smallest safe batch from the deferred 11.41 list.
37-
- Prefer items with clear ownership and low blast radius.
38-
- Do not attempt to fix all deferred items at once.
32+
Hard rules:
33+
- Do not blindly force JSON into a mismatched sample.
34+
- Do not create hidden fallback/default data.
35+
- Do not create decorative JSON.
36+
- Do not run full samples smoke by default.
37+
- Do not undo SVG Asset Studio rename.
38+
- Do not rename tools.
39+
- Do not modify start_of_day folders.
40+
- Do not change shared sample launch infrastructure unless unavoidable.
3941

40-
Do NOT:
41-
- run full samples test unless justified
42-
- add hidden fallback/default data
43-
- create decorative JSON
44-
- change unrelated tool logic
45-
- undo SVG Asset Studio rename
46-
- touch start_of_day folders
42+
Testing policy:
43+
Full samples smoke takes about 20 minutes.
44+
Do NOT run it unless this PR changes shared sample loader/framework or impacts many samples broadly.
4745

48-
Validation:
49-
Run:
46+
Run targeted validation only:
5047
- node --check for changed JS files
5148
- targeted sample/tool smoke for changed samples only
5249

53-
If a full test is required, explain why in the report before running it.
50+
If full suite is required, document the reason before running it.
5451

5552
Reports:
5653
Write:
57-
docs/dev/reports/PR_11_43_cleanup_batch_1.md
58-
docs/dev/reports/PR_11_43_validation.txt
54+
docs/dev/reports/PR_11_44_cleanup_batch_2.md
55+
docs/dev/reports/PR_11_44_validation.txt
5956

60-
Report must include:
61-
- source PR 11.41 findings used
62-
- resolved JSON items
57+
The cleanup report must include:
58+
- source 11.41 deferred findings used
59+
- items selected
6360
- action taken for each
61+
- files changed
6462
- coverage preserved statement
63+
- sample 1902 exemption confirmed
6564
- deferred items remaining
65+
66+
The validation report must include:
6667
- exact targeted tests run
67-
- whether full suite was skipped and why
68+
- full samples smoke skipped/run
69+
- reason for skip/run
70+
- results
71+
72+
Commit comment:
73+
Use docs/dev/commit_comment.txt

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Clean up first deferred sample JSON ownership batch with targeted tests - PR 11.43
1+
Resolve second targeted sample JSON ownership cleanup batch - PR 11.44
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# PR 11.44 Cleanup Batch 2
2+
3+
## Source 11.41 Deferred Findings Used
4+
- `docs/dev/reports/PR_11_41_sample_json_ownership_audit.md`
5+
- Prior batch context: `docs/dev/reports/PR_11_43_cleanup_batch_1.md`, `docs/dev/reports/PR_11_43_validation.txt`
6+
7+
## Items Selected (2-4, low blast radius)
8+
Selected 3 deferred items with clear sample-local ownership and active executable sample mappings already present:
9+
1. `samples/phase-09/0901/sample.0901.palette.json`
10+
2. `samples/phase-12/1204/sample.1204.palette.json`
11+
3. `samples/phase-12/1208/sample.1208.palette.json`
12+
13+
## Action Taken For Each
14+
Decision policy applied: **KEEP + WIRE**
15+
16+
| JSON Path | Previous Deferred Status | Action | Why Safe |
17+
|---|---|---|---|
18+
| `samples/phase-09/0901/sample.0901.palette.json` | deferred (`CREATE / UPDATE CORRECT SAMPLE`) | Added explicit `palette-browser` roundtrip preset + added `palette-browser` tool hint in sample metadata | Sample already has active roundtrip presets (`svg-asset-studio`, `vector-map-editor`); palette JSON is sample-local and now explicitly wired |
19+
| `samples/phase-12/1204/sample.1204.palette.json` | deferred (`CREATE / UPDATE CORRECT SAMPLE`) | Added explicit `palette-browser` roundtrip preset + added `palette-browser` tool hint in sample metadata | Sample already has active roundtrip presets (`parallax-editor`, `svg-asset-studio`, `vector-map-editor`); palette JSON now explicitly owned/wired |
20+
| `samples/phase-12/1208/sample.1208.palette.json` | deferred (`CREATE / UPDATE CORRECT SAMPLE`) | Added explicit `palette-browser` roundtrip preset + added `palette-browser` tool hint in sample metadata | Sample already has active roundtrip presets (`3d-asset-viewer`, `3d-json-payload-normalizer`, `parallax-editor`, `tile-map-editor`, `svg-asset-studio`); palette JSON now explicitly wired |
21+
22+
## Files Changed
23+
- `samples/metadata/samples.index.metadata.json`
24+
- `docs/dev/reports/PR_11_44_cleanup_batch_2.md`
25+
- `docs/dev/reports/PR_11_44_validation.txt`
26+
- `docs/dev/commit_comment.txt`
27+
28+
## Coverage Preserved Statement
29+
- Coverage is preserved.
30+
- No sample JSON files were moved or deleted in this batch.
31+
- This batch improves ownership clarity by explicitly wiring existing sample-local palette JSON into executable sample metadata.
32+
33+
## Sample 1902 Exemption Confirmed
34+
- Sample 1902 remains **EXEMPT WORKSPACE SAMPLE**.
35+
- No single-tool ownership cleanup was applied to sample 1902.
36+
- No sample 1902 files were modified.
37+
38+
## Deferred Items Remaining After Batch 2
39+
1. `samples/phase-02/0207/sample.0207.palette.json`
40+
2. `samples/phase-02/0214/sample.0214.palette.json`
41+
3. `samples/phase-02/0221/sample.0221.palette.json`
42+
4. `samples/phase-02/0224/sample-0224-tile-map-editor-document.json`
43+
5. `samples/phase-02/0224/sample.0224.palette.json`
44+
6. `samples/phase-03/0305/sample.0305.palette.json`
45+
7. `samples/phase-12/1205/sample.1205.palette.json`
46+
8. `samples/phase-12/1209/sample.1209.palette.json`
47+
9. `samples/phase-12/1210/sample-1210-tile-map-editor-document.json`
48+
10. `samples/phase-12/1210/sample.1210.palette.json`
49+
11. `samples/phase-12/1211/sample-1211-tile-map-editor-document.json`
50+
12. `samples/phase-12/1211/sample.1211.palette.json`
51+
52+
## Notes On Ambiguity
53+
- No ambiguous deferred item was force-fixed in this batch.
54+
- Tile-document deferred items remain deferred because they may require deeper sample wiring inspection.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# PR 11.44 Cleanup Batch 2
2+
3+
## Source Reports
4+
- docs/dev/reports/PR_11_41_sample_json_ownership_audit.md
5+
- docs/dev/reports/PR_11_43_cleanup_batch_1.md
6+
7+
## Selected Items
8+
9+
| JSON Path | Previous Status | Action Taken | Files Changed | Coverage Preserved? | Notes |
10+
|---|---|---|---|---|---|
11+
12+
## Sample 1902 Exemption
13+
Confirmed / Not applicable:
14+
15+
## Items Deferred
16+
-
17+
18+
## Coverage Preserved Statement
19+
-
20+
21+
## Next Cleanup Batch Recommendation
22+
-
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
PR 11.44 Validation
2+
3+
PASS/FAIL: PASS
4+
5+
Changed files
6+
- samples/metadata/samples.index.metadata.json
7+
- docs/dev/reports/PR_11_44_cleanup_batch_2.md
8+
- docs/dev/reports/PR_11_44_validation.txt
9+
- docs/dev/commit_comment.txt
10+
11+
Node syntax checks
12+
- Changed JavaScript files: none
13+
- node --check on changed JS files: N/A
14+
15+
Exact targeted tests run
16+
1) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=0901-0901
17+
Result: PASS (PASS=1 FAIL=0 TOTAL=1)
18+
2) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1204-1204
19+
Result: PASS (PASS=1 FAIL=0 TOTAL=1)
20+
3) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1208-1208
21+
Result: PASS (PASS=1 FAIL=0 TOTAL=1)
22+
23+
Full samples smoke
24+
- Skipped
25+
- Reason: PR 11.44 is a metadata-only targeted cleanup batch and does not modify shared sample launch infrastructure or broad shared loader/framework behavior.
26+
27+
Sample 1902 exemption
28+
- Confirmed unchanged and exempt.
29+
30+
Result summary
31+
- Batch 2 completed with targeted validation only.
32+
- No full-suite run performed by design.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# PR 11.44 Validation
2+
3+
## Changed Files
4+
-
5+
6+
## Targeted Tests Run
7+
-
8+
9+
## Full Samples Smoke
10+
Skipped / Run:
11+
12+
Reason:
13+
14+
## Result
15+
-
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Launch Smoke Report
22

3-
Generated: 2026-04-29T19:20:28.984Z
3+
Generated: 2026-04-29T19:27:23.330Z
44

5-
Filters: games=false, samples=true, tools=false, sampleRange=1414-1414
5+
Filters: games=false, samples=true, tools=false, sampleRange=1208-1208
66

77
| Status | Type | Label | Path | Notes | Steps |
88
| --- | --- | --- | --- | --- | --- |
9-
| PASS | sample | 1414 | samples\phase-14\1414\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
9+
| PASS | sample | 1208 | samples\phase-12\1208\index.html | | npm install --prefix ./tmp ws → npm run test:launch-smoke |
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# PR 11.44 — Targeted Sample JSON Cleanup Batch 2
2+
3+
## Purpose
4+
Continue the actual cleanup follow-up from PR 11.41 and PR 11.43 without asking for confirmation and without running the full 20-minute sample suite by default.
5+
6+
## Source
7+
Use the current repo state after:
8+
- PR 11.41 sample JSON ownership audit
9+
- PR 11.43 cleanup batch 1
10+
- PR 11.42 explicit-input cleanup if already applied
11+
12+
## Required Change
13+
Resolve the next smallest safe batch of deferred sample JSON ownership findings.
14+
15+
## Batch Selection Rules
16+
Choose 2–4 deferred items where ownership is obvious and blast radius is low.
17+
18+
Prioritize:
19+
- JSON files clearly owned by one executable sample
20+
- JSON files clearly stale/duplicated with preserved coverage
21+
- JSON files that can be wired visibly with minimal sample-local changes
22+
- JSON files where targeted validation is straightforward
23+
24+
Do not choose:
25+
- sample 1902 items
26+
- ambiguous ownership items
27+
- broad/shared loader changes
28+
- items requiring full sample-suite validation
29+
30+
## Sample 1902 Exception
31+
Sample 1902 remains exempt because it is a Workspace Manager aggregation sample.
32+
33+
Do not rehome/delete 1902 multi-tool payloads under single-tool ownership rules.
34+
35+
## Required Actions
36+
For each selected item, apply one clear action:
37+
- KEEP + WIRE
38+
- MOVE / REHOME
39+
- DELETE
40+
- CREATE / UPDATE CORRECT SAMPLE
41+
- DEFER with reason if investigation shows uncertainty
42+
43+
## Testing Policy
44+
Do NOT run the full samples smoke test by default.
45+
46+
Run only:
47+
- syntax checks for changed files
48+
- targeted smoke/tests for changed samples/tools
49+
50+
Run full samples smoke only if shared sample launch infrastructure is changed, and document why.
51+
52+
## Scope
53+
- Sample JSON ownership cleanup only.
54+
- No broad refactors.
55+
- No hidden/default fallback data.
56+
- No decorative JSON.
57+
- Do not undo SVG Asset Studio rename.
58+
- Do not touch start_of_day folders.
59+
60+
## Acceptance
61+
- 2–4 deferred JSON ownership items resolved or explicitly deferred after investigation.
62+
- Coverage remains preserved.
63+
- Sample 1902 remains exempt.
64+
- Targeted tests pass.
65+
- Full suite is skipped unless justified.

samples/metadata/samples.index.metadata.json

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5821,7 +5821,8 @@
58215821
],
58225822
"toolHints": [
58235823
"svg-asset-studio",
5824-
"vector-map-editor"
5824+
"vector-map-editor",
5825+
"palette-browser"
58255826
],
58265827
"roundtripToolPresets": [
58275828
{
@@ -5831,6 +5832,10 @@
58315832
{
58325833
"toolId": "vector-map-editor",
58335834
"presetPath": "/samples/phase-09/0901/sample.0901.vector-map-editor.json"
5835+
},
5836+
{
5837+
"toolId": "palette-browser",
5838+
"presetPath": "/samples/phase-09/0901/sample.0901.palette.json"
58345839
}
58355840
]
58365841
},
@@ -6551,7 +6556,8 @@
65516556
"toolHints": [
65526557
"parallax-editor",
65536558
"svg-asset-studio",
6554-
"vector-map-editor"
6559+
"vector-map-editor",
6560+
"palette-browser"
65556561
],
65566562
"roundtripToolPresets": [
65576563
{
@@ -6565,6 +6571,10 @@
65656571
{
65666572
"toolId": "vector-map-editor",
65676573
"presetPath": "/samples/phase-12/1204/sample.1204.vector-map-editor.json"
6574+
},
6575+
{
6576+
"toolId": "palette-browser",
6577+
"presetPath": "/samples/phase-12/1204/sample.1204.palette.json"
65686578
}
65696579
]
65706580
},
@@ -6768,7 +6778,8 @@
67686778
"3d-json-payload-normalizer",
67696779
"parallax-editor",
67706780
"tile-map-editor",
6771-
"svg-asset-studio"
6781+
"svg-asset-studio",
6782+
"palette-browser"
67726783
],
67736784
"roundtripToolPresets": [
67746785
{
@@ -6790,6 +6801,10 @@
67906801
{
67916802
"toolId": "svg-asset-studio",
67926803
"presetPath": "/samples/phase-12/1208/sample.1208.svg-asset-studio.json"
6804+
},
6805+
{
6806+
"toolId": "palette-browser",
6807+
"presetPath": "/samples/phase-12/1208/sample.1208.palette.json"
67936808
}
67946809
]
67956810
},

0 commit comments

Comments
 (0)