docs(adr): add ADR-0026 three-id order identity#47
Merged
Conversation
Close the ADR-0006 client-order-id hole with three ids by role: Order Id (internal, lifecycle-stable), Order Instruction Id (per place/amend/cancel; the idempotent-submit + reconciliation join key), and Broker Order Id (venue-assigned, learned from acks). Internal ids are derived-deterministic (EnvironmentId, generation, counter); generation is bumped once per boot and logged as an IncarnationStarted marker, reproduced by folding. Env-wide order-counter; Account/Source stays off the id. Two many-to-one resolution indexes; Core-owned chaining via supersedes in the canonical OrderInstruction. Glossary: sharpen Order; add Order Instruction, Order Id, Order Instruction Id, Broker Order Id, EnvironmentId. Mark the parked question resolved in the grilling spec; also normalize that file's markdown emphasis/list style. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughAdds ADR-0026 documenting a three-role deterministic order identity scheme (Order Id, Order Instruction Id, Broker Order Id), expands the CONTEXT.md glossary with EnvironmentId and all new ID terms, and updates the architecture grilling spec to mark the client-order-id parked question resolved with a new amend-before-ack sub-question. Order Identity Model Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This was referenced Jun 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #46.
Adds ADR-0026, closing the open client-order-id question from
ADR-0006 with a three-id
order-identity model, plus glossary updates. Produced in a
/grill-with-docssession.
What's decided
place/amend/cancel; the idempotent-submit + reconciliation join key) · Broker
Order Id (venue-assigned, learned from acks).
(EnvironmentId, generation, counter);generationis logged as anIncarnationStartedmarker and reproduced by folding(never recomputed on replay).
Account/Sourcestays off the id; two many-to-oneresolution indexes; Core-owned chaining via
supersedesin the canonicalOrderInstruction(the adapter renders it to the venue).Changes
docs/adr/0026-order-identity-three-ids-deterministic.md(new) — the decision,rationale, rejected alternatives, ADR cross-refs.
CONTEXT.md— sharpenOrder; addOrder Instruction,Order Id,Order Instruction Id,Broker Order Id,EnvironmentId.amend-before-acksub-question noted; markdown emphasis/list style normalized.
Notes
/ clippy
-D warnings/ nextest compile) is green.amend-before-ackedge), and thepersistence substrate (the next grilling branch).
🤖 Generated with Claude Code
Summary by CodeRabbit