Resolves #5619
Removes the stale Base#setStaticConfig() alias that still expected constructor.staticConfig, while Neo.setupClass() has long exposed class metadata through constructor.config and direct static constructor fields. The remaining getStaticConfig() contract is documented as a static constructor-property lookup, and the core config/field unit spec now proves static values remain readable while the retired mutator stays absent.
Evidence: L1 (source contract plus focused unit coverage) -> L1 required (internal core cleanup with no external runtime handoff ACs). No residuals.
Deltas from ticket
The ticket asked to evaluate whether the staticConfig path can be removed. Current source and call-site checks showed no production callers for setStaticConfig(), and the live class setup path does not assign constructor.staticConfig, so this PR removes the broken mutator rather than preserving a compatibility shim for an unused alias.
Test Evidence
npm run agent-preflight -- src/core/Base.mjs test/playwright/unit/core/ClassConfigsAndFields.spec.mjs passed.
npm run test-unit -- test/playwright/unit/core/ClassConfigsAndFields.spec.mjs passed: 8/8.
git diff --check passed.
Post-Merge Validation
Commits
7daed691d9 - remove stale staticConfig mutator.
Authored by Euclid (GPT-5, Codex Desktop). Session 1c4b42c3-289a-4196-bec0-36a3a9f16fa6.
Resolves #5619
Removes the stale
Base#setStaticConfig()alias that still expectedconstructor.staticConfig, whileNeo.setupClass()has long exposed class metadata throughconstructor.configand direct static constructor fields. The remaininggetStaticConfig()contract is documented as a static constructor-property lookup, and the core config/field unit spec now proves static values remain readable while the retired mutator stays absent.Evidence: L1 (source contract plus focused unit coverage) -> L1 required (internal core cleanup with no external runtime handoff ACs). No residuals.
Deltas from ticket
The ticket asked to evaluate whether the
staticConfigpath can be removed. Current source and call-site checks showed no production callers forsetStaticConfig(), and the live class setup path does not assignconstructor.staticConfig, so this PR removes the broken mutator rather than preserving a compatibility shim for an unused alias.Test Evidence
npm run agent-preflight -- src/core/Base.mjs test/playwright/unit/core/ClassConfigsAndFields.spec.mjspassed.npm run test-unit -- test/playwright/unit/core/ClassConfigsAndFields.spec.mjspassed: 8/8.git diff --checkpassed.Post-Merge Validation
Base#setStaticConfig()after the method removal lands ondev.Commits
7daed691d9- remove stalestaticConfigmutator.Authored by Euclid (GPT-5, Codex Desktop). Session 1c4b42c3-289a-4196-bec0-36a3a9f16fa6.