AUDIT FOLLOW-UP: fold #237 in, fix clear inconsistencies, fresh capture on HEAD #261

Closed
opened 2026-09-27 19:16:40 +00:00 by kayg · 5 comments
Owner

Follow-up to the #237 consistency audit (report on job/ui-audit, artifacts/consistency-audit/REPORT.md). Orchestrator triage (2026-09-27 night):

Do (decided / clear consistency fixes)

  1. Bring the audit in: merge origin/job/ui-audit into this branch, resolving apps/web/e2e/layout-sweep.mjs against dev (keep every assertion from both sides), and move the report from artifacts/consistency-audit/REPORT.md to docs/audits/consistency-237.md (artifacts/ is gitignored; docs are the right home).
  2. Calendar photo-pile count uses an 11 px size: switch it to the shared caption token (DESIGN §34 minimum + one rem scale).
  3. Photos stack confirmation says "Delete" although it moves to Trash: use "Move to Trash" in the title and member choices; reserve "Delete" for permanent removal. Audit the whole app for the same mismatch (same action, same name everywhere).
  4. DESIGN §34 says search is Cmd/Ctrl+/; the owner explicitly chose Cmd/Ctrl+K (registry is correct). Fix DESIGN, not the registry.
  5. DESIGN §33 "reality note" says the photo viewer is not built; it is. Update.

Do NOT

  • Recommendation 1 (Settings breadcrumbs) is superseded: the owner chose back button + H1 (#219, merged).
  • No blur changes (#246 owns them).

Re-capture

After fixes, rerun the audit capture on current HEAD (the old matrix was from 0558cc4) with the broad layout assertions ON, and attach the four fresh contact sheets to this issue (not committed). List every new inconsistency found as a numbered list on the issue (the orchestrator turns it into the owner's grill).
Gates once, commit, push, report within ~2 hours.

Follow-up to the #237 consistency audit (report on `job/ui-audit`, `artifacts/consistency-audit/REPORT.md`). Orchestrator triage (2026-09-27 night): ## Do (decided / clear consistency fixes) 1. Bring the audit in: merge `origin/job/ui-audit` into this branch, resolving `apps/web/e2e/layout-sweep.mjs` against dev (keep every assertion from both sides), and move the report from `artifacts/consistency-audit/REPORT.md` to `docs/audits/consistency-237.md` (artifacts/ is gitignored; docs are the right home). 2. Calendar photo-pile count uses an 11 px size: switch it to the shared caption token (DESIGN §34 minimum + one rem scale). 3. Photos stack confirmation says "Delete" although it moves to Trash: use "Move to Trash" in the title and member choices; reserve "Delete" for permanent removal. Audit the whole app for the same mismatch (same action, same name everywhere). 4. DESIGN §34 says search is Cmd/Ctrl+/; the owner explicitly chose Cmd/Ctrl+K (registry is correct). Fix DESIGN, not the registry. 5. DESIGN §33 "reality note" says the photo viewer is not built; it is. Update. ## Do NOT - Recommendation 1 (Settings breadcrumbs) is superseded: the owner chose back button + H1 (#219, merged). - No blur changes (#246 owns them). ## Re-capture After fixes, rerun the audit capture on current HEAD (the old matrix was from 0558cc4) with the broad layout assertions ON, and attach the four fresh contact sheets to this issue (not committed). List every new inconsistency found as a numbered list on the issue (the orchestrator turns it into the owner's grill). Gates once, commit, push, report within ~2 hours.
Author
Owner

Starting #261 follow-up on job/audit-fixes. Base SHA: 3ad937ec888c1fe45ce6e1d3052383e024dc5220 (current dev). I’m merging job/ui-audit (#237), keeping both layout-sweep assertion sets, then I’ll apply the decided consistency fixes, update the DESIGN reality notes, and capture the current production build.

Starting #261 follow-up on `job/audit-fixes`. Base SHA: `3ad937ec888c1fe45ce6e1d3052383e024dc5220` (current `dev`). I’m merging `job/ui-audit` (#237), keeping both layout-sweep assertion sets, then I’ll apply the decided consistency fixes, update the DESIGN reality notes, and capture the current production build.
Author
Owner

Audit finding — Saved search actions use “Delete” for a reversible Trash operation. apps/web/src/lib/search/SavedSearchList.svelte:46 labels the menu action “Delete”; apps/web/src/lib/components/search-dialog.svelte:676 labels the button and tooltip “Delete”; both call savedSearches.remove, and the success toast says the item moved to Trash. crates/calternal-search/src/saved.rs:480–503 documents the delete endpoint as moving the saved-search file to Trash and calls state.root.trash(&path). I’m changing the action labels and the saved-search unavailable copy to say “Move to Trash” consistently.

Audit finding — Saved search actions use “Delete” for a reversible Trash operation. `apps/web/src/lib/search/SavedSearchList.svelte:46` labels the menu action “Delete”; `apps/web/src/lib/components/search-dialog.svelte:676` labels the button and tooltip “Delete”; both call `savedSearches.remove`, and the success toast says the item moved to Trash. `crates/calternal-search/src/saved.rs:480–503` documents the delete endpoint as moving the saved-search file to Trash and calls `state.root.trash(&path)`. I’m changing the action labels and the saved-search unavailable copy to say “Move to Trash” consistently.
Author
Owner

Fresh follow-up capture is complete. The product build used app source a0f760c43ad1d1094a07da46873c7f9e354c9066; later commits only update the audit harness. It produced 552 full-screen captures and 552 header crops across 47 capture names. Photos albums are marked not built.

Contact sheets:

The broad sweep checked 644 screens and ended with 359 FAIL lines and two WARN lines. It did not pass. I fixed two audit-harness errors and verified the null-geometry fix with a focused Admin Backups run (checked 4 screens; LAYOUT SWEEP PASSED). The full sweep was not rerun after those test-only changes.

Numbered findings:

  1. Saved-search removal said “Delete” in the sidebar and Search window, while its endpoint moves the saved-search file to Trash. The labels now say “Move to Trash”.
  2. Analytics StatRow action controls measured 12 px from the card edge; the sweep expects the card’s 18 px inset. The same four controls failed 13 route or state checks.
  3. Phone hit targets need review: Search palette actions measured 35×35 px, Ask mode rows measured 43 px high, and Calendar Week and Agenda controls missed edge hit tests.
  4. The icon and label check reported a Recent file label 9 px off center, a Calendar pile count 19.5 px off center, and Notes and Calendar preview labels just over 1 px off center.
  5. The Calendar Month phone view recorded CLS 0.119 while loading.
  6. Mobile interaction probes timed out on folder navigation, the photo viewer, Admin sign-in, Calendar preview, and Files selection/toast checks.

Harness fixes: the header sweep now measures ModeHeader’s .progressive-blur root instead of a removed .mh-blur wrapper; the layout measurement helper safely skips missing optional elements. Neither change alters app blur behavior or removes assertions. Full details are in docs/audits/consistency-237.md.

Fresh follow-up capture is complete. The product build used app source `a0f760c43ad1d1094a07da46873c7f9e354c9066`; later commits only update the audit harness. It produced 552 full-screen captures and 552 header crops across 47 capture names. Photos albums are marked not built. Contact sheets: - Paper 390 px: https://git.kayg.org/attachments/e9fe35a2-5e28-48dd-87cd-21fbddb7e996 - Paper 1440 px: https://git.kayg.org/attachments/b6fb0c93-eef4-45b2-ad61-45d278bab860 - Tokyo Night 390 px: https://git.kayg.org/attachments/11e4d247-d4ea-49ff-9283-1cb5e7c5812d - Tokyo Night 1440 px: https://git.kayg.org/attachments/690a4581-a58e-49cd-9b93-6987b1cdae70 The broad sweep checked 644 screens and ended with 359 FAIL lines and two WARN lines. It did not pass. I fixed two audit-harness errors and verified the null-geometry fix with a focused Admin Backups run (`checked 4 screens`; `LAYOUT SWEEP PASSED`). The full sweep was not rerun after those test-only changes. Numbered findings: 1. Saved-search removal said “Delete” in the sidebar and Search window, while its endpoint moves the saved-search file to Trash. The labels now say “Move to Trash”. 2. Analytics StatRow action controls measured 12 px from the card edge; the sweep expects the card’s 18 px inset. The same four controls failed 13 route or state checks. 3. Phone hit targets need review: Search palette actions measured 35×35 px, Ask mode rows measured 43 px high, and Calendar Week and Agenda controls missed edge hit tests. 4. The icon and label check reported a Recent file label 9 px off center, a Calendar pile count 19.5 px off center, and Notes and Calendar preview labels just over 1 px off center. 5. The Calendar Month phone view recorded CLS 0.119 while loading. 6. Mobile interaction probes timed out on folder navigation, the photo viewer, Admin sign-in, Calendar preview, and Files selection/toast checks. Harness fixes: the header sweep now measures ModeHeader’s `.progressive-blur` root instead of a removed `.mh-blur` wrapper; the layout measurement helper safely skips missing optional elements. Neither change alters app blur behavior or removes assertions. Full details are in `docs/audits/consistency-237.md`.
Author
Owner

Final report

The requested kayg/calternal#261237 lookup returned 404, so I reported this follow-up on the matching issue, kayg/calternal#261.

Branch: job/audit-fixes (based on dev); pushed HEAD: ae4ff50341cbfbb7453236d873622bf2105a0145.

Work

  • Merged job/ui-audit and kept its broad layout assertions.
  • Corrected reversible Trash action copy in Photos and Saved Searches, and aligned the Calendar photo pile caption with its design token.
  • Corrected DESIGN §33 to describe the shipped /p/<item-id> photo viewer and §34 to specify Cmd/Ctrl+K.
  • Updated audit selectors/helpers to follow the rendered blur class and handle absent optional elements; corrected the Photos Tags E2E heading selector.
  • Added the capture results and findings to docs/audits/consistency-237.md.

Files: apps/web/e2e/header-sweep.mjs, apps/web/e2e/layout-sweep.mjs, apps/web/e2e/photos.mjs, apps/web/src/lib/components/search-dialog.svelte, apps/web/src/lib/photos/PhotosView.svelte, apps/web/src/lib/search/SavedSearchList.svelte, apps/web/src/routes/search/saved/[id]/+page.svelte, docs/DESIGN.md, docs/audits/consistency-237.md, packages/ui/src/components/calendar/GridColumn.svelte.

Capture and findings

The production capture covered 644 checked screens with broad assertions enabled. It recorded 359 failures and 2 warnings and did not report LAYOUT SWEEP PASSED. Audit harness assumptions behind selector and missing-element errors were corrected afterward; the full broad sweep was not rerun. The focused admin-backups check passed: checked 4 screens / LAYOUT SWEEP PASSED. The four contact sheets are attached in the earlier issue comment (Paper and Tokyo Night, phone and desktop).

Findings #1–#6 are in the earlier numbered audit comment and in docs/audits/consistency-237.md. Additional verification finding #7: bun run test:e2e:photos passes the earlier viewer, deep-link, burst, RAW+JPEG, and Live Photo checks, then times out waiting for .select-count after clicking the first .check during multi-select (30s). This remains unresolved. The two layout warnings concern shared icons on Settings Signed-in devices and Agents rows. The audit also recorded 12px Analytics card-edge inset, undersized/misaligned phone targets, several icon/label offsets, Calendar Month phone CLS 0.119, and mobile interaction timeouts; these are detailed in the report.

Gates

cargo fmt --check: exit 0, no output.

cargo clippy --all-targets -- -D warnings (exit 0):

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 11m 35s

cargo test: exit 0; all reported suites had zero failures. Final doc-test output:

Doc-tests calternal_tags

running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

bun run check:

Loading svelte-check in workspace: /home/kayg/Developer/calternal-wt/audit-fixes/apps/web
Getting Svelte diagnostics...

svelte-check found 0 errors and 0 warnings

bun run test:

 Test Files  86 passed (86)
      Tests  604 passed (604)
   Start at  00:01:04
   Duration  50.36s (transform 61%, environment 15%, import 13%, tests 8%, setup 3%)

  Transform  |component| transforming modules took 96.08s · 54% of tracked time, re-done on every run
             persist transforms across runs with fsModuleCache: true
             learn more: https://vitest.dev/guide/improving-performance#caching-between-reruns

Cleanup: cargo clean reported Removed 15961 files, 13.3GiB total; web build output was removed. Worktree was clean at HEAD ae4ff50341cbfbb7453236d873622bf2105a0145.

Decisions

Where DESIGN was out of date, I treated the current shipped photo viewer and Cmd/Ctrl+K palette shortcut as the source of truth and corrected §33/§34. Reversible removals use “Move to Trash” copy. Albums remain unbuilt.

## Final report The requested `kayg/calternal#261237` lookup returned 404, so I reported this follow-up on the matching issue, `kayg/calternal#261`. Branch: `job/audit-fixes` (based on `dev`); pushed HEAD: `ae4ff50341cbfbb7453236d873622bf2105a0145`. ### Work - Merged `job/ui-audit` and kept its broad layout assertions. - Corrected reversible Trash action copy in Photos and Saved Searches, and aligned the Calendar photo pile caption with its design token. - Corrected DESIGN §33 to describe the shipped `/p/<item-id>` photo viewer and §34 to specify Cmd/Ctrl+K. - Updated audit selectors/helpers to follow the rendered blur class and handle absent optional elements; corrected the Photos Tags E2E heading selector. - Added the capture results and findings to `docs/audits/consistency-237.md`. Files: `apps/web/e2e/header-sweep.mjs`, `apps/web/e2e/layout-sweep.mjs`, `apps/web/e2e/photos.mjs`, `apps/web/src/lib/components/search-dialog.svelte`, `apps/web/src/lib/photos/PhotosView.svelte`, `apps/web/src/lib/search/SavedSearchList.svelte`, `apps/web/src/routes/search/saved/[id]/+page.svelte`, `docs/DESIGN.md`, `docs/audits/consistency-237.md`, `packages/ui/src/components/calendar/GridColumn.svelte`. ### Capture and findings The production capture covered 644 checked screens with broad assertions enabled. It recorded 359 failures and 2 warnings and did not report `LAYOUT SWEEP PASSED`. Audit harness assumptions behind selector and missing-element errors were corrected afterward; the full broad sweep was not rerun. The focused `admin-backups` check passed: `checked 4 screens` / `LAYOUT SWEEP PASSED`. The four contact sheets are attached in the earlier issue comment (Paper and Tokyo Night, phone and desktop). Findings #1–#6 are in the earlier numbered audit comment and in `docs/audits/consistency-237.md`. Additional verification finding #7: `bun run test:e2e:photos` passes the earlier viewer, deep-link, burst, RAW+JPEG, and Live Photo checks, then times out waiting for `.select-count` after clicking the first `.check` during multi-select (30s). This remains unresolved. The two layout warnings concern shared icons on Settings `Signed-in devices` and `Agents` rows. The audit also recorded 12px Analytics card-edge inset, undersized/misaligned phone targets, several icon/label offsets, Calendar Month phone CLS 0.119, and mobile interaction timeouts; these are detailed in the report. ### Gates `cargo fmt --check`: exit 0, no output. `cargo clippy --all-targets -- -D warnings` (exit 0): ``` Finished `dev` profile [unoptimized + debuginfo] target(s) in 11m 35s ``` `cargo test`: exit 0; all reported suites had zero failures. Final doc-test output: ``` Doc-tests calternal_tags running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s ``` `bun run check`: ``` Loading svelte-check in workspace: /home/kayg/Developer/calternal-wt/audit-fixes/apps/web Getting Svelte diagnostics... svelte-check found 0 errors and 0 warnings ``` `bun run test`: ``` Test Files 86 passed (86) Tests 604 passed (604) Start at 00:01:04 Duration 50.36s (transform 61%, environment 15%, import 13%, tests 8%, setup 3%) Transform |component| transforming modules took 96.08s · 54% of tracked time, re-done on every run persist transforms across runs with fsModuleCache: true learn more: https://vitest.dev/guide/improving-performance#caching-between-reruns ``` Cleanup: `cargo clean` reported `Removed 15961 files, 13.3GiB total`; web build output was removed. Worktree was clean at HEAD `ae4ff50341cbfbb7453236d873622bf2105a0145`. ### Decisions Where DESIGN was out of date, I treated the current shipped photo viewer and Cmd/Ctrl+K palette shortcut as the source of truth and corrected §33/§34. Reversible removals use “Move to Trash” copy. Albums remain unbuilt.
Author
Owner

Merged in 4787d78f (audit report now docs/audits/consistency-237.md; svelte-check 0/0, web 605/605). Findings 2–6 → #276 (bugs, not grill questions); finding 4 also covered by #253.

Merged in 4787d78f (audit report now docs/audits/consistency-237.md; svelte-check 0/0, web 605/605). Findings 2–6 → #276 (bugs, not grill questions); finding 4 also covered by #253.
kayg closed this issue 2026-09-27 22:10:49 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#261
No description provided.