TOUCH: hide shortcut hints on touch, one 'Info' title in sheets, menu icon gap, phone breadcrumb #369

Closed
opened 2026-09-28 17:39:32 +00:00 by kayg · 8 comments
Owner

Report (owner, 2026-09-28, iPhone Safari, Files › Documents, dark)

"no point of showing shortcuts on mobile? this says info twice"

Defects

  1. Keyboard shortcuts show on touch devices. The Files ⋯ menu shows "Show info ⇧⌘." on an iPhone. The shared Menu, tooltips and every shortcut hint hide shortcut glyphs when the primary input has no keyboard: (hover: none) and (pointer: coarse), plus the data-input modality the root layout already tracks. A touch iPad with a hardware keyboard shows them again when a key press is detected. Do this once, in the shared primitives (Menu item, tooltip, Kbd), not per menu.
  2. "Info" appears twice. The phone sheet header says "Info", and the inspector panel inside it repeats "Info" with its own ×. In a sheet, the inspector drops its own header and close button: the sheet header owns the title and the dismiss (swipe down, or a × in the sheet header). Check every inspector and panel that can open in a sheet.
  3. The "Show info" menu row has no icon while the other rows have one, so its label is out of line. Give it the info icon (the same one as Cmd+I everywhere).
  4. Phone breadcrumb truncates both parts: "Fil… › Documen…". At phone width the header shows only the current folder in full ("Documents"), with the parent reachable from the title's menu or the back gesture (DESIGN §34 chrome). It never truncates a one-word folder name while space is spent on the parent.

Screenshots at 390 (iOS Safari and Chromium mobile emulation), 820 and 1440, light and dark: menu open, info open.

## Report (owner, 2026-09-28, iPhone Safari, Files › Documents, dark) "no point of showing shortcuts on mobile? this says info twice" ## Defects 1. **Keyboard shortcuts show on touch devices.** The Files ⋯ menu shows "Show info ⇧⌘." on an iPhone. The shared Menu, tooltips and every shortcut hint hide shortcut glyphs when the primary input has no keyboard: `(hover: none) and (pointer: coarse)`, plus the data-input modality the root layout already tracks. A touch iPad with a hardware keyboard shows them again when a key press is detected. Do this once, in the shared primitives (Menu item, tooltip, Kbd), not per menu. 2. **"Info" appears twice.** The phone sheet header says "Info", and the inspector panel inside it repeats "Info" with its own ×. In a sheet, the inspector drops its own header and close button: the sheet header owns the title and the dismiss (swipe down, or a × in the sheet header). Check every inspector and panel that can open in a sheet. 3. **The "Show info" menu row has no icon** while the other rows have one, so its label is out of line. Give it the info icon (the same one as Cmd+I everywhere). 4. **Phone breadcrumb truncates both parts:** "Fil… › Documen…". At phone width the header shows only the current folder in full ("Documents"), with the parent reachable from the title's menu or the back gesture (DESIGN §34 chrome). It never truncates a one-word folder name while space is spent on the parent. Screenshots at 390 (iOS Safari and Chromium mobile emulation), 820 and 1440, light and dark: menu open, info open.
Author
Owner

Starting #369 on job/touch-369, based on dev at 3b300558692d17108cd8e9282a1f30601f96e70d. I’m reading the shared Menu, tooltip, Kbd, sheet/inspector header, and page header breadcrumb paths, then I’ll apply the shared fixes and capture production-build screenshots at the requested sizes and themes.

Starting #369 on `job/touch-369`, based on `dev` at `3b300558692d17108cd8e9282a1f30601f96e70d`. I’m reading the shared Menu, tooltip, Kbd, sheet/inspector header, and page header breadcrumb paths, then I’ll apply the shared fixes and capture production-build screenshots at the requested sizes and themes.
Author
Owner

Findings from the shared component trace:

  • FilesBrowser.svelte publishes the nested-phone header-info item in page.overflow without an icon, while ModeHeader.svelte passes it to the shared Menu unchanged. The existing Files info actions already use InfoIcon.
  • Kbd.svelte always renders its shortcut text. TooltipLayer.svelte tracks a separate keyboardUsed flag and does not consult the root html[data-input] modality.
  • Inspector.svelte always supplies a title and close action to PopoverSurface. On a phone, PopoverSurface.svelte puts that header inside the OverlaySurface sheet, which also renders sticky sheet chrome, creating the duplicate Info heading and close affordance.
  • ModeHeader.svelte renders all path segments on a phone. Its flex items then shrink and ellipsize both the parent and current folder.
Findings from the shared component trace: - `FilesBrowser.svelte` publishes the nested-phone `header-info` item in `page.overflow` without an icon, while `ModeHeader.svelte` passes it to the shared Menu unchanged. The existing Files info actions already use `InfoIcon`. - `Kbd.svelte` always renders its shortcut text. `TooltipLayer.svelte` tracks a separate `keyboardUsed` flag and does not consult the root `html[data-input]` modality. - `Inspector.svelte` always supplies a title and close action to `PopoverSurface`. On a phone, `PopoverSurface.svelte` puts that header inside the `OverlaySurface` sheet, which also renders sticky sheet chrome, creating the duplicate Info heading and close affordance. - `ModeHeader.svelte` renders all path segments on a phone. Its flex items then shrink and ellipsize both the parent and current folder.
Author
Owner

Phone production review found that a nested Files Inspector body heading replaced the explicit Info title in the shared sticky sheet header. OverlaySurface now gives an explicit sheet title priority over headings in its body; sheets without an explicit title still follow their sections. Regression evidence: apps/web/src/lib/components/OverlaySurface.svelte.test.ts passes (7 tests).

Phone production review found that a nested Files Inspector body heading replaced the explicit `Info` title in the shared sticky sheet header. `OverlaySurface` now gives an explicit sheet title priority over headings in its body; sheets without an explicit title still follow their sections. Regression evidence: `apps/web/src/lib/components/OverlaySurface.svelte.test.ts` passes (7 tests).
Author
Owner

Production cross-screen check found one shared-sheet edge case while exercising Calendar Day Info. Its Inspector supplies an explicit date title, but an empty body has no heading for the sheet scroll observer. The DOM retained the date in .sheet-title textContent while the title's rendered innerText was empty. I am updating the shared OverlaySurface rule so explicit titles stay visible when there are no body headings, with a regression test.

Production cross-screen check found one shared-sheet edge case while exercising Calendar Day Info. Its Inspector supplies an explicit date title, but an empty body has no heading for the sheet scroll observer. The DOM retained the date in `.sheet-title` textContent while the title's rendered `innerText` was empty. I am updating the shared OverlaySurface rule so explicit titles stay visible when there are no body headings, with a regression test.
Author
Owner

The HTTPS WebKit phone run now authenticates and captures both themes. It emits ResizeObserver loop completed with undelivered notifications. once on each Files page load. I isolated it to initial layout: it occurs before opening the menu or Info, alongside the first responsive observer callbacks, and does not recur during those interactions. The screenshots and chrome assertions pass; I am keeping this as a known, non-fatal WebKit startup warning in the review report.

The HTTPS WebKit phone run now authenticates and captures both themes. It emits `ResizeObserver loop completed with undelivered notifications.` once on each Files page load. I isolated it to initial layout: it occurs before opening the menu or Info, alongside the first responsive observer callbacks, and does not recur during those interactions. The screenshots and chrome assertions pass; I am keeping this as a known, non-fatal WebKit startup warning in the review report.
Author
Owner

Finished: #369

Branch job/touch-369 is pushed at cbc3bbe8f865e7ed485e4f19e05a07b23b412e7b. The branch merged dev once before the final gates (2ffba3e6); this branch was not merged into dev.

Changes

  • Shared Kbd and TooltipLayer hide shortcut hints on touch until keyboard input is detected. Pointer input returns to the touch state.
  • Files “Show info” uses the Info icon.
  • Inspector sheets use the shared sheet header for one title and one close action. Explicit titles remain visible when the sheet body is empty.
  • The phone page header keeps the current folder name whole. The title menu provides parent folder navigation.
  • The production review runner exercises real Files API data and captures menu and Info states at 390, 820 and 1440 pixels, in light and dark, including Chromium mobile and WebKit mobile.

Production review screenshots

All 16 PNGs remain under artifacts/touch-369/ in the worktree and are attached here.

1440 desktop — dark Info, dark menu, light Info, light menu

820 iPad — dark Info, dark menu, light Info, light menu

390 Chromium mobile — dark Info, dark menu, light Info, light menu

390 WebKit iOS — dark Info, dark menu, light Info, light menu

Production review output: TOUCH-369 PRODUCTION REVIEW PASSED; 16 screenshots in /home/kayg/Developer/calternal-wt/touch-369/artifacts/touch-369.

Final gates

cargo fmt --check exited 0 with no output.

cargo clippy --all-targets -- -D warnings exited 0. Final output:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 62m 40s

cargo test stopped in calternal-collab on the existing 10,000-block timing assertion. Output:

10,000-block collaboration phases: parse=1.451099052s, Yrs=712.086237ms, block-index=27.263797ms, first-sync=31.217789ms (616204 bytes), snapshot=30.294203ms (616199 bytes), total=2.251961078s
10,000-block open, first sync and snapshot took 2.251961078s
test result: FAILED. 14 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.39s
error: test failed, to rerun pass `-p calternal-collab --lib`

bun run check exited 0:

$ svelte-kit sync && svelte-check --tsconfig ./tsconfig.json
Loading svelte-check in workspace: /home/kayg/Developer/calternal-wt/touch-369/apps/web
Getting Svelte diagnostics...

svelte-check found 0 errors and 0 warnings

bun run test ran 749 tests. The two failing tests timed out at 5 seconds:

Error: Test timed out in 5000ms.
 ❯ src/lib/themes.test.ts:272:3
Error: Test timed out in 5000ms.
 ❯ src/lib/components/KeyboardShortcutsCard.svelte.test.ts:6:2
 Test Files  2 failed | 111 passed (113)
      Tests  2 failed | 747 passed (749)
   Duration  282.73s (transform 62%, environment 14%, import 14%, tests 6%, setup 3%)

The test log also includes jsdom Window.scrollTo() and CSS parsing warnings. Existing test expectations were not changed.

Adversarial round

The one bounded real-server Search round reported 130 occurrences of:

FAIL search chaos: old Index stopped returning a live hit during staged rebuild

The requests returned HTTP 200 but omitted the committed unicodenfcsentinel hit while the staged rebuild ran. The separate matching tests reported Ran 2 tests in 0.001s and OK. The 20,000-entry watcher overflow also produced queue-full and slow SQLx warnings under load. I filed the consistency finding on Search reliability issue #338; it is in calternal-search, outside this job’s shared UI files, so no backend behavior was changed here.

Decisions and known gaps

  • The existing root data-input state controls touch shortcut hints: keyboard navigation reveals them, and pointer input hides them again. This reuses shared app state.
  • Phone parent navigation lives in the page-title menu so the current folder stays readable in the header.
  • The browser review uses a temporary local HTTPS proxy because WebKit rejects the production __Host- Secure session cookie on plain HTTP.
  • WebKit emitted two startup ResizeObserver loop completed with undelivered notifications. page errors during Files loads, before menu or Info interactions; the runner recorded these separately and all review assertions passed.
  • The final gates have the timing and timeout failures listed above. The shared Search false-negative finding is tracked on #338.
## Finished: #369 Branch `job/touch-369` is pushed at `cbc3bbe8f865e7ed485e4f19e05a07b23b412e7b`. The branch merged `dev` once before the final gates (`2ffba3e6`); this branch was not merged into `dev`. ### Changes - Shared `Kbd` and `TooltipLayer` hide shortcut hints on touch until keyboard input is detected. Pointer input returns to the touch state. - Files “Show info” uses the Info icon. - Inspector sheets use the shared sheet header for one title and one close action. Explicit titles remain visible when the sheet body is empty. - The phone page header keeps the current folder name whole. The title menu provides parent folder navigation. - The production review runner exercises real Files API data and captures menu and Info states at 390, 820 and 1440 pixels, in light and dark, including Chromium mobile and WebKit mobile. ### Production review screenshots All 16 PNGs remain under `artifacts/touch-369/` in the worktree and are attached here. **1440 desktop** — [dark Info](https://git.kayg.org/attachments/ef6f6ff1-8ff7-4280-9e13-e49b5f953d59), [dark menu](https://git.kayg.org/attachments/121ea469-7d52-4452-8ae7-ff0105f864d3), [light Info](https://git.kayg.org/attachments/5db050a7-95d3-4e62-928e-3490f0f9a4d5), [light menu](https://git.kayg.org/attachments/f2b19925-2d7a-4028-803f-020b8570d6a4) **820 iPad** — [dark Info](https://git.kayg.org/attachments/32a49675-b7c5-439c-ab76-6dc03e9a165d), [dark menu](https://git.kayg.org/attachments/4bb740dc-ab4e-4961-aa17-17872ca4d31b), [light Info](https://git.kayg.org/attachments/418d5f74-1cee-4430-bd26-3795c6474bba), [light menu](https://git.kayg.org/attachments/1537aec7-1f1d-45cf-b9c2-1da5bac744a9) **390 Chromium mobile** — [dark Info](https://git.kayg.org/attachments/5dc9a084-5154-4398-b5f5-53547d44cacd), [dark menu](https://git.kayg.org/attachments/f93eaff5-a23a-453c-911c-be37c7471b38), [light Info](https://git.kayg.org/attachments/8ace404d-ea0b-44c0-8493-33d36d1d1793), [light menu](https://git.kayg.org/attachments/eaf22ed2-57cf-4fc4-9fbb-c34d1fa34fff) **390 WebKit iOS** — [dark Info](https://git.kayg.org/attachments/d5360b8e-3141-4a62-8d15-a991d4148d84), [dark menu](https://git.kayg.org/attachments/4ee7242a-7c13-4682-a558-969a817f8be0), [light Info](https://git.kayg.org/attachments/ac145f8c-e797-4306-9be0-a83e1ebfde04), [light menu](https://git.kayg.org/attachments/73aa49bf-f732-42e7-9df4-24c490c0595e) Production review output: `TOUCH-369 PRODUCTION REVIEW PASSED; 16 screenshots in /home/kayg/Developer/calternal-wt/touch-369/artifacts/touch-369`. ### Final gates `cargo fmt --check` exited 0 with no output. `cargo clippy --all-targets -- -D warnings` exited 0. Final output: ```text Finished `dev` profile [unoptimized + debuginfo] target(s) in 62m 40s ``` `cargo test` stopped in `calternal-collab` on the existing 10,000-block timing assertion. Output: ```text 10,000-block collaboration phases: parse=1.451099052s, Yrs=712.086237ms, block-index=27.263797ms, first-sync=31.217789ms (616204 bytes), snapshot=30.294203ms (616199 bytes), total=2.251961078s 10,000-block open, first sync and snapshot took 2.251961078s test result: FAILED. 14 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.39s error: test failed, to rerun pass `-p calternal-collab --lib` ``` `bun run check` exited 0: ```text $ svelte-kit sync && svelte-check --tsconfig ./tsconfig.json Loading svelte-check in workspace: /home/kayg/Developer/calternal-wt/touch-369/apps/web Getting Svelte diagnostics... svelte-check found 0 errors and 0 warnings ``` `bun run test` ran 749 tests. The two failing tests timed out at 5 seconds: ```text Error: Test timed out in 5000ms. ❯ src/lib/themes.test.ts:272:3 Error: Test timed out in 5000ms. ❯ src/lib/components/KeyboardShortcutsCard.svelte.test.ts:6:2 Test Files 2 failed | 111 passed (113) Tests 2 failed | 747 passed (749) Duration 282.73s (transform 62%, environment 14%, import 14%, tests 6%, setup 3%) ``` The test log also includes jsdom `Window.scrollTo()` and CSS parsing warnings. Existing test expectations were not changed. ### Adversarial round The one bounded real-server Search round reported 130 occurrences of: ```text FAIL search chaos: old Index stopped returning a live hit during staged rebuild ``` The requests returned HTTP 200 but omitted the committed `unicodenfcsentinel` hit while the staged rebuild ran. The separate matching tests reported `Ran 2 tests in 0.001s` and `OK`. The 20,000-entry watcher overflow also produced queue-full and slow SQLx warnings under load. I filed the consistency finding on [Search reliability issue #338](https://git.kayg.org/kayg/calternal/issues/338); it is in `calternal-search`, outside this job’s shared UI files, so no backend behavior was changed here. ### Decisions and known gaps - The existing root `data-input` state controls touch shortcut hints: keyboard navigation reveals them, and pointer input hides them again. This reuses shared app state. - Phone parent navigation lives in the page-title menu so the current folder stays readable in the header. - The browser review uses a temporary local HTTPS proxy because WebKit rejects the production `__Host-` Secure session cookie on plain HTTP. - WebKit emitted two startup `ResizeObserver loop completed with undelivered notifications.` page errors during Files loads, before menu or Info interactions; the runner recorded these separately and all review assertions passed. - The final gates have the timing and timeout failures listed above. The shared Search false-negative finding is tracked on #338.
Author
Owner

Starting work on branch job/touch-369. Base dev SHA: fba83527f2.

Starting work on branch job/touch-369. Base dev SHA: fba83527f2cccf2334934bb1fd0932be7c0e209b.
Author
Owner

touch-369 final report

Built

  • Kept touch shortcut hints hidden through the shared Kbd and tooltip behavior until keyboard input is detected.
  • Added the existing Info icon and Inspector shortcut to the Files “Show info” menu action.
  • Kept one title and close action in the shared Inspector sheet header.
  • Kept only the current folder in the phone breadcrumb and made parent folders reachable from the title menu.
  • Added an Inspector phone-sheet regression test and kept the production review runner for this issue.
  • Merged dev once. Merge commit: 9a295672.

Files

  • apps/web/e2e/touch-369.mjs
  • apps/web/src/lib/components/OverlaySurface.svelte.test.ts
  • apps/web/src/lib/editor/format/TooltipLayer.svelte.test.ts
  • apps/web/src/lib/files/FilesBrowser.svelte
  • apps/web/src/lib/modeHeader.svelte.test.ts
  • packages/ui/src/components/Inspector.svelte
  • packages/ui/src/components/Kbd.svelte
  • packages/ui/src/components/ModeHeader.svelte
  • packages/ui/src/components/OverlaySurface.svelte
  • packages/ui/src/components/PopoverSurface.svelte
  • packages/ui/src/components/tooltip/TooltipLayer.svelte

Production review

Command output:

TOUCH-369 PRODUCTION REVIEW PASSED; 16 screenshots in /home/kayg/Developer/calternal-wt/touch-369/artifacts/touch-369

The screenshots cover 390px Chromium mobile and iOS WebKit mobile, 820px iPad, and 1440px desktop; light and dark; menu open and Info open. The Browser plugin was unavailable, so the prescribed Playwright fallback produced the screenshots. The fresh screenshots remain in artifacts/touch-369/ and are not committed. The Forgejo CLI has no attachment option. The 16 earlier screenshots attached to #369 remain there; this fresh set was not uploaded.

Gates (verbatim output excerpts)

cargo fmt --check exited 0 with no output.

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

Finished `dev` profile [unoptimized + debuginfo] target(s) in 24m 19s

cargo test (exit 0):

Finished `test` profile [unoptimized + debuginfo] target(s) in 10m 22s

test result: ok. 69 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 13.01s

test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.72s

bun run check (exit 0):

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

svelte-check found 0 errors and 0 warnings

bun run test (exit 0):

 Test Files  115 passed (115)
      Tests  762 passed (762)
   Start at  03:52:36
   Duration  178.80s (transform 55%, environment 21%, import 10%, tests 9%, setup 4%)

Adversarial round

The one local server round reached its 45-minute limit during the Journal PATCH storm and exited 124. It did not reach the later media or round-two phases. The server stayed alive during the recorded timeouts. Findings were recorded on existing issues #314, #364, #263, #282, #368, #58, and #59. New follow-up issues: #378 (new User Appearance default) and #379 (Journal VALARM validation). SLOW results were reported as shared-host load.

Decisions

  • Use the existing data-input modality for the coarse-touch shortcut hint gate.
  • Put parent folder navigation in the phone title menu.
  • Let the shared sticky Inspector sheet header own the title and close action.
  • Use the local proxy in the WebKit review runner to provide a secure localhost origin for __Host- cookies.

Known gaps

  • The new 16-screenshot set is on disk but was not attached through fj; only the previous 16-image attachment set is on #369.
  • The adversarial run hit its timebox before the media and round-two phases.

Branch

  • Branch: job/touch-369
  • Head SHA: 4227bb33cb3b8bf59d8f399e8cd49796f0ccab78
  • Push: Everything up-to-date
  • cargo clean removed 17,211 files (14.9 GiB). apps/web/build and apps/web/.svelte-kit were removed. Screenshots remain on disk.
# touch-369 final report ## Built - Kept touch shortcut hints hidden through the shared `Kbd` and tooltip behavior until keyboard input is detected. - Added the existing Info icon and Inspector shortcut to the Files “Show info” menu action. - Kept one title and close action in the shared Inspector sheet header. - Kept only the current folder in the phone breadcrumb and made parent folders reachable from the title menu. - Added an Inspector phone-sheet regression test and kept the production review runner for this issue. - Merged `dev` once. Merge commit: `9a295672`. ## Files - `apps/web/e2e/touch-369.mjs` - `apps/web/src/lib/components/OverlaySurface.svelte.test.ts` - `apps/web/src/lib/editor/format/TooltipLayer.svelte.test.ts` - `apps/web/src/lib/files/FilesBrowser.svelte` - `apps/web/src/lib/modeHeader.svelte.test.ts` - `packages/ui/src/components/Inspector.svelte` - `packages/ui/src/components/Kbd.svelte` - `packages/ui/src/components/ModeHeader.svelte` - `packages/ui/src/components/OverlaySurface.svelte` - `packages/ui/src/components/PopoverSurface.svelte` - `packages/ui/src/components/tooltip/TooltipLayer.svelte` ## Production review Command output: ```text TOUCH-369 PRODUCTION REVIEW PASSED; 16 screenshots in /home/kayg/Developer/calternal-wt/touch-369/artifacts/touch-369 ``` The screenshots cover 390px Chromium mobile and iOS WebKit mobile, 820px iPad, and 1440px desktop; light and dark; menu open and Info open. The Browser plugin was unavailable, so the prescribed Playwright fallback produced the screenshots. The fresh screenshots remain in `artifacts/touch-369/` and are not committed. The Forgejo CLI has no attachment option. The 16 earlier screenshots attached to #369 remain there; this fresh set was not uploaded. ## Gates (verbatim output excerpts) `cargo fmt --check` exited 0 with no output. `cargo clippy --all-targets -- -D warnings` (exit 0): ```text Finished `dev` profile [unoptimized + debuginfo] target(s) in 24m 19s ``` `cargo test` (exit 0): ```text Finished `test` profile [unoptimized + debuginfo] target(s) in 10m 22s test result: ok. 69 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 13.01s test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.72s ``` `bun run check` (exit 0): ```text Loading svelte-check in workspace: /home/kayg/Developer/calternal-wt/touch-369/apps/web Getting Svelte diagnostics... svelte-check found 0 errors and 0 warnings ``` `bun run test` (exit 0): ```text Test Files 115 passed (115) Tests 762 passed (762) Start at 03:52:36 Duration 178.80s (transform 55%, environment 21%, import 10%, tests 9%, setup 4%) ``` ## Adversarial round The one local server round reached its 45-minute limit during the Journal PATCH storm and exited `124`. It did not reach the later media or round-two phases. The server stayed alive during the recorded timeouts. Findings were recorded on existing issues #314, #364, #263, #282, #368, #58, and #59. New follow-up issues: #378 (new User Appearance default) and #379 (Journal VALARM validation). SLOW results were reported as shared-host load. ## Decisions - Use the existing `data-input` modality for the coarse-touch shortcut hint gate. - Put parent folder navigation in the phone title menu. - Let the shared sticky Inspector sheet header own the title and close action. - Use the local proxy in the WebKit review runner to provide a secure localhost origin for `__Host-` cookies. ## Known gaps - The new 16-screenshot set is on disk but was not attached through `fj`; only the previous 16-image attachment set is on #369. - The adversarial run hit its timebox before the media and round-two phases. ## Branch - Branch: `job/touch-369` - Head SHA: `4227bb33cb3b8bf59d8f399e8cd49796f0ccab78` - Push: `Everything up-to-date` - `cargo clean` removed 17,211 files (14.9 GiB). `apps/web/build` and `apps/web/.svelte-kit` were removed. Screenshots remain on disk.
kayg closed this issue 2026-09-29 03:37:54 +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#369
No description provided.