Keep review identity and phase visible in compact layouts - #102
Merged
alexschmander merged 1 commit intoSep 7, 2026
Merged
Conversation
alexschmander
marked this pull request as ready for review
September 5, 2026 18:09
8 tasks
alexschmander
marked this pull request as draft
September 5, 2026 20:47
alexschmander
marked this pull request as ready for review
September 5, 2026 21:11
alexschmander
force-pushed
the
fix/compact-review-context
branch
from
September 7, 2026 13:43
2c45a4e to
44326cf
Compare
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.
Current rebase verification — 2026-09-07
Rebuilt this PR's own change on the updated stack, rooted at main
37c207f84c0aadf570b1409da4693b1bc070a280(including #98, #101 and #103). Each PR has one commit; integration conflicts were resolved at the owning layer.44326cfbe69a487c9e3b5d0aa9b7c6a64c6d7f05.8d6d313377c7dbf8a48a85deb5489499df0ff0e7../scripts/verify.sh changed 8d6d313377c7dbf8a48a85deb5489499df0ff0e7on this exact head: locked Rust baseline, both workspaces, all-feature UI tests, WASM check and release Trunk build.Supplementary runtime checks on the final combined stack
c6610ace040c0efd153006e18a9af9a0bfe686a5: Production Chromium 153.0.8010.12 passed keyboard +/−, wheel zoom and Fit, six viewports at DPR1 and DPR2, 390×844 at DPR3, and actual 200% browser zoom. Used a real disposable loopback server and synthetic images. Browser build-mismatch composition was not separately exercised; native/kittest covers it. Browser accessibility exposes Canvas only; widget semantics were checked natively. Browser font preferences do not establish egui text-only scaling support. No physical-device claim.Original implementation description and historical verification
Behavior or contract
Fixes #26. Compact and stacked review bars now retain workflow/class identity, the full annotation type, and the current canonical phase. The summary opens complete Inspector details by touch or keyboard and returns focus after dismissal. Only the identity line truncates; measured type/phase wrapping reserves the required shell height.
Stacked on #99 at
886de15b274c454449cb4941253fb6c7d09b62c5, which depends on #98 and #81. #19 will consume the remaining action width; #5 remains a separate integration track.Production ownership path
LabelloApp::review_context()from #25 remains the single immutable target projection. The new sharedpanels/review_context_bar.rsrenders and measures its identity/type/phase; shell allocation uses that same measurement. Native inspector and WASM both reach this production owner. The only added transient state remembers the details invoker for focus return. Domain targets, review policy, persistence, API and client remain unchanged.Acceptance criteria and evidence
Regression protection
The compact-details regression failed on the unchanged parent. A final-phase Tab→Escape test also failed before waiting for the dismissed modal layer to retire; it passes with the production focus fix. Existing responsive and migration assertions now query the visible details button and actual painted phase, while retaining decision and panel reachability checks. The final all-feature UI suite passes 304 tests.
Verification
PASS on the final 14-file source manifest, with comparison base
886de15b274c454449cb4941253fb6c7d09b62c5:This ran formatting, strict Clippy, locked workspace/all-feature UI tests, standalone inspector check, WASM check and locked release Trunk build. Final native build and four private Chromium scenario drivers also passed.
git diff --checkand exact source-hash comparison passed. No lockfile changes.Local evidence is preserved under
.worktrees/orchestration/issue-26/:canonical-4.log,canonical-result.json,native-build-4.log,native-final/v2/,browser-final/{review,review-skeleton,migration,correction}/andacceptance-final.md. Earlier fail-before checks, the native focus defect and superseded runs remain recorded. Canonical run 3 was explicitly stopped after a private edit command failed; run 4 is the final successful record.The refreshed stack includes the verified #7/#12 configuration serialization correction through append merges. The source delta from the previous issue head is confined to inherited storage locking, race regressions and persistence documentation. Shared UI, domain, client, API and app source is byte-identical, with no merge conflicts or new issue-specific logic. Prior native and Chromium evidence remains applicable to these unchanged paths; the fresh canonical run at
2c45a4eddf4f33334070dc4e6b172ad954333571against886de15b274c454449cb4941253fb6c7d09b62c5covers the inherited storage correction and all issue tests. The refreshed canonical passed 656 tests plus formatting, Clippy, inspector and release WASM. Seeupstream-refresh/source-scope.jsonandupstream-refresh/canonical.log. Combined G6 live testing and independent acceptance are still separate gates.Visual or browser evidence
Inspected native object/final/correction and details states at 1440×1000, 1288×820, 600×800, 390×844, 320×568 and 320×320. Browser bbox/skeleton/migration each cover all six sizes at DPR 1 and 2, plus a fresh 390×844 DPR 3 bootstrap, canvas backing/PNG dimensions and real 200% zoom. Correction verifies unsaved input stays local and discard returns to the object context. Synthetic fixtures only; owned runtimes were stopped.
The private fixtures/server binaries are reused from the unchanged #25 backend and identified in the evidence. The UI uses the final canonical release WASM and final native build. Read-only Playwright dependencies come from the reserved G1 checkout; that checkout was not changed or rebuilt.
Documentation
Updated
docs/ui-design-guidelines.mdwith compact identity/type/phase priority, measured wrapping and details interaction. Updateddocs/ui-ownership.mdwith the shared bar owner. Existing verification markers and unrelated contracts remain unchanged; no links or anchors were added.Risks and omitted checks
No required check omitted. Chromium exposes the canvas rather than widget-level AccessKit; widget accessibility is proved by native/kittest, not claimed for browser screen readers. Browser font preferences were applied but egui does not inherit platform text size; the deterministic larger-font test supplies that coverage. DPR 3 is verified at the mobile bootstrap size, not wide startup. Cross-track combinations with #3, #5, #14 and #19 still require the orchestrated group check. Independent acceptance remains pending.
Worktree integrity
Handoff status
Final exact-head
Testingsucceeded for2c45a4eddf4f33334070dc4e6b172ad954333571: https://github.com/HULKs/labello/actions/runs/33991770313/job/101375619347. Issue and PR are assigned to author alexschmander, nondraft and In review; existing reviewer requests are preserved. Independent group acceptance remains separately recorded.