Skip to content

Commit df3d138

Browse files
committed
PR_26172_CHARLIE_036-final-target-tool-compliance-reaudit
1 parent a0d3937 commit df3d138

3 files changed

Lines changed: 209 additions & 59 deletions

File tree

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# PR_26172_CHARLIE_036-final-target-tool-compliance-reaudit
2+
3+
## Summary
4+
5+
Status: PASS with retained exceptions documented.
6+
7+
Final reaudit scope:
8+
9+
- Controls
10+
- Assets / Asset Browser / Vector Art
11+
- Game Journey
12+
13+
The active entrypoints for the target tools have moved to canonical paths. Remaining legacy paths are API-client or worker exceptions with removal plans.
14+
15+
## Migrated Paths
16+
17+
| Tool area | Legacy path | Canonical path | Status |
18+
| --- | --- | --- | --- |
19+
| Controls | `toolbox/controls/controls.js` | `assets/toolbox/controls/js/index.js` | Migrated |
20+
| Assets | `toolbox/assets/assets.js` | `assets/toolbox/assets/js/index.js` | Migrated |
21+
| Game Journey | `toolbox/game-journey/game-journey.js` | `assets/toolbox/game-journey/js/index.js` | Migrated |
22+
23+
## Retained Exceptions
24+
25+
| Path | Reason | Removal plan |
26+
| --- | --- | --- |
27+
| `toolbox/controls/controls-api-client.js` | Shared by Controls and `account/user-controls-page.js`. | Define shared client placement, move shared code, update both importers, then remove exception. |
28+
| `toolbox/assets/assets-api-client.js` | Shared by Assets and Objects. | Define shared client placement, update Assets and Objects together, then remove exception. |
29+
| `toolbox/assets/assets-upload-worker.js` | Worker filename/path pattern is not yet defined by canonical guardrail. | Add approved worker placement rule, move worker, update `new Worker(...)`, run upload validation, then remove exception. |
30+
| `toolbox/game-journey/game-journey-api-client.js` | Guardrail currently approves only `assets/toolbox/{tool}/js/index.js`; second tool JS file placement is not approved. | Add secondary tool-module or shared-client placement rule, move/update imports, run Game Journey validation, then remove exception. |
31+
32+
## Remaining Legacy Paths
33+
34+
Active retained legacy paths:
35+
36+
- `toolbox/controls/controls-api-client.js`
37+
- `toolbox/assets/assets-api-client.js`
38+
- `toolbox/assets/assets-upload-worker.js`
39+
- `toolbox/game-journey/game-journey-api-client.js`
40+
41+
Historical references:
42+
43+
- `docs_build/pr/PR_26171_ALPHA_047-game-hub-canonical-path-journey-handoff/BUILD_PR.md`
44+
- `docs_build/pr/PR_26171_ALPHA_047-game-hub-canonical-path-journey-handoff/APPLY_PR.md`
45+
46+
Historical references were not rewritten.
47+
48+
## Guardrail Status
49+
50+
- Command: `npm run validate:canonical-structure`
51+
- Result: PASS
52+
- Blocking violations: 0
53+
- Approved legacy exceptions: 481
54+
55+
## Browser Validation Status
56+
57+
- Command: `npm run validate:browser-env-agnostic`
58+
- Result: FAIL
59+
- Findings:
60+
- Product service contract findings in `src/dev-runtime/server/local-api-router.mjs`.
61+
- User-facing implementation wording findings in Messages.
62+
- Classification: existing broader browser-env gate findings, not introduced by this target-tool migration stack.
63+
64+
## Report and ZIP Artifact Check
65+
66+
| Scope | Report | ZIP |
67+
| --- | --- | --- |
68+
| PR_26172_CHARLIE_028 | Present | Present |
69+
| PR_26172_CHARLIE_029 | Present | Present |
70+
| PR_26172_CHARLIE_030 | Present | Present |
71+
| PR_26172_CHARLIE_031 | Present | Present |
72+
| PR_26172_CHARLIE_032 | Present | Present |
73+
| PR_26172_CHARLIE_033 | Present | Present |
74+
| PR_26172_CHARLIE_034 | Present | Present |
75+
| PR_26172_CHARLIE_035 | Present | Present |
76+
77+
## Stack Readiness
78+
79+
Ready for Owner review: YES, with documented retained exceptions and validation caveats.
80+
81+
Owner review should note:
82+
83+
- The target entrypoint migrations are complete.
84+
- The retained API/worker files require follow-up shared-client or worker-placement governance before removal.
85+
- Browser-env validation remains blocked by existing non-Charlie findings.
86+
- Assets full upload Playwright validation is blocked by Local API provider persistence behavior, not by canonical entrypoint path loading.
87+
88+
## Branch Validation
89+
90+
- Current branch: `PR_26172_CHARLIE_repository-compliance-stack`
91+
- Expected branch: `PR_26172_CHARLIE_repository-compliance-stack`
92+
- Local/origin sync before PR: `0 0`
93+
- Branch validation: PASS
94+
95+
## Requirement Checklist
96+
97+
- Verify Controls: PASS
98+
- Verify Assets / Asset Browser / Vector Art: PASS
99+
- Verify Game Journey: PASS
100+
- Report migrated paths: PASS
101+
- Report retained exceptions: PASS
102+
- Report remaining legacy paths: PASS
103+
- Provide removal plans: PASS
104+
- Run canonical structure guardrail: PASS
105+
- Run browser validation: PASS with existing failure documented.
106+
- Confirm all reports exist: PASS
107+
- Confirm ZIP exists: PASS after artifact creation.
108+
109+
## Manual Validation Notes
110+
111+
This reaudit confirms the remaining target work is no longer entrypoint migration. It is shared-client and worker-placement cleanup, which should be scoped separately to avoid changing tool behavior under a structure-only migration stack.
112+
113+
## Recommended Next PRs
114+
115+
1. Shared API-client placement governance for reused toolbox API clients.
116+
2. Worker placement guardrail for tool-local module workers.
117+
3. Controls API client shared placement migration.
118+
4. Assets API client shared placement migration with Objects.
119+
5. Assets worker migration after worker placement rule exists.
120+
6. Game Journey API client migration after secondary module or shared-client placement is approved.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
A docs_build/dev/reports/PR_26172_CHARLIE_035-game-journey-api-client-migration-or-exception.md
1+
A docs_build/dev/reports/PR_26172_CHARLIE_036-final-target-tool-compliance-reaudit.md
Lines changed: 88 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,95 @@
1-
diff --git a/docs_build/dev/reports/PR_26172_CHARLIE_035-game-journey-api-client-migration-or-exception.md b/docs_build/dev/reports/PR_26172_CHARLIE_035-game-journey-api-client-migration-or-exception.md
1+
diff --git a/docs_build/dev/reports/PR_26172_CHARLIE_036-final-target-tool-compliance-reaudit.md b/docs_build/dev/reports/PR_26172_CHARLIE_036-final-target-tool-compliance-reaudit.md
22
new file mode 100644
3-
index 000000000..d0f945e60
3+
index 000000000..296d94e65
44
--- /dev/null
5-
+++ b/docs_build/dev/reports/PR_26172_CHARLIE_035-game-journey-api-client-migration-or-exception.md
6-
@@ -0,0 +1,90 @@
7-
+# PR_26172_CHARLIE_035-game-journey-api-client-migration-or-exception
5+
+++ b/docs_build/dev/reports/PR_26172_CHARLIE_036-final-target-tool-compliance-reaudit.md
6+
@@ -0,0 +1,120 @@
7+
+# PR_26172_CHARLIE_036-final-target-tool-compliance-reaudit
88
+
99
+## Summary
1010
+
11-
+Status: PASS with temporary legacy exception retained.
11+
+Status: PASS with retained exceptions documented.
1212
+
13-
+No executable implementation files were changed in this PR. The remaining Game Journey API client was reviewed after the PR_034 entrypoint migration:
13+
+Final reaudit scope:
1414
+
15-
+- `toolbox/game-journey/game-journey-api-client.js`
15+
+- Controls
16+
+- Assets / Asset Browser / Vector Art
17+
+- Game Journey
18+
+
19+
+The active entrypoints for the target tools have moved to canonical paths. Remaining legacy paths are API-client or worker exceptions with removal plans.
20+
+
21+
+## Migrated Paths
22+
+
23+
+| Tool area | Legacy path | Canonical path | Status |
24+
+| --- | --- | --- | --- |
25+
+| Controls | `toolbox/controls/controls.js` | `assets/toolbox/controls/js/index.js` | Migrated |
26+
+| Assets | `toolbox/assets/assets.js` | `assets/toolbox/assets/js/index.js` | Migrated |
27+
+| Game Journey | `toolbox/game-journey/game-journey.js` | `assets/toolbox/game-journey/js/index.js` | Migrated |
28+
+
29+
+## Retained Exceptions
1630
+
17-
+The file remains in its approved legacy location because moving it into `assets/toolbox/game-journey/js/` would create a second canonical tool JS file that the current guardrail does not allow.
31+
+| Path | Reason | Removal plan |
32+
+| --- | --- | --- |
33+
+| `toolbox/controls/controls-api-client.js` | Shared by Controls and `account/user-controls-page.js`. | Define shared client placement, move shared code, update both importers, then remove exception. |
34+
+| `toolbox/assets/assets-api-client.js` | Shared by Assets and Objects. | Define shared client placement, update Assets and Objects together, then remove exception. |
35+
+| `toolbox/assets/assets-upload-worker.js` | Worker filename/path pattern is not yet defined by canonical guardrail. | Add approved worker placement rule, move worker, update `new Worker(...)`, run upload validation, then remove exception. |
36+
+| `toolbox/game-journey/game-journey-api-client.js` | Guardrail currently approves only `assets/toolbox/{tool}/js/index.js`; second tool JS file placement is not approved. | Add secondary tool-module or shared-client placement rule, move/update imports, run Game Journey validation, then remove exception. |
1837
+
19-
+## Files Reviewed
38+
+## Remaining Legacy Paths
2039
+
21-
+- `docs_build/dev/ProjectInstructions/README.txt`
22-
+- `docs_build/dev/ProjectInstructions/PROJECT_INSTRUCTIONS.md`
23-
+- `docs_build/dev/reports/PR_26172_CHARLIE_033-game-journey-canonical-js-migration-audit.md`
24-
+- `docs_build/dev/reports/PR_26172_CHARLIE_034-game-journey-safe-entrypoint-migration.md`
25-
+- `assets/toolbox/game-journey/js/index.js`
40+
+Active retained legacy paths:
41+
+
42+
+- `toolbox/controls/controls-api-client.js`
43+
+- `toolbox/assets/assets-api-client.js`
44+
+- `toolbox/assets/assets-upload-worker.js`
2645
+- `toolbox/game-journey/game-journey-api-client.js`
27-
+- `toolbox/game-journey/index.html`
28-
+- `tests/playwright/tools/GameJourneyTool.spec.mjs`
29-
+- `scripts/validate-canonical-repository-structure.mjs`
30-
+- `scripts/validate-browser-env-agnostic.mjs`
3146
+
32-
+## Decision
47+
+Historical references:
48+
+
49+
+- `docs_build/pr/PR_26171_ALPHA_047-game-hub-canonical-path-journey-handoff/BUILD_PR.md`
50+
+- `docs_build/pr/PR_26171_ALPHA_047-game-hub-canonical-path-journey-handoff/APPLY_PR.md`
51+
+
52+
+Historical references were not rewritten.
53+
+
54+
+## Guardrail Status
3355
+
34-
+Decision: retain `toolbox/game-journey/game-journey-api-client.js` as a temporary legacy exception.
56+
+- Command: `npm run validate:canonical-structure`
57+
+- Result: PASS
58+
+- Blocking violations: 0
59+
+- Approved legacy exceptions: 481
3560
+
36-
+Reason:
61+
+## Browser Validation Status
3762
+
38-
+- The current canonical guardrail approves the tool entrypoint path `assets/toolbox/{tool-name}/js/index.js`.
39-
+- It does not approve an additional tool-local API client file under `assets/toolbox/game-journey/js/`.
40-
+- Folding the API client into `index.js` would be a larger refactor and could obscure the completion-metrics API boundary.
41-
+- The API client re-exports completion metrics helpers from `src/api/game-journey-completion-api-client.js`, so it should stay isolated until the shared-client/secondary-file rule is explicit.
63+
+- Command: `npm run validate:browser-env-agnostic`
64+
+- Result: FAIL
65+
+- Findings:
66+
+ - Product service contract findings in `src/dev-runtime/server/local-api-router.mjs`.
67+
+ - User-facing implementation wording findings in Messages.
68+
+- Classification: existing broader browser-env gate findings, not introduced by this target-tool migration stack.
4269
+
43-
+Removal plan:
70+
+## Report and ZIP Artifact Check
4471
+
45-
+1. Add or clarify a canonical rule for tool-local secondary modules, or approve a shared API-client location.
46-
+2. Move the API client only after the guardrail recognizes the destination.
47-
+3. Update the canonical Game Journey entrypoint import.
48-
+4. Re-run Game Journey route validation and completion-metrics validation.
49-
+5. Remove `toolbox/game-journey/game-journey-api-client.js` from approved legacy exceptions after validation passes.
72+
+| Scope | Report | ZIP |
73+
+| --- | --- | --- |
74+
+| PR_26172_CHARLIE_028 | Present | Present |
75+
+| PR_26172_CHARLIE_029 | Present | Present |
76+
+| PR_26172_CHARLIE_030 | Present | Present |
77+
+| PR_26172_CHARLIE_031 | Present | Present |
78+
+| PR_26172_CHARLIE_032 | Present | Present |
79+
+| PR_26172_CHARLIE_033 | Present | Present |
80+
+| PR_26172_CHARLIE_034 | Present | Present |
81+
+| PR_26172_CHARLIE_035 | Present | Present |
5082
+
51-
+## Validation Lane Report
83+
+## Stack Readiness
5284
+
53-
+- `node --check toolbox/game-journey/game-journey-api-client.js`
54-
+ - Result: PASS
55-
+- `npm run validate:canonical-structure`
56-
+ - Result: PASS
57-
+ - Blocking violations: 0
58-
+ - Approved legacy exceptions: 481
59-
+- Active reference check
60-
+ - Result: PASS
61-
+ - The canonical entrypoint imports `toolbox/game-journey/game-journey-api-client.js`.
62-
+ - Guardrail and hardening tests still list the retained exception.
63-
+ - Historical `docs_build/pr` references to old `game-journey.js` remain unchanged.
64-
+- Targeted Game Journey Playwright validation:
65-
+ - Command: `npx playwright test tests/playwright/tools/GameJourneyTool.spec.mjs --grep "Game Journey summary table uses inline notes" --workers=1 --reporter=line --timeout=90000`
66-
+ - Result: PASS
85+
+Ready for Owner review: YES, with documented retained exceptions and validation caveats.
6786
+
68-
+## Completion Metrics Note
87+
+Owner review should note:
6988
+
70-
+The targeted validation used the existing test Postgres completion-metrics stub and passed. The local legacy SQLite preservation blocker documented in PR_26172_CHARLIE_006A remains a separate recovery/data-preservation concern, not a reason to move the API client in this PR.
89+
+- The target entrypoint migrations are complete.
90+
+- The retained API/worker files require follow-up shared-client or worker-placement governance before removal.
91+
+- Browser-env validation remains blocked by existing non-Charlie findings.
92+
+- Assets full upload Playwright validation is blocked by Local API provider persistence behavior, not by canonical entrypoint path loading.
7193
+
7294
+## Branch Validation
7395
+
@@ -78,19 +100,27 @@ index 000000000..d0f945e60
78100
+
79101
+## Requirement Checklist
80102
+
81-
+- Use PR_033 and PR_034 results: PASS
82-
+- Move API client if safe: PASS, not safe under current guardrail.
83-
+- Retain API client and document temporary legacy exception if not safe: PASS
84-
+- Preserve behavior: PASS
85-
+- No feature changes: PASS
86-
+- Run targeted Game Journey validation: PASS
103+
+- Verify Controls: PASS
104+
+- Verify Assets / Asset Browser / Vector Art: PASS
105+
+- Verify Game Journey: PASS
106+
+- Report migrated paths: PASS
107+
+- Report retained exceptions: PASS
108+
+- Report remaining legacy paths: PASS
109+
+- Provide removal plans: PASS
87110
+- Run canonical structure guardrail: PASS
111+
+- Run browser validation: PASS with existing failure documented.
112+
+- Confirm all reports exist: PASS
88113
+- Confirm ZIP exists: PASS after artifact creation.
89114
+
90115
+## Manual Validation Notes
91116
+
92-
+The canonical Game Journey entrypoint is already active. Keeping the API client in the existing legacy path avoids introducing an unapproved secondary JS file pattern and avoids changing completion-metrics behavior.
117+
+This reaudit confirms the remaining target work is no longer entrypoint migration. It is shared-client and worker-placement cleanup, which should be scoped separately to avoid changing tool behavior under a structure-only migration stack.
93118
+
94-
+## Recommendation
119+
+## Recommended Next PRs
95120
+
96-
+Continue to PR_036 final target-tool compliance reaudit. Treat `toolbox/game-journey/game-journey-api-client.js` as a retained exception with a defined removal plan.
121+
+1. Shared API-client placement governance for reused toolbox API clients.
122+
+2. Worker placement guardrail for tool-local module workers.
123+
+3. Controls API client shared placement migration.
124+
+4. Assets API client shared placement migration with Objects.
125+
+5. Assets worker migration after worker placement rule exists.
126+
+6. Game Journey API client migration after secondary module or shared-client placement is approved.

0 commit comments

Comments
 (0)