docs: scenarios the session designs must satisfy in a browser - #4282
Open
sea-snake wants to merge 25 commits into
Open
docs: scenarios the session designs must satisfy in a browser#4282sea-snake wants to merge 25 commits into
sea-snake wants to merge 25 commits into
Conversation
|
✅ No security or compliance issues detected. Reviewed everything up to c765beb. Security Overview
Detected Code Changes
|
sea-snake
force-pushed
the
docs/session-test-scenarios
branch
from
August 25, 2026 19:21
7e215f2 to
a5b42f8
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new documentation artifact that enumerates browser-observable session behaviors across the four session designs, bridging the gap between spec/unit tests and real user/app outcomes.
Changes:
- Introduces
docs/ongoing/session-test-scenarios.mdcontaining 62 scenarios grouped by topic (sign-in, delegation holding, tab/subdomain sharing, silent flows, revocation, limits, UI visibility, storage, recovery). - Cross-references each scenario to requirement IDs in the existing design specs, and includes a coverage/omissions section explaining what’s intentionally not tested via browser scenarios.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| Covers USE-4, MINT-3, MINT-11. | ||
| 2. **HOLD-2. An idle page does not replace anything.** | ||
| Sign in, then leave the page open and make no calls. | ||
| No delegation may be minted for a delegation nothing used. |
sea-snake
force-pushed
the
docs/session-test-scenarios
branch
from
August 25, 2026 19:28
734db1d to
8238890
Compare
The four session designs are specified and unit-tested, and everything they promise a user is about what happens in a browser: that access can be ended, that a second tab and a sibling subdomain do not ask again, and that a five-minute delegation being replaced is invisible. Thirty-six scenarios, each reachable by doing what a user does and seeing what a user sees, so none of them needs the app instrumented or a call made to fail on purpose. Each states the state it starts from, what is done and what must then be true, and cites the requirements it exercises so the specs can be walked in either direction. The requirements a user cannot reach are named by category at the end, with where each is tested instead. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
sea-snake
force-pushed
the
docs/session-test-scenarios
branch
from
August 25, 2026 19:36
8238890 to
9dd9d02
Compare
This was referenced Aug 26, 2026
The limit requirements gained one at the front, so every citation above it shifted. Two scenarios cited a cap requirement for behaviour that is about recording a use, and now cite that one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LVi99RYo2jyi2kCurgovNJ
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LVi99RYo2jyi2kCurgovNJ
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LVi99RYo2jyi2kCurgovNJ
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.
The four session designs have specifications and unit tests. What none of them has is a written account of the behaviour a user or an app can actually observe, which is where every promise the designs make to a user lives: that access can be ended, that a second tab and a sibling subdomain do not ask again, and that a five-minute delegation being replaced underneath the app is invisible.
docs/ongoing/session-test-scenarios.md— 62 scenarios in nine groups, each stating the state it starts from, what is done, and what must then be true, written to be run by a person or by a machine.Each cites the requirements it exercises, so the specs can be walked in either direction. Both directions are checked: every cited id resolves to a requirement in one of the four specs, and the requirements with no scenario against them are accounted for by name in a closing table — agent construction, channel and lock mechanics, the browser proof's cryptography, and canister-internal ordering — so an omission reads as a decision rather than an oversight.
Writing the reverse walk is what found the gaps: a first draft cited
TAB-1and nothing else from the twelve tab requirements, and missed that a live session does not exempt an account reference list from eviction. Ten scenarios came out of closing that.🤖 Generated with Claude Code
https://claude.ai/code/session_01LVi99RYo2jyi2kCurgovNJ