Consider coalescing core + flexible-field audit entries for a single edit #13

Open
opened 2026-06-02 09:13:27 +00:00 by logaritmisk · 0 comments
Owner

Editing an object's core fields (catalog::update_object) and its flexible fields (catalog::set_object_fields) are separate calls, each recording its own Updated audit entry. When the API layer (Plan 7+/10) performs one logical edit touching both, in one transaction, that yields two audit entries for what the user sees as a single change.

Decide whether to coalesce them (e.g. a combined edit_object that records one audit entry with the union of core + flexible diffs) or accept two entries. Not a problem at the repository layer today; surfaces when the API composes the two.

Source: Plan 5 (object flexible fields) notes — forward-looking, an API-layer design decision.

Editing an object's core fields (`catalog::update_object`) and its flexible fields (`catalog::set_object_fields`) are separate calls, each recording its own `Updated` audit entry. When the API layer (Plan 7+/10) performs one logical edit touching both, in one transaction, that yields **two** audit entries for what the user sees as a single change. Decide whether to coalesce them (e.g. a combined `edit_object` that records one audit entry with the union of core + flexible diffs) or accept two entries. Not a problem at the repository layer today; surfaces when the API composes the two. _Source: Plan 5 (object flexible fields) notes — forward-looking, an API-layer design decision._
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logaritmisk/biggus-dickus#13