**`labelle check` lint — the enforcement "net" (Phase 5).** AST-scan for what the compile wall can't catch: - **event-direction inversions** — a low pack subscribing to a high pack's event (events are inherently shared, so direction is lint-only). - **raw `.global`-facet writes** that bypass the sanctioned API — e.g. `addComponent(Locked{...})` instead of `Locked.tryAcquire` (reintroduces double-claim). - **cross-pack registry access on foreign names** (`getType`/`entityHasNamed`) — until the two-tier registry partition (engine #650) makes it a compile error. This is the backstop while enforcement strengthens across phases. --- Part of **Packs** — RFC Flying-Platform/flying-platform-labelle#561 · umbrella labelle-toolkit/labelle-engine#651 · epic labelle-toolkit/labelle-engine#650.
Activity