🔨 Build Framework — Signal-Controlled Production OS

DIA-1326 · FW-01→FW-16 · consumes the Constitution DIA-1341 · 🏛️ structure · 🕸️ workflows · ← vault status
The anchor — read it before any build

Signal Intelligence reads the moat (the 14) · Control routes the next move · Production builds: System → Line → Asset → Station · Engine Objects trace the runtime · Contract bounds it · Map navigates it · Labels show it · Smoke Test proves the loop.

Build unit = 1 deliverable = 1 Asset + its Station graph. The moat is NOT the machine — the machine serves the signal layer. The Engine (GHL) is a black box to MCP/API, so Linear carries the visibility it can’t give.

The 4 planes Signal → Control → Production → Proof — the loop

Signal IntelligenceSensor → Signal (the 14-moat) → Signal Set / Pulse → Gap → PainReads what changed. The moat — judgment, not tools.
ControlAxis → Router → Rule → GateDecides the next move (System / variant / message / suppress / escalate / STOP).
ProductionSystem → Line → Asset → Station · traced to Engine ObjectsBuilds the output. (The diagram below.)
Proof / StateSmoke Test → State → Trace → Receipt → DashboardVerifies the loop. Done needs live/readback proof.

Production plane System → Line → Asset → Station · Engine Objects branch off · all converge at Smoke Test

container (System / Asset) Line (lane) Station (step) Engine Object (runtime) Smoke Test (gate) blocks → Smoke Test
SYSTEM
= a packaged offer (inside a Core)
LINE · SELL
public offer surface
LINE · CHECKOUT
payment path
LINE · OFFER OUTPUT
promise + Core·Client handoff
SMOKE TEST
launch-readiness gate
ASSET
1 deliverable · the command card
ENGINE OBJECT · WF-RRS-DELIVER
runtime:workflow · exist:needs-readback
ENGINE OBJECT · rrs:purchase-confirmed
runtime:tag · point:purchase-confirmed
STATION 1 Script
STATION 2 Visual
STATION 3 Voice
STATION 4 Assembly
STATION 5 Embed
STATION 6 Proof

Dashed orange = blocks → Smoke Test (real Linear relations, not text). Concrete nodes = the Revenue Root System instance (FW-13). The shape is identical for every System — that is Goal 2.

The 2 goals the yardstick every node is measured against

Goal 1 — dependency-visible + non-inventedArrive at any node and SEE its up/down dependencies — Contract, Line, Stations, Engine Objects. Never re-derive, never invent. The Engine Object layer carries the GHL dependencies MCP can’t read.
Goal 2 — reusable + trackableSame model every System (reusable) + filter state by label axis in 4 months instead of rereading (trackable). Proven + tracked nodes graduate to dynamic workflows.

The production layers what each node IS · its Linear primitive · its rule

LayerIsLinear primitiveRule
SystemA packaged offer / client mechanismLinear Project (inside a Core)Container only — Contract + Map + Milestones. NOT where work is produced.
LineA production path / laneIssue (under the System)5.0 lean: SELL · CHECKOUT · OFFER OUTPUT · SMOKE TEST. Assets hang under it.
AssetOne concrete deliverableIssue — the command cardBody = FRAME → DELIVERY → PROOF → RECEIPT. 1 deliverable = 1 Asset.
StationOne execution stepSub-issue1 skill step = 1 Station. Never group. Output in the comment.
Engine ObjectA runtime object in an EngineIssue (exact name in title)Only when shared / risky / breaks >1 System. The GHL-blindness substitute.
Smoke TestThe launch-readiness gateIssue (Assets block it)No Asset claims launch alone. Proof converges here.
🔒 Core·Diagaxis / Core·Client lock

OFFER OUTPUT = the Core·Diagaxis promise + handoff. The client-installed build = Lines + Stations in Core·Client. Never call a Line “Delivery Journey” — that’s the Client-Facing Journey (end-customer experience), not a Line.

The label-axis stack labels are filters, NOT object names

Runtime objects get Engine Object cards (exact name in title), not labels. Labels stay queryable axes. Filter e.g. platform:ghl + exist:needs-readback = every GHL object still to verify.

FamilyValuesAxis
runtime:workflow · tag · custom-field · custom-value · route · webhook · form · agent · prompt · stripe-productobject type
platform:ghl · stripe · studio · vibecode · linear · axisone
exist:spec · planned · needs-readback · visual-verified · api-verified · live-verified · deprecated · protectedverification ladder
state:paid · activated · pending · configuring · live · lead-captured · owner-requested · needs-review · blocked · proof-requiredobject condition (was signal:)
point:checkout · purchase-confirmed · setup · lead-capture · owner-request · delivery-start · delivery-live · final-smoke · nurture · reactivationjourney point
scope: / risk:shared · offer-specific · client-specific / breaking-change · legacy · stalescope + risk

+ spine axes: core:* · machine:* · offer:* · asset:* · surface:* · stage:* · proof:* · owner:* · flow:810. Signal is reserved for the 14-moat.

Governance consumes the Constitution, never overrides it

RelationTargetWhat
ConsumesDIA-1341 (Constitution)The nomenclature authority. If this procedure conflicts with the Constitution, the Constitution wins.
Redressed from"Tree Workflow"Tree · Page-Rail banned. Page-Rail→Line · Step→Station · Object card→Engine Object · Final Smoke→Smoke Test · Spine→Contract+Map · signal:* (state)→state:*.
Per SystemContract + MapContract = source-truth boundary. Map = navigable view. Both, per System.