← docs · ADR

Assemble dissolves into acquire-then-project; the entry sequencer commits the cursor last

Context

ADR-0008 dissolved Consolidate into the pull-at-open sweep. The sweep (Assemble) itself still straddled three modules: it reads the transcript store (Aquisição), extracts and re-projects into the graph and Direction (Cortex), and is the blocking dispatch entry (Plataforma). By ADR-0019 it is a sequence, not cohesive logic of its own — so it dissolves.

Decision

Assemble dissolves. Its parts return to their home modules:

**Atomicity invariant: the sequencer commits the cursor only after both steps succeed.** A crash between acquire and project leaves the cursor un-advanced, so the next wake re-reads the same sessions. This gives all-or-nothing without a fat "Assemble module" — the transaction boundary is the cursor-commit, owned by the sequencer, not a monolith.

Consequences

silently-lost sessions the cursor would hide).