Skip to main content

Module dev

Module dev 

Source
Expand description

frame dev — the long-lived development loop (F-7b).

Library-shaped, typed core under the thin CLI verb: watch the generated project’s component inputs by filesystem EVENTS, rebuild one coalesced edit burst at a time, and hot-swap successful candidates against the landed lifecycle while the node keeps serving last-known-good bytes.

Ruling B is the line throughout: no timer in this module tree checks for change. The only dev-loop timer is the semantic edit-quiet deadline that starts already-known dirty work.

Modules§

build
Candidate builds in generation-specific staging (F-7b R3): each build generation gets its own staging copy of the component inputs, so compiler partials can never overwrite last-good bytes, and the content snapshot is identified by a BLAKE3 digest computed over the copied bytes in deterministic order (constraint 8 — the digest, not timing, identifies a build).
debounce
The R2 burst-coalescing state machine: relevant filesystem events open an edit burst; one resettable semantic quiet deadline defines the burst; expiry starts exactly one build of the latest content snapshot; edits during a build make the completing candidate stale (last write wins) and schedule exactly one follow-up build.
session
The dev session loop: watcher events → classification → coalescing → builds → candidate pushes, around ONE wait.
watch
The tear-sanctioned watcher backend, with the polling-backend exclusion asserted at startup (F-7b constraint 4, condition 3).