Files
Lumotia/HANDOVER.md
Jake 420da679f9
Some checks failed
check / cargo check (macos-latest) (push) Has been cancelled
check / cargo check (ubuntu-22.04) (push) Has been cancelled
check / cargo check (windows-latest) (push) Has been cancelled
check / svelte build + lint (push) Has been cancelled
docs(handover): post-consolidation follow-up — npm audit triaged, clippy now zero, design-system WIP abandoned
2026-04-24 11:33:12 +01:00

9.4 KiB
Raw Blame History

name, type, tags, description
name type tags description
handover-2026-04-23 reference
handover
session
kon
consolidation
Session handover — 2026/04/23 branch consolidation + main-in-its-best-state pass

Kon Handover — 2026/04/23

Consolidation session. Jake asked for "all branches to main and the repo in its best state" ahead of Corbie rebrand. This session brought outstanding Dependabot PRs into main, cleaned workspace lints, recovered an orphan stash onto a dedicated branch, and established a clean baseline for the post-rebrand push.

Rebrand note

The product is in the process of being renamed Kon → Corbie. As of 2026/04/23 the canonical product name in any new copy (grant applications, landing pages) is Corbie (sentence case). The GitHub repo jakejars/kon and the Gitea repo jake/kon both still carry the kon name, intentionally — repo rename is pending Jake's own hand and is not blocking the rebrand copy-wise. Code paths (crates/, src-tauri/, package name kon@0.1.0) remain as-is until the repo rename lands; renaming the codebase identifiers is a separate coordinated sweep. See memory/project_corbie_rebrand.md in CORBEL-Main for the full rebrand state.

What shipped this session

Baseline validation

  • Fresh cargo build, cargo test --workspace, cargo fmt --check, npm run check, npm run build run against the pre-consolidation tip (9b0067b, tagged as pre-consolidation-2026-04-23 for recovery).
  • npm run build initially failed with a missing-dependency error for @chenglou/pretext. Root cause: stale partial node_modules install dated 2026-04-21 07:45 — the directory for the package existed but was empty. npm install recovered it; package is present in lockfile and needed by src/lib/utils/textMeasure.ts.
  • cargo clippy -- -D warnings initially failed with 3 errors in crates/storage/src/file_storage.rs (two doc-list overindentations, one needless return). These were trivial style issues that clippy had never enforced at CI strictness.

Workspace clippy cleanup (commit fe61661)

  • Applied cargo clippy --fix across 11 files: crates/audio, crates/hotkey, crates/storage, crates/transcription, src-tauri.
  • Net -2 lines. No behavioural changes — pure lint cleanup (needless returns, unnecessary casts, iter().any()contains(), repeat().take()repeat_n, lifetime elision, map_or simplification, reference-immediately-dereferenced).
  • One remaining warning left untouched: needless_range_loop at src-tauri/src/commands/live.rs:1089 — clippy's suggested iterator rewrite would make it less readable. Earmarked for a focused refactor session.
  • Build + 245 workspace tests remain green post-fix.

Dependabot merges (commits 6579c5f, 0b1c492, 509b983)

Three dev-dep bumps landed as --no-ff merge commits:

# Package File changes
1 picomatch package-lock.json only
2 @sveltejs/kit package.json + package-lock.json
3 vite (npm_and_yarn group) package.json + package-lock.json

After the three merges: npm install clean, npm run build green, npm run check 0 errors / 0 warnings. Vulnerability count went from 6 (1 low / 2 moderate / 3 high) to 5 (3 low / 2 moderate) — the three highs cleared.

Orphan-stash recovery (branch feat/design-system-recover, commit 8855db8)

  • A WIP stash sat on stash@{0}, pinned to parent commit 1296173 — the tip of the deleted feat/design-system branch. ~1000 LOC across 24 files: ai-formatting/rule_based.rs rewrite, transcription/local_engine.rs, core hardware.rs + recommendation.rs, audio/resample.rs, and a sweep across Svelte UI (TaskSidebar, FilesPage, TasksPage, WipTaskList, ModelDownloader, Titlebar, viewer, float).
  • Recovered using git stash branch, which creates a branch from the stash's parent commit and applies the stash content. Parent commit still existed in the reflog even though no branch referenced it.
  • Committed the full recovery as wip(design-system): recover orphan stash on the new branch. Not merged to main. Needs a focused rebase session: heavy conflicts expected in TasksPage, FilesPage, ai-formatting/rule_based.rs, and transcription/local_engine.rs against current main since those all saw release-blocker fixes after the stash was taken. Also missing the 2026-04-23 clippy cleanup.
  • Branch pushed to github for remote preservation.

Release-blocker state (unchanged this session)

From docs/issues/README.md:

  • 0 open CRITICAL
  • 1 open MAJOR — RB-08 power-assertion-macos-objc2 (awaits manual runtime verification on a real macOS machine: pmset -g assertions during a background live-session)
  • 11 RBs resolved
  • 11 CR items resolved from the 2026-04-22 code review

RB-08 continues to gate v0.1 tagging.

Post-consolidation follow-up (evening 2026/04/23)

Jake asked for "nothing outstanding" on Corbie. Follow-up pass did:

1. npm audit triaged + safe minor bumps landed

  • @sveltejs/kit 2.57.1 → 2.58.0, @sveltejs/adapter-static 3.0.6 → 3.0.10 (commit 0e18a78). Both are patch / minor SemVer — no API breakage.
  • Residual advisories accepted (5 total: 3 low / 2 moderate, all transitive, not session-actionable):
    • cookie@0.6.x (3× low) pinned by @sveltejs/kit@^0.6.0 as of kit 2.58.0. Upstream has not bumped the pin; fixed cookie version is 0.7+. Advisory: out-of-bounds chars in name/path/domain. Context: Kon/Corbie is a Tauri desktop app, no public-facing HTTP server, so the attack surface for this is effectively nil. Re-triage when @sveltejs/kit lands a cookie bump.
    • esbuild via svelte-i18n@4.0.1 (2× moderate) — svelte-i18n bundles esbuild@^0.19.2 for its CLI. Advisory: "dev-server allows any website to read responses". Context: only affects vite dev over the network. In a Tauri desktop app the dev server is localhost-only and not relevant to production. svelte-i18n is already at latest (4.0.1); the only way to drop this is replace the i18n library.
  • npm audit --audit-level high would report 0 vulnerabilities; GitHub's richer advisory db may still show the transitive set but none are actionable without upstream bumps.

2. needless_range_loop refactor landed

Commit 2b82b9bsrc-tauri/src/commands/live.rs:1087 duplicate-merge inner loop rewritten as for segment in &nearby[start..upper]. Workspace now zero clippy warnings with cargo clippy --workspace --all-targets. Safe to turn on -D warnings in CI when desired.

3. feat/design-system-recover evaluated, WIP layer abandoned

Compared the branch against current main:

  • The handoff commit's content (design tokens, fonts, previews, ui_kits) is already on main as commit 8ba5641. Recovery branch just duplicates it from a different base.
  • The WIP layer on top modifies 24 files (TasksPage, FilesPage, WipTaskList, TaskSidebar, viewer, float, local_engine, rule_based, etc.) against a base main has since significantly refactored (RB-01 through RB-12 + all the CR-2026-04-22 fixes + a preferences.svelte.js → .ts conversion).
  • Test merge surfaces 14+ conflicts needing per-file, designer-intent-aware resolution. Conflict cost > value of the WIP given main has already moved past most of it.
  • Decision: abandon the WIP. Local branch deleted. github/feat/design-system-recover preserved as a read-only archive for reference mining. Any design-system polish from here gets redone fresh against current main rather than rebased through a stale WIP.

Still deferred (not session-actionable)

  • RB-08 verification — needs macOS hardware access. Gates v0.1 tag. One concrete open item.
  • Kon → Corbie codebase rename — Jake handles repo rename (Gitea + GitHub); coordinated codebase sweep (package name kon@0.1.0corbie@0.1.0, crate prefixes kon-*corbie-*, desktop file, binary name, install paths ~/.local/share/kon/~/.local/share/corbie/, database filename kon.db, window titles, README body) should follow the repo rename so artefact names match. Will need a migration shim to keep existing users' data alive across the path change.
  • npm audit residuals — see §1 above. Re-visit when @sveltejs/kit bumps its cookie pin, or when an i18n replacement is chosen.
  • CI clippy enforcement — workspace is now clean with default clippy. Turning on -D warnings in CI costs nothing additional.
  • Transparent windows, file-system export, bulk select/export, LLM content tags, Settings UX overhaul, Task 7 walk-through — all carried from 2026-04-19 handover.

Repo state at end of follow-up

  • main at 2b82b9b (evening pass: +3 commits — sveltejs bumps, clippy refactor, this handover update)
  • Local branches: main only (recovery branch deleted locally after archival)
  • github/feat/design-system-recover at 8855db8 (preserved as archive)
  • Tag pre-consolidation-2026-04-23 at 9b0067b
  • cargo build --workspace ✓ / cargo test --workspace ✓ (245 passing) / cargo clippy --workspace --all-targets 0 warnings / cargo fmt --check ✓ / npm run check ✓ (0 errors, 0 warnings) / npm run build

Anchors

  • Previous handover: HANDOVER-2026-04-19.md
  • Release-blocker index: docs/issues/README.md
  • Rebrand memory: ~/.claude/projects/-home-jake-Documents-CORBEL-Main/memory/project_corbie_rebrand.md
  • Active-focus upstream: context/active-focus.md in CORBEL-Main