feat(core-eslint): add usecase-must-be-wired conformance rule
Catches manifest use cases that aren't wired through wireUseCase(...) in bind-production.ts / bind-dev-seed.ts. wireUseCase is the canonical helper that attaches __instrumented / __captured / __audited brands — skipping it produces an unbranded binding that assertFeatureConformance would reject at boot. This rule shifts that detection from ~3s (boot) to <1s (lint), keeping the layered conformance pattern: TS brands (compile), ESLint (lint), boot assertion (dev), smoke tests (CI). CLAUDE.md + conformance-quickref.md updated for the new rule (5 → 6).
This commit is contained in:
@@ -3,6 +3,7 @@ import usecaseMustHaveTestFile from "./rules/usecase-must-have-test-file.js";
|
||||
import requiredCoresInstalled from "./rules/required-cores-installed.js";
|
||||
import noUndeclaredEventPublish from "./rules/no-undeclared-event-publish.js";
|
||||
import noUndeclaredAudit from "./rules/no-undeclared-audit.js";
|
||||
import usecaseMustBeWired from "./rules/usecase-must-be-wired.js";
|
||||
import componentMustHaveStory from "./rules/component-must-have-story.js";
|
||||
import componentMustHaveTest from "./rules/component-must-have-test.js";
|
||||
import atomicTierImportDirection from "./rules/atomic-tier-import-direction.js";
|
||||
@@ -28,6 +29,7 @@ const plugin = {
|
||||
"required-cores-installed": requiredCoresInstalled,
|
||||
"no-undeclared-event-publish": noUndeclaredEventPublish,
|
||||
"no-undeclared-audit": noUndeclaredAudit,
|
||||
"usecase-must-be-wired": usecaseMustBeWired,
|
||||
"component-must-have-story": componentMustHaveStory,
|
||||
"component-must-have-test": componentMustHaveTest,
|
||||
"atomic-tier-import-direction": atomicTierImportDirection,
|
||||
|
||||
Reference in New Issue
Block a user