[P0-28] Add bounded mailboxes, admission control, and structured overload results #36
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-server#36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Governance / ARDR state
lost-rob0t/starintel-auto-research/roam/research/ardr-issues/ARDR-ISSUE-190-sento-bounded-mailbox-admission.org—READY_FOR_DESIGNlost-rob0t/starintel-auto-research/roam/design/star-server/STAR-SERVER-043-sento-bounded-admission.org—DESIGN_READY_FOR_OPERATOR_REVIEWExact Sento finding
Current StarIntel pin
mdbergmann/cl-gserver@6a510c5b58469e72e6363bd3a6059d80b9a5c320already has the actor-local primitive we need:message-box-baseacceptsmax-queue-size;0/nilselects an unbounded queue;queue-bounded;pushqimmediately signalsqueue-full-errorwhen full;queued-countexposes current depth;message-box/bt) and dispatcher-backed (message-box/dp) mailboxes inherit this queue selection.Therefore do not replace Sento's mailbox/queue backend for this P0. Configure the existing bounded queue and add StarIntel admission/result semantics around it.
Critical distinction
Mailbox backlog and dispatcher concurrency are different resources:
mailbox capacity != dispatcher worker count#35 bounds aggregate Sento execution lanes. This issue bounds queued work and composes that with HTTP, Rabbit, task and publication admission.
Required behavior
queue-full-errorand never silent success.drop-oldis not a default policy; it discards already-accepted work and requires separate workload-specific proof.Typed overload result
At minimum: boundary/component ID, reason, depth when observable, capacity, policy, optional justified retry-after, correlation/trace ID, timestamp.
Proposed slices — ALL PENDING OPERATOR APPROVAL
queue-full-errortranslation.RED-first targets
Acceptance