Skip to content

@kekkai/blueprint / LayerBans

Interface: LayerBans ​

Defined in: src/inspect/rules.ts:60

One declared source position's resolved bans — what the structural rules actually enforce there. Field agents answered "is the rule really wired?" by parsing eslint --print-config output by hand (issue #7); this is that view, derived from the same primitives emitLint compiles from.

Properties ​

forbidden ​

forbidden: string[]

Defined in: src/inspect/rules.ts:63

Layers this one must not import.


globals ​

globals: string[]

Defined in: src/inspect/rules.ts:72

Owned globals banned here.


layer ​

layer: string

Defined in: src/inspect/rules.ts:61


packages ​

packages: string[]

Defined in: src/inspect/rules.ts:65

Owned packages banned here (named imports in parentheses).


packagesNote? ​

optional packagesNote?: string

Defined in: src/inspect/rules.ts:70

Why this column needs verifying by hand. Beside the field it is about, not once at the top: a consumer reading bans[i].packages never looks at a sibling key.


selfOnly ​

selfOnly: object[]

Defined in: src/inspect/rules.ts:85

The selfOnly re-export bans on this layer's files — the exact no-restricted-syntax selector per (target, alias).

selectors is what ESLint resolves and doctor compares; it is a trap to paste, because the / escapes resolve when JS parses the string literal and the regex silently ends early — no parse error, lint still green. jsLiteral is the same selector as JS source, quotes included, so the paste survives (field run #125).

note repeats per entry rather than sitting once at the top: an agent arrives here for selectors to copy, and a caveat has to be where the copy happens.

jsLiteral ​

jsLiteral: string[]

note ​

note: string

selectors ​

selectors: string[]

target ​

target: string


testExemptions ​

testExemptions: string[]

Defined in: src/inspect/rules.ts:87

Test-file scope carried by the architecture test-file policy.