Analytics: phone heatmap labels collide; Activity heatmap too small on desktop #381

Open
opened 2026-09-29 01:21:09 +00:00 by kayg · 9 comments
Owner

Bug (Claude review of #354 screenshots): phone Analytics heatmap labels collide

At 390 px, the "Time of day" heatmap's weekday labels (S M T W T F S) stack with no gap, and the hour axis labels "12" and "18" are clipped at the right. The "Activity" heatmap at 1440 px uses a tiny fraction of the card width.

Fix

Weekday labels on the heatmap's row pitch (one label per row, centred), hour labels never clipped (drop to 0/6/12/18 with room, or 0/12 at the narrowest), and the Activity heatmap scales its cells to the card width (up to a max cell size token). Role tokens only; screenshots at 390/820/1440, light and dark.

## Bug (Claude review of #354 screenshots): phone Analytics heatmap labels collide At 390 px, the "Time of day" heatmap's weekday labels (S M T W T F S) stack with no gap, and the hour axis labels "12" and "18" are clipped at the right. The "Activity" heatmap at 1440 px uses a tiny fraction of the card width. ## Fix Weekday labels on the heatmap's row pitch (one label per row, centred), hour labels never clipped (drop to 0/6/12/18 with room, or 0/12 at the narrowest), and the Activity heatmap scales its cells to the card width (up to a max cell size token). Role tokens only; screenshots at 390/820/1440, light and dark.
Author
Owner

Starting the three UI fixes on job/ui-small-2, based on dev at 45315bb9e9d8577d843ea24909014baa6a7b954d.

Starting the three UI fixes on `job/ui-small-2`, based on `dev` at `45315bb9e9d8577d843ea24909014baa6a7b954d`.
Author
Owner

Finding: Analytics' Time of day chart uses a 3.1:1 shell, renders all seven weekday ticks, and divides the hour axis into 24 columns; at phone width this leaves less vertical pitch than the label line and clips two-digit hour labels. The Activity calendar chart sets binSize={11}, which prevents its cells from growing with the card width.

Finding: Analytics' Time of day chart uses a 3.1:1 shell, renders all seven weekday ticks, and divides the hour axis into 24 columns; at phone width this leaves less vertical pitch than the label line and clips two-digit hour labels. The Activity calendar chart sets `binSize={11}`, which prevents its cells from growing with the card width.
Author
Owner

Finding from production screenshot verification on the merged branch: at 1440 px in Paper, the Activity heatmap card measured 1006.015625 px wide while a cell measured 16.453125 px. The #381 screenshot assertion requires at least 18 px cells at this desktop width, so the chart still reads too small. The capture is continuing through the remaining viewport/theme combinations before I adjust the sizing.

Finding from production screenshot verification on the merged branch: at 1440 px in Paper, the Activity heatmap card measured 1006.015625 px wide while a cell measured 16.453125 px. The #381 screenshot assertion requires at least 18 px cells at this desktop width, so the chart still reads too small. The capture is continuing through the remaining viewport/theme combinations before I adjust the sizing.
Author
Owner

Completed on job/ui-small-2 at head c74f2d9b6f1333e3b31b16b1cd74e3d857c8ae85.

The Analytics activity heatmap now uses responsive calendar labels and fluid cells with shared minimum and maximum size roles. Activity cells stay legible on narrow screens and stop growing past the role maximum on wide screens. The time-of-day labels collapse to the primary hours on phones. Activity uses the same responsive sizing.

Production screenshots are in artifacts/ui-small-2/analytics/. They cover week, month, and year views at 390, 820, and 1440 px in Paper and Tokyo Night. The artifacts remain local and ignored. The available fj issue comment CLI accepts text only and has no attachment command, so I could not attach the image files to this issue.

Gates:

  • cargo fmt --check passed with no output.
  • cargo clippy --all-targets -- -D warnings output:
Finished `dev` profile [unoptimized + debuginfo] target(s) in 113m 36s
  • cargo test: all 76 test groups reported test result: ok; aggregate was 1,537 passed, 0 failed, 13 ignored.
  • bun run check: Text sizes use shared role tokens. and svelte-check found 0 errors and 0 warnings.
  • bun run test: Test Files 123 passed (123) and Tests 790 passed (790).

Decision not specified in DESIGN: set heatmap cell roles to 0.8125 rem minimum and 1.125 rem maximum with a 1.75 rem calendar gutter; the screenshot assertion checks a 13–18 px cell range while requiring the chart to fill its available card width.

Known gap: screenshots are present in the worktree but not attached through fj; 13 Rust tests are intentionally ignored because they need pinned model assets or manual performance measurement.

Completed on `job/ui-small-2` at head `c74f2d9b6f1333e3b31b16b1cd74e3d857c8ae85`. The Analytics activity heatmap now uses responsive calendar labels and fluid cells with shared minimum and maximum size roles. Activity cells stay legible on narrow screens and stop growing past the role maximum on wide screens. The time-of-day labels collapse to the primary hours on phones. Activity uses the same responsive sizing. Production screenshots are in `artifacts/ui-small-2/analytics/`. They cover week, month, and year views at 390, 820, and 1440 px in Paper and Tokyo Night. The artifacts remain local and ignored. The available `fj issue comment` CLI accepts text only and has no attachment command, so I could not attach the image files to this issue. Gates: - `cargo fmt --check` passed with no output. - `cargo clippy --all-targets -- -D warnings` output: ```text Finished `dev` profile [unoptimized + debuginfo] target(s) in 113m 36s ``` - `cargo test`: all 76 test groups reported `test result: ok`; aggregate was 1,537 passed, 0 failed, 13 ignored. - `bun run check`: `Text sizes use shared role tokens.` and `svelte-check found 0 errors and 0 warnings`. - `bun run test`: `Test Files 123 passed (123)` and `Tests 790 passed (790)`. Decision not specified in DESIGN: set heatmap cell roles to 0.8125 rem minimum and 1.125 rem maximum with a 1.75 rem calendar gutter; the screenshot assertion checks a 13–18 px cell range while requiring the chart to fill its available card width. Known gap: screenshots are present in the worktree but not attached through `fj`; 13 Rust tests are intentionally ignored because they need pinned model assets or manual performance measurement.
Author
Owner

Starting verification of #381 on job/small-bugs-3, based on dev at dfb5964a2fcf13dc8b9a50a319eee09bc386f322. I will check the current Analytics heatmap behavior at the requested viewport sizes and themes.

Starting verification of #381 on `job/small-bugs-3`, based on `dev` at `dfb5964a2fcf13dc8b9a50a319eee09bc386f322`. I will check the current Analytics heatmap behavior at the requested viewport sizes and themes.
Author
Owner

#381 finding: The responsive Analytics layout is already present in this branch base: the year heatmap assigns weekday labels to separate row elements, uses sparse phone hour labels, and sizes Activity cells across the desktop chart. The production E2E proof now writes one real Log entry, captures week, month and year at 390/820/1440 in both themes, and asserts weekday spacing, axis labels, and desktop cell bounds. It passed with all 18 screenshots in artifacts/small-bugs-3/analytics/. The focused proof is commit 5839de161.

#381 finding: The responsive Analytics layout is already present in this branch base: the year heatmap assigns weekday labels to separate row elements, uses sparse phone hour labels, and sizes Activity cells across the desktop chart. The production E2E proof now writes one real Log entry, captures week, month and year at 390/820/1440 in both themes, and asserts weekday spacing, axis labels, and desktop cell bounds. It passed with all 18 screenshots in `artifacts/small-bugs-3/analytics/`. The focused proof is commit `5839de161`.
Author
Owner

Finished #381. HEAD: 4720cac4d2.

The responsive heatmap layout was already present. Added a focused production E2E screenshot mode that seeds one real Log entry and asserts the heatmap layout for week, month and year. It passed after the origin/dev merge: seeded 1 real Log entries for heatmap layout screenshots; analytics e2e: all checks passed.

Screenshots: artifacts/small-bugs-3/analytics-final/ (18 PNGs: three periods, three widths, two themes). They remain in ignored worktree artifacts; scripts/fj has no binary attachment command, so I could not attach them to Forgejo.

Web gate output (verbatim result lines):

bun run --cwd apps/web check

$ node scripts/check-type-tokens.mjs && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json
Text sizes and UI shape values use shared role tokens.
Loading svelte-check in workspace: /home/kayg/Developer/calternal-wt/small-bugs-3/apps/web
Getting Svelte diagnostics...

svelte-check found 0 errors and 0 warnings

bun run --cwd apps/web test

FAIL  |component| src/lib/components/analytics/widgets/StatRow.svelte.test.ts > StatRow summary cards > toggles all four cards together and remembers the mode
Error: Test timed out in 5000ms.

Test Files  1 failed | 136 passed (137)
     Tests  1 failed | 888 passed (889)
error: script "test" exited with code 1

The sole Web test failure was the 5-second timeout above in merged Analytics StatRow coverage. I did not change its expectation. No Rust source changed, so no Rust crate gates ran. cargo clean output: Removed 7066 files, 4.0GiB total.

Finished #381. HEAD: 4720cac4d20747c4ccf514d94117d03ec5d95067. The responsive heatmap layout was already present. Added a focused production E2E screenshot mode that seeds one real Log entry and asserts the heatmap layout for week, month and year. It passed after the origin/dev merge: seeded 1 real Log entries for heatmap layout screenshots; analytics e2e: all checks passed. Screenshots: artifacts/small-bugs-3/analytics-final/ (18 PNGs: three periods, three widths, two themes). They remain in ignored worktree artifacts; scripts/fj has no binary attachment command, so I could not attach them to Forgejo. Web gate output (verbatim result lines): bun run --cwd apps/web check ``` $ node scripts/check-type-tokens.mjs && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json Text sizes and UI shape values use shared role tokens. Loading svelte-check in workspace: /home/kayg/Developer/calternal-wt/small-bugs-3/apps/web Getting Svelte diagnostics... svelte-check found 0 errors and 0 warnings ``` bun run --cwd apps/web test ``` FAIL |component| src/lib/components/analytics/widgets/StatRow.svelte.test.ts > StatRow summary cards > toggles all four cards together and remembers the mode Error: Test timed out in 5000ms. Test Files 1 failed | 136 passed (137) Tests 1 failed | 888 passed (889) error: script "test" exited with code 1 ``` The sole Web test failure was the 5-second timeout above in merged Analytics StatRow coverage. I did not change its expectation. No Rust source changed, so no Rust crate gates ran. cargo clean output: Removed 7066 files, 4.0GiB total.
Author
Owner

Merge round 3 integration report

State: incomplete; do not fast-forward this snapshot to dev yet. The four-hour job limit ended while CLI Clippy was compiling. No completed final-tree gate failed. No source branch was dropped because the completed gates showed no failing branch.

  • Branch: job/merge-round-3
  • Head: 3e5056d485e9021d2d1f708613e783b0b901b447
  • Included in order: job/multiget-500, job/dav-delete-471, job/iso-435, job/admin-deny-483, job/attach-427, job/hidden-420, job/files-sel-keys, job/small-bugs-3, job/sweep-478.
  • Additional commits: 92f5803f3, 3ea69e317, 26b986bc4, 0948cffa1, 99c088193, df6b07a5a, 3e5056d48.

Completed gate output (verbatim excerpts)

cargo fmt --check exited 0 with no output.

  • DAV clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 56.92s`
  • DAV tests:
    test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
    test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.31s
  • Notes Core clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 14.97s`
  • Notes Core tests:
    test result: ok. 512 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
    test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.21s
    test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
    test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.35s
    test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
  • Notes plugin clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 2m 55s`
  • Notes plugin tests: test result: ok. 127 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 151.26s
  • Files clippy (after comment fix): Finished \dev` profile [unoptimized + debuginfo] target(s) in 48.77s`
  • Files tests: test result: ok. 144 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 178.62s
    The dev-version migration test passed: test tests::dev_files_schema_upgrades_through_share_log_and_sidecar_migrations ... ok
  • Calendar clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 1m 53s`
  • Calendar tests:
    test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.01s
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
    test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
  • Photos clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 1m 13s`
  • Photos tests: test result: ok. 45 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 11.10s
  • Search clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 55.79s`
  • Search tests:
    test result: ok. 36 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 46.71s
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.38s
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
    test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.44s
    test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
    test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
    test result: ok. 1 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 5.66s
    test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
  • Embed clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 27.32s`
  • Embed tests: test result: ok. 31 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 1.93s
  • Filesystem clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 10.78s`
  • Filesystem tests:
    test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.04s
    test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.56s
  • Server clippy: Finished \dev` profile [unoptimized + debuginfo] target(s) in 1m 48s`
  • Server tests: test result: ok. 85 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 19.67s

Other completed checks:

  • Parity matrix: 190 web API actions, 122 shortcuts, 2 static commands, 136 menu actions, 31 settings groups, 172 actions with adapter gaps
  • Cross-User classification gate: 311 operations classified; its test suite printed Ran 5 tests in 0.246s and OK.
  • Admin coverage: 39 reviewed operations; contract and Rust guards agree; its test suite printed Ran 14 tests in 2.404s and OK.
  • Migration audit: ai: 4 migrations, no duplicate numbers; analytics: 2 migrations, no duplicate numbers; calendar: 3 migrations, no duplicate numbers; files: 18 migrations, no duplicate numbers; mail: 8 migrations, no duplicate numbers; notes: 19 migrations, no duplicate numbers; notifications: 4 migrations, no duplicate numbers; photos: 6 migrations, no duplicate numbers; video: 1 migrations, no duplicate numbers.

Remaining work

  • CLI Clippy was interrupted at the four-hour limit while checking dependencies; CLI tests and both Auth gates did not run.
  • The generated contract check, web bun run check, bun run test, and bun run build are pending.
  • The live two-User matrix, authz matrix, DAV round (including Apple’s 100-href and DELETE re-parent replays), sidecar probe, and attachment e2e are pending.
  • Production-browser screenshots for each affected screen at 390/820/1440 px in light/dark mode are pending. No visual review artifacts were produced.
  • The new benchmark profile was added, but its local run and comparison with docs/perf/baseline.json are pending.
  • cargo clean is running but has not returned yet; apps/web/build was removed.

Decisions

  • Files migration IDs follow merge order after dev’s 0015: 0016 share_search_invalidations, 0017 log_attachment_trash, 0018 sidecar_pairs. The populated dev-schema upgrade test passed.
  • Hidden-file Settings copy leads with the User-visible result and uses “Photo edit files (.xmp, .aae)”.
  • The parity exception snapshot was regenerated and reviewed for the newly merged API and Files UI actions.

The branch contains the merged code and commits, but the listed pending gates mean this is not a green merge candidate yet.

## Merge round 3 integration report **State: incomplete; do not fast-forward this snapshot to `dev` yet.** The four-hour job limit ended while CLI Clippy was compiling. No completed final-tree gate failed. No source branch was dropped because the completed gates showed no failing branch. - Branch: `job/merge-round-3` - Head: `3e5056d485e9021d2d1f708613e783b0b901b447` - Included in order: `job/multiget-500`, `job/dav-delete-471`, `job/iso-435`, `job/admin-deny-483`, `job/attach-427`, `job/hidden-420`, `job/files-sel-keys`, `job/small-bugs-3`, `job/sweep-478`. - Additional commits: `92f5803f3`, `3ea69e317`, `26b986bc4`, `0948cffa1`, `99c088193`, `df6b07a5a`, `3e5056d48`. ### Completed gate output (verbatim excerpts) `cargo fmt --check` exited 0 with no output. - DAV clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 56.92s` - DAV tests: `test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s` `test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s` `test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.31s` - Notes Core clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 14.97s` - Notes Core tests: `test result: ok. 512 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s` `test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.21s` `test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s` `test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.35s` `test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s` - Notes plugin clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 2m 55s` - Notes plugin tests: `test result: ok. 127 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 151.26s` - Files clippy (after comment fix): `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 48.77s` - Files tests: `test result: ok. 144 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 178.62s` The dev-version migration test passed: `test tests::dev_files_schema_upgrades_through_share_log_and_sidecar_migrations ... ok` - Calendar clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 1m 53s` - Calendar tests: `test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.01s` `test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s` `test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s` - Photos clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 1m 13s` - Photos tests: `test result: ok. 45 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 11.10s` - Search clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 55.79s` - Search tests: `test result: ok. 36 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 46.71s` `test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.38s` `test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s` `test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.44s` `test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s` `test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s` `test result: ok. 1 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 5.66s` `test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s` - Embed clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 27.32s` - Embed tests: `test result: ok. 31 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 1.93s` - Filesystem clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 10.78s` - Filesystem tests: `test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.04s` `test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.56s` - Server clippy: `Finished \`dev\` profile [unoptimized + debuginfo] target(s) in 1m 48s` - Server tests: `test result: ok. 85 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 19.67s` Other completed checks: - `Parity matrix: 190 web API actions, 122 shortcuts, 2 static commands, 136 menu actions, 31 settings groups, 172 actions with adapter gaps` - `Cross-User classification gate: 311 operations classified`; its test suite printed `Ran 5 tests in 0.246s` and `OK`. - `Admin coverage: 39 reviewed operations; contract and Rust guards agree`; its test suite printed `Ran 14 tests in 2.404s` and `OK`. - Migration audit: `ai: 4 migrations, no duplicate numbers`; `analytics: 2 migrations, no duplicate numbers`; `calendar: 3 migrations, no duplicate numbers`; `files: 18 migrations, no duplicate numbers`; `mail: 8 migrations, no duplicate numbers`; `notes: 19 migrations, no duplicate numbers`; `notifications: 4 migrations, no duplicate numbers`; `photos: 6 migrations, no duplicate numbers`; `video: 1 migrations, no duplicate numbers`. ### Remaining work - CLI Clippy was interrupted at the four-hour limit while checking dependencies; CLI tests and both Auth gates did not run. - The generated contract check, web `bun run check`, `bun run test`, and `bun run build` are pending. - The live two-User matrix, authz matrix, DAV round (including Apple’s 100-href and DELETE re-parent replays), sidecar probe, and attachment e2e are pending. - Production-browser screenshots for each affected screen at 390/820/1440 px in light/dark mode are pending. No visual review artifacts were produced. - The new benchmark profile was added, but its local run and comparison with `docs/perf/baseline.json` are pending. - `cargo clean` is running but has not returned yet; `apps/web/build` was removed. ### Decisions - Files migration IDs follow merge order after dev’s 0015: 0016 `share_search_invalidations`, 0017 `log_attachment_trash`, 0018 `sidecar_pairs`. The populated dev-schema upgrade test passed. - Hidden-file Settings copy leads with the User-visible result and uses “Photo edit files (.xmp, .aae)”. - The parity exception snapshot was regenerated and reviewed for the newly merged API and Files UI actions. The branch contains the merged code and commits, but the listed pending gates mean this is not a green merge candidate yet.
Author
Owner

Merge round 3 report addendum

Branch job/merge-round-3, HEAD 3e5056d485e9021d2d1f708613e783b0b901b447.

  • Cleanup completed after the main report: Removed 25367 files, 17.5GiB total.
  • apps/web/build removal check: web build output removed: True.
  • git diff --check exited 0 with no output; the worktree has no modified or untracked files.
  • The 4-hour cutoff also prevented a full re-read of documentation comments across all 234 changed files. This remains an audit gap alongside the pending gates listed in the main report.

The branch is still not a green merge candidate.

## Merge round 3 report addendum Branch `job/merge-round-3`, HEAD `3e5056d485e9021d2d1f708613e783b0b901b447`. - Cleanup completed after the main report: `Removed 25367 files, 17.5GiB total`. - `apps/web/build` removal check: `web build output removed: True`. - `git diff --check` exited 0 with no output; the worktree has no modified or untracked files. - The 4-hour cutoff also prevented a full re-read of documentation comments across all 234 changed files. This remains an audit gap alongside the pending gates listed in the main report. The branch is still not a green merge candidate.
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#381
No description provided.