- Notifications
You must be signed in to change notification settings - Fork 0
Complete document accordion and auth-safe catalogue refresh#1485
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Uh oh!
There was an error while loading. Please reload this page.
Merged
Changes from all commits
Commits
Show all changes
47 commits
Select commit
Hold shift + click to select a range
4bcf98d
feat: complete document and privacy follow-ups
BigSimmo 9dc12fb
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 1addcec
fix: reject stale catalogue responses across identities
BigSimmo d95563e
docs: record moderate batch review
BigSimmo 7fb1d8d
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 3606a46
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 35b77b9
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 1665ffd
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo e0d429f
docs: format merged issue ledger
BigSimmo d55bd52
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo dbc8b23
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 8d081b0
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo ada64e2
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo f56e43c
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo dc77146
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 6ab7145
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo e1ce4aa
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo e2063e1
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 417718a
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 9742ceb
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo a3ec951
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 2bdd1eb
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 4e8c5ad
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo fd06dd0
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 643e127
Merge origin/main into codex/moderate-batch-20260730
cursoragent e8839a7
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo e582500
Merge remote-tracking branch 'origin/codex/moderate-batch-20260730' i…
BigSimmo 2ef147b
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 4586e78
Merge origin/main into codex/moderate-batch-20260730
cursoragent 613fe58
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 6f20fdd
fix: retain catalog refetch across credential pulses
cursoragent f6c0fc3
Merge remote codex/moderate-batch-20260730
cursoragent e936a11
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 231e8b1
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 3502b85
Merge origin/main into codex/moderate-batch-20260730
cursoragent aa7eb99
fix: revalidate differential cache after error and credential pulses
cursoragent d582c49
Merge remote codex/moderate-batch-20260730
cursoragent 27aacfd
docs: record PR #1485 accordion/catalogue review
cursoragent e728c9c
Merge origin/main into codex/moderate-batch-20260730
cursoragent 649b6e0
Merge remote-tracking branch 'origin/main' into codex/moderate-batch-…
BigSimmo 9f12b69
Merge remote-tracking branch 'origin/codex/moderate-batch-20260730' i…
BigSimmo ba44b0c
fix: satisfy React Compiler deps on differential refetch
cursoragent c7b57f1
fix: preserve differential refetch memoization
BigSimmo 7550bfa
Merge remote-tracking branch 'origin/codex/moderate-batch-20260730' i…
BigSimmo 4d7a5c4
docs: resolve outstanding issue allocation table
BigSimmo f4f42fb
Merge origin/main into codex/moderate-batch-20260730
cursoragent cf5cefa
docs: record exact PR 1485 review
BigSimmo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
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
Large diffs are not rendered by default.
Oops, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| # Comparison behaviour | ||
| This is the shared interaction contract for side-by-side comparison surfaces. It standardises | ||
| selection, state, navigation, and accessibility without standardising the clinical fields or the | ||
| meaning of a comparison. | ||
| Existing reference surfaces are differential diagnosis, Services Navigator, and Therapy Compass. | ||
| New comparison work should reuse this behaviour before introducing another interaction model. | ||
| ## Selection contract | ||
| - Comparison is always an explicit user action. A mode may suggest or initially select likely | ||
| candidates, but every selected item remains visibly removable before comparison begins. | ||
| - Zero selected items shows an instructional empty state. One selected item asks for one more. | ||
| Two or more enables the comparison action. The mode owns any upper limit and states it before | ||
| the limit is reached and when an add is refused. | ||
| - Selection controls state both actions: `Add <item> to comparison` and `Remove <item> from | ||
| comparison`. Selected state is visually apparent and exposed with the appropriate native or | ||
| ARIA state. | ||
| - Selection contains stable item identifiers, never copied clinical records. Remove identifiers | ||
| that no longer exist in the active result set or authorised catalogue. | ||
| - A query, mode, organisation, or authenticated-user change must not silently carry selections | ||
| into a different scope. Clear them unless the surface has a deliberate, tested, shareable URL | ||
| contract for that exact scope. | ||
| ## Entry and exit | ||
| - The compare affordance includes the current selected count. While fewer than two items are | ||
| selected it is disabled or rendered as an explicit instructional action; it is never inert. | ||
| - Desktop placement belongs near the selection controls or summary rail. On phones, a docked or | ||
| composer-adjacent action is allowed only when its owner and content reserve follow | ||
| `search-chrome-behaviour.md`. | ||
| - Opening comparison preserves enough context to return to the originating results. Removing an | ||
| item in comparison updates the originating selection if both views share client state. | ||
| - A clear-all action is available once anything is selected. It is disabled at zero and does not | ||
| delete, mutate, or hide source records. | ||
| ## Comparison states | ||
| - With two or more items, align equivalent fields so a user can scan one field across all items. | ||
| A narrow viewport may use a labelled stacked layout or horizontal scrolling; it must not reorder | ||
| an item's fields or detach values from their item and field labels. | ||
| - Loading or background refetch preserves the last authorised comparison and labels it as | ||
| refreshing. An identity or comparison-scope change clears it synchronously before new data is | ||
| requested. | ||
| - Missing, unknown, not applicable, and failed-to-load are distinct states. Do not render a blank | ||
| cell where the distinction affects interpretation. | ||
| - Source, review, freshness, or confidence context stays attached to the item or field it qualifies. | ||
| A summary may highlight differences, but it must not replace the underlying source context. | ||
| - Copy, print, and share actions operate only on the visible selected set and are disabled until the | ||
| set is valid. Shared URLs must validate every identifier and apply the same access checks as the | ||
| underlying record routes. | ||
| ## Mode-owned content | ||
| The shared contract does not define comparison fields, clinical recommendations, rankings, | ||
| thresholds, evidence weighting, or generated prose. Each mode owns those through its existing data, | ||
| governance, and safety contracts. Adding a new comparison surface must document: | ||
| 1. the record type and stable identifier; | ||
| 2. the minimum and maximum selection count; | ||
| 3. when selection is cleared or restored; | ||
| 4. the field order and missing-value semantics; | ||
| 5. source/review context and any clinical owner; | ||
| 6. phone layout, keyboard order, and return path; and | ||
| 7. focused tests for zero, one, valid, over-limit, stale-record, and identity-change states. | ||
| Do not create a shared clinical comparison component until at least two modes use the same field | ||
| semantics. Shared selection helpers or layout primitives are acceptable when they preserve each | ||
| mode's content ownership. |
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
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
Oops, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Oops, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
Uh oh!
There was an error while loading. Please reload this page.