Skip to content

Commit 399bf89

Browse files
author
DavidQ
committed
Clean up first deferred sample JSON ownership batch with targeted tests - PR 11.43
1 parent 2b83b72 commit 399bf89

10 files changed

Lines changed: 287 additions & 317 deletions

docs/dev/PROJECT_INSTRUCTIONS.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,23 @@ If ZIP delivery fails more than once:
212212
- Update Roadmap stutus every PR.
213213
- Every PRs must improve roadmap and be testable.
214214

215+
216+
- Full samples smoke test takes ~20 minutes.
217+
- DO NOT run full samples test by default.
218+
219+
- Run full samples test ONLY when:
220+
- shared sample loader/framework is modified
221+
- change impacts multiple samples broadly
222+
- correctness cannot be verified with targeted tests
223+
224+
- Prefer targeted validation:
225+
- syntax checks for changed files
226+
- run only affected samples
227+
- run tool-specific tests when available
228+
229+
- Every PR must document:
230+
- whether full samples test was skipped or run
231+
- reason for decision
215232
---
216233

217234
# BUILD_PR_LEVEL_19_20_TOOLCHAIN_ROADMAP_GUARD_ENFORCEMENT

docs/dev/codex_commands.md

Lines changed: 51 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,67 @@
11
MODEL: GPT-5.3-codex
2-
REASONING: medium
2+
REASONING: high
33

44
TASK:
5-
Apply PR 11.42.
6-
7-
Remove `buildDefaultPayload` from:
8-
- 3D Asset Viewer
9-
- 3D Camera Path Editor
10-
- 3D JSON Payload Normalizer
11-
12-
This cleanup supports the explicit sample JSON/input contract from PR 11.41.
13-
14-
Rules:
15-
- Do not fabricate payloads.
16-
- Do not auto-load hidden defaults.
17-
- Do not create fallback sample geometry/camera/path data.
18-
- When no payload/input exists, show a safe empty state explaining explicit JSON/input is required.
19-
- Preserve behavior when explicit payload/input is provided.
20-
- Keep changes limited to the listed tools and direct shared helpers only if required.
21-
22-
Search terms:
23-
- buildDefaultPayload
24-
- 3d asset viewer
25-
- 3d camera path editor
26-
- 3d json payload normalizer
27-
- payload normalizer
5+
Apply PR 11.43.
6+
7+
Use PR 11.41 audit output as the source of truth:
8+
docs/dev/reports/PR_11_41_sample_json_ownership_audit.md
9+
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.
16+
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.
22+
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.
30+
31+
Sample 1902:
32+
- remains exempt
33+
- do not apply single-tool ownership cleanup to 1902
34+
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.
2839

2940
Do NOT:
30-
- change unrelated tools
31-
- change sample 1902 workspace payload except as needed for correct explicit-input messaging
41+
- run full samples test unless justified
42+
- add hidden fallback/default data
43+
- create decorative JSON
44+
- change unrelated tool logic
3245
- undo SVG Asset Studio rename
3346
- touch start_of_day folders
3447

3548
Validation:
36-
Run targeted syntax checks for changed JS files.
3749
Run:
38-
node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --tools
50+
- node --check for changed JS files
51+
- targeted sample/tool smoke for changed samples only
3952

40-
If full smoke is too broad, run relevant targeted smoke and document why.
53+
If a full test is required, explain why in the report before running it.
4154

4255
Reports:
4356
Write:
44-
docs/dev/reports/PR_11_42_validation.txt
57+
docs/dev/reports/PR_11_43_cleanup_batch_1.md
58+
docs/dev/reports/PR_11_43_validation.txt
4559

4660
Report must include:
47-
- files changed
48-
- each removed buildDefaultPayload location
49-
- new no-input behavior for each tool
50-
- validation command results
61+
- source PR 11.41 findings used
62+
- resolved JSON items
63+
- action taken for each
64+
- coverage preserved statement
65+
- deferred items remaining
66+
- exact targeted tests run
67+
- whether full suite was skipped and why

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Remove default payload builders from 3D tools - PR 11.42
1+
Clean up first deferred sample JSON ownership batch with targeted tests - PR 11.43
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# PR 11.43 Cleanup Batch 1
2+
3+
## Source Findings Used
4+
- Source of truth: `docs/dev/reports/PR_11_41_sample_json_ownership_audit.md`
5+
- Batch selected from deferred list using low-blast-radius rule: deferred palette JSON files already referenced by executable sample flows through sprite-editor `palettePath` but not explicitly wired as palette-browser roundtrip entries.
6+
7+
## Batch Scope
8+
Resolved first targeted batch (5 deferred items):
9+
1. `samples/phase-02/0219/sample.0219.palette.json`
10+
2. `samples/phase-03/0301/sample.0301.palette.json`
11+
3. `samples/phase-03/0302/sample.0302.palette.json`
12+
4. `samples/phase-09/0905/sample.0905.palette.json`
13+
5. `samples/phase-14/1414/sample.1414.palette.json`
14+
15+
No sample JSON content was modified, moved, or deleted in this batch.
16+
17+
## Action Taken Per Item
18+
Decision policy applied: **KEEP + WIRE**
19+
20+
| JSON path | PR 11.41 state | Batch 1 action | Why safe |
21+
|---|---|---|---|
22+
| `samples/phase-02/0219/sample.0219.palette.json` | deferred | Added explicit `palette-browser` roundtrip mapping and tool hint in sample metadata | Already used via `palettePath` in sprite-editor mapping; explicit tool wiring improves ownership clarity and visibility |
23+
| `samples/phase-03/0301/sample.0301.palette.json` | deferred | Added explicit `palette-browser` roundtrip mapping and tool hint | Already used via `palettePath` in sprite-editor mapping |
24+
| `samples/phase-03/0302/sample.0302.palette.json` | deferred | Added explicit `palette-browser` roundtrip mapping and tool hint | Already used via `palettePath` in sprite-editor mapping |
25+
| `samples/phase-09/0905/sample.0905.palette.json` | deferred | Added explicit `palette-browser` roundtrip mapping and tool hint | Already used via `palettePath` in sprite-editor mapping |
26+
| `samples/phase-14/1414/sample.1414.palette.json` | deferred | Added explicit `palette-browser` roundtrip mapping and tool hint | Already used via `palettePath` in sprite-editor mapping |
27+
28+
## Files Updated
29+
- `samples/metadata/samples.index.metadata.json`
30+
31+
## Sample 1902 Exemption
32+
- Sample 1902 remains **EXEMPT WORKSPACE SAMPLE**.
33+
- No single-tool ownership cleanup rules were applied to `samples/phase-19/1902/sample.1902.workspace-all-tools.json`.
34+
- No 1902 payload changes in this PR.
35+
36+
## Coverage Preserved Statement
37+
- Coverage is preserved and improved for this batch: each resolved deferred palette JSON now has explicit palette-browser roundtrip wiring without removing any existing sample/tool pathways.
38+
- No coverage reduction from deletion or rehome occurred.
39+
40+
## Deferred Items Remaining After Batch 1
41+
1. `samples/phase-02/0207/sample.0207.palette.json`
42+
2. `samples/phase-02/0214/sample.0214.palette.json`
43+
3. `samples/phase-02/0221/sample.0221.palette.json`
44+
4. `samples/phase-02/0224/sample-0224-tile-map-editor-document.json`
45+
5. `samples/phase-02/0224/sample.0224.palette.json`
46+
6. `samples/phase-03/0305/sample.0305.palette.json`
47+
7. `samples/phase-09/0901/sample.0901.palette.json`
48+
8. `samples/phase-12/1204/sample.1204.palette.json`
49+
9. `samples/phase-12/1205/sample.1205.palette.json`
50+
10. `samples/phase-12/1208/sample.1208.palette.json`
51+
11. `samples/phase-12/1209/sample.1209.palette.json`
52+
12. `samples/phase-12/1210/sample-1210-tile-map-editor-document.json`
53+
13. `samples/phase-12/1210/sample.1210.palette.json`
54+
14. `samples/phase-12/1211/sample-1211-tile-map-editor-document.json`
55+
15. `samples/phase-12/1211/sample.1211.palette.json`
56+
57+
## Full Suite Policy
58+
- Full samples smoke was intentionally skipped.
59+
- Reason: this PR is metadata-only ownership wiring for five specific samples and does not modify shared runtime loader logic or broad launch infrastructure.
60+
- Targeted sample smoke was executed for changed sample IDs only.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# PR 11.43 Cleanup Batch 1
2+
3+
## Source
4+
PR 11.41 audit:
5+
docs/dev/reports/PR_11_41_sample_json_ownership_audit.md
6+
7+
## Resolved Items
8+
9+
| JSON Path | Previous Decision | Action Taken | Coverage Preserved? | Notes |
10+
|---|---|---|---|---|
11+
12+
## Deferred Items Remaining
13+
14+
## Coverage Preserved Statement
15+
16+
## Full Suite Policy
17+
Full samples smoke was skipped unless shared infrastructure changed.
18+
19+
## Targeted Validation
20+
-
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
PR 11.43 Validation
2+
3+
PASS/FAIL: PASS
4+
5+
Changed files (PR 11.43 scope)
6+
- samples/metadata/samples.index.metadata.json
7+
- docs/dev/reports/PR_11_43_cleanup_batch_1.md
8+
- docs/dev/reports/PR_11_43_validation.txt
9+
10+
Source findings used
11+
- docs/dev/reports/PR_11_41_sample_json_ownership_audit.md
12+
13+
Resolved items in this batch (KEEP + WIRE)
14+
- samples/phase-02/0219/sample.0219.palette.json
15+
- samples/phase-03/0301/sample.0301.palette.json
16+
- samples/phase-03/0302/sample.0302.palette.json
17+
- samples/phase-09/0905/sample.0905.palette.json
18+
- samples/phase-14/1414/sample.1414.palette.json
19+
20+
Syntax checks
21+
- No JavaScript files were changed in this PR batch.
22+
- node --check on changed JS files: N/A
23+
24+
Targeted tests run (full suite intentionally skipped)
25+
1) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=0219-0219
26+
Result: PASS (PASS=1 FAIL=0 TOTAL=1)
27+
2) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=0301-0302
28+
Result: PASS (PASS=2 FAIL=0 TOTAL=2)
29+
3) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=0905-0905
30+
Result: PASS (PASS=1 FAIL=0 TOTAL=1)
31+
4) node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --samples --sample-range=1414-1414
32+
Result: PASS (PASS=1 FAIL=0 TOTAL=1)
33+
34+
Full samples smoke
35+
- Skipped by policy for PR 11.43.
36+
- Reason: metadata-only targeted ownership wiring; no shared sample launch infrastructure or broad shared loader changes.
37+
38+
Coverage preserved
39+
- Yes. No sample JSON was deleted or moved in this batch.
40+
- Ownership clarity improved via explicit palette-browser roundtrip wiring for the five targeted deferred items.
41+
42+
Sample 1902
43+
- Exempt workspace sample per policy.
44+
- No 1902 single-tool ownership cleanup applied.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# PR 11.43 Validation
2+
3+
## Changed Files
4+
-
5+
6+
## Targeted Tests Run
7+
-
8+
9+
## Full Samples Smoke
10+
Skipped / Run:
11+
Reason:
12+
13+
## Result
14+
-

0 commit comments

Comments
 (0)