Motivation
Push spec-level logic and structural queries down to the engine and core layers. These are prerequisites for MCP full coverage (Phase 2) and the ProposalManager (Phase 4A). Nothing else can start until this foundation is in place.
Parent epic: #9 — Unified Authoring Architecture
Scope
Pass 1a: Engine Exports (E1-E3)
Pass 1b: Bind Normalization + Field Paths (C1, C8)
Pass 1c: Tree + Selection Ops (C5-C7)
Pass 1d: Queries + Serialization (C2-C4, C9-C11)
Acceptance Criteria
- All predicates, queries, and operations are exported from
formspec-engine or formspec-core (not hardcoded in studio)
- Studio code that duplicates these functions is deleted and replaced with imports
- Unit tests at the engine/core layer for each exported function
npm run check:deps passes (no upward dependency violations)
Layer
Engine / Core (Layers 1-2)
Dependencies
None — this is the foundation.
Motivation
Push spec-level logic and structural queries down to the engine and core layers. These are prerequisites for MCP full coverage (Phase 2) and the ProposalManager (Phase 4A). Nothing else can start until this foundation is in place.
Parent epic: #9 — Unified Authoring Architecture
Scope
Pass 1a: Engine Exports (E1-E3)
Pass 1b: Bind Normalization + Field Paths (C1, C8)
normalizeBindsin LogicTab/CommandPalette)Pass 1c: Tree + Selection Ops (C5-C7)
Pass 1d: Queries + Serialization (C2-C4, C9-C11)
Acceptance Criteria
formspec-engineorformspec-core(not hardcoded in studio)npm run check:depspasses (no upward dependency violations)Layer
Engine / Core (Layers 1-2)
Dependencies
None — this is the foundation.