Skip to content

Commit 1e8845c

Browse files
author
DavidQ
committed
Selector/provider stability enforcement (Level 18 Track C)
1 parent 38f6bd0 commit 1e8845c

11 files changed

Lines changed: 63 additions & 29 deletions

docs/dev/CODEX_COMMANDS.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
MODEL: GPT-5.3-codex
22
REASONING: high
33

4-
Execute BUILD_PR_LEVEL_18_5_CONTRACT_STABILIZATION_PROGRESS:
4+
Execute BUILD_PR_LEVEL_18_6_SELECTOR_PROVIDER_STABILITY_ENFORCEMENT:
55

6-
- inspect engine public APIs
7-
- inspect shared contracts
8-
- identify unstable surfaces
9-
- stabilize or remove where safe
10-
- validate selectors/providers
6+
- inspect selectors/providers
7+
- identify unstable access patterns
8+
- stabilize contracts
9+
- validate consumers
1110
- output report

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Contract stabilization progress (Level 18 Track C)
1+
Selector/provider stability enforcement (Level 18 Track C)
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
[ ] unstable surfaces identified
2-
[ ] stabilization applied
1+
[ ] selectors stable
2+
[ ] providers stable
33
[ ] validation done
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# BUILD_PR_LEVEL_18_6_SELECTOR_PROVIDER_STABILITY_ENFORCEMENT
2+
3+
## Purpose
4+
Advance Level 18 Track C by enforcing stability of selectors and providers.
5+
6+
## Scope
7+
- docs-only
8+
- no implementation authored by ChatGPT
9+
- smallest scoped stabilization step
10+
11+
## Codex Responsibilities
12+
- inspect selectors/providers across engine and shared
13+
- ensure public contract stability
14+
- remove or isolate unstable access patterns
15+
- validate consumers use stable interfaces only
16+
17+
## Acceptance
18+
- selectors/providers are stable
19+
- unstable access paths removed or isolated
20+
- validation report produced

src/advanced/promotion/createPromotionGate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ createPromotionGate.js
77

88
import { asFiniteNumber, asPositiveInteger } from '../../shared/math/numberNormalization.js';
99
import { isPlainObject } from '../../shared/utils/objectUtils.js';
10-
import { getState as getPromotionPublicState } from '../../shared/state/getState.js';
10+
import { getPromotionState as getPromotionPublicState } from '../../shared/state/index.js';
1111

1212
function normalizeCriteriaMap(input, requiredCriteria = []) {
1313
const normalized = {};

src/advanced/state/createWorldGameStateSystem.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
createTransitionAppliedEvent,
1919
createTransitionRejectedEvent
2020
} from './events.js';
21-
import { getState as getPromotionPublicState } from '../../shared/state/getState.js';
21+
import { getPromotionState as getPromotionPublicState } from '../../shared/state/index.js';
2222
import { asFiniteNumber, asPositiveInteger } from '../../shared/math/numberNormalization.js';
2323
import { isPlainObject } from '../../shared/utils/objectUtils.js';
2424
import {

tests/tools/CameraDebugPanel.test.mjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ David Quesenberry
55
CameraDebugPanel.test.mjs
66
*/
77
import assert from "node:assert/strict";
8-
import { create3dCameraPanel } from "../../src/engine/debug/standard/threeD/panels/panel3dCamera.js";
9-
import { createCameraSummaryProvider } from "../../src/engine/debug/standard/threeD/providers/cameraSummaryProvider.js";
8+
import { create3dCameraPanel, createCameraSummaryProvider } from "../../src/engine/debug/standard/threeD/index.js";
109

1110
export async function run() {
1211
const provider = createCameraSummaryProvider({

tests/tools/CollisionOverlaysDebugPanel.test.mjs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@ David Quesenberry
55
CollisionOverlaysDebugPanel.test.mjs
66
*/
77
import assert from "node:assert/strict";
8-
import { createStandard3dPanels } from "../../src/engine/debug/standard/threeD/panels/registerStandard3dPanels.js";
9-
import { PANEL_3D_COLLISION_OVERLAYS, create3dCollisionOverlaysPanel } from "../../src/engine/debug/standard/threeD/panels/panel3dCollisionOverlays.js";
10-
import { createStandard3dProviders } from "../../src/engine/debug/standard/threeD/providers/registerStandard3dProviders.js";
11-
import { PROVIDER_3D_COLLISION_OVERLAYS, createCollisionOverlaysProvider } from "../../src/engine/debug/standard/threeD/providers/collisionOverlaysProvider.js";
8+
import {
9+
createStandard3dPanels,
10+
PANEL_3D_COLLISION_OVERLAYS,
11+
create3dCollisionOverlaysPanel,
12+
createStandard3dProviders,
13+
PROVIDER_3D_COLLISION_OVERLAYS,
14+
createCollisionOverlaysProvider
15+
} from "../../src/engine/debug/standard/threeD/index.js";
1216

1317
export async function run() {
1418
const provider = createCollisionOverlaysProvider({

tests/tools/RenderPipelineStagesDebugPanel.test.mjs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@ David Quesenberry
55
RenderPipelineStagesDebugPanel.test.mjs
66
*/
77
import assert from "node:assert/strict";
8-
import { createStandard3dPanels } from "../../src/engine/debug/standard/threeD/panels/registerStandard3dPanels.js";
9-
import { PANEL_3D_RENDER_PIPELINE_STAGES, create3dRenderPipelineStagesPanel } from "../../src/engine/debug/standard/threeD/panels/panel3dRenderPipelineStages.js";
10-
import { createStandard3dProviders } from "../../src/engine/debug/standard/threeD/providers/registerStandard3dProviders.js";
11-
import { PROVIDER_3D_RENDER_PIPELINE_STAGES, createRenderPipelineStagesProvider } from "../../src/engine/debug/standard/threeD/providers/renderPipelineStagesProvider.js";
8+
import {
9+
createStandard3dPanels,
10+
PANEL_3D_RENDER_PIPELINE_STAGES,
11+
create3dRenderPipelineStagesPanel,
12+
createStandard3dProviders,
13+
PROVIDER_3D_RENDER_PIPELINE_STAGES,
14+
createRenderPipelineStagesProvider
15+
} from "../../src/engine/debug/standard/threeD/index.js";
1216

1317
export async function run() {
1418
const provider = createRenderPipelineStagesProvider({

tests/tools/SceneGraphInspectorDebugPanel.test.mjs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,14 @@ David Quesenberry
55
SceneGraphInspectorDebugPanel.test.mjs
66
*/
77
import assert from "node:assert/strict";
8-
import { createStandard3dPanels } from "../../src/engine/debug/standard/threeD/panels/registerStandard3dPanels.js";
9-
import { PANEL_3D_SCENE_GRAPH_INSPECTOR, create3dSceneGraphInspectorPanel } from "../../src/engine/debug/standard/threeD/panels/panel3dSceneGraphInspector.js";
10-
import { createStandard3dProviders } from "../../src/engine/debug/standard/threeD/providers/registerStandard3dProviders.js";
11-
import { PROVIDER_3D_SCENE_GRAPH_INSPECTOR, createSceneGraphInspectorProvider } from "../../src/engine/debug/standard/threeD/providers/sceneGraphInspectorProvider.js";
8+
import {
9+
createStandard3dPanels,
10+
PANEL_3D_SCENE_GRAPH_INSPECTOR,
11+
create3dSceneGraphInspectorPanel,
12+
createStandard3dProviders,
13+
PROVIDER_3D_SCENE_GRAPH_INSPECTOR,
14+
createSceneGraphInspectorProvider
15+
} from "../../src/engine/debug/standard/threeD/index.js";
1216

1317
export async function run() {
1418
const provider = createSceneGraphInspectorProvider({

0 commit comments

Comments
 (0)