Skip to content

Keep review identity and phase visible in compact layouts - #102

Merged
alexschmander merged 1 commit into
feat/review-target-contextfrom
fix/compact-review-context
Sep 7, 2026
Merged

Keep review identity and phase visible in compact layouts#102
alexschmander merged 1 commit into
feat/review-target-contextfrom
fix/compact-review-context

Conversation

@alexschmander

@alexschmander alexschmander commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

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.

  • Current head: 44326cfbe69a487c9e3b5d0aa9b7c6a64c6d7f05.
  • Verified comparison base: 8d6d313377c7dbf8a48a85deb5489499df0ff0e7.
  • Passed ./scripts/verify.sh changed 8d6d313377c7dbf8a48a85deb5489499df0ff0e7 on this exact head: locked Rust baseline, both workspaces, all-feature UI tests, WASM check and release Trunk build.
  • Local execution used the shared Cargo target, two build jobs, debug info disabled and four test threads.
  • Hosted CI must run again for the new head. Prior CI and review-handoff statements below apply only to historical heads; this rebase does not claim new independent acceptance.
  • Existing draft state, assignments and reviewer requests are preserved. No unrelated source changes, runtime data, lockfile changes or generated distributions are included.

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 shared panels/review_context_bar.rs renders 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

Acceptance criterion Evidence
Visible workflow/class, explicit type and canonical phase Seven focused review-bar tests inspect actual painted text, clipping and full AccessKit names; native and Chromium long-name bbox/skeleton screenshots
Ordinary, correction, final and migration targets remain synchronized Tests cover final/correction/loading/no assignment, stale task selection, duplicate names with different types, missing preview, excluded/discovered migration targets and confirmation; Chromium ordinary/migration object decisions update both bar and Inspector
Complete keyboard/touch details Native and deterministic Enter/Tab/Escape tests verify opening, initial Close focus and focus return; Chromium touch opens and scrolls the Inspector
Short layouts retain context, decisions and canvas Deterministic seven-size layout checks and native six-size matrix; 320×320 object/correction/final screenshots retain visible canvas and controls; enlarged Body font uses measured extra height
Actual browser DPR and zoom Chromium 153.0.8010.12, 13 viewport/DPR combinations each for bbox, skeleton and migration, plus correction checks and real 200% browser zoom; all four runs report zero console/page/request failures

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:

CARGO_BUILD_JOBS=2 CARGO_PROFILE_DEV_DEBUG=0 CARGO_PROFILE_TEST_DEBUG=0 RUST_TEST_THREADS=4 NO_COLOR=true ./scripts/verify.sh changed 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 --check and 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}/ and acceptance-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 2c45a4eddf4f33334070dc4e6b172ad954333571 against 886de15b274c454449cb4941253fb6c7d09b62c5 covers the inherited storage correction and all issue tests. The refreshed canonical passed 656 tests plus formatting, Clippy, inspector and release WASM. See upstream-refresh/source-scope.json and upstream-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.md with compact identity/type/phase priority, measured wrapping and details interaction. Updated docs/ui-ownership.md with 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

  • Unrelated worktree changes were preserved and excluded from this change.
  • No credentials, runtime datasets, generated browser distribution, or sensitive diagnostics are included.

Handoff status

  • Implementation evidence is assembled and the pull request is Awaiting CI.
  • The required CI check succeeded on this pull request's exact current head SHA.
  • The pull-request author is the accountable implementation owner and is assigned to both the issue and pull request.
  • The implementing agent did not add or remove requested reviewers.
  • Ready for review: exact-head CI and the authorized metadata handoff are complete; independent acceptance remains pending.
  • An independent human or verification agent inspected the original issue, final diff, and evidence and attempted to falsify the acceptance claims.

Final exact-head Testing succeeded for 2c45a4eddf4f33334070dc4e6b172ad954333571: 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.

@alexschmander alexschmander self-assigned this Sep 5, 2026
@alexschmander
alexschmander marked this pull request as ready for review September 5, 2026 18:09
@alexschmander
alexschmander marked this pull request as draft September 5, 2026 20:47
@alexschmander
alexschmander marked this pull request as ready for review September 5, 2026 21:11
@alexschmander
alexschmander force-pushed the fix/compact-review-context branch from 2c45a4e to 44326cf Compare September 7, 2026 13:43
@alexschmander
alexschmander merged commit d5b3b8a into main Sep 7, 2026
12 of 20 checks passed
@alexschmander
alexschmander deleted the fix/compact-review-context branch September 7, 2026 17:07
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.

Show the reviewed workflow type in compact review layouts

1 participant