Skip to content

docs(adr): ADR 0024 — list + live-preview workspace concrete design#56

Merged
jinyeow merged 1 commit into
mainfrom
docs/adr-0024-preview-workspace
Jul 23, 2026
Merged

docs(adr): ADR 0024 — list + live-preview workspace concrete design#56
jinyeow merged 1 commit into
mainfrom
docs/adr-0024-preview-workspace

Conversation

@jinyeow

@jinyeow jinyeow commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Closes #42. Process gate 1 of the flagship (tracking issue #36): merging this PR = design sign-off — no Track 2 build ticket starts before it lands.

Records the decided (2026-07-20, A/A/A) concrete design for ADR 0022 stage B as ADR 0024, condensing docs/flagship-preview-design.md:

  • Always-on previewpreview = auto|off in config.toml, auto-collapse thresholds (prototype-tunable), collapsed = today's UX.
  • Two-tier load — tier 1 instant from list-row data; tier 2 on ~200 ms debounced cursor-settle via injected TimeProvider.
  • Tab claims pane focus in the workspace — deliberate break of the global Tab=NextTab alias there; [/] stay canonical (ADR 0021); ADR 0023 remap is the mitigation.
  • The load invariant, verbatim as spec (atomic PreviewState publish, keyed-on-displayed-item + seq stamp, single-flight cancel-superseded with faults observed, debounce) — reject-on-violation, typed via the flagship foundation: H3 — SingleFlightCache<K,V> + Published<T> (typed ADR-0008 invariants) #46 foundations.
  • The reuse boundary — H2 pure formatters shared by dialog + preview (width + tier params, subset-not-clone), all actions and the whole DiffReviewDialog stay modal, detail VMs per previewed item.

Also: ADR 0022 stage-B entry links here; ADR README indexed.

All code references verified against current main (DiffState PrDiffViewModel.cs:81, _loadSeq in both list VMs, FocusLeft/Right + Tab bindings KeyBindingTable.cs:49/114-115, ResponsiveLayout.Compute).

@jinyeow
jinyeow merged commit 4a3a4af into main Jul 23, 2026
5 checks passed
@jinyeow
jinyeow deleted the docs/adr-0024-preview-workspace branch July 23, 2026 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

flagship: ADR 0024 — list+preview workspace concrete design (A/A/A)

1 participant