v0.43.0
Batches issue #227 (the abstraction-tightening cleanup — workstreams B/C/D/A) plus the new uniqueness lint and two fixes, since v0.42.0.
Features
tfstackplan uniqueness— cross-env config uniqueness lint (#231).
Refactor — issue #227 (abstraction tightening)
- A — exec-event migration (#232 #233 #234 #235): execution/stack/edge/
superseded_bystate is now fully event-sourced through the new per-execution aggregateinternal/execution(streamrun:<execID>);executions/stacks/edges/execution_phasesare true projections rebuilt from the fold; the direct-write path (UpsertInit/UpdateStack/UpsertPhase/SetExecutionStatus/SupersedeExecution/ReviveExecution) is gone; the dead exec-event layer was removed frominternal/reconcile. - B — dead static-UI removal (#228): removed the orphaned
/imgSVG path and the user-facinggroup {}serve-config block (−961 lines). - C — naming/micro-packages (#229):
internal/statemoves→internal/moveset;run step→run wrap(with a warning alias); foldedinternal/causality→internal/runnerandinternal/presets→internal/classify. - D — docs restructure (#230): present-tense
docs/DESIGN.mdrewrite + reference-drift fixes.
Fixes
- serve: reset status and clear
superseded_bywhen an execution ID is reused (#226, closes #198). - claims/status: auto-discover server and default audience (PM-197, #225).
⚠️ Deploy note (breaking for live serve config)
Workstream B removed the group {} serve-config block. gohcl rejects unknown blocks, so any live serve .tfstackplan.hcl still carrying a group {} block must have it removed before deploying this version, or serve fails to start.