Causlane: Formal-model-first action dispatch
ArchitectureComments
I wonder if the strict rejection of a code-first workflow might miss some edge cases that only surface during implementation. Sometimes the act of writing the Rust kernel reveals constraints that the Alloy model didn't account for.
p is designed for state machines, meaning this isn't a general-purpose skeleton but a state-machine-specific one.
We saw this play out with early consensus libraries where state transitions were merely implied in the code. The resulting race conditions took months to squash because there was no source of truth to verify against.
Why focus on the drift between spec and code? The real question is whether the Rust boilerplate can be generated from the P model. If you're handwriting the kernel, the model is just expensive documentation.