#907 EPIC: Tier-classify Highway (tier0-3) and extract non-essential surface out of engine/core
Description
EditEARS SPEC:
Scope: classify every component, tool, API route and DB table across jumper, highway-core, highway-dsl, api/ and enterprise/ into tier0 (engine impossible without it), tier1 (engine unusable without it), tier2 (real selling point, optional), tier3 (unnecessary/baked-in for completeness). Then move each out of core to its correct destination: core / optional package-extra / enterprise / customer app.
- The Highway tiering shall define exactly four tiers, each with a falsifiable admission test, and shall assign every component to exactly one tier.
- The Highway tiering shall be recorded as an in-repo artifact and enforced at PR review alongside the existing genericity rule in CONTRIBUTING.md.
- Where a component is tier2, the Highway packaging shall express it as an optional dependency extra rather than a hard dependency.
- Where a component is tier3, the Highway project shall delete it or relocate it to an app, and shall not retain it as core surface.
- When a component is proposed for tier0, the Highway team shall demonstrate that removing it makes a durable workflow fail to complete correctly or lose/duplicate work under crash recovery.
- If a usage or dead-code check is used to justify deletion, then the check shall be run with a submodule-aware search and the exact command shall be recorded, because the default grep silently skips docker/highway-core (see memory grep_skips_submodules).
- If a file is scheduled for splitting under EPIC #854 and is also a candidate for extraction under this epic, then the extraction decision shall be made before the split, to avoid fanning its imports across more modules.
- The Highway core package (highway-core) shall not declare a hard dependency on any library used only by the enterprise layer.
- The highway_dsl grammar package shall not depend on an LLM/MCP runtime in order to define workflow operators.
Note: analysis/classification only in this epic. No behaviour change; child tickets carry the actual moves.
Comments
Loading comments...
Context
Loading context...
Audit History
View AllLoading audit history...