You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Decision: retain `toolbox/game-journey/game-journey-api-client.js` as a temporary legacy exception.
29
+
30
+
Reason:
31
+
32
+
- The current canonical guardrail approves the tool entrypoint path `assets/toolbox/{tool-name}/js/index.js`.
33
+
- It does not approve an additional tool-local API client file under `assets/toolbox/game-journey/js/`.
34
+
- Folding the API client into `index.js` would be a larger refactor and could obscure the completion-metrics API boundary.
35
+
- 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.
36
+
37
+
Removal plan:
38
+
39
+
1. Add or clarify a canonical rule for tool-local secondary modules, or approve a shared API-client location.
40
+
2. Move the API client only after the guardrail recognizes the destination.
41
+
3. Update the canonical Game Journey entrypoint import.
42
+
4. Re-run Game Journey route validation and completion-metrics validation.
43
+
5. Remove `toolbox/game-journey/game-journey-api-client.js` from approved legacy exceptions after validation passes.
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.
65
+
66
+
## Branch Validation
67
+
68
+
- Current branch: `PR_26172_CHARLIE_repository-compliance-stack`
- Move API client if safe: PASS, not safe under current guardrail.
77
+
- Retain API client and document temporary legacy exception if not safe: PASS
78
+
- Preserve behavior: PASS
79
+
- No feature changes: PASS
80
+
- Run targeted Game Journey validation: PASS
81
+
- Run canonical structure guardrail: PASS
82
+
- Confirm ZIP exists: PASS after artifact creation.
83
+
84
+
## Manual Validation Notes
85
+
86
+
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.
87
+
88
+
## Recommendation
89
+
90
+
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.
+The Game Journey API client was retained for PR_035 review.
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.
+- Removed `toolbox/game-journey/game-journey.js` from the approved legacy JS exception list.
69
-
+- Updated the Game Journey source separation test to read the canonical entrypoint path.
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.
+ - Risk: the canonical guardrail currently approves the tool `index.js` entrypoint path but does not approve additional tool JS files under the same folder.
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.
+The targeted Playwright route test uses the existing Postgres completion-metrics stub and passed. The known local legacy SQLite preservation failure documented in PR_26172_CHARLIE_006A did not appear in this validation lane.
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.
97
71
+
98
72
+## Branch Validation
99
73
+
@@ -104,60 +78,19 @@ index 000000000..c03cd09f5
104
78
+
105
79
+## Requirement Checklist
106
80
+
107
-
+- Use PR_033 audit: PASS
108
-
+- Move only `game-journey.js` to canonical path: PASS
109
-
+- Update `toolbox/game-journey/index.html`: PASS
110
-
+- Update tests/references for old path: PASS
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
111
84
+- Preserve behavior: PASS
112
-
+- Do not move API client unless PR_033 proves safe: PASS, retained.
113
85
+- No feature changes: PASS
114
86
+- Run targeted Game Journey validation: PASS
115
87
+- Run canonical structure guardrail: PASS
116
-
+- Document known SQLite preservation blocker separately if encountered: PASS, not encountered.
117
88
+- Confirm ZIP exists: PASS after artifact creation.
118
89
+
119
90
+## Manual Validation Notes
120
91
+
121
-
+The entrypoint migration is isolated and validated. The retained API client should be resolved in PR_035 without changing completion-metrics behavior.
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.
122
93
+
123
94
+## Recommendation
124
95
+
125
-
+Continue to PR_035 and keep `toolbox/game-journey/game-journey-api-client.js` as an exception unless a safe guardrail-compliant placement is available.
+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.
0 commit comments