ARDR: reconcile end-to-end idempotency and duplicate suppression #183
Labels
No labels
bug
design
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-auto-research#183
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?
Research transaction
Issue-backed ARDR transaction for
lost-rob0t/starintel-server#47— end-to-end idempotency and duplicate suppression across HTTP, Rabbit, persistence, targets, and leases.Canonical Org artifacts
roam/research/star-server/STAR-RESEARCH-053-end-to-end-idempotency-duplicate-suppression.orgroam/design/star-server/STAR-SERVER-052-end-to-end-idempotency-duplicate-suppression.orgLifecycle:
READY_FOR_DESIGNDESIGN_READY_FOR_OPERATOR_REVIEWApproval state:
Current-source reconciliation
Audited
starintel-serverhead:8fb297d146e7332fae7e38170b5b49d49530ac53.Current source already has target-specific principal-scoped idempotency identity/fingerprint semantics plus a separate target-dispatch fingerprint, while lease work has stronger request/digest replay and fencing semantics. This cycle therefore does not propose a blank-slate global dedupe cache. It defines one application-level transport-neutral idempotency state machine that composes with those existing identities.
Key decision
A scoped logical operation identity binds atomically to one deterministic semantic request fingerprint. One claimant gets first
execute-authority; duplicates may replay known success/failure, remain in-progress, require reconciliation after ambiguous outcomes, or conflict when the same key is reused with changed semantics. Outcome-unknown is never retried as fresh logical work merely because a process restarts or a timeout occurs.Rabbit delivery tags, HTTP request/correlation IDs, scheduled occurrence attempts, outbox events, and lease fencing generations retain separate identities/authorities. Replay does not bypass current authorization. Generic idempotency must not revive stale lease/fence authority.
Implementation boundary
Existing
starintel-server#47was updated as the bounded implementation handoff with RED-first slices, dependencies, and acceptance criteria.Implementation authorization remains
PENDING / AWAITING_OPERATOR_IMPLEMENTATION_APPROVAL. Do not expose this work to executable RAGE until explicit operator approval is recorded in the canonical workflow.