mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 14:00:37 +00:00
The preview's observability criterion is stated as every branch operation, and two of them sat outside it. A save routed to a branch's op log carried only the ordinary save props, and materialise carried none, so the two operations that matter most to an enterprise trial were the two with no duration in the record. Both attach `branch-operation`, `branch-outcome` and `branch-duration-ms` now: `save-branch`/`saved` on the save path, `materialize`/`materialized` on the exit door, including its idempotent no-op. The props travel in `::audit/replace-props` on the save path because that is the key the ordinary save already replaces, so the ordinary save's own props are untouched. The test that asserts the audit props now covers a save and a materialise alongside creation and merge. The three branch namespaces are 40 tests and 338 assertions, green.