Repository navigation
quest(net): record Route job-retirement decision - #7770
Conversation
Quest-Claim: ed6f29e8e04accb8
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record the maintainer's 2026-11-03 decision on One Route handle and update announce takeover, which assumed handle inherited the prefix route's instance. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 11 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head: 7e43fe0.
No actionable finding in this planning change. The route-handle quest records a fresh default instance and independent job lifetimes, while the dependent takeover quest owns preserving those properties when it supplies inherited identity. Verification: static GitHub inspection of the plans and current ownership paths only; I did not run the model probes or interop tests.
(Written by review (OpenAI))
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Job instance default recorded:
quest/m1/api-audit/route/handle.mdnow states thatrequest.route(options)mints a fresh instance by default, that ending a job withdraws only its path while the prefix stays open with no ended-path history, and that an explicit stable instance is only for continuing sequences. - Takeover quest updated:
quest/m1/announce-takeover.mdnow attributes carrying the prefix route's instance to the takeover quest and requires fresh instances for restarted jobs with independent lifetimes.
The claims match the source: Request::prepare mints a fresh instance (rs/moq-net/src/model/origin.rs:5969), Requests::route() is the default with update_route crate-private (origin.rs:5771, origin.rs:5794), and doc/concept/identity.md:167-170 already describes each prepared job as a fresh instance. Other quest references to inheriting a claim's instance describe the takeover quest's end state, so they remain accurate.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Problem
One Route handle required a job's exact route to inherit its prefix route's instance by default, and every Route to keep its instance for its lifetime. But a job that ends and restarts beneath the same prefix restarts its group sequences, so it must not reuse that instance. The dependent takeover quest owned that retirement safety while requiring this quest to land first. Keeping the inherited default with independent restarts would also need a bounded way to tell a path's first job from a later run; a map of ended paths grows with serial requests over a long-lived prefix.
No publishing API implementation is included. This PR records the decision so the quest can be implemented.
Decision
request.route(options)mints a fresh instance by default, asRequest::preparedoes today, so a job that ends and restarts beneath a prefix gets a new instance for its restarted sequences.Approach
handle.md: the Plan gains a ✅ A job's instance item, with both the instance default for a restarted job and the fact that ending a child does not make its prefix terminal. The inherited-default sentence in Prefix routes and the## Waitingsection are removed.announce-takeover.md: that quest assumed the handle quest provided inheritance by default. Its Inheriting the instance item now says that carrying the claim's instance onto the job's route is its own change. That change must keep the decided properties: a restarted job still gets a fresh instance, and job lifetimes stay independent without per-path history of ended jobs. Its## Requiredline now describes the fresh default.doc/concept/identity.mdalready describes each requested path as published under a fresh instance, so it needs no change.Impact
Validation
quest check --base origin/main: passed (563 documents).sh/markdown.sh check(afterbun install --frozen-lockfile): passed.origin/main(b8e77d803f) without conflicts. moq-dev/moq#7678 (announcements as a path listing) is still open, not on main, so it does not affect this diff.reused_instance=true, retired_pin_resolves=true), while the current fresh instances do not. That is why the decision keeps fresh instances. The committed Rust source is unchanged.Overlap audit
Alternatives
Follow-ups
None added. Continuing a claim's readers on the job's route remains the existing takeover quest.
Review
quest reviewround 1 (codex gpt-6.1-sol, medium) at7e43fe0a7f: 0 findings.(Written by Claude Opus 5.5)