mirror of
https://github.com/penpot/penpot.git
synced 2026-10-30 14:30:37 +00:00
Clear the current tuple after final settlement and before whole-program history checks. A skipped tail must not supply the action kind for a final undo or redo failure. Keep the full labelled trace and the invariant/phase in the error report; preserve immediate and deferred action attribution. Add real passing controls and final undo/redo corruption regressions for local, linked-library and source-editor histories. The regression failed 24 of 84 assertions before the fix. Five focused tests now pass all 121 assertions without weakening their checks. The shrink filter stays intact. The change covers only the generator harness and its tests. Validation: common JVM 2,015 tests / 33,268 assertions; common JS 1,951 / 31,879; frontend 1,751 / 13,976; backend 1,793 / 9,007; exporter 16 / 40. Six properties pass 40 programs at seed 712 in both common runtimes. Lint and format checks pass for all four modules. AI-assisted-by: gpt-6