ADR-0011 vNext: session-contract surfaces beyond v1 + per-harness conformance suite - #818
Draft
aarontrowbridge wants to merge 1 commit into
Draft
ADR-0011 vNext: session-contract surfaces beyond v1 + per-harness conformance suite#818aarontrowbridge wants to merge 1 commit into
aarontrowbridge wants to merge 1 commit into
Conversation
…lds + per-harness conformance suite Amends the Harness Contract ADR with the session-device-lifecycle spec's harness-agnostic placement amendment (spec-20260905-045114-session-device-lifecycle): - Three OPTIONAL richer session surfaces, each with its client-side fallback stated: server-computed list currency (count/max/sum over the projection + build id), server-side project resolution with first-class non-git homes, and boot parity records (parity-ok | parity-drift | channel-unreachable). The base contract remains fully implementable by a harness serving only today's canonical API. - The conformance-suite requirement: session-list query semantics are declared surface, validated per harness (opencode canonical, Telaio.jl, future); a semantics change without a companion fixture update fails the harness's conformance run. Generalizes the spec's fork-only H5 drift gate. - Boundary note: richer surfaces are contract, not premium — they live in the public contract so every backend can serve them; amicissimo adds no contract fields. Upstream contribution to anomalyco/opencode RECOMMENDED, not required.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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
Documentation-level amendment to the Harness Contract ADR (
docs/adr/0011-harness-contract.md), drafting the vNext section named by spec-20260905-045114-session-device-lifecycle (§ Placement under harness-agnostic, the post-approval amendment). The ADR's v1 decision stands unchanged.What the vNext section declares
list-generation = (count, max time_updated, sum of time_updated)over the default-list projection + build id, computed per response, never hand-bumped. Fallback: the client derives the same token over the projection it fetches and checks it against boot-time fetch-before-render.directory/projectID— data the global list already returns.parity-ok | parity-drift | channel-unreachable; unreachable fails open but is never rendered as ok. Fallback: client-side parity check against the release channel using the server-reported version.Conventions
.github/workflows/ci.yml).Tracking: the spec's reference is carried by amicode#817.