fix(dev): restore green gates (editor check, task icons, WhenField budget) #1024

Closed
kayg wants to merge 0 commits from fix/restore-green-gates into dev
Owner

Restores the red gates on dev head 661123e94. Each fix is its own commit.

Fixes

  1. editor check (3e5d0e695): packages/editor/src/transforms/picker-list.ts was dead code left over from #853. Nothing imports it any more. picker-core.ts replaced it, and links.ts/tags.ts no longer export linkSource, tagSource, tabIntoTag. The file imported @codemirror/autocomplete, which is not a dependency of the editor. I deleted the file instead of adding the dependency, so there is no package.json or lockfile change. The picker-list chunk name in vite.config.ts is a separate manual-chunk label and is unchanged.
  2. icons.test (de507c5e0): the Tasks icons (t-calendar, t-flag, t-repeat, t-wont, t-list, t-board) were already registered in apps/web/src/tasks/icons.ts and imported by TasksScreen.svelte. The test read only Icon.svelte and icons-extra.ts, so it never saw them. It now also reads every apps/web/src/**/icons.ts, and the no-duplicate-name check covers all tables. The test is stricter, not weaker.
  3. svelte-check (83dda7095): not in the brief, but it was red on dev with 4 errors, so I fixed it. TagPickerHandle is a shared type (it replaces object), the card's bar snippet takes k: string, and the Insert sheet's actions are readonly InsertAction[].

WhenField budget: no change

It does not reproduce red. On 661123e94 alone and on this branch, WhenField is 8.714 KB against the 8.73 budget, so there is nothing to trim and no budget change. I found no dead imports or dead code in the chunk. The 8.735 KB figure may come from a different build environment; if it recurs, it can be trimmed then.

Gates on dev-01 (calternal-dev-01-compute02)

Gate Result
bun run --cwd packages/editor check exit 0
bun run check (apps/web, svelte-check) 0 errors, 17 warnings (were 4 errors)
apps/web vitest run 18 files, 200 tests passed (includes icons.test, 2 tests)
perf/web.sh --bundle-only --gate exit 0; first_js_brotli 221.802 KB (identical to dev), total_js_brotli 496.236 KB (identical), WhenField 8.714
Playwright chromium-1440 89 passed, 1 skipped
Playwright chromium-390 77 passed, 13 skipped
Playwright webkit-1440 89 passed, 1 skipped
Playwright webkit-390 77 passed, 13 skipped

Playwright specs: picker, picker-lazy, tag-picker, slash-menu, link-suggest, tags, task-check, composer-tasks, tasks-{board,card,contrast,lazy,lists,no-hscroll,swipe,tick,when}, with --workers=1. Skips are the specs' own project guards.

Bundle sizes are unchanged from dev, so there is no first-paint growth. No Rust changed.

🤖 Generated with Claude Code

Restores the red gates on dev head 661123e94. Each fix is its own commit. ## Fixes 1. **editor check** (3e5d0e695): `packages/editor/src/transforms/picker-list.ts` was dead code left over from #853. Nothing imports it any more. `picker-core.ts` replaced it, and `links.ts`/`tags.ts` no longer export `linkSource`, `tagSource`, `tabIntoTag`. The file imported `@codemirror/autocomplete`, which is not a dependency of the editor. I deleted the file instead of adding the dependency, so there is no `package.json` or lockfile change. The `picker-list` chunk name in `vite.config.ts` is a separate manual-chunk label and is unchanged. 2. **icons.test** (de507c5e0): the Tasks icons (`t-calendar`, `t-flag`, `t-repeat`, `t-wont`, `t-list`, `t-board`) were already registered in `apps/web/src/tasks/icons.ts` and imported by `TasksScreen.svelte`. The test read only `Icon.svelte` and `icons-extra.ts`, so it never saw them. It now also reads every `apps/web/src/**/icons.ts`, and the no-duplicate-name check covers all tables. The test is stricter, not weaker. 3. **svelte-check** (83dda7095): not in the brief, but it was red on dev with 4 errors, so I fixed it. `TagPickerHandle` is a shared type (it replaces `object`), the card's bar snippet takes `k: string`, and the Insert sheet's actions are `readonly InsertAction[]`. ## WhenField budget: no change It does not reproduce red. On `661123e94` alone and on this branch, WhenField is 8.714 KB against the 8.73 budget, so there is nothing to trim and no budget change. I found no dead imports or dead code in the chunk. The 8.735 KB figure may come from a different build environment; if it recurs, it can be trimmed then. ## Gates on dev-01 (calternal-dev-01-compute02) | Gate | Result | |---|---| | `bun run --cwd packages/editor check` | exit 0 | | `bun run check` (apps/web, svelte-check) | 0 errors, 17 warnings (were 4 errors) | | apps/web `vitest run` | 18 files, 200 tests passed (includes icons.test, 2 tests) | | `perf/web.sh --bundle-only --gate` | exit 0; first_js_brotli 221.802 KB (identical to dev), total_js_brotli 496.236 KB (identical), WhenField 8.714 | | Playwright chromium-1440 | 89 passed, 1 skipped | | Playwright chromium-390 | 77 passed, 13 skipped | | Playwright webkit-1440 | 89 passed, 1 skipped | | Playwright webkit-390 | 77 passed, 13 skipped | Playwright specs: picker, picker-lazy, tag-picker, slash-menu, link-suggest, tags, task-check, composer-tasks, tasks-{board,card,contrast,lazy,lists,no-hscroll,swipe,tick,when}, with `--workers=1`. Skips are the specs' own project guards. Bundle sizes are unchanged from dev, so there is no first-paint growth. No Rust changed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Nothing imported picker-list.ts any more, and it needed @codemirror/autocomplete
(not a dependency of the editor) and exports that links.ts and tags.ts no longer have.
The 'picker-list' lazy chunk name in vite.config.ts is unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
fix(web): svelte-check errors on dev: the Tasks card's tag picker handle is typed, the card's bar snippet takes a string key, and the Insert sheet's actions are read-only like the registry's
Some checks failed
CI / server (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / web (pull_request) Has been cancelled
Markdown extraction contract / markdown-native-contract (pull_request) Has been cancelled
Markdown extraction contract / markdown-editor-contract (pull_request) Has been cancelled
83dda7095c
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Owner

Merged into dev locally (head 83dda7095 is in origin/dev); closing.

Merged into dev locally (head `83dda7095` is in origin/dev); closing.
kayg closed this pull request 2026-11-09 18:55:10 +00:00
Some checks failed
CI / server (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / web (pull_request) Has been cancelled
Markdown extraction contract / markdown-native-contract (pull_request) Has been cancelled
Markdown extraction contract / markdown-editor-contract (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No reviewers
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!1024
No description provided.