loom-before-after
Before/After Verification
Overview
A delta-proof proves a stage caused a change, not merely that the end state is valid. Capture what is true BEFORE implementation and what must be true AFTER; the pair distinguishes "my stage made it work" from "it already worked" (and "my fix resolved it" from "already fixed"). Without it, a green acceptance can pass on code that was already correct — proving nothing.
⚠️
truthsis GONE as a standalone field. Behavioral "after state" commands now go inacceptance(Simple string, or Extended object for output matching). The explicit, automated delta-proof mechanism is thebefore_stage/after_stagefields — unchanged, stillVec<TruthCheck>. A top-leveltruths:block is silently ignored and false-passes.
The delta pattern
| Case | BEFORE (pre-condition) | AFTER (post-condition) |
|---|---|---|
| New feature | reproducer FAILS (feature absent) | reproducer SUCCEEDS |
| Bug fix (inverted!) | reproducer SUCCEEDS (bug present) | reproducer FAILS (bug gone) |
| Behavior change | old behavior observed | new behavior observed |
For a bug fix the direction inverts: the reproducer "passing" means the bug is still there. before_stage with exit_code: 1 on the reproducer, after_stage with exit_code: 0.