A tier change keeps its cause and the operator's note in one text column, and nothing ties together the rows one act writes #179

Open
opened 2026-10-06 21:24:56 +00:00 by cgalo5758 · 2 comments
Owner

core.pool_provision_transitions.reason holds codes (operator_revocation, grant-resumption:subscription: plus an id), webhook event ids (#157) and, from Issue grant, the operator's note. The Tier changes list and the activity feed tell them apart in internal/server/operator_enrollment.go by prefix, then by actor type so a note starting like a code is not read as one. Every new writer adds a prefix.

A supersession writes an end and a typed row; supersededEnds pairs them by pool, instant, actor and reason, and the feed adds a second rule for extensions. The product an upgrade moved from is reachable only through that pairing.

Done when: each row carries a cause from a closed list, the note as text beside it, and an id shared by the rows one act writes; the conferral functions write them; both pages read them; and no Go code matches prefixes or pairs rows by time. #131 asks the same of subscription changes.

`core.pool_provision_transitions.reason` holds codes (`operator_revocation`, `grant-resumption:subscription:` plus an id), webhook event ids (#157) and, from Issue grant, the operator's note. The Tier changes list and the activity feed tell them apart in `internal/server/operator_enrollment.go` by prefix, then by actor type so a note starting like a code is not read as one. Every new writer adds a prefix. A supersession writes an end and a typed row; `supersededEnds` pairs them by pool, instant, actor and reason, and the feed adds a second rule for extensions. The product an upgrade moved from is reachable only through that pairing. Done when: each row carries a cause from a closed list, the note as text beside it, and an id shared by the rows one act writes; the conferral functions write them; both pages read them; and no Go code matches prefixes or pairs rows by time. #131 asks the same of subscription changes.
cgalo5758 added the
kind
design
area/entitlements
labels 2026-10-06 21:24:56 +00:00
Author
Owner

#179, #181 and #184 share one gap: an action that writes several rows has no record of its own, so readers rebuild it from prefixes, a borrowed request id, or the shape of a workflow id. They take one convention, decided by whichever is worked first and followed by the others. #184 comes first, because the published protocol (#171) needs its answer. #131 asks the same of subscription changes.

#179, #181 and #184 share one gap: an action that writes several rows has no record of its own, so readers rebuild it from prefixes, a borrowed request id, or the shape of a workflow id. They take one convention, decided by whichever is worked first and followed by the others. #184 comes first, because the published protocol (#171) needs its answer. #131 asks the same of subscription changes.
Author
Owner

The order changes: #187 sets the convention first, not #184, because its plan-wide acts need it before the others; this issue follows it (see #184).

The order changes: #187 sets the convention first, not #184, because its plan-wide acts need it before the others; this issue follows it (see #184).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#179