Audit: module docs and stale comments (comments are docs) #863

Open
opened 2026-10-02 16:47:34 +00:00 by kayg · 11 comments
Owner

Owner rule: every module and every non-obvious function has an up-to-date doc comment that explains the reasoning and invariants; stale comments are defects. Scan crates/**/src and apps/web/src, packages/*/src. Report: modules without a module doc; public functions with non-obvious behaviour and no doc; comments that contradict the code (check a sample deeply: comments naming numbers, limits, issue numbers, file paths, behaviour); comments that name third-party products (not allowed: the repo is public). Group into issues per crate/package.

Read-only job (LIGHT class)

This job runs at the lowest CPU priority on a shared, overloaded build host. Do not build or test: no cargo build/test/clippy/check, no bun install/build/test/run check, no servers, no browsers. Use rg, sed, git, scripts/fj, and reading. Write findings to audit-findings.md at the worktree root as you go (append per finding) and commit it on your branch. For each real defect: search existing issues first (scripts/fj --host https://git.kayg.org issue search --repo kayg/calternal "<terms>"), then either add evidence to the existing issue or create one self-contained issue (title, evidence with file:line, owner rule or DESIGN section, expected behaviour, test idea) that a later build job can own. Group findings that share one fix into one issue (one owner per shared fix). No product code changes. Post a summary with the list of issues on your own issue. Docs use ASD-STE100 Simplified Technical English.

Owner rule: every module and every non-obvious function has an up-to-date doc comment that explains the reasoning and invariants; stale comments are defects. Scan crates/**/src and apps/web/src, packages/*/src. Report: modules without a module doc; public functions with non-obvious behaviour and no doc; comments that contradict the code (check a sample deeply: comments naming numbers, limits, issue numbers, file paths, behaviour); comments that name third-party products (not allowed: the repo is public). Group into issues per crate/package. ## Read-only job (LIGHT class) This job runs at the lowest CPU priority on a shared, overloaded build host. **Do not build or test**: no `cargo build/test/clippy/check`, no `bun install/build/test/run check`, no servers, no browsers. Use `rg`, `sed`, `git`, `scripts/fj`, and reading. Write findings to `audit-findings.md` at the worktree root as you go (append per finding) and commit it on your branch. For each real defect: search existing issues first (`scripts/fj --host https://git.kayg.org issue search --repo kayg/calternal "<terms>"`), then either add evidence to the existing issue or create one self-contained issue (title, evidence with file:line, owner rule or DESIGN section, expected behaviour, test idea) that a later build job can own. Group findings that share one fix into one issue (one owner per shared fix). No product code changes. Post a summary with the list of issues on your own issue. Docs use ASD-STE100 Simplified Technical English.
Author
Owner

Starting issue #863 audit in branch job/docs-audit, based on 440e19dce23040ac8ebaae88f0469b6535b1afcb (origin/dev). I am scanning module docs, undocumented public functions with non-obvious behavior, stale comments, and third-party product names across the requested source trees. I will record confirmed findings in audit-findings.md, search for existing issues, and group any new issues by crate or package.

Starting issue #863 audit in branch `job/docs-audit`, based on `440e19dce23040ac8ebaae88f0469b6535b1afcb` (`origin/dev`). I am scanning module docs, undocumented public functions with non-obvious behavior, stale comments, and third-party product names across the requested source trees. I will record confirmed findings in `audit-findings.md`, search for existing issues, and group any new issues by crate or package.
Author
Owner

Evidence from Chrome audit #862 (2026-10-02):

apps/web/src/routes/calendar/[view]/[date]/+page.svelte:312-315 says Calendar view pills remain in a wide, collapsed-sidebar header. Its calendarTools snippet at lines 2036-2038 renders only CalendarTools, the date pager. The Calendar view links render in apps/web/src/lib/components/app-sidebar.svelte:595-601.

Update the comment to say that Calendar sub-views live in the sidebar and Cmd+K, as DESIGN §34 says.

Evidence from Chrome audit #862 (2026-10-02): `apps/web/src/routes/calendar/[view]/[date]/+page.svelte:312-315` says Calendar view pills remain in a wide, collapsed-sidebar header. Its `calendarTools` snippet at lines 2036-2038 renders only `CalendarTools`, the date pager. The Calendar view links render in `apps/web/src/lib/components/app-sidebar.svelte:595-601`. Update the comment to say that Calendar sub-views live in the sidebar and Cmd+K, as DESIGN §34 says.
Author
Owner

Copy audit evidence for the third-party-name rule in this issue. These are comments or doc comments in the two UI packages in the #860 scope. This list does not include user-visible strings already reported on #407, #849 or the new screen issues.

Proposed wording: replace a product comparison with the behaviour or platform feature the code relies on. For example, use “native file manager” for Finder, “block editor” for Craft or Obsidian, “photo library” for photo app references, “online photo source” for Unsplash, and “browser engine support” for browser names. For agent stream comments, say “the first agent’s JSON stream” and “the second agent’s JSON stream”.

packages/ui/src:

  • floating.ts:15-16 names Chromium, Firefox and Safari/WebKit; floating.ts:269 names Finder’s Get Info.
  • components/gestures.ts:159 names iOS Safari.
  • tokens.css:740,771,879 names Safari.
  • components/FloatingSidebar.svelte:5 says “Tahoe-Finder”.
  • components/Checkbox.svelte:11 and components/Toggle.svelte:5 name SvelteBits.
  • components/files/FileCollection.svelte:26,330,389 names Finder.
  • components/viewer/QuickLook.svelte:38 names Finder.
  • components/menu/MenuSeparator.svelte:6 names Finder and Craft.
  • components/notes/NoteProperties.svelte:42,153 names Craft and Obsidian.
  • components/calendar/TimeGrid.svelte:671,673,678 names Safari.
  • components/viewer/VideoView.svelte:6 names Safari.
  • components/Kbd.svelte:55 names Safari and Chrome.
  • components/SegmentedControl.svelte:75,87 names Safari.
  • components/menu/FloatingSurface.svelte:440 names Safari.
  • weekStart.ts:36-37,139 names Firefox, Chromium and Safari.
  • components/calendar/zoom.ts:106 names Firefox.
  • components/DateStrip.svelte:10 names Chromium.
  • components/ProgressiveBlur.svelte:35 names Safari.

apps/web/src:

  • lib/appearance/readability.ts:82 names Chromium; line 143 names Unsplash.
  • lib/platform.ts:4, lib/themeColor.ts:15, lib/a11y/focusWithKeyboard.ts:5, lib/a11y/inputModality.ts:8,79,90, lib/notifications/push.ts:32, lib/auth/components/CreateAccountFlow.svelte:17, lib/actions/longPressMenu.ts:3, lib/files/uploads.svelte.ts:585, lib/shortcuts/settingsShortcut.ts:20, lib/overlay/scrollLock.ts:4, lib/styles/background.css:203, lib/styles/auth-ui.css:101 and routes/settings/notifications/NotificationsSection.svelte:14 name Safari. lib/platform.ts:4 and lib/shortcuts/format.ts:132-133 also name Firefox. lib/a11y/inputModality.ts:79,90 names Chrome.
  • lib/photos/PhotoTimeline.svelte:476 names Finder and Google Photos; lib/photos/TimelineScrubber.svelte:3, lib/photos/layout.ts:6 and lib/search/justify.ts:4 name Immich; lib/search/justify.ts:4 also names Google Photos.
  • lib/ai/transcript.ts:11,65,222,244,254 names Claude Code and Codex.
  • lib/mail/folders.ts:5,9 names Gmail.
  • lib/menuNav.ts:72, lib/files/RecentView.svelte:5, lib/files/FilesBrowser.svelte:2,8,379,540,742,775,873,885,966,1041,1552, lib/files/model.ts:97,181,298,331, lib/files/uploads.svelte.ts:32, and lib/files/selection.ts:2,8,120 name Finder.
  • lib/auth/passkeys.ts:183 names Chrome; lib/components/analytics/widgets/StatRow.svelte:360 names Chromium; lib/components/AppToaster.svelte:302 names Firefox; lib/notes/NoteEditorSurface.svelte:279,286,384 and lib/actions/magnetic.ts:110 name Chromium; lib/composer/recorder.svelte.ts:5-6 names Chromium, Firefox and Safari; lib/shortcuts/format.ts:132-133 names Chromium, Safari and Firefox.
  • lib/files/transfer.ts:81, lib/shortcuts/registry.ts:149,160,250 name Chrome; lib/shortcuts/registry.ts:41,155 name Finder; line 155 also names Xcode, and line 161 names Gmail; lib/shortcuts/settingsShortcut.ts:20 names Safari and Chrome.
  • lib/styles/scrim.css:35,37 and calternal-app.css:131,735 name Safari, Chromium or WebKit.
  • routes/+layout.svelte:304 names Chrome; routes/calendar/[view]/[date]/+page.svelte:1218 names Apple Calendar; routes/money/[budget]/[month]/+page.svelte:505 names YNAB; routes/layout.css:183 names Immich and Apple Photos.
  • routes/settings/appearance/UnsplashSheet.svelte:2,4,7,68 names Unsplash; routes/settings/ai/AiSection.svelte:5 names Claude and Codex; routes/settings/calendars/CalendarsSection.svelte:2-3 names iCloud, Fastmail and Nextcloud.

Expected behaviour: source comments explain the code invariant, browser capability or interaction. They do not use another product as the explanation. Keep needed version and feature details in plain technical terms.

Test idea: add a source check for third-party app and vendor names in comments under apps/web/src and packages/ui/src. Review each hit before accepting the check so provider IDs, URLs and test-only data do not become false positives.

Copy audit evidence for the third-party-name rule in this issue. These are comments or doc comments in the two UI packages in the #860 scope. This list does not include user-visible strings already reported on #407, #849 or the new screen issues. Proposed wording: replace a product comparison with the behaviour or platform feature the code relies on. For example, use “native file manager” for Finder, “block editor” for Craft or Obsidian, “photo library” for photo app references, “online photo source” for Unsplash, and “browser engine support” for browser names. For agent stream comments, say “the first agent’s JSON stream” and “the second agent’s JSON stream”. `packages/ui/src`: - `floating.ts:15-16` names Chromium, Firefox and Safari/WebKit; `floating.ts:269` names Finder’s Get Info. - `components/gestures.ts:159` names iOS Safari. - `tokens.css:740,771,879` names Safari. - `components/FloatingSidebar.svelte:5` says “Tahoe-Finder”. - `components/Checkbox.svelte:11` and `components/Toggle.svelte:5` name SvelteBits. - `components/files/FileCollection.svelte:26,330,389` names Finder. - `components/viewer/QuickLook.svelte:38` names Finder. - `components/menu/MenuSeparator.svelte:6` names Finder and Craft. - `components/notes/NoteProperties.svelte:42,153` names Craft and Obsidian. - `components/calendar/TimeGrid.svelte:671,673,678` names Safari. - `components/viewer/VideoView.svelte:6` names Safari. - `components/Kbd.svelte:55` names Safari and Chrome. - `components/SegmentedControl.svelte:75,87` names Safari. - `components/menu/FloatingSurface.svelte:440` names Safari. - `weekStart.ts:36-37,139` names Firefox, Chromium and Safari. - `components/calendar/zoom.ts:106` names Firefox. - `components/DateStrip.svelte:10` names Chromium. - `components/ProgressiveBlur.svelte:35` names Safari. `apps/web/src`: - `lib/appearance/readability.ts:82` names Chromium; line 143 names Unsplash. - `lib/platform.ts:4`, `lib/themeColor.ts:15`, `lib/a11y/focusWithKeyboard.ts:5`, `lib/a11y/inputModality.ts:8,79,90`, `lib/notifications/push.ts:32`, `lib/auth/components/CreateAccountFlow.svelte:17`, `lib/actions/longPressMenu.ts:3`, `lib/files/uploads.svelte.ts:585`, `lib/shortcuts/settingsShortcut.ts:20`, `lib/overlay/scrollLock.ts:4`, `lib/styles/background.css:203`, `lib/styles/auth-ui.css:101` and `routes/settings/notifications/NotificationsSection.svelte:14` name Safari. `lib/platform.ts:4` and `lib/shortcuts/format.ts:132-133` also name Firefox. `lib/a11y/inputModality.ts:79,90` names Chrome. - `lib/photos/PhotoTimeline.svelte:476` names Finder and Google Photos; `lib/photos/TimelineScrubber.svelte:3`, `lib/photos/layout.ts:6` and `lib/search/justify.ts:4` name Immich; `lib/search/justify.ts:4` also names Google Photos. - `lib/ai/transcript.ts:11,65,222,244,254` names Claude Code and Codex. - `lib/mail/folders.ts:5,9` names Gmail. - `lib/menuNav.ts:72`, `lib/files/RecentView.svelte:5`, `lib/files/FilesBrowser.svelte:2,8,379,540,742,775,873,885,966,1041,1552`, `lib/files/model.ts:97,181,298,331`, `lib/files/uploads.svelte.ts:32`, and `lib/files/selection.ts:2,8,120` name Finder. - `lib/auth/passkeys.ts:183` names Chrome; `lib/components/analytics/widgets/StatRow.svelte:360` names Chromium; `lib/components/AppToaster.svelte:302` names Firefox; `lib/notes/NoteEditorSurface.svelte:279,286,384` and `lib/actions/magnetic.ts:110` name Chromium; `lib/composer/recorder.svelte.ts:5-6` names Chromium, Firefox and Safari; `lib/shortcuts/format.ts:132-133` names Chromium, Safari and Firefox. - `lib/files/transfer.ts:81`, `lib/shortcuts/registry.ts:149,160,250` name Chrome; `lib/shortcuts/registry.ts:41,155` name Finder; line 155 also names Xcode, and line 161 names Gmail; `lib/shortcuts/settingsShortcut.ts:20` names Safari and Chrome. - `lib/styles/scrim.css:35,37` and `calternal-app.css:131,735` name Safari, Chromium or WebKit. - `routes/+layout.svelte:304` names Chrome; `routes/calendar/[view]/[date]/+page.svelte:1218` names Apple Calendar; `routes/money/[budget]/[month]/+page.svelte:505` names YNAB; `routes/layout.css:183` names Immich and Apple Photos. - `routes/settings/appearance/UnsplashSheet.svelte:2,4,7,68` names Unsplash; `routes/settings/ai/AiSection.svelte:5` names Claude and Codex; `routes/settings/calendars/CalendarsSection.svelte:2-3` names iCloud, Fastmail and Nextcloud. Expected behaviour: source comments explain the code invariant, browser capability or interaction. They do not use another product as the explanation. Keep needed version and feature details in plain technical terms. Test idea: add a source check for third-party app and vendor names in comments under `apps/web/src` and `packages/ui/src`. Review each hit before accepting the check so provider IDs, URLs and test-only data do not become false positives.
Author
Owner

The deep-link audit found a stale route comment: apps/web/src/routes/search/saved/[id]/+page.svelte:2-10 says DESIGN §33 lists /s/<saved-search-id>. Current DESIGN §33 lists /search/saved/<id> and states that /s/<slug> is for public links (docs/DESIGN.md:972-999). The running route matches DESIGN; only the comment is stale.

The deep-link audit found a stale route comment: `apps/web/src/routes/search/saved/[id]/+page.svelte:2-10` says DESIGN §33 lists `/s/<saved-search-id>`. Current DESIGN §33 lists `/search/saved/<id>` and states that `/s/<slug>` is for public links (`docs/DESIGN.md:972-999`). The running route matches DESIGN; only the comment is stale.
Author
Owner

Finished the read-only comment audit.

Branch: job/docs-audit
Base: 440e19dce23040ac8ebaae88f0469b6535b1afcb (origin/dev at job start)
Head: 5988213fafef71081e63fb10677035017a34bf39

Built: an audit report only; no product code changed.
Files: audit-findings.md

Findings include missing module comments, reviewed non-obvious public functions without function comments, third-party product names in comments, stale stylesheet and local research paths, and one motion contradiction. I added the motion evidence to #611. Numeric samples for job retention, the Files Index bind count, and UI size tokens matched the code.

Package follow-ups: #900, #901, #902, #903, #905, #906, #907, #908, #909, #910, #911, #915, #916, #917, #918, #920, #923, #928, #929, #930, #931, #932, #933.

Gate output:
No build/test gates run (read-only LIGHT job forbids cargo and bun commands).

Known gaps: the product-name scan used a targeted list, so it does not prove that every possible product name was found. Syntax scans found many simple accessors; I filed the reviewed non-obvious examples and recorded scan limits in audit-findings.md. No builds or tests ran, as required.

Decisions: none beyond applying the explicit owner comment rule and grouping follow-ups by crate or package.

Finished the read-only comment audit. Branch: `job/docs-audit` Base: `440e19dce23040ac8ebaae88f0469b6535b1afcb` (`origin/dev` at job start) Head: `5988213fafef71081e63fb10677035017a34bf39` Built: an audit report only; no product code changed. Files: `audit-findings.md` Findings include missing module comments, reviewed non-obvious public functions without function comments, third-party product names in comments, stale stylesheet and local research paths, and one motion contradiction. I added the motion evidence to #611. Numeric samples for job retention, the Files Index bind count, and UI size tokens matched the code. Package follow-ups: #900, #901, #902, #903, #905, #906, #907, #908, #909, #910, #911, #915, #916, #917, #918, #920, #923, #928, #929, #930, #931, #932, #933. Gate output: `No build/test gates run (read-only LIGHT job forbids cargo and bun commands).` Known gaps: the product-name scan used a targeted list, so it does not prove that every possible product name was found. Syntax scans found many simple accessors; I filed the reviewed non-obvious examples and recorded scan limits in `audit-findings.md`. No builds or tests ran, as required. Decisions: none beyond applying the explicit owner comment rule and grouping follow-ups by crate or package.
Author
Owner

Started the Rust comment fixes from #863 on job/docsfix-rust at base 440e19dce23040ac8ebaae88f0469b6535b1afcb. Read the repo contract, glossary, design decisions, audit findings, and all listed follow-ups. Scope: comments and doc comments under crates/** only; one commit per Rust follow-up. No runtime changes. Verification: cargo fmt --check only, as requested by this job.

Started the Rust comment fixes from #863 on `job/docsfix-rust` at base `440e19dce23040ac8ebaae88f0469b6535b1afcb`. Read the repo contract, glossary, design decisions, audit findings, and all listed follow-ups. Scope: comments and doc comments under `crates/**` only; one commit per Rust follow-up. No runtime changes. Verification: `cargo fmt --check` only, as requested by this job.
Author
Owner

Starting #863 web comment fixes on job/docsfix-web, base 440e19dce23040ac8ebaae88f0469b6535b1afcb. Scope: comments only in apps/web/src and packages/*/src; one commit per package issue. Verification: cargo fmt --check and Prettier checks on touched files. No runtime changes or test expectation changes.

Starting #863 web comment fixes on `job/docsfix-web`, base `440e19dce23040ac8ebaae88f0469b6535b1afcb`. Scope: comments only in `apps/web/src` and `packages/*/src`; one commit per package issue. Verification: `cargo fmt --check` and Prettier checks on touched files. No runtime changes or test expectation changes.
Author
Owner

Completed the Rust-side #863 audit findings on job/docsfix-rust.

Head SHA: a89d7f6d42ede3dbdf3796d31e1876ad9a51f3b7.
Merged origin/dev once before final verification; its merged SHA is c4faf184df726a9375ae0c13bdfb6018ac2cf57e. The merge changed only DESIGN decisions and had no conflicts. No push, deploy, or issue closure.

Built: current module and function documentation, repaired stale reasoning, and protocol/format descriptions in place of third-party product names. Executable code, protocol values, test expectations, and dependency versions are unchanged. There are 19 issue commits plus the requested merge.

Findings fixed:

  • tasks/mod.rs still said the projector was unwritten; it now explains the current private parser and public re-export boundary.
  • Search schema notes omitted private User generation handling; they now explain the staged rebuild requirement.
  • The Note transition said it wrote in place; it uses checked atomic replacement.
  • pairing.rs now holds regression tests; pairing_impl.rs holds the grouping logic. The new module comment describes the actual test boundary.
  • Version retention now states the actual 7/28/84-day boundaries and 30-day buckets.

Gate: cargo fmt --check, exit 0. Verbatim stdout and stderr are empty:

Additional source review: all 93 changed Rust files match origin/dev after removing full-line comments and blank lines. The targeted product-name scan found no matches in 15,993 non-vendored Rust comment lines. git diff --check passed. The working tree is clean. cargo clean removed the job target output (1 file, 356B). No web build output was created. Optional rustdoc runs were omitted: the shared host load average was 37.52 / 45.56 / 54.74.

Known gaps:

  • The product-name inventory is targeted, not proof that every possible product name has been found.
  • Web/package findings (#900–#903) and vendored library comments are outside this Rust job. Simple accessors and other function candidates not reviewed by the audit were not expanded into a separate audit.
  • Rust comments that feed OpenAPI descriptions now differ from generated artifacts. Regenerate once in the merge round alongside #903; this job cannot edit generated artifacts under its comments-only scope.

Decisions:

  • No new product behavior or design choice. Use calternal glossary terms, format names, and protocol behavior; retain code identifiers and wire constants.
  • Describe Photos pairing tests as tests, based on current code rather than the older audit summary.

UX gaps closed / left: not applicable; no UI or runtime behavior changed.

For the merge round:

  • cargo run -p calternal-server -- openapi
  • (cd packages/api-client && bun run generate)
    These must bring contracts/openapi.json and the generated client descriptions into sync with the corrected Rust docs, preserving schema types and API behavior. No adversarial, browser, performance, or runtime test is needed for this comments-only change.

Issue commits:

Issue Commit Scope
#905 7368c92f4a47f6a136f64b6314864607c9d910ce crates/calternal-auth
#906 5254dab95ac98c156b05b7c86da6fdc9dddcc76e crates/calternal-cli
#907 a6d0f1be51d58ca6a28e9efa4a08d2a57924e9ae crates/calternal-collab
#908 8b70d35e8cd07cc3de616652ffc6e32a93a8b7d3 crates/calternal-dav
#909 9a2a2b0b08262f3fada91d9c60edda349a9ab461 crates/calternal-fs
#910 52ad590f8cc15354a15ea2ac80411e0265eec5f9 crates/calternal-location
#911 beb218e832a3e48df3c904b59597f9dfab9ef222 crates/calternal-search
#915 c64c1fa44be7cee2c572cc6b9a68899ba0a031c0 crates/calternal-imap
#916 5e0d7b29fcb630453912ca59105af012b83dd174 crates/calternal-money
#917 3335ab5fd028c12f4d66657cadfaad1f5e890ad7 crates/calternal-notes-core
#918 26c07f4d7b76bf87cd9ad221aea41644bd96fee8 crates/calternal-server
#920 5a1664b469676eb744a0402bed6d389d60b3ea92 crates/calternal-sync
#923 280eb60f96bd3f780a99f6efc1add05f1f33edc8 crates/plugins/ai
#928 af23bb254fe990fe7ed03934f5bc569b9d8e4526 crates/plugins/calendar
#929 df586c2de8cbffa259d7e0413e12fa93e9a9c81c crates/plugins/files
#930 1578a60c3142b5b18f5c561e65b880d1be2a35a9 crates/plugins/mail
#931 c9643b1b14751957ca26a3ba81d510d7c92bbcdb crates/plugins/money
#932 580668848f4eab8f8d93fd3d18376f29822f3485 crates/plugins/notes
#933 7eee92a9b79a44b5d7d09dcc95416d9ca711e8a8 crates/plugins/photos

Files:

  • crates/calternal-auth/src/api.rs
  • crates/calternal-auth/src/profile_signing.rs
  • crates/calternal-auth/src/store.rs
  • crates/calternal-cli/src/main.rs
  • crates/calternal-cli/src/remote_commands.rs
  • crates/calternal-collab/src/lib.rs
  • crates/calternal-collab/src/markdown.rs
  • crates/calternal-collab/src/session.rs
  • crates/calternal-collab/tests/hostile_clients.rs
  • crates/calternal-collab/tests/restart_epoch.rs
  • crates/calternal-collab/tests/wiki_embeds.rs
  • crates/calternal-dav/src/areas.rs
  • crates/calternal-dav/src/files.rs
  • crates/calternal-dav/src/lib.rs
  • crates/calternal-dav/src/protocol.rs
  • crates/calternal-dav/src/reminders.rs
  • crates/calternal-dav/tests/apple_replay.rs
  • crates/calternal-fs/src/file_ops.rs
  • crates/calternal-fs/src/root.rs
  • crates/calternal-fs/src/sidecar.rs
  • crates/calternal-fs/src/trash.rs
  • crates/calternal-fs/src/versions.rs
  • crates/calternal-imap/src/lib.rs
  • crates/calternal-imap/src/mime.rs
  • crates/calternal-imap/src/projection.rs
  • crates/calternal-imap/src/session.rs
  • crates/calternal-imap/src/store.rs
  • crates/calternal-imap/src/submission.rs
  • crates/calternal-imap/src/wire.rs
  • crates/calternal-imap/tests/mime.rs
  • crates/calternal-imap/tests/projection.rs
  • crates/calternal-imap/tests/session.rs
  • crates/calternal-imap/tests/wire.rs
  • crates/calternal-location/src/lib.rs
  • crates/calternal-money/src/budget.rs
  • crates/calternal-money/src/edit.rs
  • crates/calternal-notes-core/src/composer.rs
  • crates/calternal-notes-core/src/lib.rs
  • crates/calternal-notes-core/src/markdown.rs
  • crates/calternal-notes-core/src/nlp/classifier.rs
  • crates/calternal-notes-core/src/nlp/mod.rs
  • crates/calternal-notes-core/src/nlp/recognizers.rs
  • crates/calternal-notes-core/src/nlp/task_types.rs
  • crates/calternal-notes-core/src/nlp/tasks_recurrence_md.rs
  • crates/calternal-notes-core/src/nlp/tasks_sigils.rs
  • crates/calternal-notes-core/src/nlp/tests.rs
  • crates/calternal-notes-core/src/notes_index.rs
  • crates/calternal-notes-core/src/tasks/extract.rs
  • crates/calternal-notes-core/src/tasks/line.rs
  • crates/calternal-notes-core/src/tasks/mod.rs
  • crates/calternal-notes-core/src/tasks/model.rs
  • crates/calternal-search/src/index.rs
  • crates/calternal-search/src/plugin.rs
  • crates/calternal-server/src/appearance.rs
  • crates/calternal-server/src/head.rs
  • crates/calternal-server/src/main.rs
  • crates/calternal-server/src/mcp.rs
  • crates/calternal-server/src/notes_imap.rs
  • crates/calternal-server/src/serve.rs
  • crates/calternal-server/src/wire.rs
  • crates/calternal-sync/src/config.rs
  • crates/calternal-sync/src/credentials.rs
  • crates/calternal-sync/src/engine.rs
  • crates/calternal-sync/src/finder_tags.rs
  • crates/calternal-sync/src/journal.rs
  • crates/calternal-sync/src/lib.rs
  • crates/calternal-sync/src/local.rs
  • crates/calternal-sync/src/remote.rs
  • crates/plugins/ai/src/lib.rs
  • crates/plugins/calendar/src/cache/crypto.rs
  • crates/plugins/calendar/src/client/mod.rs
  • crates/plugins/calendar/src/feeds/publication.rs
  • crates/plugins/files/src/lib.rs
  • crates/plugins/files/src/preferences.rs
  • crates/plugins/files/src/public.rs
  • crates/plugins/files/src/user_bytes.rs
  • crates/plugins/mail/src/cache/store.rs
  • crates/plugins/mail/src/crypto.rs
  • crates/plugins/mail/src/imap.rs
  • crates/plugins/mail/src/sync.rs
  • crates/plugins/money/src/lib.rs
  • crates/plugins/money/src/routes.rs
  • crates/plugins/money/src/views.rs
  • crates/plugins/notes/src/imap.rs
  • crates/plugins/notes/src/lib.rs
  • crates/plugins/notes/src/store.rs
  • crates/plugins/notes/src/tasks_dav.rs
  • crates/plugins/notes/src/tasks_store.rs
  • crates/plugins/notes/tests/apple_replay.rs
  • crates/plugins/photos/src/index.rs
  • crates/plugins/photos/src/migration_tests.rs
  • crates/plugins/photos/src/pairing.rs
  • crates/plugins/photos/src/settings_tests.rs
Completed the Rust-side #863 audit findings on `job/docsfix-rust`. Head SHA: `a89d7f6d42ede3dbdf3796d31e1876ad9a51f3b7`. Merged `origin/dev` once before final verification; its merged SHA is `c4faf184df726a9375ae0c13bdfb6018ac2cf57e`. The merge changed only DESIGN decisions and had no conflicts. No push, deploy, or issue closure. Built: current module and function documentation, repaired stale reasoning, and protocol/format descriptions in place of third-party product names. Executable code, protocol values, test expectations, and dependency versions are unchanged. There are 19 issue commits plus the requested merge. Findings fixed: - `tasks/mod.rs` still said the projector was unwritten; it now explains the current private parser and public re-export boundary. - Search schema notes omitted private User generation handling; they now explain the staged rebuild requirement. - The Note transition said it wrote in place; it uses checked atomic replacement. - `pairing.rs` now holds regression tests; `pairing_impl.rs` holds the grouping logic. The new module comment describes the actual test boundary. - Version retention now states the actual 7/28/84-day boundaries and 30-day buckets. Gate: `cargo fmt --check`, exit 0. Verbatim stdout and stderr are empty: ```text ``` Additional source review: all 93 changed Rust files match `origin/dev` after removing full-line comments and blank lines. The targeted product-name scan found no matches in 15,993 non-vendored Rust comment lines. `git diff --check` passed. The working tree is clean. `cargo clean` removed the job target output (1 file, 356B). No web build output was created. Optional rustdoc runs were omitted: the shared host load average was 37.52 / 45.56 / 54.74. Known gaps: - The product-name inventory is targeted, not proof that every possible product name has been found. - Web/package findings (#900–#903) and vendored library comments are outside this Rust job. Simple accessors and other function candidates not reviewed by the audit were not expanded into a separate audit. - Rust comments that feed OpenAPI descriptions now differ from generated artifacts. Regenerate once in the merge round alongside #903; this job cannot edit generated artifacts under its comments-only scope. Decisions: - No new product behavior or design choice. Use calternal glossary terms, format names, and protocol behavior; retain code identifiers and wire constants. - Describe Photos pairing tests as tests, based on current code rather than the older audit summary. UX gaps closed / left: not applicable; no UI or runtime behavior changed. For the merge round: - `cargo run -p calternal-server -- openapi` - `(cd packages/api-client && bun run generate)` These must bring `contracts/openapi.json` and the generated client descriptions into sync with the corrected Rust docs, preserving schema types and API behavior. No adversarial, browser, performance, or runtime test is needed for this comments-only change. Issue commits: | Issue | Commit | Scope | | --- | --- | --- | | #905 | `7368c92f4a47f6a136f64b6314864607c9d910ce` | `crates/calternal-auth` | | #906 | `5254dab95ac98c156b05b7c86da6fdc9dddcc76e` | `crates/calternal-cli` | | #907 | `a6d0f1be51d58ca6a28e9efa4a08d2a57924e9ae` | `crates/calternal-collab` | | #908 | `8b70d35e8cd07cc3de616652ffc6e32a93a8b7d3` | `crates/calternal-dav` | | #909 | `9a2a2b0b08262f3fada91d9c60edda349a9ab461` | `crates/calternal-fs` | | #910 | `52ad590f8cc15354a15ea2ac80411e0265eec5f9` | `crates/calternal-location` | | #911 | `beb218e832a3e48df3c904b59597f9dfab9ef222` | `crates/calternal-search` | | #915 | `c64c1fa44be7cee2c572cc6b9a68899ba0a031c0` | `crates/calternal-imap` | | #916 | `5e0d7b29fcb630453912ca59105af012b83dd174` | `crates/calternal-money` | | #917 | `3335ab5fd028c12f4d66657cadfaad1f5e890ad7` | `crates/calternal-notes-core` | | #918 | `26c07f4d7b76bf87cd9ad221aea41644bd96fee8` | `crates/calternal-server` | | #920 | `5a1664b469676eb744a0402bed6d389d60b3ea92` | `crates/calternal-sync` | | #923 | `280eb60f96bd3f780a99f6efc1add05f1f33edc8` | `crates/plugins/ai` | | #928 | `af23bb254fe990fe7ed03934f5bc569b9d8e4526` | `crates/plugins/calendar` | | #929 | `df586c2de8cbffa259d7e0413e12fa93e9a9c81c` | `crates/plugins/files` | | #930 | `1578a60c3142b5b18f5c561e65b880d1be2a35a9` | `crates/plugins/mail` | | #931 | `c9643b1b14751957ca26a3ba81d510d7c92bbcdb` | `crates/plugins/money` | | #932 | `580668848f4eab8f8d93fd3d18376f29822f3485` | `crates/plugins/notes` | | #933 | `7eee92a9b79a44b5d7d09dcc95416d9ca711e8a8` | `crates/plugins/photos` | Files: - `crates/calternal-auth/src/api.rs` - `crates/calternal-auth/src/profile_signing.rs` - `crates/calternal-auth/src/store.rs` - `crates/calternal-cli/src/main.rs` - `crates/calternal-cli/src/remote_commands.rs` - `crates/calternal-collab/src/lib.rs` - `crates/calternal-collab/src/markdown.rs` - `crates/calternal-collab/src/session.rs` - `crates/calternal-collab/tests/hostile_clients.rs` - `crates/calternal-collab/tests/restart_epoch.rs` - `crates/calternal-collab/tests/wiki_embeds.rs` - `crates/calternal-dav/src/areas.rs` - `crates/calternal-dav/src/files.rs` - `crates/calternal-dav/src/lib.rs` - `crates/calternal-dav/src/protocol.rs` - `crates/calternal-dav/src/reminders.rs` - `crates/calternal-dav/tests/apple_replay.rs` - `crates/calternal-fs/src/file_ops.rs` - `crates/calternal-fs/src/root.rs` - `crates/calternal-fs/src/sidecar.rs` - `crates/calternal-fs/src/trash.rs` - `crates/calternal-fs/src/versions.rs` - `crates/calternal-imap/src/lib.rs` - `crates/calternal-imap/src/mime.rs` - `crates/calternal-imap/src/projection.rs` - `crates/calternal-imap/src/session.rs` - `crates/calternal-imap/src/store.rs` - `crates/calternal-imap/src/submission.rs` - `crates/calternal-imap/src/wire.rs` - `crates/calternal-imap/tests/mime.rs` - `crates/calternal-imap/tests/projection.rs` - `crates/calternal-imap/tests/session.rs` - `crates/calternal-imap/tests/wire.rs` - `crates/calternal-location/src/lib.rs` - `crates/calternal-money/src/budget.rs` - `crates/calternal-money/src/edit.rs` - `crates/calternal-notes-core/src/composer.rs` - `crates/calternal-notes-core/src/lib.rs` - `crates/calternal-notes-core/src/markdown.rs` - `crates/calternal-notes-core/src/nlp/classifier.rs` - `crates/calternal-notes-core/src/nlp/mod.rs` - `crates/calternal-notes-core/src/nlp/recognizers.rs` - `crates/calternal-notes-core/src/nlp/task_types.rs` - `crates/calternal-notes-core/src/nlp/tasks_recurrence_md.rs` - `crates/calternal-notes-core/src/nlp/tasks_sigils.rs` - `crates/calternal-notes-core/src/nlp/tests.rs` - `crates/calternal-notes-core/src/notes_index.rs` - `crates/calternal-notes-core/src/tasks/extract.rs` - `crates/calternal-notes-core/src/tasks/line.rs` - `crates/calternal-notes-core/src/tasks/mod.rs` - `crates/calternal-notes-core/src/tasks/model.rs` - `crates/calternal-search/src/index.rs` - `crates/calternal-search/src/plugin.rs` - `crates/calternal-server/src/appearance.rs` - `crates/calternal-server/src/head.rs` - `crates/calternal-server/src/main.rs` - `crates/calternal-server/src/mcp.rs` - `crates/calternal-server/src/notes_imap.rs` - `crates/calternal-server/src/serve.rs` - `crates/calternal-server/src/wire.rs` - `crates/calternal-sync/src/config.rs` - `crates/calternal-sync/src/credentials.rs` - `crates/calternal-sync/src/engine.rs` - `crates/calternal-sync/src/finder_tags.rs` - `crates/calternal-sync/src/journal.rs` - `crates/calternal-sync/src/lib.rs` - `crates/calternal-sync/src/local.rs` - `crates/calternal-sync/src/remote.rs` - `crates/plugins/ai/src/lib.rs` - `crates/plugins/calendar/src/cache/crypto.rs` - `crates/plugins/calendar/src/client/mod.rs` - `crates/plugins/calendar/src/feeds/publication.rs` - `crates/plugins/files/src/lib.rs` - `crates/plugins/files/src/preferences.rs` - `crates/plugins/files/src/public.rs` - `crates/plugins/files/src/user_bytes.rs` - `crates/plugins/mail/src/cache/store.rs` - `crates/plugins/mail/src/crypto.rs` - `crates/plugins/mail/src/imap.rs` - `crates/plugins/mail/src/sync.rs` - `crates/plugins/money/src/lib.rs` - `crates/plugins/money/src/routes.rs` - `crates/plugins/money/src/views.rs` - `crates/plugins/notes/src/imap.rs` - `crates/plugins/notes/src/lib.rs` - `crates/plugins/notes/src/store.rs` - `crates/plugins/notes/src/tasks_dav.rs` - `crates/plugins/notes/src/tasks_store.rs` - `crates/plugins/notes/tests/apple_replay.rs` - `crates/plugins/photos/src/index.rs` - `crates/plugins/photos/src/migration_tests.rs` - `crates/plugins/photos/src/pairing.rs` - `crates/plugins/photos/src/settings_tests.rs`
Author
Owner

Completed the comment-only web fixes for #863 on job/docsfix-web.

Built: Added module comments to all 246 files identified by the audit (211 web, 19 UI, 16 editor). Documented the passkey request/ceremony and byte-conversion invariants, the single Settings step-up retry, panel-width persistence/clamping and resize cleanup, and block-anchor parsing/display/matching. Replaced third-party product comparisons with behavior descriptions and corrected stylesheet and local-only research references. Re-read the final module and API comments. Executable source, test expectations, and runner directives are unchanged.

Files: 409 source files: 301 in apps/web/src, 63 in packages/ui/src, 45 in packages/editor/src. The full inventory follows below. packages/api-client/src/generated.ts is unchanged.

Commits (one concern per issue):

  • #900: fe9381d206e0a52cd2b5e58a4b11085446f776e4
  • #901: 68d99959878cd4245edeb06e25fadfb1fcbc1ceb
  • #902: 0bb14c0a05014baea59f1237955a26799ca5b131

Head: a82305864d94a3194015404b6deddbb366ab55b1. Fetched and merged origin/dev once before final gates; incorporated c4faf184df726a9375ae0c13bdfb6018ac2cf57e. The incoming change updated DESIGN §§18, 33, 45 and 57 and was read. No push, deploy or merge into dev/main. Issues remain open.

Gates: Only the two checks requested by this job ran; no build, server, browser or runtime test. Cargo used CARGO_PROFILE_DEV_DEBUG=line-tables-only, CARGO_INCREMENTAL=0, CARGO_BUILD_JOBS=4, and the worktree's target/tmp for TMPDIR. CARGO_TARGET_DIR was not overridden. No cargo or web build output was created, so no build cleanup was needed.

cargo fmt --check: exit 0; stdout and stderr were empty.

bunx prettier --check --plugin <external prettier-plugin-svelte/plugin.js> <409 touched files>: exit 1. Formatter tooling was resolved outside the repo; no dependency files changed. Output verbatim:

Checking formatting...
[warn] apps/web/src/app.html
[warn] apps/web/src/calternal-app.css
[warn] apps/web/src/hooks.client.ts
[warn] apps/web/src/lib/a11y/focusTrap.ts
[warn] apps/web/src/lib/a11y/focusWithKeyboard.ts
[warn] apps/web/src/lib/a11y/inputModality.ts
[warn] apps/web/src/lib/actions/longPressMenu.ts
[warn] apps/web/src/lib/actions/magnetic.ts
[warn] apps/web/src/lib/ai/api.test.ts
[warn] apps/web/src/lib/ai/commands.test.ts
[warn] apps/web/src/lib/ai/mention.test.ts
[warn] apps/web/src/lib/ai/transcript.test.ts
[warn] apps/web/src/lib/ai/transcript.ts
[warn] apps/web/src/lib/analytics/delta.test.ts
[warn] apps/web/src/lib/analytics/links.test.ts
[warn] apps/web/src/lib/analytics/palette.test.ts
[warn] apps/web/src/lib/analytics/period.test.ts
[warn] apps/web/src/lib/analytics/store.test.ts
[warn] apps/web/src/lib/api/notes.test.ts
[warn] apps/web/src/lib/api/tags.test.ts
[warn] apps/web/src/lib/appearance/readability.ts
[warn] apps/web/src/lib/auth/authOptions.ts
[warn] apps/web/src/lib/auth/components/CreateAccountFlow.svelte
[warn] apps/web/src/lib/auth/components/RecoveryKeyEntry.svelte
[warn] apps/web/src/lib/auth/passkeys.test.ts
[warn] apps/web/src/lib/auth/passkeys.ts
[warn] apps/web/src/lib/auth/recoveryKey.test.ts
[warn] apps/web/src/lib/auth/routes.test.ts
[warn] apps/web/src/lib/backgroundGroup.svelte.test.ts
[warn] apps/web/src/lib/calendar/agenda.svelte.test.ts
[warn] apps/web/src/lib/calendar/area-colors.test.ts
[warn] apps/web/src/lib/calendar/event-tint.test.ts
[warn] apps/web/src/lib/calendar/sidebarState.svelte.ts
[warn] apps/web/src/lib/components/AppToaster.svelte
[warn] apps/web/src/lib/components/FieldPopover.svelte.test.ts
[warn] apps/web/src/lib/components/KeyboardShortcutsCard.svelte
[warn] apps/web/src/lib/components/KeyboardShortcutsCard.svelte.test.ts
[warn] apps/web/src/lib/components/LinkResolveState.svelte
[warn] apps/web/src/lib/components/NoteList.svelte
[warn] apps/web/src/lib/components/OverlaySurface.svelte.test.ts
[warn] apps/web/src/lib/components/Select.svelte.test.ts
[warn] apps/web/src/lib/components/SelectionBar.svelte.test.ts
[warn] apps/web/src/lib/components/ServiceState.svelte
[warn] apps/web/src/lib/components/SidebarSectionHeader.svelte.test.ts
[warn] apps/web/src/lib/components/TagEditor.svelte
[warn] apps/web/src/lib/components/ToastBody.svelte
[warn] apps/web/src/lib/components/Toggle.svelte.test.ts
[warn] apps/web/src/lib/components/analytics/ActivityCard.svelte.test.ts
[warn] apps/web/src/lib/components/analytics/BklitAnalytics.tsx
[warn] apps/web/src/lib/components/analytics/BklitChart.svelte
[warn] apps/web/src/lib/components/analytics/CalendarHeatmap.svelte
[warn] apps/web/src/lib/components/analytics/Dashboard.svelte
[warn] apps/web/src/lib/components/analytics/DistributionCard.svelte
[warn] apps/web/src/lib/components/analytics/RangeBar.svelte
[warn] apps/web/src/lib/components/analytics/RangeBar.svelte.test.ts
[warn] apps/web/src/lib/components/analytics/RangePicker.svelte
[warn] apps/web/src/lib/components/analytics/StackedBarCard.svelte
[warn] apps/web/src/lib/components/analytics/TimeOfDayHeatmap.svelte
[warn] apps/web/src/lib/components/analytics/vendor/bklit/charts/chart-child-passthrough.ts
[warn] apps/web/src/lib/components/analytics/vendor/bklit/charts/pie-chart.tsx
[warn] apps/web/src/lib/components/analytics/vendor/bklit/charts/tooltip/tooltip-box.tsx
[warn] apps/web/src/lib/components/analytics/widgets/StatRow.svelte
[warn] apps/web/src/lib/components/analytics/widgets/StatRow.svelte.test.ts
[warn] apps/web/src/lib/components/app-sidebar.svelte
[warn] apps/web/src/lib/components/empty-state.svelte
[warn] apps/web/src/lib/components/money/AddAccountForm.svelte
[warn] apps/web/src/lib/components/money/AssignedCell.svelte
[warn] apps/web/src/lib/components/money/AssignedCell.svelte.test.ts
[warn] apps/web/src/lib/components/money/AvailablePill.svelte
[warn] apps/web/src/lib/components/money/MoneySidebar.svelte
[warn] apps/web/src/lib/components/money/MonthSwitcher.svelte
[warn] apps/web/src/lib/components/money/TransactionForm.svelte
[warn] apps/web/src/lib/components/search-dialog.svelte
[warn] apps/web/src/lib/components/tagTree.test.ts
[warn] apps/web/src/lib/composer/Composer.svelte
[warn] apps/web/src/lib/composer/Composer.svelte.test.ts
[warn] apps/web/src/lib/composer/attachments.test.ts
[warn] apps/web/src/lib/composer/commit.test.ts
[warn] apps/web/src/lib/composer/controller.svelte.ts
[warn] apps/web/src/lib/composer/corrections.test.ts
[warn] apps/web/src/lib/composer/mode.test.ts
[warn] apps/web/src/lib/composer/recorder.svelte.ts
[warn] apps/web/src/lib/composer/recorder.test.ts
[warn] apps/web/src/lib/date-formatting.test.ts
[warn] apps/web/src/lib/editor/blockMenu.test.ts
[warn] apps/web/src/lib/editor/blockMenu.ts
[warn] apps/web/src/lib/editor/blockNoteTitle.test.ts
[warn] apps/web/src/lib/editor/blockNoteTitle.ts
[warn] apps/web/src/lib/editor/blockToolbarActions.test.ts
[warn] apps/web/src/lib/editor/editorEvents.ts
[warn] apps/web/src/lib/editor/format/BlockActionRow.svelte
[warn] apps/web/src/lib/editor/format/EditorFormatBar.svelte
[warn] apps/web/src/lib/editor/format/EditorFormatBubble.svelte
[warn] apps/web/src/lib/editor/format/FormatButton.svelte
[warn] apps/web/src/lib/editor/format/FormatCommandRow.svelte
[warn] apps/web/src/lib/editor/format/FormatIcon.svelte
[warn] apps/web/src/lib/editor/format/reminderDateTime.test.ts
[warn] apps/web/src/lib/editor/format/reminderDateTime.ts
[warn] apps/web/src/lib/editor/format/reminderPreview.test.ts
[warn] apps/web/src/lib/editor/format/reminderPreview.ts
[warn] apps/web/src/lib/editor/format/reminderTimeHistory.test.ts
[warn] apps/web/src/lib/editor/keyboardInset.svelte.ts
[warn] apps/web/src/lib/files/FileCollection.svelte.test.ts
[warn] apps/web/src/lib/files/FilesBrowser.svelte
[warn] apps/web/src/lib/files/FilesSidebar.svelte
[warn] apps/web/src/lib/files/InfoPanel.svelte
[warn] apps/web/src/lib/files/PublicLinkPage.svelte
[warn] apps/web/src/lib/files/RecentView.svelte
[warn] apps/web/src/lib/files/ShareDialog.svelte
[warn] apps/web/src/lib/files/SharedByYou.svelte
[warn] apps/web/src/lib/files/TrashView.svelte
[warn] apps/web/src/lib/files/UploadToast.svelte
[warn] apps/web/src/lib/files/UploadToast.svelte.test.ts
[warn] apps/web/src/lib/files/api.test.ts
[warn] apps/web/src/lib/files/model.test.ts
[warn] apps/web/src/lib/files/model.ts
[warn] apps/web/src/lib/files/prefs.svelte.test.ts
[warn] apps/web/src/lib/files/selection.ts
[warn] apps/web/src/lib/files/transfer.ts
[warn] apps/web/src/lib/files/uploadToast.ts
[warn] apps/web/src/lib/files/uploads.svelte.ts
[warn] apps/web/src/lib/flip.test.ts
[warn] apps/web/src/lib/flip.ts
[warn] apps/web/src/lib/fonts.test.ts
[warn] apps/web/src/lib/fontsGroup.svelte.test.ts
[warn] apps/web/src/lib/gestures.svelte.test.ts
[warn] apps/web/src/lib/jobs/api.test.ts
[warn] apps/web/src/lib/location/location.test.ts
[warn] apps/web/src/lib/mail/MailSidebar.svelte
[warn] apps/web/src/lib/mail/MailView.svelte
[warn] apps/web/src/lib/mail/folders.test.ts
[warn] apps/web/src/lib/mail/frame.test.ts
[warn] apps/web/src/lib/mail/frame.ts
[warn] apps/web/src/lib/menu-open-focus.svelte.test.ts
[warn] apps/web/src/lib/menu/MenuItem.svelte.test.ts
[warn] apps/web/src/lib/menuNav.ts
[warn] apps/web/src/lib/modeHeader.svelte.test.ts
[warn] apps/web/src/lib/money/amount.test.ts
[warn] apps/web/src/lib/money/currencies.test.ts
[warn] apps/web/src/lib/money/links.test.ts
[warn] apps/web/src/lib/notes/NoteEditorSurface.svelte
[warn] apps/web/src/lib/notes/NoteView.svelte
[warn] apps/web/src/lib/notes/anchors.svelte.test.ts
[warn] apps/web/src/lib/notes/anchors.ts
[warn] apps/web/src/lib/notes/collab.ts
[warn] apps/web/src/lib/notes/collaborationUndo.svelte.test.ts
[warn] apps/web/src/lib/notes/editor-types/index.d.ts
[warn] apps/web/src/lib/notes/editorHost.ts
[warn] apps/web/src/lib/notes/headingLinks.ts
[warn] apps/web/src/lib/notes/icons.ts
[warn] apps/web/src/lib/notes/notes.test.ts
[warn] apps/web/src/lib/notes/wikilinks.ts
[warn] apps/web/src/lib/notifications/InboxPanel.svelte
[warn] apps/web/src/lib/notifications/model.test.ts
[warn] apps/web/src/lib/notifications/push.test.ts
[warn] apps/web/src/lib/notifications/push.ts
[warn] apps/web/src/lib/overlay/scrollLock.ts
[warn] apps/web/src/lib/overlay/state.svelte.ts
[warn] apps/web/src/lib/photos/BackgroundsFolderView.svelte
[warn] apps/web/src/lib/photos/PhotoTimeline.svelte
[warn] apps/web/src/lib/photos/PhotoViewer.svelte
[warn] apps/web/src/lib/photos/PhotosSidebar.svelte
[warn] apps/web/src/lib/photos/PhotosView.svelte
[warn] apps/web/src/lib/photos/TimelineScrubber.svelte
[warn] apps/web/src/lib/photos/layout.test.ts
[warn] apps/web/src/lib/photos/layout.ts
[warn] apps/web/src/lib/photos/photos-units.test.ts
[warn] apps/web/src/lib/platform.ts
[warn] apps/web/src/lib/relativeTime.test.ts
[warn] apps/web/src/lib/relativeTime.ts
[warn] apps/web/src/lib/search/PhotoGrid.svelte
[warn] apps/web/src/lib/search/SavedSearchList.svelte
[warn] apps/web/src/lib/search/SearchField.svelte
[warn] apps/web/src/lib/search/SearchPreview.svelte
[warn] apps/web/src/lib/search/SearchResultRow.svelte
[warn] apps/web/src/lib/search/justify.ts
[warn] apps/web/src/lib/search/links.test.ts
[warn] apps/web/src/lib/search/providers.test.ts
[warn] apps/web/src/lib/search/providers.ts
[warn] apps/web/src/lib/search/registry.test.ts
[warn] apps/web/src/lib/search/registry.ts
[warn] apps/web/src/lib/search/search-units.test.ts
[warn] apps/web/src/lib/search/snippet.test.ts
[warn] apps/web/src/lib/search/window.svelte.ts
[warn] apps/web/src/lib/selection.ts
[warn] apps/web/src/lib/selectionContextBar.test.ts
[warn] apps/web/src/lib/selectionContextBar.ts
[warn] apps/web/src/lib/sheetSnap.test.ts
[warn] apps/web/src/lib/shortcuts/format.ts
[warn] apps/web/src/lib/shortcuts/registry.test.ts
[warn] apps/web/src/lib/shortcuts/registry.ts
[warn] apps/web/src/lib/shortcuts/settingsShortcut.ts
[warn] apps/web/src/lib/solar.test.ts
[warn] apps/web/src/lib/stores/toasts.svelte.ts
[warn] apps/web/src/lib/styles/auth-ui.css
[warn] apps/web/src/lib/styles/background.css
[warn] apps/web/src/lib/styles/blockLift.css
[warn] apps/web/src/lib/styles/font-weight-token.test.ts
[warn] apps/web/src/lib/styles/motion-token-check.test.js
[warn] apps/web/src/lib/styles/scrim.css
[warn] apps/web/src/lib/styles/sidebar.css
[warn] apps/web/src/lib/themeColor.ts
[warn] apps/web/src/lib/themes.test.ts
[warn] apps/web/src/lib/tooltip/tooltip.test.ts
[warn] apps/web/src/lib/tray.svelte.test.ts
[warn] apps/web/src/lib/ui/pointerCoarse.svelte.ts
[warn] apps/web/src/lib/vendor/svelte-dnd-action/index.mjs
[warn] apps/web/src/routes/(photos)/+layout.svelte
[warn] apps/web/src/routes/+error.svelte
[warn] apps/web/src/routes/+layout.svelte
[warn] apps/web/src/routes/+page.ts
[warn] apps/web/src/routes/[...path]/+page.svelte
[warn] apps/web/src/routes/admin/[...page]/+page.ts
[warn] apps/web/src/routes/analytics/+page.ts
[warn] apps/web/src/routes/analytics/[period]/+page.ts
[warn] apps/web/src/routes/analytics/[period]/[date]/+page.svelte
[warn] apps/web/src/routes/analytics/[period]/[date]/+page.ts
[warn] apps/web/src/routes/ask/+page.svelte
[warn] apps/web/src/routes/calendar/+page.ts
[warn] apps/web/src/routes/calendar/[view]/+page.ts
[warn] apps/web/src/routes/calendar/[view]/[date]/+page.svelte
[warn] apps/web/src/routes/calendar/[view]/[date]/+page.ts
[warn] apps/web/src/routes/f/[id]/+page.svelte
[warn] apps/web/src/routes/files/+page.svelte
[warn] apps/web/src/routes/files/recent/+page.svelte
[warn] apps/web/src/routes/files/trash/+page.svelte
[warn] apps/web/src/routes/invite/[token]/+page.svelte
[warn] apps/web/src/routes/journal/+page.svelte
[warn] apps/web/src/routes/journal/JournalPage.svelte.test.ts
[warn] apps/web/src/routes/layout.css
[warn] apps/web/src/routes/mail/+page.svelte
[warn] apps/web/src/routes/mail/c/[category]/+page.svelte
[warn] apps/web/src/routes/mail/f/[id]/+page.svelte
[warn] apps/web/src/routes/mail/m/[id]/+page.svelte
[warn] apps/web/src/routes/mail/t/[id]/+page.svelte
[warn] apps/web/src/routes/money/[budget]/+page.ts
[warn] apps/web/src/routes/money/[budget]/[month]/+page.svelte
[warn] apps/web/src/routes/money/[budget]/[month]/+page.ts
[warn] apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.svelte
[warn] apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.ts
[warn] apps/web/src/routes/notes/+page.svelte
[warn] apps/web/src/routes/notes/[id]/+page.svelte
[warn] apps/web/src/routes/notes/convert/+page.svelte
[warn] apps/web/src/routes/recover/+page.svelte
[warn] apps/web/src/routes/reenrol/+page.svelte
[warn] apps/web/src/routes/s/[slug]/+page.svelte
[warn] apps/web/src/routes/settings/account/AccountSection.svelte
[warn] apps/web/src/routes/settings/account/AppPasswordsGroup.svelte
[warn] apps/web/src/routes/settings/account/LocationGroup.svelte
[warn] apps/web/src/routes/settings/account/ProfileGroup.svelte
[warn] apps/web/src/routes/settings/account/SignInMethodsGroup.svelte
[warn] apps/web/src/routes/settings/account/StorageGroup.svelte
[warn] apps/web/src/routes/settings/admin/AdminSection.svelte
[warn] apps/web/src/routes/settings/admin/ConfigGroup.svelte
[warn] apps/web/src/routes/settings/admin/InvitationsGroup.svelte
[warn] apps/web/src/routes/settings/admin/JobsGroup.svelte
[warn] apps/web/src/routes/settings/admin/QuotaLimitField.svelte
[warn] apps/web/src/routes/settings/admin/SignInGroup.svelte
[warn] apps/web/src/routes/settings/admin/SystemGroup.svelte
[warn] apps/web/src/routes/settings/admin/UnsplashKeyGroup.svelte
[warn] apps/web/src/routes/settings/admin/UsersGroup.svelte
[warn] apps/web/src/routes/settings/ai/AiSection.svelte
[warn] apps/web/src/routes/settings/ai/TurnHistory.svelte
[warn] apps/web/src/routes/settings/api.svelte.test.ts
[warn] apps/web/src/routes/settings/api.svelte.ts
[warn] apps/web/src/routes/settings/appearance/AppearanceSection.svelte
[warn] apps/web/src/routes/settings/appearance/BackgroundPreview.svelte
[warn] apps/web/src/routes/settings/appearance/ColourPickerButton.svelte
[warn] apps/web/src/routes/settings/appearance/FontsGroup.svelte
[warn] apps/web/src/routes/settings/appearance/UnsplashSheet.svelte
[warn] apps/web/src/routes/settings/apps/AppsSection.svelte
[warn] apps/web/src/routes/settings/apps/CalendarFeedsGroup.svelte
[warn] apps/web/src/routes/settings/calendars/CalendarsSection.svelte
[warn] apps/web/src/routes/settings/calendars/ExternalCalendarsGroup.svelte
[warn] apps/web/src/routes/settings/editor/EditorSection.svelte
[warn] apps/web/src/routes/settings/files/FilesSection.svelte
[warn] apps/web/src/routes/settings/jobs/JobDetails.svelte
[warn] apps/web/src/routes/settings/jobs/JobRow.svelte
[warn] apps/web/src/routes/settings/jobs/JobRow.svelte.test.ts
[warn] apps/web/src/routes/settings/jobs/MyJobsGroup.svelte
[warn] apps/web/src/routes/settings/mail/MailSection.svelte
[warn] apps/web/src/routes/settings/notifications/NotificationsSection.svelte
[warn] apps/web/src/routes/settings/parts/SettingsCard.svelte
[warn] apps/web/src/routes/settings/parts/SettingsCard.svelte.test.ts
[warn] apps/web/src/routes/settings/parts/SettingsRow.svelte
[warn] apps/web/src/routes/settings/parts/SettingsRow.svelte.test.ts
[warn] apps/web/src/routes/settings/parts/icons.ts
[warn] apps/web/src/routes/settings/parts/settings-forms.css
[warn] apps/web/src/routes/settings/photos/PhotosSection.svelte
[warn] apps/web/src/routes/settings/plugins/PluginsSection.svelte
[warn] apps/web/src/routes/settings/sections.ts
[warn] apps/web/src/routes/setup/+page.svelte
[warn] apps/web/src/routes/shared/+page.svelte
[warn] apps/web/src/routes/signup/+page.svelte
[warn] apps/web/src/routes/tags/+page.svelte
[warn] apps/web/src/routes/tags/[tag]/+page.ts
[warn] apps/web/src/routes/today/+page.ts
[warn] apps/web/src/test-setup.ts
[warn] packages/editor/src/Editor.svelte
[warn] packages/editor/src/Editor.svelte.test.ts
[warn] packages/editor/src/anchor.test.ts
[warn] packages/editor/src/anchor.ts
[warn] packages/editor/src/attachmentPaste.test.ts
[warn] packages/editor/src/attachmentPaste.ts
[warn] packages/editor/src/blockHitTest.test.ts
[warn] packages/editor/src/blockHitTest.ts
[warn] packages/editor/src/blockSelectDecoration.ts
[warn] packages/editor/src/blockSelection.ts
[warn] packages/editor/src/callout.ts
[warn] packages/editor/src/chromeInteraction.svelte.ts
[warn] packages/editor/src/collaborationHistoryKeys.ts
[warn] packages/editor/src/collaborationUndo.test.ts
[warn] packages/editor/src/components/CalloutView.svelte
[warn] packages/editor/src/components/ImageView.svelte
[warn] packages/editor/src/components/TaskItemView.svelte
[warn] packages/editor/src/composerNoteSession.test.ts
[warn] packages/editor/src/composerNoteSession.ts
[warn] packages/editor/src/extensions.dragHandle.test.ts
[warn] packages/editor/src/extensions.ts
[warn] packages/editor/src/formatCommands.svelte.test.ts
[warn] packages/editor/src/formatCommands.ts
[warn] packages/editor/src/image.ts
[warn] packages/editor/src/imagePipe.ts
[warn] packages/editor/src/index.ts
[warn] packages/editor/src/linkCommand.ts
[warn] packages/editor/src/listIndent.test.ts
[warn] packages/editor/src/listIndent.ts
[warn] packages/editor/src/markdown.roundtrip.svelte.test.ts
[warn] packages/editor/src/markdown.test.ts
[warn] packages/editor/src/markdown.ts
[warn] packages/editor/src/markdown.vectors.test.ts
[warn] packages/editor/src/moveBlock.ts
[warn] packages/editor/src/noteCards.test.ts
[warn] packages/editor/src/noteCards.ts
[warn] packages/editor/src/noteCardsDecoration.ts
[warn] packages/editor/src/slash.test.ts
[warn] packages/editor/src/slash.touch.svelte.test.ts
[warn] packages/editor/src/slash.ts
[warn] packages/editor/src/source.ts
[warn] packages/editor/src/syntaxHighlight.test.ts
[warn] packages/editor/src/syntaxHighlight.ts
[warn] packages/editor/src/syntaxLanguages.ts
[warn] packages/editor/src/wikilinkSyntax.ts
[warn] packages/ui/src/actions/portal.ts
[warn] packages/ui/src/actions/resizableEdge.ts
[warn] packages/ui/src/components/Card.svelte
[warn] packages/ui/src/components/Checkbox.svelte
[warn] packages/ui/src/components/ChromeActions.svelte
[warn] packages/ui/src/components/DateStrip.svelte
[warn] packages/ui/src/components/Disclosure.svelte
[warn] packages/ui/src/components/FloatingSidebar.svelte
[warn] packages/ui/src/components/Inspector.svelte
[warn] packages/ui/src/components/Kbd.svelte
[warn] packages/ui/src/components/LinkedHeading.svelte
[warn] packages/ui/src/components/ModeHeader.svelte
[warn] packages/ui/src/components/OverlaySurface.svelte
[warn] packages/ui/src/components/Pill.svelte
[warn] packages/ui/src/components/PillGroup.svelte
[warn] packages/ui/src/components/PrimaryPill.svelte
[warn] packages/ui/src/components/ProgressiveBlur.svelte
[warn] packages/ui/src/components/SegmentedControl.svelte
[warn] packages/ui/src/components/Select.svelte
[warn] packages/ui/src/components/SelectionBar.svelte
[warn] packages/ui/src/components/SettingRow.svelte
[warn] packages/ui/src/components/SidebarIcon.svelte
[warn] packages/ui/src/components/SidebarSectionHeader.svelte
[warn] packages/ui/src/components/StatusPill.svelte
[warn] packages/ui/src/components/ThemePicker.svelte
[warn] packages/ui/src/components/TodayButton.svelte
[warn] packages/ui/src/components/Toggle.svelte
[warn] packages/ui/src/components/WeekBlob.svelte
[warn] packages/ui/src/components/calendar/AgendaList.svelte
[warn] packages/ui/src/components/calendar/AttachmentDeck.svelte
[warn] packages/ui/src/components/calendar/GridColumn.svelte
[warn] packages/ui/src/components/calendar/MiniMonth.svelte
[warn] packages/ui/src/components/calendar/MonthGrid.svelte
[warn] packages/ui/src/components/calendar/TimeGrid.svelte
[warn] packages/ui/src/components/calendar/layout.ts
[warn] packages/ui/src/components/calendar/model.ts
[warn] packages/ui/src/components/calendar/snap.ts
[warn] packages/ui/src/components/calendar/window.ts
[warn] packages/ui/src/components/calendar/zoom.ts
[warn] packages/ui/src/components/composer/DraftStack.svelte
[warn] packages/ui/src/components/files/FileCollection.svelte
[warn] packages/ui/src/components/files/FileSelectionCheckbox.svelte
[warn] packages/ui/src/components/menu/FloatingSurface.svelte
[warn] packages/ui/src/components/menu/Menu.svelte
[warn] packages/ui/src/components/menu/MenuSeparator.svelte
[warn] packages/ui/src/components/menu/types.ts
[warn] packages/ui/src/components/modeIsland.css
[warn] packages/ui/src/components/notes/NoteMentionsCard.svelte
[warn] packages/ui/src/components/notes/NoteProperties.svelte
[warn] packages/ui/src/components/surfaceViewport.svelte.ts
[warn] packages/ui/src/components/viewer/ImageView.svelte
[warn] packages/ui/src/components/viewer/LiveMotion.svelte
[warn] packages/ui/src/components/viewer/PdfView.svelte
[warn] packages/ui/src/components/viewer/QuickLook.svelte
[warn] packages/ui/src/components/viewer/TextView.svelte
[warn] packages/ui/src/components/viewer/VideoView.svelte
[warn] packages/ui/src/floating.ts
[warn] packages/ui/src/gestures.ts
[warn] packages/ui/src/motion.ts
[warn] packages/ui/src/time.ts
[warn] packages/ui/src/tokens.css
[warn] packages/ui/src/weekStart.ts
[warn] Code style issues found in 405 files. Run Prettier with --write to fix.

Formatting baseline comparison with the same formatter: 405 of 409 touched files already fail on origin/dev, zero new failures, zero changed failure outcomes. Code formatting was left unchanged to honor the comments-only scope.

Additional source checks (verbatim):

Comment-only scope verified in 409 files; runtime source and runner directives are unchanged.
Audit module headers: 246/246 have a leading module comment.
Prettier baseline: 405/409 touched files already fail on origin/dev; 0 new failures; 0 fixed by comment changes.

git diff --check origin/dev passed with no output; the worktree is clean.

Known gaps: #903 requires changing source OpenAPI descriptions in Rust and regenerating contracts/openapi.json and the API client together. Those sources are outside this job's ownership; the issue has a handoff comment. No generated-only edit was made. #611 retains the actual GridColumn focus-transition defect; the comment now states the current implementation and its tracking issue. This job cannot change CSS behavior. Existing formatting debt remains. Required environment directives and actual source/API identifier references remain intact.

Decisions: No new product/design decision. File-boundary HTML comments describe component modules; TypeScript doc comments describe module/API boundaries. Local-only research references were replaced by the invariant they had explained. Panel docs describe current Installation-local persistence rather than promising a server settings seam.

UX gaps closed: Not applicable: documentation only, no user-facing behavior changed.
UX gaps left: Existing keyboard-motion behavior tracked in #611; no UI change was attempted.
For the merge round: No extra runtime suite is needed for these comment-only changes. #903 needs the Rust-source/contract generation handoff above before that issue can be considered complete.

File inventory:

apps/web/src/app.html
apps/web/src/calternal-app.css
apps/web/src/hooks.client.ts
apps/web/src/lib/a11y/focusTrap.ts
apps/web/src/lib/a11y/focusWithKeyboard.ts
apps/web/src/lib/a11y/inputModality.ts
apps/web/src/lib/actions/longPressMenu.ts
apps/web/src/lib/actions/magnetic.ts
apps/web/src/lib/ai/api.test.ts
apps/web/src/lib/ai/commands.test.ts
apps/web/src/lib/ai/mention.test.ts
apps/web/src/lib/ai/transcript.test.ts
apps/web/src/lib/ai/transcript.ts
apps/web/src/lib/analytics/delta.test.ts
apps/web/src/lib/analytics/links.test.ts
apps/web/src/lib/analytics/palette.test.ts
apps/web/src/lib/analytics/period.test.ts
apps/web/src/lib/analytics/store.test.ts
apps/web/src/lib/api/notes.test.ts
apps/web/src/lib/api/tags.test.ts
apps/web/src/lib/appearance/readability.ts
apps/web/src/lib/auth/authOptions.ts
apps/web/src/lib/auth/components/CreateAccountFlow.svelte
apps/web/src/lib/auth/components/RecoveryKeyEntry.svelte
apps/web/src/lib/auth/passkeys.test.ts
apps/web/src/lib/auth/passkeys.ts
apps/web/src/lib/auth/recoveryKey.test.ts
apps/web/src/lib/auth/routes.test.ts
apps/web/src/lib/backgroundGroup.svelte.test.ts
apps/web/src/lib/calendar/agenda.svelte.test.ts
apps/web/src/lib/calendar/area-colors.test.ts
apps/web/src/lib/calendar/event-tint.test.ts
apps/web/src/lib/calendar/sidebarState.svelte.ts
apps/web/src/lib/components/AppToaster.svelte
apps/web/src/lib/components/FieldPopover.svelte.test.ts
apps/web/src/lib/components/KeyboardShortcutsCard.svelte
apps/web/src/lib/components/KeyboardShortcutsCard.svelte.test.ts
apps/web/src/lib/components/LinkResolveState.svelte
apps/web/src/lib/components/NoteList.svelte
apps/web/src/lib/components/OverlaySurface.svelte.test.ts
apps/web/src/lib/components/Select.svelte.test.ts
apps/web/src/lib/components/SelectionBar.svelte.test.ts
apps/web/src/lib/components/ServiceState.svelte
apps/web/src/lib/components/SidebarSectionHeader.svelte.test.ts
apps/web/src/lib/components/TagEditor.svelte
apps/web/src/lib/components/ToastBody.svelte
apps/web/src/lib/components/Toggle.svelte.test.ts
apps/web/src/lib/components/analytics/ActivityCard.svelte.test.ts
apps/web/src/lib/components/analytics/BklitAnalytics.tsx
apps/web/src/lib/components/analytics/BklitChart.svelte
apps/web/src/lib/components/analytics/CalendarHeatmap.svelte
apps/web/src/lib/components/analytics/Dashboard.svelte
apps/web/src/lib/components/analytics/DistributionCard.svelte
apps/web/src/lib/components/analytics/RangeBar.svelte
apps/web/src/lib/components/analytics/RangeBar.svelte.test.ts
apps/web/src/lib/components/analytics/RangePicker.svelte
apps/web/src/lib/components/analytics/StackedBarCard.svelte
apps/web/src/lib/components/analytics/TimeOfDayHeatmap.svelte
apps/web/src/lib/components/analytics/vendor/bklit/charts/chart-child-passthrough.ts
apps/web/src/lib/components/analytics/vendor/bklit/charts/pie-chart.tsx
apps/web/src/lib/components/analytics/vendor/bklit/charts/tooltip/tooltip-box.tsx
apps/web/src/lib/components/analytics/widgets/StatRow.svelte
apps/web/src/lib/components/analytics/widgets/StatRow.svelte.test.ts
apps/web/src/lib/components/app-sidebar.svelte
apps/web/src/lib/components/empty-state.svelte
apps/web/src/lib/components/money/AddAccountForm.svelte
apps/web/src/lib/components/money/AssignedCell.svelte
apps/web/src/lib/components/money/AssignedCell.svelte.test.ts
apps/web/src/lib/components/money/AvailablePill.svelte
apps/web/src/lib/components/money/MoneySidebar.svelte
apps/web/src/lib/components/money/MonthSwitcher.svelte
apps/web/src/lib/components/money/TransactionForm.svelte
apps/web/src/lib/components/search-dialog.svelte
apps/web/src/lib/components/tagTree.test.ts
apps/web/src/lib/composer/Composer.svelte
apps/web/src/lib/composer/Composer.svelte.test.ts
apps/web/src/lib/composer/attachments.test.ts
apps/web/src/lib/composer/commit.test.ts
apps/web/src/lib/composer/controller.svelte.ts
apps/web/src/lib/composer/corrections.test.ts
apps/web/src/lib/composer/mode.test.ts
apps/web/src/lib/composer/recorder.svelte.ts
apps/web/src/lib/composer/recorder.test.ts
apps/web/src/lib/date-formatting.test.ts
apps/web/src/lib/editor/blockMenu.test.ts
apps/web/src/lib/editor/blockMenu.ts
apps/web/src/lib/editor/blockNoteTitle.test.ts
apps/web/src/lib/editor/blockNoteTitle.ts
apps/web/src/lib/editor/blockToolbarActions.test.ts
apps/web/src/lib/editor/editorEvents.ts
apps/web/src/lib/editor/format/BlockActionRow.svelte
apps/web/src/lib/editor/format/EditorFormatBar.svelte
apps/web/src/lib/editor/format/EditorFormatBubble.svelte
apps/web/src/lib/editor/format/FormatButton.svelte
apps/web/src/lib/editor/format/FormatCommandRow.svelte
apps/web/src/lib/editor/format/FormatIcon.svelte
apps/web/src/lib/editor/format/reminderDateTime.test.ts
apps/web/src/lib/editor/format/reminderDateTime.ts
apps/web/src/lib/editor/format/reminderPreview.test.ts
apps/web/src/lib/editor/format/reminderPreview.ts
apps/web/src/lib/editor/format/reminderTimeHistory.test.ts
apps/web/src/lib/editor/keyboardInset.svelte.ts
apps/web/src/lib/files/FileCollection.svelte.test.ts
apps/web/src/lib/files/FilesBrowser.svelte
apps/web/src/lib/files/FilesSidebar.svelte
apps/web/src/lib/files/InfoPanel.svelte
apps/web/src/lib/files/PublicLinkPage.svelte
apps/web/src/lib/files/RecentView.svelte
apps/web/src/lib/files/ShareDialog.svelte
apps/web/src/lib/files/SharedByYou.svelte
apps/web/src/lib/files/TrashView.svelte
apps/web/src/lib/files/UploadToast.svelte
apps/web/src/lib/files/UploadToast.svelte.test.ts
apps/web/src/lib/files/api.test.ts
apps/web/src/lib/files/model.test.ts
apps/web/src/lib/files/model.ts
apps/web/src/lib/files/prefs.svelte.test.ts
apps/web/src/lib/files/selection.ts
apps/web/src/lib/files/transfer.ts
apps/web/src/lib/files/uploadToast.ts
apps/web/src/lib/files/uploads.svelte.ts
apps/web/src/lib/flip.test.ts
apps/web/src/lib/flip.ts
apps/web/src/lib/fonts.test.ts
apps/web/src/lib/fontsGroup.svelte.test.ts
apps/web/src/lib/gestures.svelte.test.ts
apps/web/src/lib/hooks/is-mobile.svelte.ts
apps/web/src/lib/jobs/api.test.ts
apps/web/src/lib/location/location.test.ts
apps/web/src/lib/mail/MailSidebar.svelte
apps/web/src/lib/mail/MailView.svelte
apps/web/src/lib/mail/folders.test.ts
apps/web/src/lib/mail/frame.test.ts
apps/web/src/lib/mail/frame.ts
apps/web/src/lib/menu-open-focus.svelte.test.ts
apps/web/src/lib/menu/MenuItem.svelte.test.ts
apps/web/src/lib/menuNav.ts
apps/web/src/lib/modeHeader.svelte.test.ts
apps/web/src/lib/money/amount.test.ts
apps/web/src/lib/money/currencies.test.ts
apps/web/src/lib/money/links.test.ts
apps/web/src/lib/notes/NoteEditorSurface.svelte
apps/web/src/lib/notes/NoteView.svelte
apps/web/src/lib/notes/anchors.svelte.test.ts
apps/web/src/lib/notes/anchors.ts
apps/web/src/lib/notes/collab.ts
apps/web/src/lib/notes/collaborationUndo.svelte.test.ts
apps/web/src/lib/notes/editor-types/index.d.ts
apps/web/src/lib/notes/editorHost.ts
apps/web/src/lib/notes/headingLinks.ts
apps/web/src/lib/notes/icons.ts
apps/web/src/lib/notes/notes.test.ts
apps/web/src/lib/notes/wikilinks.ts
apps/web/src/lib/notifications/InboxPanel.svelte
apps/web/src/lib/notifications/model.test.ts
apps/web/src/lib/notifications/push.test.ts
apps/web/src/lib/notifications/push.ts
apps/web/src/lib/overlay/scrollLock.ts
apps/web/src/lib/overlay/state.svelte.ts
apps/web/src/lib/photos/BackgroundsFolderView.svelte
apps/web/src/lib/photos/PhotoTimeline.svelte
apps/web/src/lib/photos/PhotoViewer.svelte
apps/web/src/lib/photos/PhotosSidebar.svelte
apps/web/src/lib/photos/PhotosView.svelte
apps/web/src/lib/photos/TimelineScrubber.svelte
apps/web/src/lib/photos/layout.test.ts
apps/web/src/lib/photos/layout.ts
apps/web/src/lib/photos/photos-units.test.ts
apps/web/src/lib/platform.ts
apps/web/src/lib/relativeTime.test.ts
apps/web/src/lib/relativeTime.ts
apps/web/src/lib/search/PhotoGrid.svelte
apps/web/src/lib/search/SavedSearchList.svelte
apps/web/src/lib/search/SearchField.svelte
apps/web/src/lib/search/SearchPreview.svelte
apps/web/src/lib/search/SearchResultRow.svelte
apps/web/src/lib/search/justify.ts
apps/web/src/lib/search/links.test.ts
apps/web/src/lib/search/providers.test.ts
apps/web/src/lib/search/providers.ts
apps/web/src/lib/search/registry.test.ts
apps/web/src/lib/search/registry.ts
apps/web/src/lib/search/search-units.test.ts
apps/web/src/lib/search/snippet.test.ts
apps/web/src/lib/search/window.svelte.ts
apps/web/src/lib/selection.ts
apps/web/src/lib/selectionContextBar.test.ts
apps/web/src/lib/selectionContextBar.ts
apps/web/src/lib/sheetSnap.test.ts
apps/web/src/lib/shortcuts/format.ts
apps/web/src/lib/shortcuts/registry.test.ts
apps/web/src/lib/shortcuts/registry.ts
apps/web/src/lib/shortcuts/settingsShortcut.ts
apps/web/src/lib/solar.test.ts
apps/web/src/lib/stores/toasts.svelte.ts
apps/web/src/lib/styles/auth-ui.css
apps/web/src/lib/styles/background.css
apps/web/src/lib/styles/blockLift.css
apps/web/src/lib/styles/font-weight-token.test.ts
apps/web/src/lib/styles/motion-token-check.test.js
apps/web/src/lib/styles/scrim.css
apps/web/src/lib/styles/sidebar.css
apps/web/src/lib/test-fixtures/BottomBarFixture.svelte
apps/web/src/lib/themeColor.ts
apps/web/src/lib/themes.test.ts
apps/web/src/lib/tooltip/tooltip.test.ts
apps/web/src/lib/tray.svelte.test.ts
apps/web/src/lib/ui/pointerCoarse.svelte.ts
apps/web/src/lib/vendor/svelte-dnd-action/index.mjs
apps/web/src/routes/(photos)/+layout.svelte
apps/web/src/routes/+error.svelte
apps/web/src/routes/+layout.svelte
apps/web/src/routes/+page.svelte
apps/web/src/routes/+page.ts
apps/web/src/routes/[...path]/+page.svelte
apps/web/src/routes/admin/[...page]/+page.ts
apps/web/src/routes/analytics/+page.ts
apps/web/src/routes/analytics/[period]/+page.ts
apps/web/src/routes/analytics/[period]/[date]/+page.svelte
apps/web/src/routes/analytics/[period]/[date]/+page.ts
apps/web/src/routes/ask/+page.svelte
apps/web/src/routes/calendar/+page.ts
apps/web/src/routes/calendar/[view]/+page.ts
apps/web/src/routes/calendar/[view]/[date]/+page.svelte
apps/web/src/routes/calendar/[view]/[date]/+page.ts
apps/web/src/routes/f/[id]/+page.svelte
apps/web/src/routes/files/+page.svelte
apps/web/src/routes/files/recent/+page.svelte
apps/web/src/routes/files/trash/+page.svelte
apps/web/src/routes/invite/[token]/+page.svelte
apps/web/src/routes/journal/+page.svelte
apps/web/src/routes/journal/JournalPage.svelte.test.ts
apps/web/src/routes/layout.css
apps/web/src/routes/mail/+page.svelte
apps/web/src/routes/mail/c/[category]/+page.svelte
apps/web/src/routes/mail/f/[id]/+page.svelte
apps/web/src/routes/mail/m/[id]/+page.svelte
apps/web/src/routes/mail/t/[id]/+page.svelte
apps/web/src/routes/money/[budget]/+page.ts
apps/web/src/routes/money/[budget]/[month]/+page.svelte
apps/web/src/routes/money/[budget]/[month]/+page.ts
apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.svelte
apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.ts
apps/web/src/routes/notes/+page.svelte
apps/web/src/routes/notes/[id]/+page.svelte
apps/web/src/routes/notes/convert/+page.svelte
apps/web/src/routes/recover/+page.svelte
apps/web/src/routes/reenrol/+page.svelte
apps/web/src/routes/s/[slug]/+page.svelte
apps/web/src/routes/settings/account/AccountSection.svelte
apps/web/src/routes/settings/account/AppPasswordsGroup.svelte
apps/web/src/routes/settings/account/LocationGroup.svelte
apps/web/src/routes/settings/account/ProfileGroup.svelte
apps/web/src/routes/settings/account/SignInMethodsGroup.svelte
apps/web/src/routes/settings/account/StorageGroup.svelte
apps/web/src/routes/settings/admin/AdminSection.svelte
apps/web/src/routes/settings/admin/ConfigGroup.svelte
apps/web/src/routes/settings/admin/InvitationsGroup.svelte
apps/web/src/routes/settings/admin/JobsGroup.svelte
apps/web/src/routes/settings/admin/QuotaLimitField.svelte
apps/web/src/routes/settings/admin/SignInGroup.svelte
apps/web/src/routes/settings/admin/SystemGroup.svelte
apps/web/src/routes/settings/admin/UnsplashKeyGroup.svelte
apps/web/src/routes/settings/admin/UsersGroup.svelte
apps/web/src/routes/settings/ai/AiSection.svelte
apps/web/src/routes/settings/ai/TurnHistory.svelte
apps/web/src/routes/settings/api.svelte.test.ts
apps/web/src/routes/settings/api.svelte.ts
apps/web/src/routes/settings/appearance/AppearanceSection.svelte
apps/web/src/routes/settings/appearance/BackgroundPreview.svelte
apps/web/src/routes/settings/appearance/ColourPickerButton.svelte
apps/web/src/routes/settings/appearance/FontsGroup.svelte
apps/web/src/routes/settings/appearance/UnsplashSheet.svelte
apps/web/src/routes/settings/apps/AppsSection.svelte
apps/web/src/routes/settings/apps/CalendarFeedsGroup.svelte
apps/web/src/routes/settings/calendars/CalendarsSection.svelte
apps/web/src/routes/settings/calendars/ExternalCalendarsGroup.svelte
apps/web/src/routes/settings/editor/EditorSection.svelte
apps/web/src/routes/settings/files/FilesSection.svelte
apps/web/src/routes/settings/jobs/JobDetails.svelte
apps/web/src/routes/settings/jobs/JobRow.svelte
apps/web/src/routes/settings/jobs/JobRow.svelte.test.ts
apps/web/src/routes/settings/jobs/MyJobsGroup.svelte
apps/web/src/routes/settings/mail/MailSection.svelte
apps/web/src/routes/settings/notifications/NotificationsSection.svelte
apps/web/src/routes/settings/parts/SettingsCard.svelte
apps/web/src/routes/settings/parts/SettingsCard.svelte.test.ts
apps/web/src/routes/settings/parts/SettingsRow.svelte
apps/web/src/routes/settings/parts/SettingsRow.svelte.test.ts
apps/web/src/routes/settings/parts/icons.ts
apps/web/src/routes/settings/parts/settings-forms.css
apps/web/src/routes/settings/photos/PhotosSection.svelte
apps/web/src/routes/settings/plugins/PluginsSection.svelte
apps/web/src/routes/settings/sections.ts
apps/web/src/routes/setup/+page.svelte
apps/web/src/routes/shared/+page.svelte
apps/web/src/routes/signup/+page.svelte
apps/web/src/routes/tags/+page.svelte
apps/web/src/routes/tags/[tag]/+page.ts
apps/web/src/routes/today/+page.ts
apps/web/src/test-setup.ts
packages/editor/src/Editor.svelte
packages/editor/src/Editor.svelte.test.ts
packages/editor/src/anchor.test.ts
packages/editor/src/anchor.ts
packages/editor/src/attachmentPaste.test.ts
packages/editor/src/attachmentPaste.ts
packages/editor/src/blockHitTest.test.ts
packages/editor/src/blockHitTest.ts
packages/editor/src/blockSelectDecoration.ts
packages/editor/src/blockSelection.ts
packages/editor/src/callout.ts
packages/editor/src/chromeInteraction.svelte.ts
packages/editor/src/collaborationHistoryKeys.ts
packages/editor/src/collaborationUndo.test.ts
packages/editor/src/components/CalloutView.svelte
packages/editor/src/components/ImageView.svelte
packages/editor/src/components/TaskItemView.svelte
packages/editor/src/composerNoteSession.test.ts
packages/editor/src/composerNoteSession.ts
packages/editor/src/extensions.dragHandle.test.ts
packages/editor/src/extensions.ts
packages/editor/src/formatCommands.svelte.test.ts
packages/editor/src/formatCommands.ts
packages/editor/src/image.ts
packages/editor/src/imagePipe.ts
packages/editor/src/index.ts
packages/editor/src/linkCommand.ts
packages/editor/src/listIndent.test.ts
packages/editor/src/listIndent.ts
packages/editor/src/markdown.roundtrip.svelte.test.ts
packages/editor/src/markdown.test.ts
packages/editor/src/markdown.ts
packages/editor/src/markdown.vectors.test.ts
packages/editor/src/moveBlock.ts
packages/editor/src/noteCards.test.ts
packages/editor/src/noteCards.ts
packages/editor/src/noteCardsDecoration.ts
packages/editor/src/slash.test.ts
packages/editor/src/slash.touch.svelte.test.ts
packages/editor/src/slash.ts
packages/editor/src/source.ts
packages/editor/src/syntaxHighlight.test.ts
packages/editor/src/syntaxHighlight.ts
packages/editor/src/syntaxLanguages.ts
packages/editor/src/wikilinkSyntax.ts
packages/ui/src/actions/portal.ts
packages/ui/src/actions/resizableEdge.ts
packages/ui/src/components/Card.svelte
packages/ui/src/components/Checkbox.svelte
packages/ui/src/components/ChromeActions.svelte
packages/ui/src/components/DateStrip.svelte
packages/ui/src/components/Disclosure.svelte
packages/ui/src/components/FloatingSidebar.svelte
packages/ui/src/components/Inspector.svelte
packages/ui/src/components/Kbd.svelte
packages/ui/src/components/LinkedHeading.svelte
packages/ui/src/components/ModeHeader.svelte
packages/ui/src/components/OverlaySurface.svelte
packages/ui/src/components/Pill.svelte
packages/ui/src/components/PillGroup.svelte
packages/ui/src/components/PrimaryPill.svelte
packages/ui/src/components/ProgressiveBlur.svelte
packages/ui/src/components/SegmentedControl.svelte
packages/ui/src/components/Select.svelte
packages/ui/src/components/SelectionBar.svelte
packages/ui/src/components/SettingRow.svelte
packages/ui/src/components/SidebarIcon.svelte
packages/ui/src/components/SidebarSectionHeader.svelte
packages/ui/src/components/StatusPill.svelte
packages/ui/src/components/ThemePicker.svelte
packages/ui/src/components/TodayButton.svelte
packages/ui/src/components/Toggle.svelte
packages/ui/src/components/WeekBlob.svelte
packages/ui/src/components/calendar/AgendaList.svelte
packages/ui/src/components/calendar/AttachmentDeck.svelte
packages/ui/src/components/calendar/GridColumn.svelte
packages/ui/src/components/calendar/MiniMonth.svelte
packages/ui/src/components/calendar/MonthGrid.svelte
packages/ui/src/components/calendar/TimeGrid.svelte
packages/ui/src/components/calendar/layout.ts
packages/ui/src/components/calendar/model.ts
packages/ui/src/components/calendar/snap.ts
packages/ui/src/components/calendar/window.ts
packages/ui/src/components/calendar/zoom.ts
packages/ui/src/components/composer/DraftStack.svelte
packages/ui/src/components/files/FileCollection.svelte
packages/ui/src/components/files/FileSelectionCheckbox.svelte
packages/ui/src/components/menu/FloatingSurface.svelte
packages/ui/src/components/menu/Menu.svelte
packages/ui/src/components/menu/MenuSeparator.svelte
packages/ui/src/components/menu/types.ts
packages/ui/src/components/modeIsland.css
packages/ui/src/components/notes/NoteMentionsCard.svelte
packages/ui/src/components/notes/NoteProperties.svelte
packages/ui/src/components/surfaceViewport.svelte.ts
packages/ui/src/components/tooltip/warmth.ts
packages/ui/src/components/viewer/ImageView.svelte
packages/ui/src/components/viewer/LiveMotion.svelte
packages/ui/src/components/viewer/PdfView.svelte
packages/ui/src/components/viewer/QuickLook.svelte
packages/ui/src/components/viewer/TextView.svelte
packages/ui/src/components/viewer/VideoView.svelte
packages/ui/src/floating.ts
packages/ui/src/gestures.ts
packages/ui/src/motion.ts
packages/ui/src/time.ts
packages/ui/src/tokens.css
packages/ui/src/weekStart.ts
Completed the comment-only web fixes for #863 on `job/docsfix-web`. **Built:** Added module comments to all 246 files identified by the audit (211 web, 19 UI, 16 editor). Documented the passkey request/ceremony and byte-conversion invariants, the single Settings step-up retry, panel-width persistence/clamping and resize cleanup, and block-anchor parsing/display/matching. Replaced third-party product comparisons with behavior descriptions and corrected stylesheet and local-only research references. Re-read the final module and API comments. Executable source, test expectations, and runner directives are unchanged. **Files:** 409 source files: 301 in `apps/web/src`, 63 in `packages/ui/src`, 45 in `packages/editor/src`. The full inventory follows below. `packages/api-client/src/generated.ts` is unchanged. **Commits (one concern per issue):** - #900: `fe9381d206e0a52cd2b5e58a4b11085446f776e4` - #901: `68d99959878cd4245edeb06e25fadfb1fcbc1ceb` - #902: `0bb14c0a05014baea59f1237955a26799ca5b131` **Head:** `a82305864d94a3194015404b6deddbb366ab55b1`. Fetched and merged `origin/dev` once before final gates; incorporated `c4faf184df726a9375ae0c13bdfb6018ac2cf57e`. The incoming change updated DESIGN §§18, 33, 45 and 57 and was read. No push, deploy or merge into dev/main. Issues remain open. **Gates:** Only the two checks requested by this job ran; no build, server, browser or runtime test. Cargo used `CARGO_PROFILE_DEV_DEBUG=line-tables-only`, `CARGO_INCREMENTAL=0`, `CARGO_BUILD_JOBS=4`, and the worktree's `target/tmp` for TMPDIR. CARGO_TARGET_DIR was not overridden. No cargo or web build output was created, so no build cleanup was needed. `cargo fmt --check`: exit 0; stdout and stderr were empty. `bunx prettier --check --plugin <external prettier-plugin-svelte/plugin.js> <409 touched files>`: exit 1. Formatter tooling was resolved outside the repo; no dependency files changed. Output verbatim: ```text Checking formatting... [warn] apps/web/src/app.html [warn] apps/web/src/calternal-app.css [warn] apps/web/src/hooks.client.ts [warn] apps/web/src/lib/a11y/focusTrap.ts [warn] apps/web/src/lib/a11y/focusWithKeyboard.ts [warn] apps/web/src/lib/a11y/inputModality.ts [warn] apps/web/src/lib/actions/longPressMenu.ts [warn] apps/web/src/lib/actions/magnetic.ts [warn] apps/web/src/lib/ai/api.test.ts [warn] apps/web/src/lib/ai/commands.test.ts [warn] apps/web/src/lib/ai/mention.test.ts [warn] apps/web/src/lib/ai/transcript.test.ts [warn] apps/web/src/lib/ai/transcript.ts [warn] apps/web/src/lib/analytics/delta.test.ts [warn] apps/web/src/lib/analytics/links.test.ts [warn] apps/web/src/lib/analytics/palette.test.ts [warn] apps/web/src/lib/analytics/period.test.ts [warn] apps/web/src/lib/analytics/store.test.ts [warn] apps/web/src/lib/api/notes.test.ts [warn] apps/web/src/lib/api/tags.test.ts [warn] apps/web/src/lib/appearance/readability.ts [warn] apps/web/src/lib/auth/authOptions.ts [warn] apps/web/src/lib/auth/components/CreateAccountFlow.svelte [warn] apps/web/src/lib/auth/components/RecoveryKeyEntry.svelte [warn] apps/web/src/lib/auth/passkeys.test.ts [warn] apps/web/src/lib/auth/passkeys.ts [warn] apps/web/src/lib/auth/recoveryKey.test.ts [warn] apps/web/src/lib/auth/routes.test.ts [warn] apps/web/src/lib/backgroundGroup.svelte.test.ts [warn] apps/web/src/lib/calendar/agenda.svelte.test.ts [warn] apps/web/src/lib/calendar/area-colors.test.ts [warn] apps/web/src/lib/calendar/event-tint.test.ts [warn] apps/web/src/lib/calendar/sidebarState.svelte.ts [warn] apps/web/src/lib/components/AppToaster.svelte [warn] apps/web/src/lib/components/FieldPopover.svelte.test.ts [warn] apps/web/src/lib/components/KeyboardShortcutsCard.svelte [warn] apps/web/src/lib/components/KeyboardShortcutsCard.svelte.test.ts [warn] apps/web/src/lib/components/LinkResolveState.svelte [warn] apps/web/src/lib/components/NoteList.svelte [warn] apps/web/src/lib/components/OverlaySurface.svelte.test.ts [warn] apps/web/src/lib/components/Select.svelte.test.ts [warn] apps/web/src/lib/components/SelectionBar.svelte.test.ts [warn] apps/web/src/lib/components/ServiceState.svelte [warn] apps/web/src/lib/components/SidebarSectionHeader.svelte.test.ts [warn] apps/web/src/lib/components/TagEditor.svelte [warn] apps/web/src/lib/components/ToastBody.svelte [warn] apps/web/src/lib/components/Toggle.svelte.test.ts [warn] apps/web/src/lib/components/analytics/ActivityCard.svelte.test.ts [warn] apps/web/src/lib/components/analytics/BklitAnalytics.tsx [warn] apps/web/src/lib/components/analytics/BklitChart.svelte [warn] apps/web/src/lib/components/analytics/CalendarHeatmap.svelte [warn] apps/web/src/lib/components/analytics/Dashboard.svelte [warn] apps/web/src/lib/components/analytics/DistributionCard.svelte [warn] apps/web/src/lib/components/analytics/RangeBar.svelte [warn] apps/web/src/lib/components/analytics/RangeBar.svelte.test.ts [warn] apps/web/src/lib/components/analytics/RangePicker.svelte [warn] apps/web/src/lib/components/analytics/StackedBarCard.svelte [warn] apps/web/src/lib/components/analytics/TimeOfDayHeatmap.svelte [warn] apps/web/src/lib/components/analytics/vendor/bklit/charts/chart-child-passthrough.ts [warn] apps/web/src/lib/components/analytics/vendor/bklit/charts/pie-chart.tsx [warn] apps/web/src/lib/components/analytics/vendor/bklit/charts/tooltip/tooltip-box.tsx [warn] apps/web/src/lib/components/analytics/widgets/StatRow.svelte [warn] apps/web/src/lib/components/analytics/widgets/StatRow.svelte.test.ts [warn] apps/web/src/lib/components/app-sidebar.svelte [warn] apps/web/src/lib/components/empty-state.svelte [warn] apps/web/src/lib/components/money/AddAccountForm.svelte [warn] apps/web/src/lib/components/money/AssignedCell.svelte [warn] apps/web/src/lib/components/money/AssignedCell.svelte.test.ts [warn] apps/web/src/lib/components/money/AvailablePill.svelte [warn] apps/web/src/lib/components/money/MoneySidebar.svelte [warn] apps/web/src/lib/components/money/MonthSwitcher.svelte [warn] apps/web/src/lib/components/money/TransactionForm.svelte [warn] apps/web/src/lib/components/search-dialog.svelte [warn] apps/web/src/lib/components/tagTree.test.ts [warn] apps/web/src/lib/composer/Composer.svelte [warn] apps/web/src/lib/composer/Composer.svelte.test.ts [warn] apps/web/src/lib/composer/attachments.test.ts [warn] apps/web/src/lib/composer/commit.test.ts [warn] apps/web/src/lib/composer/controller.svelte.ts [warn] apps/web/src/lib/composer/corrections.test.ts [warn] apps/web/src/lib/composer/mode.test.ts [warn] apps/web/src/lib/composer/recorder.svelte.ts [warn] apps/web/src/lib/composer/recorder.test.ts [warn] apps/web/src/lib/date-formatting.test.ts [warn] apps/web/src/lib/editor/blockMenu.test.ts [warn] apps/web/src/lib/editor/blockMenu.ts [warn] apps/web/src/lib/editor/blockNoteTitle.test.ts [warn] apps/web/src/lib/editor/blockNoteTitle.ts [warn] apps/web/src/lib/editor/blockToolbarActions.test.ts [warn] apps/web/src/lib/editor/editorEvents.ts [warn] apps/web/src/lib/editor/format/BlockActionRow.svelte [warn] apps/web/src/lib/editor/format/EditorFormatBar.svelte [warn] apps/web/src/lib/editor/format/EditorFormatBubble.svelte [warn] apps/web/src/lib/editor/format/FormatButton.svelte [warn] apps/web/src/lib/editor/format/FormatCommandRow.svelte [warn] apps/web/src/lib/editor/format/FormatIcon.svelte [warn] apps/web/src/lib/editor/format/reminderDateTime.test.ts [warn] apps/web/src/lib/editor/format/reminderDateTime.ts [warn] apps/web/src/lib/editor/format/reminderPreview.test.ts [warn] apps/web/src/lib/editor/format/reminderPreview.ts [warn] apps/web/src/lib/editor/format/reminderTimeHistory.test.ts [warn] apps/web/src/lib/editor/keyboardInset.svelte.ts [warn] apps/web/src/lib/files/FileCollection.svelte.test.ts [warn] apps/web/src/lib/files/FilesBrowser.svelte [warn] apps/web/src/lib/files/FilesSidebar.svelte [warn] apps/web/src/lib/files/InfoPanel.svelte [warn] apps/web/src/lib/files/PublicLinkPage.svelte [warn] apps/web/src/lib/files/RecentView.svelte [warn] apps/web/src/lib/files/ShareDialog.svelte [warn] apps/web/src/lib/files/SharedByYou.svelte [warn] apps/web/src/lib/files/TrashView.svelte [warn] apps/web/src/lib/files/UploadToast.svelte [warn] apps/web/src/lib/files/UploadToast.svelte.test.ts [warn] apps/web/src/lib/files/api.test.ts [warn] apps/web/src/lib/files/model.test.ts [warn] apps/web/src/lib/files/model.ts [warn] apps/web/src/lib/files/prefs.svelte.test.ts [warn] apps/web/src/lib/files/selection.ts [warn] apps/web/src/lib/files/transfer.ts [warn] apps/web/src/lib/files/uploadToast.ts [warn] apps/web/src/lib/files/uploads.svelte.ts [warn] apps/web/src/lib/flip.test.ts [warn] apps/web/src/lib/flip.ts [warn] apps/web/src/lib/fonts.test.ts [warn] apps/web/src/lib/fontsGroup.svelte.test.ts [warn] apps/web/src/lib/gestures.svelte.test.ts [warn] apps/web/src/lib/jobs/api.test.ts [warn] apps/web/src/lib/location/location.test.ts [warn] apps/web/src/lib/mail/MailSidebar.svelte [warn] apps/web/src/lib/mail/MailView.svelte [warn] apps/web/src/lib/mail/folders.test.ts [warn] apps/web/src/lib/mail/frame.test.ts [warn] apps/web/src/lib/mail/frame.ts [warn] apps/web/src/lib/menu-open-focus.svelte.test.ts [warn] apps/web/src/lib/menu/MenuItem.svelte.test.ts [warn] apps/web/src/lib/menuNav.ts [warn] apps/web/src/lib/modeHeader.svelte.test.ts [warn] apps/web/src/lib/money/amount.test.ts [warn] apps/web/src/lib/money/currencies.test.ts [warn] apps/web/src/lib/money/links.test.ts [warn] apps/web/src/lib/notes/NoteEditorSurface.svelte [warn] apps/web/src/lib/notes/NoteView.svelte [warn] apps/web/src/lib/notes/anchors.svelte.test.ts [warn] apps/web/src/lib/notes/anchors.ts [warn] apps/web/src/lib/notes/collab.ts [warn] apps/web/src/lib/notes/collaborationUndo.svelte.test.ts [warn] apps/web/src/lib/notes/editor-types/index.d.ts [warn] apps/web/src/lib/notes/editorHost.ts [warn] apps/web/src/lib/notes/headingLinks.ts [warn] apps/web/src/lib/notes/icons.ts [warn] apps/web/src/lib/notes/notes.test.ts [warn] apps/web/src/lib/notes/wikilinks.ts [warn] apps/web/src/lib/notifications/InboxPanel.svelte [warn] apps/web/src/lib/notifications/model.test.ts [warn] apps/web/src/lib/notifications/push.test.ts [warn] apps/web/src/lib/notifications/push.ts [warn] apps/web/src/lib/overlay/scrollLock.ts [warn] apps/web/src/lib/overlay/state.svelte.ts [warn] apps/web/src/lib/photos/BackgroundsFolderView.svelte [warn] apps/web/src/lib/photos/PhotoTimeline.svelte [warn] apps/web/src/lib/photos/PhotoViewer.svelte [warn] apps/web/src/lib/photos/PhotosSidebar.svelte [warn] apps/web/src/lib/photos/PhotosView.svelte [warn] apps/web/src/lib/photos/TimelineScrubber.svelte [warn] apps/web/src/lib/photos/layout.test.ts [warn] apps/web/src/lib/photos/layout.ts [warn] apps/web/src/lib/photos/photos-units.test.ts [warn] apps/web/src/lib/platform.ts [warn] apps/web/src/lib/relativeTime.test.ts [warn] apps/web/src/lib/relativeTime.ts [warn] apps/web/src/lib/search/PhotoGrid.svelte [warn] apps/web/src/lib/search/SavedSearchList.svelte [warn] apps/web/src/lib/search/SearchField.svelte [warn] apps/web/src/lib/search/SearchPreview.svelte [warn] apps/web/src/lib/search/SearchResultRow.svelte [warn] apps/web/src/lib/search/justify.ts [warn] apps/web/src/lib/search/links.test.ts [warn] apps/web/src/lib/search/providers.test.ts [warn] apps/web/src/lib/search/providers.ts [warn] apps/web/src/lib/search/registry.test.ts [warn] apps/web/src/lib/search/registry.ts [warn] apps/web/src/lib/search/search-units.test.ts [warn] apps/web/src/lib/search/snippet.test.ts [warn] apps/web/src/lib/search/window.svelte.ts [warn] apps/web/src/lib/selection.ts [warn] apps/web/src/lib/selectionContextBar.test.ts [warn] apps/web/src/lib/selectionContextBar.ts [warn] apps/web/src/lib/sheetSnap.test.ts [warn] apps/web/src/lib/shortcuts/format.ts [warn] apps/web/src/lib/shortcuts/registry.test.ts [warn] apps/web/src/lib/shortcuts/registry.ts [warn] apps/web/src/lib/shortcuts/settingsShortcut.ts [warn] apps/web/src/lib/solar.test.ts [warn] apps/web/src/lib/stores/toasts.svelte.ts [warn] apps/web/src/lib/styles/auth-ui.css [warn] apps/web/src/lib/styles/background.css [warn] apps/web/src/lib/styles/blockLift.css [warn] apps/web/src/lib/styles/font-weight-token.test.ts [warn] apps/web/src/lib/styles/motion-token-check.test.js [warn] apps/web/src/lib/styles/scrim.css [warn] apps/web/src/lib/styles/sidebar.css [warn] apps/web/src/lib/themeColor.ts [warn] apps/web/src/lib/themes.test.ts [warn] apps/web/src/lib/tooltip/tooltip.test.ts [warn] apps/web/src/lib/tray.svelte.test.ts [warn] apps/web/src/lib/ui/pointerCoarse.svelte.ts [warn] apps/web/src/lib/vendor/svelte-dnd-action/index.mjs [warn] apps/web/src/routes/(photos)/+layout.svelte [warn] apps/web/src/routes/+error.svelte [warn] apps/web/src/routes/+layout.svelte [warn] apps/web/src/routes/+page.ts [warn] apps/web/src/routes/[...path]/+page.svelte [warn] apps/web/src/routes/admin/[...page]/+page.ts [warn] apps/web/src/routes/analytics/+page.ts [warn] apps/web/src/routes/analytics/[period]/+page.ts [warn] apps/web/src/routes/analytics/[period]/[date]/+page.svelte [warn] apps/web/src/routes/analytics/[period]/[date]/+page.ts [warn] apps/web/src/routes/ask/+page.svelte [warn] apps/web/src/routes/calendar/+page.ts [warn] apps/web/src/routes/calendar/[view]/+page.ts [warn] apps/web/src/routes/calendar/[view]/[date]/+page.svelte [warn] apps/web/src/routes/calendar/[view]/[date]/+page.ts [warn] apps/web/src/routes/f/[id]/+page.svelte [warn] apps/web/src/routes/files/+page.svelte [warn] apps/web/src/routes/files/recent/+page.svelte [warn] apps/web/src/routes/files/trash/+page.svelte [warn] apps/web/src/routes/invite/[token]/+page.svelte [warn] apps/web/src/routes/journal/+page.svelte [warn] apps/web/src/routes/journal/JournalPage.svelte.test.ts [warn] apps/web/src/routes/layout.css [warn] apps/web/src/routes/mail/+page.svelte [warn] apps/web/src/routes/mail/c/[category]/+page.svelte [warn] apps/web/src/routes/mail/f/[id]/+page.svelte [warn] apps/web/src/routes/mail/m/[id]/+page.svelte [warn] apps/web/src/routes/mail/t/[id]/+page.svelte [warn] apps/web/src/routes/money/[budget]/+page.ts [warn] apps/web/src/routes/money/[budget]/[month]/+page.svelte [warn] apps/web/src/routes/money/[budget]/[month]/+page.ts [warn] apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.svelte [warn] apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.ts [warn] apps/web/src/routes/notes/+page.svelte [warn] apps/web/src/routes/notes/[id]/+page.svelte [warn] apps/web/src/routes/notes/convert/+page.svelte [warn] apps/web/src/routes/recover/+page.svelte [warn] apps/web/src/routes/reenrol/+page.svelte [warn] apps/web/src/routes/s/[slug]/+page.svelte [warn] apps/web/src/routes/settings/account/AccountSection.svelte [warn] apps/web/src/routes/settings/account/AppPasswordsGroup.svelte [warn] apps/web/src/routes/settings/account/LocationGroup.svelte [warn] apps/web/src/routes/settings/account/ProfileGroup.svelte [warn] apps/web/src/routes/settings/account/SignInMethodsGroup.svelte [warn] apps/web/src/routes/settings/account/StorageGroup.svelte [warn] apps/web/src/routes/settings/admin/AdminSection.svelte [warn] apps/web/src/routes/settings/admin/ConfigGroup.svelte [warn] apps/web/src/routes/settings/admin/InvitationsGroup.svelte [warn] apps/web/src/routes/settings/admin/JobsGroup.svelte [warn] apps/web/src/routes/settings/admin/QuotaLimitField.svelte [warn] apps/web/src/routes/settings/admin/SignInGroup.svelte [warn] apps/web/src/routes/settings/admin/SystemGroup.svelte [warn] apps/web/src/routes/settings/admin/UnsplashKeyGroup.svelte [warn] apps/web/src/routes/settings/admin/UsersGroup.svelte [warn] apps/web/src/routes/settings/ai/AiSection.svelte [warn] apps/web/src/routes/settings/ai/TurnHistory.svelte [warn] apps/web/src/routes/settings/api.svelte.test.ts [warn] apps/web/src/routes/settings/api.svelte.ts [warn] apps/web/src/routes/settings/appearance/AppearanceSection.svelte [warn] apps/web/src/routes/settings/appearance/BackgroundPreview.svelte [warn] apps/web/src/routes/settings/appearance/ColourPickerButton.svelte [warn] apps/web/src/routes/settings/appearance/FontsGroup.svelte [warn] apps/web/src/routes/settings/appearance/UnsplashSheet.svelte [warn] apps/web/src/routes/settings/apps/AppsSection.svelte [warn] apps/web/src/routes/settings/apps/CalendarFeedsGroup.svelte [warn] apps/web/src/routes/settings/calendars/CalendarsSection.svelte [warn] apps/web/src/routes/settings/calendars/ExternalCalendarsGroup.svelte [warn] apps/web/src/routes/settings/editor/EditorSection.svelte [warn] apps/web/src/routes/settings/files/FilesSection.svelte [warn] apps/web/src/routes/settings/jobs/JobDetails.svelte [warn] apps/web/src/routes/settings/jobs/JobRow.svelte [warn] apps/web/src/routes/settings/jobs/JobRow.svelte.test.ts [warn] apps/web/src/routes/settings/jobs/MyJobsGroup.svelte [warn] apps/web/src/routes/settings/mail/MailSection.svelte [warn] apps/web/src/routes/settings/notifications/NotificationsSection.svelte [warn] apps/web/src/routes/settings/parts/SettingsCard.svelte [warn] apps/web/src/routes/settings/parts/SettingsCard.svelte.test.ts [warn] apps/web/src/routes/settings/parts/SettingsRow.svelte [warn] apps/web/src/routes/settings/parts/SettingsRow.svelte.test.ts [warn] apps/web/src/routes/settings/parts/icons.ts [warn] apps/web/src/routes/settings/parts/settings-forms.css [warn] apps/web/src/routes/settings/photos/PhotosSection.svelte [warn] apps/web/src/routes/settings/plugins/PluginsSection.svelte [warn] apps/web/src/routes/settings/sections.ts [warn] apps/web/src/routes/setup/+page.svelte [warn] apps/web/src/routes/shared/+page.svelte [warn] apps/web/src/routes/signup/+page.svelte [warn] apps/web/src/routes/tags/+page.svelte [warn] apps/web/src/routes/tags/[tag]/+page.ts [warn] apps/web/src/routes/today/+page.ts [warn] apps/web/src/test-setup.ts [warn] packages/editor/src/Editor.svelte [warn] packages/editor/src/Editor.svelte.test.ts [warn] packages/editor/src/anchor.test.ts [warn] packages/editor/src/anchor.ts [warn] packages/editor/src/attachmentPaste.test.ts [warn] packages/editor/src/attachmentPaste.ts [warn] packages/editor/src/blockHitTest.test.ts [warn] packages/editor/src/blockHitTest.ts [warn] packages/editor/src/blockSelectDecoration.ts [warn] packages/editor/src/blockSelection.ts [warn] packages/editor/src/callout.ts [warn] packages/editor/src/chromeInteraction.svelte.ts [warn] packages/editor/src/collaborationHistoryKeys.ts [warn] packages/editor/src/collaborationUndo.test.ts [warn] packages/editor/src/components/CalloutView.svelte [warn] packages/editor/src/components/ImageView.svelte [warn] packages/editor/src/components/TaskItemView.svelte [warn] packages/editor/src/composerNoteSession.test.ts [warn] packages/editor/src/composerNoteSession.ts [warn] packages/editor/src/extensions.dragHandle.test.ts [warn] packages/editor/src/extensions.ts [warn] packages/editor/src/formatCommands.svelte.test.ts [warn] packages/editor/src/formatCommands.ts [warn] packages/editor/src/image.ts [warn] packages/editor/src/imagePipe.ts [warn] packages/editor/src/index.ts [warn] packages/editor/src/linkCommand.ts [warn] packages/editor/src/listIndent.test.ts [warn] packages/editor/src/listIndent.ts [warn] packages/editor/src/markdown.roundtrip.svelte.test.ts [warn] packages/editor/src/markdown.test.ts [warn] packages/editor/src/markdown.ts [warn] packages/editor/src/markdown.vectors.test.ts [warn] packages/editor/src/moveBlock.ts [warn] packages/editor/src/noteCards.test.ts [warn] packages/editor/src/noteCards.ts [warn] packages/editor/src/noteCardsDecoration.ts [warn] packages/editor/src/slash.test.ts [warn] packages/editor/src/slash.touch.svelte.test.ts [warn] packages/editor/src/slash.ts [warn] packages/editor/src/source.ts [warn] packages/editor/src/syntaxHighlight.test.ts [warn] packages/editor/src/syntaxHighlight.ts [warn] packages/editor/src/syntaxLanguages.ts [warn] packages/editor/src/wikilinkSyntax.ts [warn] packages/ui/src/actions/portal.ts [warn] packages/ui/src/actions/resizableEdge.ts [warn] packages/ui/src/components/Card.svelte [warn] packages/ui/src/components/Checkbox.svelte [warn] packages/ui/src/components/ChromeActions.svelte [warn] packages/ui/src/components/DateStrip.svelte [warn] packages/ui/src/components/Disclosure.svelte [warn] packages/ui/src/components/FloatingSidebar.svelte [warn] packages/ui/src/components/Inspector.svelte [warn] packages/ui/src/components/Kbd.svelte [warn] packages/ui/src/components/LinkedHeading.svelte [warn] packages/ui/src/components/ModeHeader.svelte [warn] packages/ui/src/components/OverlaySurface.svelte [warn] packages/ui/src/components/Pill.svelte [warn] packages/ui/src/components/PillGroup.svelte [warn] packages/ui/src/components/PrimaryPill.svelte [warn] packages/ui/src/components/ProgressiveBlur.svelte [warn] packages/ui/src/components/SegmentedControl.svelte [warn] packages/ui/src/components/Select.svelte [warn] packages/ui/src/components/SelectionBar.svelte [warn] packages/ui/src/components/SettingRow.svelte [warn] packages/ui/src/components/SidebarIcon.svelte [warn] packages/ui/src/components/SidebarSectionHeader.svelte [warn] packages/ui/src/components/StatusPill.svelte [warn] packages/ui/src/components/ThemePicker.svelte [warn] packages/ui/src/components/TodayButton.svelte [warn] packages/ui/src/components/Toggle.svelte [warn] packages/ui/src/components/WeekBlob.svelte [warn] packages/ui/src/components/calendar/AgendaList.svelte [warn] packages/ui/src/components/calendar/AttachmentDeck.svelte [warn] packages/ui/src/components/calendar/GridColumn.svelte [warn] packages/ui/src/components/calendar/MiniMonth.svelte [warn] packages/ui/src/components/calendar/MonthGrid.svelte [warn] packages/ui/src/components/calendar/TimeGrid.svelte [warn] packages/ui/src/components/calendar/layout.ts [warn] packages/ui/src/components/calendar/model.ts [warn] packages/ui/src/components/calendar/snap.ts [warn] packages/ui/src/components/calendar/window.ts [warn] packages/ui/src/components/calendar/zoom.ts [warn] packages/ui/src/components/composer/DraftStack.svelte [warn] packages/ui/src/components/files/FileCollection.svelte [warn] packages/ui/src/components/files/FileSelectionCheckbox.svelte [warn] packages/ui/src/components/menu/FloatingSurface.svelte [warn] packages/ui/src/components/menu/Menu.svelte [warn] packages/ui/src/components/menu/MenuSeparator.svelte [warn] packages/ui/src/components/menu/types.ts [warn] packages/ui/src/components/modeIsland.css [warn] packages/ui/src/components/notes/NoteMentionsCard.svelte [warn] packages/ui/src/components/notes/NoteProperties.svelte [warn] packages/ui/src/components/surfaceViewport.svelte.ts [warn] packages/ui/src/components/viewer/ImageView.svelte [warn] packages/ui/src/components/viewer/LiveMotion.svelte [warn] packages/ui/src/components/viewer/PdfView.svelte [warn] packages/ui/src/components/viewer/QuickLook.svelte [warn] packages/ui/src/components/viewer/TextView.svelte [warn] packages/ui/src/components/viewer/VideoView.svelte [warn] packages/ui/src/floating.ts [warn] packages/ui/src/gestures.ts [warn] packages/ui/src/motion.ts [warn] packages/ui/src/time.ts [warn] packages/ui/src/tokens.css [warn] packages/ui/src/weekStart.ts [warn] Code style issues found in 405 files. Run Prettier with --write to fix. ``` Formatting baseline comparison with the same formatter: 405 of 409 touched files already fail on `origin/dev`, zero new failures, zero changed failure outcomes. Code formatting was left unchanged to honor the comments-only scope. Additional source checks (verbatim): ```text Comment-only scope verified in 409 files; runtime source and runner directives are unchanged. Audit module headers: 246/246 have a leading module comment. Prettier baseline: 405/409 touched files already fail on origin/dev; 0 new failures; 0 fixed by comment changes. ``` `git diff --check origin/dev` passed with no output; the worktree is clean. **Known gaps:** #903 requires changing source OpenAPI descriptions in Rust and regenerating `contracts/openapi.json` and the API client together. Those sources are outside this job's ownership; the issue has a handoff comment. No generated-only edit was made. #611 retains the actual GridColumn focus-transition defect; the comment now states the current implementation and its tracking issue. This job cannot change CSS behavior. Existing formatting debt remains. Required environment directives and actual source/API identifier references remain intact. **Decisions:** No new product/design decision. File-boundary HTML comments describe component modules; TypeScript doc comments describe module/API boundaries. Local-only research references were replaced by the invariant they had explained. Panel docs describe current Installation-local persistence rather than promising a server settings seam. **UX gaps closed:** Not applicable: documentation only, no user-facing behavior changed. **UX gaps left:** Existing keyboard-motion behavior tracked in #611; no UI change was attempted. **For the merge round:** No extra runtime suite is needed for these comment-only changes. #903 needs the Rust-source/contract generation handoff above before that issue can be considered complete. **File inventory:** ```text apps/web/src/app.html apps/web/src/calternal-app.css apps/web/src/hooks.client.ts apps/web/src/lib/a11y/focusTrap.ts apps/web/src/lib/a11y/focusWithKeyboard.ts apps/web/src/lib/a11y/inputModality.ts apps/web/src/lib/actions/longPressMenu.ts apps/web/src/lib/actions/magnetic.ts apps/web/src/lib/ai/api.test.ts apps/web/src/lib/ai/commands.test.ts apps/web/src/lib/ai/mention.test.ts apps/web/src/lib/ai/transcript.test.ts apps/web/src/lib/ai/transcript.ts apps/web/src/lib/analytics/delta.test.ts apps/web/src/lib/analytics/links.test.ts apps/web/src/lib/analytics/palette.test.ts apps/web/src/lib/analytics/period.test.ts apps/web/src/lib/analytics/store.test.ts apps/web/src/lib/api/notes.test.ts apps/web/src/lib/api/tags.test.ts apps/web/src/lib/appearance/readability.ts apps/web/src/lib/auth/authOptions.ts apps/web/src/lib/auth/components/CreateAccountFlow.svelte apps/web/src/lib/auth/components/RecoveryKeyEntry.svelte apps/web/src/lib/auth/passkeys.test.ts apps/web/src/lib/auth/passkeys.ts apps/web/src/lib/auth/recoveryKey.test.ts apps/web/src/lib/auth/routes.test.ts apps/web/src/lib/backgroundGroup.svelte.test.ts apps/web/src/lib/calendar/agenda.svelte.test.ts apps/web/src/lib/calendar/area-colors.test.ts apps/web/src/lib/calendar/event-tint.test.ts apps/web/src/lib/calendar/sidebarState.svelte.ts apps/web/src/lib/components/AppToaster.svelte apps/web/src/lib/components/FieldPopover.svelte.test.ts apps/web/src/lib/components/KeyboardShortcutsCard.svelte apps/web/src/lib/components/KeyboardShortcutsCard.svelte.test.ts apps/web/src/lib/components/LinkResolveState.svelte apps/web/src/lib/components/NoteList.svelte apps/web/src/lib/components/OverlaySurface.svelte.test.ts apps/web/src/lib/components/Select.svelte.test.ts apps/web/src/lib/components/SelectionBar.svelte.test.ts apps/web/src/lib/components/ServiceState.svelte apps/web/src/lib/components/SidebarSectionHeader.svelte.test.ts apps/web/src/lib/components/TagEditor.svelte apps/web/src/lib/components/ToastBody.svelte apps/web/src/lib/components/Toggle.svelte.test.ts apps/web/src/lib/components/analytics/ActivityCard.svelte.test.ts apps/web/src/lib/components/analytics/BklitAnalytics.tsx apps/web/src/lib/components/analytics/BklitChart.svelte apps/web/src/lib/components/analytics/CalendarHeatmap.svelte apps/web/src/lib/components/analytics/Dashboard.svelte apps/web/src/lib/components/analytics/DistributionCard.svelte apps/web/src/lib/components/analytics/RangeBar.svelte apps/web/src/lib/components/analytics/RangeBar.svelte.test.ts apps/web/src/lib/components/analytics/RangePicker.svelte apps/web/src/lib/components/analytics/StackedBarCard.svelte apps/web/src/lib/components/analytics/TimeOfDayHeatmap.svelte apps/web/src/lib/components/analytics/vendor/bklit/charts/chart-child-passthrough.ts apps/web/src/lib/components/analytics/vendor/bklit/charts/pie-chart.tsx apps/web/src/lib/components/analytics/vendor/bklit/charts/tooltip/tooltip-box.tsx apps/web/src/lib/components/analytics/widgets/StatRow.svelte apps/web/src/lib/components/analytics/widgets/StatRow.svelte.test.ts apps/web/src/lib/components/app-sidebar.svelte apps/web/src/lib/components/empty-state.svelte apps/web/src/lib/components/money/AddAccountForm.svelte apps/web/src/lib/components/money/AssignedCell.svelte apps/web/src/lib/components/money/AssignedCell.svelte.test.ts apps/web/src/lib/components/money/AvailablePill.svelte apps/web/src/lib/components/money/MoneySidebar.svelte apps/web/src/lib/components/money/MonthSwitcher.svelte apps/web/src/lib/components/money/TransactionForm.svelte apps/web/src/lib/components/search-dialog.svelte apps/web/src/lib/components/tagTree.test.ts apps/web/src/lib/composer/Composer.svelte apps/web/src/lib/composer/Composer.svelte.test.ts apps/web/src/lib/composer/attachments.test.ts apps/web/src/lib/composer/commit.test.ts apps/web/src/lib/composer/controller.svelte.ts apps/web/src/lib/composer/corrections.test.ts apps/web/src/lib/composer/mode.test.ts apps/web/src/lib/composer/recorder.svelte.ts apps/web/src/lib/composer/recorder.test.ts apps/web/src/lib/date-formatting.test.ts apps/web/src/lib/editor/blockMenu.test.ts apps/web/src/lib/editor/blockMenu.ts apps/web/src/lib/editor/blockNoteTitle.test.ts apps/web/src/lib/editor/blockNoteTitle.ts apps/web/src/lib/editor/blockToolbarActions.test.ts apps/web/src/lib/editor/editorEvents.ts apps/web/src/lib/editor/format/BlockActionRow.svelte apps/web/src/lib/editor/format/EditorFormatBar.svelte apps/web/src/lib/editor/format/EditorFormatBubble.svelte apps/web/src/lib/editor/format/FormatButton.svelte apps/web/src/lib/editor/format/FormatCommandRow.svelte apps/web/src/lib/editor/format/FormatIcon.svelte apps/web/src/lib/editor/format/reminderDateTime.test.ts apps/web/src/lib/editor/format/reminderDateTime.ts apps/web/src/lib/editor/format/reminderPreview.test.ts apps/web/src/lib/editor/format/reminderPreview.ts apps/web/src/lib/editor/format/reminderTimeHistory.test.ts apps/web/src/lib/editor/keyboardInset.svelte.ts apps/web/src/lib/files/FileCollection.svelte.test.ts apps/web/src/lib/files/FilesBrowser.svelte apps/web/src/lib/files/FilesSidebar.svelte apps/web/src/lib/files/InfoPanel.svelte apps/web/src/lib/files/PublicLinkPage.svelte apps/web/src/lib/files/RecentView.svelte apps/web/src/lib/files/ShareDialog.svelte apps/web/src/lib/files/SharedByYou.svelte apps/web/src/lib/files/TrashView.svelte apps/web/src/lib/files/UploadToast.svelte apps/web/src/lib/files/UploadToast.svelte.test.ts apps/web/src/lib/files/api.test.ts apps/web/src/lib/files/model.test.ts apps/web/src/lib/files/model.ts apps/web/src/lib/files/prefs.svelte.test.ts apps/web/src/lib/files/selection.ts apps/web/src/lib/files/transfer.ts apps/web/src/lib/files/uploadToast.ts apps/web/src/lib/files/uploads.svelte.ts apps/web/src/lib/flip.test.ts apps/web/src/lib/flip.ts apps/web/src/lib/fonts.test.ts apps/web/src/lib/fontsGroup.svelte.test.ts apps/web/src/lib/gestures.svelte.test.ts apps/web/src/lib/hooks/is-mobile.svelte.ts apps/web/src/lib/jobs/api.test.ts apps/web/src/lib/location/location.test.ts apps/web/src/lib/mail/MailSidebar.svelte apps/web/src/lib/mail/MailView.svelte apps/web/src/lib/mail/folders.test.ts apps/web/src/lib/mail/frame.test.ts apps/web/src/lib/mail/frame.ts apps/web/src/lib/menu-open-focus.svelte.test.ts apps/web/src/lib/menu/MenuItem.svelte.test.ts apps/web/src/lib/menuNav.ts apps/web/src/lib/modeHeader.svelte.test.ts apps/web/src/lib/money/amount.test.ts apps/web/src/lib/money/currencies.test.ts apps/web/src/lib/money/links.test.ts apps/web/src/lib/notes/NoteEditorSurface.svelte apps/web/src/lib/notes/NoteView.svelte apps/web/src/lib/notes/anchors.svelte.test.ts apps/web/src/lib/notes/anchors.ts apps/web/src/lib/notes/collab.ts apps/web/src/lib/notes/collaborationUndo.svelte.test.ts apps/web/src/lib/notes/editor-types/index.d.ts apps/web/src/lib/notes/editorHost.ts apps/web/src/lib/notes/headingLinks.ts apps/web/src/lib/notes/icons.ts apps/web/src/lib/notes/notes.test.ts apps/web/src/lib/notes/wikilinks.ts apps/web/src/lib/notifications/InboxPanel.svelte apps/web/src/lib/notifications/model.test.ts apps/web/src/lib/notifications/push.test.ts apps/web/src/lib/notifications/push.ts apps/web/src/lib/overlay/scrollLock.ts apps/web/src/lib/overlay/state.svelte.ts apps/web/src/lib/photos/BackgroundsFolderView.svelte apps/web/src/lib/photos/PhotoTimeline.svelte apps/web/src/lib/photos/PhotoViewer.svelte apps/web/src/lib/photos/PhotosSidebar.svelte apps/web/src/lib/photos/PhotosView.svelte apps/web/src/lib/photos/TimelineScrubber.svelte apps/web/src/lib/photos/layout.test.ts apps/web/src/lib/photos/layout.ts apps/web/src/lib/photos/photos-units.test.ts apps/web/src/lib/platform.ts apps/web/src/lib/relativeTime.test.ts apps/web/src/lib/relativeTime.ts apps/web/src/lib/search/PhotoGrid.svelte apps/web/src/lib/search/SavedSearchList.svelte apps/web/src/lib/search/SearchField.svelte apps/web/src/lib/search/SearchPreview.svelte apps/web/src/lib/search/SearchResultRow.svelte apps/web/src/lib/search/justify.ts apps/web/src/lib/search/links.test.ts apps/web/src/lib/search/providers.test.ts apps/web/src/lib/search/providers.ts apps/web/src/lib/search/registry.test.ts apps/web/src/lib/search/registry.ts apps/web/src/lib/search/search-units.test.ts apps/web/src/lib/search/snippet.test.ts apps/web/src/lib/search/window.svelte.ts apps/web/src/lib/selection.ts apps/web/src/lib/selectionContextBar.test.ts apps/web/src/lib/selectionContextBar.ts apps/web/src/lib/sheetSnap.test.ts apps/web/src/lib/shortcuts/format.ts apps/web/src/lib/shortcuts/registry.test.ts apps/web/src/lib/shortcuts/registry.ts apps/web/src/lib/shortcuts/settingsShortcut.ts apps/web/src/lib/solar.test.ts apps/web/src/lib/stores/toasts.svelte.ts apps/web/src/lib/styles/auth-ui.css apps/web/src/lib/styles/background.css apps/web/src/lib/styles/blockLift.css apps/web/src/lib/styles/font-weight-token.test.ts apps/web/src/lib/styles/motion-token-check.test.js apps/web/src/lib/styles/scrim.css apps/web/src/lib/styles/sidebar.css apps/web/src/lib/test-fixtures/BottomBarFixture.svelte apps/web/src/lib/themeColor.ts apps/web/src/lib/themes.test.ts apps/web/src/lib/tooltip/tooltip.test.ts apps/web/src/lib/tray.svelte.test.ts apps/web/src/lib/ui/pointerCoarse.svelte.ts apps/web/src/lib/vendor/svelte-dnd-action/index.mjs apps/web/src/routes/(photos)/+layout.svelte apps/web/src/routes/+error.svelte apps/web/src/routes/+layout.svelte apps/web/src/routes/+page.svelte apps/web/src/routes/+page.ts apps/web/src/routes/[...path]/+page.svelte apps/web/src/routes/admin/[...page]/+page.ts apps/web/src/routes/analytics/+page.ts apps/web/src/routes/analytics/[period]/+page.ts apps/web/src/routes/analytics/[period]/[date]/+page.svelte apps/web/src/routes/analytics/[period]/[date]/+page.ts apps/web/src/routes/ask/+page.svelte apps/web/src/routes/calendar/+page.ts apps/web/src/routes/calendar/[view]/+page.ts apps/web/src/routes/calendar/[view]/[date]/+page.svelte apps/web/src/routes/calendar/[view]/[date]/+page.ts apps/web/src/routes/f/[id]/+page.svelte apps/web/src/routes/files/+page.svelte apps/web/src/routes/files/recent/+page.svelte apps/web/src/routes/files/trash/+page.svelte apps/web/src/routes/invite/[token]/+page.svelte apps/web/src/routes/journal/+page.svelte apps/web/src/routes/journal/JournalPage.svelte.test.ts apps/web/src/routes/layout.css apps/web/src/routes/mail/+page.svelte apps/web/src/routes/mail/c/[category]/+page.svelte apps/web/src/routes/mail/f/[id]/+page.svelte apps/web/src/routes/mail/m/[id]/+page.svelte apps/web/src/routes/mail/t/[id]/+page.svelte apps/web/src/routes/money/[budget]/+page.ts apps/web/src/routes/money/[budget]/[month]/+page.svelte apps/web/src/routes/money/[budget]/[month]/+page.ts apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.svelte apps/web/src/routes/money/[budget]/accounts/[[account]]/+page.ts apps/web/src/routes/notes/+page.svelte apps/web/src/routes/notes/[id]/+page.svelte apps/web/src/routes/notes/convert/+page.svelte apps/web/src/routes/recover/+page.svelte apps/web/src/routes/reenrol/+page.svelte apps/web/src/routes/s/[slug]/+page.svelte apps/web/src/routes/settings/account/AccountSection.svelte apps/web/src/routes/settings/account/AppPasswordsGroup.svelte apps/web/src/routes/settings/account/LocationGroup.svelte apps/web/src/routes/settings/account/ProfileGroup.svelte apps/web/src/routes/settings/account/SignInMethodsGroup.svelte apps/web/src/routes/settings/account/StorageGroup.svelte apps/web/src/routes/settings/admin/AdminSection.svelte apps/web/src/routes/settings/admin/ConfigGroup.svelte apps/web/src/routes/settings/admin/InvitationsGroup.svelte apps/web/src/routes/settings/admin/JobsGroup.svelte apps/web/src/routes/settings/admin/QuotaLimitField.svelte apps/web/src/routes/settings/admin/SignInGroup.svelte apps/web/src/routes/settings/admin/SystemGroup.svelte apps/web/src/routes/settings/admin/UnsplashKeyGroup.svelte apps/web/src/routes/settings/admin/UsersGroup.svelte apps/web/src/routes/settings/ai/AiSection.svelte apps/web/src/routes/settings/ai/TurnHistory.svelte apps/web/src/routes/settings/api.svelte.test.ts apps/web/src/routes/settings/api.svelte.ts apps/web/src/routes/settings/appearance/AppearanceSection.svelte apps/web/src/routes/settings/appearance/BackgroundPreview.svelte apps/web/src/routes/settings/appearance/ColourPickerButton.svelte apps/web/src/routes/settings/appearance/FontsGroup.svelte apps/web/src/routes/settings/appearance/UnsplashSheet.svelte apps/web/src/routes/settings/apps/AppsSection.svelte apps/web/src/routes/settings/apps/CalendarFeedsGroup.svelte apps/web/src/routes/settings/calendars/CalendarsSection.svelte apps/web/src/routes/settings/calendars/ExternalCalendarsGroup.svelte apps/web/src/routes/settings/editor/EditorSection.svelte apps/web/src/routes/settings/files/FilesSection.svelte apps/web/src/routes/settings/jobs/JobDetails.svelte apps/web/src/routes/settings/jobs/JobRow.svelte apps/web/src/routes/settings/jobs/JobRow.svelte.test.ts apps/web/src/routes/settings/jobs/MyJobsGroup.svelte apps/web/src/routes/settings/mail/MailSection.svelte apps/web/src/routes/settings/notifications/NotificationsSection.svelte apps/web/src/routes/settings/parts/SettingsCard.svelte apps/web/src/routes/settings/parts/SettingsCard.svelte.test.ts apps/web/src/routes/settings/parts/SettingsRow.svelte apps/web/src/routes/settings/parts/SettingsRow.svelte.test.ts apps/web/src/routes/settings/parts/icons.ts apps/web/src/routes/settings/parts/settings-forms.css apps/web/src/routes/settings/photos/PhotosSection.svelte apps/web/src/routes/settings/plugins/PluginsSection.svelte apps/web/src/routes/settings/sections.ts apps/web/src/routes/setup/+page.svelte apps/web/src/routes/shared/+page.svelte apps/web/src/routes/signup/+page.svelte apps/web/src/routes/tags/+page.svelte apps/web/src/routes/tags/[tag]/+page.ts apps/web/src/routes/today/+page.ts apps/web/src/test-setup.ts packages/editor/src/Editor.svelte packages/editor/src/Editor.svelte.test.ts packages/editor/src/anchor.test.ts packages/editor/src/anchor.ts packages/editor/src/attachmentPaste.test.ts packages/editor/src/attachmentPaste.ts packages/editor/src/blockHitTest.test.ts packages/editor/src/blockHitTest.ts packages/editor/src/blockSelectDecoration.ts packages/editor/src/blockSelection.ts packages/editor/src/callout.ts packages/editor/src/chromeInteraction.svelte.ts packages/editor/src/collaborationHistoryKeys.ts packages/editor/src/collaborationUndo.test.ts packages/editor/src/components/CalloutView.svelte packages/editor/src/components/ImageView.svelte packages/editor/src/components/TaskItemView.svelte packages/editor/src/composerNoteSession.test.ts packages/editor/src/composerNoteSession.ts packages/editor/src/extensions.dragHandle.test.ts packages/editor/src/extensions.ts packages/editor/src/formatCommands.svelte.test.ts packages/editor/src/formatCommands.ts packages/editor/src/image.ts packages/editor/src/imagePipe.ts packages/editor/src/index.ts packages/editor/src/linkCommand.ts packages/editor/src/listIndent.test.ts packages/editor/src/listIndent.ts packages/editor/src/markdown.roundtrip.svelte.test.ts packages/editor/src/markdown.test.ts packages/editor/src/markdown.ts packages/editor/src/markdown.vectors.test.ts packages/editor/src/moveBlock.ts packages/editor/src/noteCards.test.ts packages/editor/src/noteCards.ts packages/editor/src/noteCardsDecoration.ts packages/editor/src/slash.test.ts packages/editor/src/slash.touch.svelte.test.ts packages/editor/src/slash.ts packages/editor/src/source.ts packages/editor/src/syntaxHighlight.test.ts packages/editor/src/syntaxHighlight.ts packages/editor/src/syntaxLanguages.ts packages/editor/src/wikilinkSyntax.ts packages/ui/src/actions/portal.ts packages/ui/src/actions/resizableEdge.ts packages/ui/src/components/Card.svelte packages/ui/src/components/Checkbox.svelte packages/ui/src/components/ChromeActions.svelte packages/ui/src/components/DateStrip.svelte packages/ui/src/components/Disclosure.svelte packages/ui/src/components/FloatingSidebar.svelte packages/ui/src/components/Inspector.svelte packages/ui/src/components/Kbd.svelte packages/ui/src/components/LinkedHeading.svelte packages/ui/src/components/ModeHeader.svelte packages/ui/src/components/OverlaySurface.svelte packages/ui/src/components/Pill.svelte packages/ui/src/components/PillGroup.svelte packages/ui/src/components/PrimaryPill.svelte packages/ui/src/components/ProgressiveBlur.svelte packages/ui/src/components/SegmentedControl.svelte packages/ui/src/components/Select.svelte packages/ui/src/components/SelectionBar.svelte packages/ui/src/components/SettingRow.svelte packages/ui/src/components/SidebarIcon.svelte packages/ui/src/components/SidebarSectionHeader.svelte packages/ui/src/components/StatusPill.svelte packages/ui/src/components/ThemePicker.svelte packages/ui/src/components/TodayButton.svelte packages/ui/src/components/Toggle.svelte packages/ui/src/components/WeekBlob.svelte packages/ui/src/components/calendar/AgendaList.svelte packages/ui/src/components/calendar/AttachmentDeck.svelte packages/ui/src/components/calendar/GridColumn.svelte packages/ui/src/components/calendar/MiniMonth.svelte packages/ui/src/components/calendar/MonthGrid.svelte packages/ui/src/components/calendar/TimeGrid.svelte packages/ui/src/components/calendar/layout.ts packages/ui/src/components/calendar/model.ts packages/ui/src/components/calendar/snap.ts packages/ui/src/components/calendar/window.ts packages/ui/src/components/calendar/zoom.ts packages/ui/src/components/composer/DraftStack.svelte packages/ui/src/components/files/FileCollection.svelte packages/ui/src/components/files/FileSelectionCheckbox.svelte packages/ui/src/components/menu/FloatingSurface.svelte packages/ui/src/components/menu/Menu.svelte packages/ui/src/components/menu/MenuSeparator.svelte packages/ui/src/components/menu/types.ts packages/ui/src/components/modeIsland.css packages/ui/src/components/notes/NoteMentionsCard.svelte packages/ui/src/components/notes/NoteProperties.svelte packages/ui/src/components/surfaceViewport.svelte.ts packages/ui/src/components/tooltip/warmth.ts packages/ui/src/components/viewer/ImageView.svelte packages/ui/src/components/viewer/LiveMotion.svelte packages/ui/src/components/viewer/PdfView.svelte packages/ui/src/components/viewer/QuickLook.svelte packages/ui/src/components/viewer/TextView.svelte packages/ui/src/components/viewer/VideoView.svelte packages/ui/src/floating.ts packages/ui/src/gestures.ts packages/ui/src/motion.ts packages/ui/src/time.ts packages/ui/src/tokens.css packages/ui/src/weekStart.ts ```
Author
Owner

Repair on job/docsfix-web (not pushed): bf5d2643f docs(web): restore platform, browser and library names in comments.

Clarified rule (owner, 2026-10-02): do not name competing apps (other notes, calendar, mail or photo apps) in UI, code or comments. Platform, OS, browser, protocol, client and library names that state technical facts stay.

The name scrub replaced facts with garbled stand-ins in about 750 comment lines: "iOS 26.5" became "touch-platform.5", "Safari 15+" became "the browser 15+", "than the" became "tha". This commit restores:

  • every platform, browser and client name (iOS, iPadOS, macOS, Safari, WebKit, Chromium, Chrome, Firefox, Finder, Apple Calendar, iPhone, iPad, Android, Windows, Linux);
  • library names (ProseMirror, TipTap, StarterKit, Yjs, Yrs, jsdom, Sonner, Bklit, Torph, lowlight, highlight.js, pdf.js, hls.js, Svelte, React, Lucide, Playwright);
  • the focus-ring research references (.superpowers/sdd/focus-ring-research.md, research §0/§1/§5b), whatwg/html#8087 with engine versions, WebKit bug 296492 and the iOS gesture research note;
  • Claude, Codex and Unsplash in comments, and iCloud, Fastmail and Nextcloud as CalDAV servers in the Calendars header.

Kept: the new module headers, the app.css → calternal-app.css path fixes, the #611 motion notes and the retired-task cleanup in slash.test.ts. Competing notes, photo and budget apps (Obsidian, Craft, Notion, Fantastical, Immich, Google Photos, Apple Photos, Apple Notes, YNAB) stay unnamed. Their stand-ins now read as plain English (for example "extended-Markdown pipe syntax", "envelope-budget", "common note editors").

Check: git diff origin/dev...HEAD | grep '^-' | grep -E 'iOS|macOS|Safari|WebKit|Chrom|Firefox|Apple|Finder|Thunderbird|Android|Windows' now lists only moved or rewrapped lines and the competing-app lines. Comments only. Prettier is not set up for Svelte in this repo, so I did not run it.

Repair on `job/docsfix-web` (not pushed): `bf5d2643f` docs(web): restore platform, browser and library names in comments. Clarified rule (owner, 2026-10-02): do not name competing apps (other notes, calendar, mail or photo apps) in UI, code or comments. Platform, OS, browser, protocol, client and library names that state technical facts stay. The name scrub replaced facts with garbled stand-ins in about 750 comment lines: "iOS 26.5" became "touch-platform.5", "Safari 15+" became "the browser 15+", "than the" became "tha". This commit restores: - every platform, browser and client name (iOS, iPadOS, macOS, Safari, WebKit, Chromium, Chrome, Firefox, Finder, Apple Calendar, iPhone, iPad, Android, Windows, Linux); - library names (ProseMirror, TipTap, StarterKit, Yjs, Yrs, jsdom, Sonner, Bklit, Torph, lowlight, highlight.js, pdf.js, hls.js, Svelte, React, Lucide, Playwright); - the focus-ring research references (`.superpowers/sdd/focus-ring-research.md`, research §0/§1/§5b), whatwg/html#8087 with engine versions, WebKit bug 296492 and the iOS gesture research note; - Claude, Codex and Unsplash in comments, and iCloud, Fastmail and Nextcloud as CalDAV servers in the Calendars header. Kept: the new module headers, the `app.css` → `calternal-app.css` path fixes, the #611 motion notes and the retired-task cleanup in `slash.test.ts`. Competing notes, photo and budget apps (Obsidian, Craft, Notion, Fantastical, Immich, Google Photos, Apple Photos, Apple Notes, YNAB) stay unnamed. Their stand-ins now read as plain English (for example "extended-Markdown pipe syntax", "envelope-budget", "common note editors"). Check: `git diff origin/dev...HEAD | grep '^-' | grep -E 'iOS|macOS|Safari|WebKit|Chrom|Firefox|Apple|Finder|Thunderbird|Android|Windows'` now lists only moved or rewrapped lines and the competing-app lines. Comments only. Prettier is not set up for Svelte in this repo, so I did not run it.
Author
Owner

Repair on job/docsfix-rust (not pushed): 3c0ff64e2 docs(rust): restore client, platform and library names in comments.

Clarified rule (owner, 2026-10-02): do not name competing apps (other notes, calendar, mail or photo apps) in UI, code or comments. Platform, OS, browser, protocol, client and library names that state technical facts stay.

The scrub turned interop facts into vague stand-ins ("Apple Calendar uses a dashed UUID" became "Some CalDAV clients", "Safari on iOS" became "A mobile browser", "Finder" became "file manager") and added a stray "The" to continuation lines. This commit restores Apple Calendar, Reminders, Apple Notes (IMAP), macOS 27, dataaccessd, the #356 and #428 macOS VM and Mac run notes, Finder, Safari, Chromium, iOS, Mac, Fastmail, Aside, Claude Desktop, Claude Code and Codex CLI (AgentProvider docs), Unsplash, ProseMirror, Slack, WhatsApp, iMessage, Google feed import rules and Apple MakerNote. The AAE sidecar spelling is now "the iOS and macOS spelling".

Kept: the stale-comment fixes from #920, #928, #929, #932 and #933, the version-thinning precision fix and the "Credit Card Payments" / "Inflow: Ready to Assign" names. Competing apps stay unnamed: Obsidian (Tasks), Lightroom, YNAB, Actual Budget and Nextcloud (version thinning).

Gate: cargo fmt --check: clean (exit 0). Comments only.

Repair on `job/docsfix-rust` (not pushed): `3c0ff64e2` docs(rust): restore client, platform and library names in comments. Clarified rule (owner, 2026-10-02): do not name competing apps (other notes, calendar, mail or photo apps) in UI, code or comments. Platform, OS, browser, protocol, client and library names that state technical facts stay. The scrub turned interop facts into vague stand-ins ("Apple Calendar uses a dashed UUID" became "Some CalDAV clients", "Safari on iOS" became "A mobile browser", "Finder" became "file manager") and added a stray "The" to continuation lines. This commit restores Apple Calendar, Reminders, Apple Notes (IMAP), macOS 27, dataaccessd, the #356 and #428 macOS VM and Mac run notes, Finder, Safari, Chromium, iOS, Mac, Fastmail, Aside, Claude Desktop, Claude Code and Codex CLI (`AgentProvider` docs), Unsplash, ProseMirror, Slack, WhatsApp, iMessage, Google feed import rules and Apple MakerNote. The AAE sidecar spelling is now "the iOS and macOS spelling". Kept: the stale-comment fixes from #920, #928, #929, #932 and #933, the version-thinning precision fix and the "Credit Card Payments" / "Inflow: Ready to Assign" names. Competing apps stay unnamed: Obsidian (Tasks), Lightroom, YNAB, Actual Budget and Nextcloud (version thinning). Gate: `cargo fmt --check`: clean (exit 0). Comments only.
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#863
No description provided.