Skip to content

Commit df87f42

Browse files
author
DavidQ
committed
Remove broken sample tool bindings and normalize canonical tool names - PR 11.105
1 parent 4ada28e commit df87f42

40 files changed

Lines changed: 570 additions & 262 deletions

docs/dev/codex_commands.md

Lines changed: 51 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,59 @@
11
# CODEX COMMANDS
22

33
Model: GPT-5.3-codex
4-
Reasoning: low
4+
Reasoning: medium
55

66
## PR
7-
BUILD_PR_LEVEL_11_104_SCHEMA_FILENAME_CANONICALIZATION_AND_ARRAY_RULE_RESTORE
7+
BUILD_PR_LEVEL_11_105_REMOVE_BROKEN_SAMPLE_TOOL_BINDINGS
88

99
## Execute
1010

11-
1. Rename schema files:
12-
- tools/schemas/tools/3d-json-payload.schema.json -> tools/schemas/tools/3d-json-payload.schema.json
13-
- tools/schemas/tools/asset-pipeline.schema.json -> tools/schemas/tools/asset-pipeline.schema.json
14-
15-
2. Update every repo reference to the renamed schema files:
16-
- `$ref`
17-
- schema ids
18-
- validation scripts
19-
- docs
20-
- tool/sample/game JSON
21-
22-
3. Validate all JSON against strict schemas.
23-
24-
4. Fix JSON/schema mismatches only:
25-
- stale schema references
26-
- stale tool ids
27-
- invalid/unknown properties
28-
- missing required fields
29-
- wrong canonical names
30-
31-
5. Restore the Project Instructions compact primitive-array formatting rule if it is missing or changed:
32-
- simple primitive arrays must use compact grouped form:
33-
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
34-
- do not apply to arrays of objects, nested arrays, or complex structures
35-
36-
6. Normalize repo JSON primitive arrays to match the rule.
37-
38-
7. Confirm no old names remain:
39-
- 3d-json-payload.schema.json
40-
- asset-pipeline.schema.json
41-
- palette
42-
- palette-browser
43-
44-
8. Write reports:
45-
- docs/dev/reports/schema_filename_canonicalization_11_104.txt
46-
- docs/dev/reports/json_schema_alignment_11_104.txt
47-
- docs/dev/reports/array_formatting_rule_11_104.txt
48-
49-
9. Roadmap:
50-
- only update status markers if execution-backed
51-
- do not rewrite roadmap text
52-
- do not delete roadmap text
53-
54-
## Constraints
55-
56-
- Do not loosen schemas.
57-
- Do not add aliases.
58-
- Do not add fallback/default asset data.
59-
- Do not write implementation code unless required only to update validation/reference paths.
60-
- Do not run full samples smoke test unless validation proves shared sample loader/framework was changed.
11+
1. Treat this as runtime-alignment cleanup before schema lock.
12+
13+
2. Apply canonical naming:
14+
- Replace user-facing/reference-facing `3D JSON Payload Normalizer` with `3D JSON Payload`.
15+
- Replace ids/refs `3d-json-payload-normalizer` with `3d-json-payload`.
16+
- Replace `Asset Pipeline Tool` with `Asset Pipeline`.
17+
- Replace ids/refs `asset-pipeline-tool` with `asset-pipeline`.
18+
- Do not leave aliases or duplicate names.
19+
20+
3. Remove broken sample/tool references unless a valid aligned input file exists and loads:
21+
- 3D Camera Path Editor: remove references with no valid Path input.
22+
- 3D JSON Payload: remove references with no valid payload input.
23+
- Asset Browser / Import Hub: remove references where `active-project-manifest.tools.asset-browser.assets` is missing/empty/invalid.
24+
- Asset Pipeline: remove references with no valid Pipeline Input.
25+
- Parallax Scene Studio: remove affected references that render bars instead of valid parallax content.
26+
- Performance Profiler: remove default-only references, including Sample 0512 if no real performance JSON exists.
27+
- Physics Sandbox: remove default-only references, including Sample 0210 if no real physics JSON exists.
28+
- Primitive Skin Editor: remove references from samples 0226 and 0227 unless real skin input plus schema/source metadata exists.
29+
- Replay Visualizer: remove references with no valid replay input.
30+
- State Inspector: remove references with no valid inspection snapshot JSON input.
31+
- SVG Asset Studio: remove from samples 0901, 1204, 1208; keep 1215, 1216, 0127 only if they still load and validate.
32+
- Vector Map Editor: remove from samples 0901, 1204, 1205 unless valid vector map input exists and loads.
33+
34+
4. Do not create placeholder JSON to preserve a broken reference.
35+
5. Do not introduce silent fallback/default values.
36+
6. Do not loosen schemas.
37+
7. Do not modify unrelated files.
38+
8. Preserve compact primitive-array formatting rule and formatting.
39+
40+
9. Validate:
41+
- changed JSON parses
42+
- changed manifests validate
43+
- no old names remain:
44+
- Normalizer
45+
- Asset Pipeline Tool
46+
- no sample lists a removed broken tool reference
47+
48+
10. Write reports:
49+
- docs/dev/reports/broken_sample_tool_bindings_11_105.txt
50+
- docs/dev/reports/tool_reference_cleanup_11_105.txt
51+
- docs/dev/reports/canonical_tool_names_11_105.txt
52+
53+
11. Roadmap:
54+
- status-only update if execution-backed.
55+
- do not rewrite roadmap text.
56+
- do not delete roadmap text.
57+
58+
12. Package Codex output ZIP at:
59+
tmp/PR_11_105_REMOVE_BROKEN_SAMPLE_TOOL_BINDINGS.zip

docs/dev/commit_comment.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Canonicalize schema filenames and restore compact primitive array enforcement - PR 11.104
1+
Remove broken sample tool bindings and normalize canonical tool names - PR 11.105
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
BUILD_PR_LEVEL_11_105_REMOVE_BROKEN_SAMPLE_TOOL_BINDINGS
2+
Date: 2026-04-30
3+
4+
Files changed:
5+
- samples/metadata/samples.index.metadata.json
6+
- sample/tool manifest and registry files updated for canonical ids.
7+
8+
References removed (broken/no-input/default-only):
9+
- sample 0201: 3d-camera-path-editor removed=True
10+
- sample 0202: 3d-camera-path-editor removed=True
11+
- sample 0220: 3d-camera-path-editor removed=True
12+
- sample 0221: 3d-json-payload removed=True
13+
- sample 0305: 3d-json-payload removed=True
14+
- sample 0204: asset-browser removed=True
15+
- sample 1413: asset-browser removed=True
16+
- sample 1505: asset-browser removed=True
17+
- sample 0510: asset-pipeline removed=True
18+
- sample 1417: asset-pipeline removed=True
19+
- sample 0306: parallax-editor removed=True
20+
- sample 1204: parallax-editor removed=True
21+
- sample 1204: svg-asset-studio removed=True
22+
- sample 1204: vector-map-editor removed=True
23+
- sample 1205: parallax-editor removed=True
24+
- sample 1205: vector-map-editor removed=True
25+
- sample 0512: performance-profiler removed=True
26+
- sample 1319: performance-profiler removed=True
27+
- sample 1407: performance-profiler removed=True
28+
- sample 0210: physics-sandbox removed=True
29+
- sample 0303: physics-sandbox removed=True
30+
- sample 1606: physics-sandbox removed=True
31+
- sample 0708: replay-visualizer removed=True
32+
- sample 1315: replay-visualizer removed=True
33+
- sample 1406: replay-visualizer removed=True
34+
- sample 0205: state-inspector removed=True
35+
- sample 0208: state-inspector removed=True
36+
- sample 0217: state-inspector removed=True
37+
- sample 0901: svg-asset-studio removed=True
38+
- sample 0901: vector-map-editor removed=True
39+
- sample 1208: svg-asset-studio removed=True
40+
- sample 1217: svg-asset-studio removed=True
41+
42+
References kept (validated input present):
43+
- sample 0226: skin-editor kept=True reason=valid sample-local skin JSON exists with schema/game metadata.
44+
- sample 0227: skin-editor kept=True reason=valid sample-local skin JSON exists with schema/game metadata.
45+
- sample 1215: svg-asset-studio kept=True reason=explicit svg-asset-studio preset JSON exists.
46+
- sample 1216: svg-asset-studio kept=True reason=explicit svg-asset-studio preset JSON exists.
47+
- sample 1212: vector-map-editor kept=True reason=explicit vector-map-editor preset JSON exists.
48+
- sample 1213: vector-map-editor kept=True reason=explicit vector-map-editor preset JSON exists.
49+
- sample 1214: vector-map-editor kept=True reason=explicit vector-map-editor preset JSON exists.
50+
- sample 1208: parallax-editor kept=True reason=explicit parallax-editor preset JSON exists.
51+
- sample 1218: parallax-editor kept=True reason=explicit parallax-editor preset JSON exists.
52+
- sample 1219: parallax-editor kept=True reason=explicit parallax-editor preset JSON exists.
53+
- sample 1220: parallax-editor kept=True reason=explicit parallax-editor preset JSON exists.
54+
- sample 1413: asset-pipeline kept=True reason=explicit asset pipeline preset JSON exists and resolves pipelinePayload.
55+
- sample 1902: asset-browser kept=True reason=workspace integration sample with embedded payloads per tool.
56+
- sample 1902: asset-pipeline kept=True reason=workspace integration sample with embedded payloads per tool.
57+
- sample 1902: 3d-json-payload kept=True reason=workspace integration sample with embedded payloads per tool.
58+
- sample 1902: 3d-camera-path-editor kept=True reason=workspace integration sample with embedded payloads per tool.
59+
- sample 1902: state-inspector kept=True reason=workspace integration sample with embedded payloads per tool.
60+
- sample 1902: replay-visualizer kept=True reason=workspace integration sample with embedded payloads per tool.
61+
- sample 1902: performance-profiler kept=True reason=workspace integration sample with embedded payloads per tool.
62+
- sample 1902: physics-sandbox kept=True reason=workspace integration sample with embedded payloads per tool.
63+
- sample 1902: parallax-editor kept=True reason=workspace integration sample with embedded payloads per tool.
64+
- sample 1902: vector-map-editor kept=True reason=workspace integration sample with embedded payloads per tool.
65+
- sample 1902: svg-asset-studio kept=True reason=workspace integration sample with embedded payloads per tool.
66+
- sample 1902: skin-editor kept=True reason=workspace integration sample with embedded payloads per tool.
67+
68+
Validation:
69+
- JSON parse: changed_json_parse_ok=9 changed_json_parse_bad=0
70+
- Strict schemas: tool payload invalid=0, game manifest invalid=0, sample_json invalid=28 (pre-existing oneOf contract failures remain; no schema loosening applied).
71+
- Old names search exit=1 (expect 1 for no matches).
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
BUILD_PR_LEVEL_11_105_REMOVE_BROKEN_SAMPLE_TOOL_BINDINGS
2+
Date: 2026-04-30
3+
4+
Canonical naming applied:
5+
- 3D JSON Payload Normalizer -> 3D JSON Payload
6+
- 3d-json-payload-normalizer -> 3d-json-payload
7+
- Asset Pipeline Tool -> Asset Pipeline
8+
- asset-pipeline-tool -> asset-pipeline
9+
10+
Renamed paths:
11+
- tools/3D JSON Payload Normalizer -> tools/3D JSON Payload
12+
- tools/Asset Pipeline Tool -> tools/Asset Pipeline
13+
- samples/phase-14/1413/sample.1413.asset-pipeline-tool.json -> samples/phase-14/1413/sample.1413.asset-pipeline.json
14+
15+
Schema alignment updates:
16+
- tools/schemas/workspace.manifest.schema.json keys now use asset-pipeline and 3d-json-payload.
17+
- tools/schemas/tools/asset-pipeline.schema.json const/tool id updated.
18+
- tools/schemas/tools/3d-json-payload.schema.json const/tool id updated.
19+
20+
Validation checks:
21+
- rg old-name search exit code: 1 (1 means no matches found).
22+
- validate-tool-schemas exit code: 0
23+
- validate-json-contracts exit code: 0
24+
25+
No aliases or duplicate canonical tool names were introduced for these two tools.

docs/dev/reports/sample_json_schema_validation.csv

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ samples/phase-12/1219/sample-1219-parallax-editor.json,tools/schemas/tools/paral
6060
samples/phase-12/1220/sample-1220-parallax-editor.json,tools/schemas/tools/parallax-editor.schema.json,invalid,1,$.payload.parallaxDocument: value must satisfy exactly one oneOf branch,
6161
samples/phase-14/1413/sample.1413.3d-asset-viewer.json,tools/schemas/tools/3d-asset-viewer.schema.json,invalid,1,$.payload.asset3d: value must satisfy exactly one oneOf branch,
6262
samples/phase-14/1413/sample.1413.asset-browser.json,tools/schemas/tools/asset-browser.schema.json,valid,0,,
63-
samples/phase-14/1413/sample.1413.asset-pipeline-tool.json,tools/schemas/tools/asset-pipeline-tool.schema.json,schema-missing,1,schema not found,
63+
samples/phase-14/1413/sample.1413.asset-pipeline.json,tools/schemas/tools/asset-pipeline.schema.json,invalid,1,$.payload.pipelinePayload: value must satisfy exactly one oneOf branch,
6464
samples/phase-14/1414/sample.1414.palette.json,,skipped,0,,no matching schema contract
6565
samples/phase-14/1414/sample.1414.sprite-editor.json,tools/schemas/tools/sprite-editor.schema.json,invalid,1,$.payload.spriteProject: value must satisfy exactly one oneOf branch,
6666
samples/phase-15/1505/sample.1505.asset-browser.json,tools/schemas/tools/asset-browser.schema.json,valid,0,,
67-
samples/phase-19/1902/sample.1902.workspace-all-tools.json,tools/schemas/workspace.manifest.schema.json,invalid,2,missing schema for tool asset-pipeline-tool: tools/schemas/tools/asset-pipeline-tool.schema.json | missing schema for tool 3d-json-payload-normalizer: tools/schemas/tools/3d-json-payload-normalizer.schema.json,
67+
samples/phase-19/1902/sample.1902.workspace-all-tools.json,tools/schemas/workspace.manifest.schema.json,valid,0,,

docs/dev/reports/schema_usage_code_updates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
- Sample JSON rows: 66
1212
- Game manifest rows: 12
1313
- Invalid tool rows: 0
14-
- Invalid sample rows: 29
14+
- Invalid sample rows: 28
1515
- Invalid game rows: 0
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
BUILD_PR_LEVEL_11_105_REMOVE_BROKEN_SAMPLE_TOOL_BINDINGS
2+
Date: 2026-04-30
3+
4+
Cleanup summary:
5+
- Removed sample metadata toolHints/roundtripToolPresets for tools lacking aligned explicit input files.
6+
- Removed Asset Browser references from samples with empty assets maps (0204, 1413, 1505).
7+
- Removed default-only references for state-inspector, replay-visualizer, performance-profiler, and physics-sandbox sample entries listed in BUILD.
8+
- Removed SVG Asset Studio from 0901/1204/1208 and removed from 1217 to keep only validated set (1215/1216) per BUILD instruction.
9+
- Removed Vector Map Editor from 0901/1204/1205 and kept vector-map-editor where explicit map presets exist (1212-1214).
10+
11+
Kept references and reasons:
12+
- skin-editor kept in 0226 and 0227 because sample-local skin JSON exists with documentKind/schema/game metadata.
13+
- parallax-editor kept where explicit parallaxDocument presets exist (1208, 1218, 1219, 1220).
14+
- asset-pipeline kept in 1413 because explicit sample.1413.asset-pipeline.json exists with pipelinePayload.
15+
- workspace sample 1902 kept as embedded multi-tool integration payload sample.
16+
17+
Post-cleanup guard checks:
18+
- removed_binding_violations=0 for required removal matrix.
19+
- 1215_has_svg_asset_studio=true, 1216_has_svg_asset_studio=true, 1217_has_svg_asset_studio=false.
20+
21+
No fallback/default data was added.
22+
No schema loosening was applied.

docs/dev/restart_notes_11_105.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Restart Notes — PR 11.105
2+
3+
Run this after PR 11.104 / PR 11.103 outputs are applied.
4+
5+
Primary goal:
6+
- Do not lock schema yet.
7+
- First remove sample/tool references that do not load real aligned input.
8+
9+
Key rule:
10+
- If the sample cannot be used in the tool, remove the tool reference.
11+
12+
Expected outcome:
13+
- Tool lists become honest.
14+
- No default-only tool cards.
15+
- No placeholder/fallback data.
16+
- Canonical names are stable before schema lock.

0 commit comments

Comments
 (0)