9.4 KiB
name, type, tags, description
| name | type | tags | description | ||||
|---|---|---|---|---|---|---|---|
| handover-2026-04-23 | reference |
|
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 buildrun against the pre-consolidation tip (9b0067b, tagged aspre-consolidation-2026-04-23for recovery). npm run buildinitially failed with a missing-dependency error for@chenglou/pretext. Root cause: stale partialnode_modulesinstall dated 2026-04-21 07:45 — the directory for the package existed but was empty.npm installrecovered it; package is present in lockfile and needed bysrc/lib/utils/textMeasure.ts.cargo clippy -- -D warningsinitially failed with 3 errors incrates/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 --fixacross 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_orsimplification, reference-immediately-dereferenced). - One remaining warning left untouched:
needless_range_loopatsrc-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 commit1296173— the tip of the deletedfeat/design-systembranch. ~1000 LOC across 24 files:ai-formatting/rule_based.rsrewrite,transcription/local_engine.rs, corehardware.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 stashon the new branch. Not merged to main. Needs a focused rebase session: heavy conflicts expected inTasksPage,FilesPage,ai-formatting/rule_based.rs, andtranscription/local_engine.rsagainst 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
githubfor 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 assertionsduring 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/kit2.57.1 → 2.58.0,@sveltejs/adapter-static3.0.6 → 3.0.10 (commit0e18a78). 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.0as of kit 2.58.0. Upstream has not bumped the pin; fixed cookie version is0.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/kitlands a cookie bump. - esbuild via svelte-i18n@4.0.1 (2× moderate) —
svelte-i18nbundlesesbuild@^0.19.2for its CLI. Advisory: "dev-server allows any website to read responses". Context: only affectsvite devover the network. In a Tauri desktop app the dev server is localhost-only and not relevant to production.svelte-i18nis already at latest (4.0.1); the only way to drop this is replace the i18n library.
- cookie@0.6.x (3× low) pinned by
npm audit --audit-level highwould 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 2b82b9b — src-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-recoverpreserved 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.0→corbie@0.1.0, crate prefixeskon-*→corbie-*, desktop file, binary name, install paths~/.local/share/kon/→~/.local/share/corbie/, database filenamekon.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/kitbumps its cookie pin, or when an i18n replacement is chosen. - CI clippy enforcement — workspace is now clean with default clippy. Turning on
-D warningsin 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
mainat2b82b9b(evening pass: +3 commits — sveltejs bumps, clippy refactor, this handover update)- Local branches:
mainonly (recovery branch deleted locally after archival) github/feat/design-system-recoverat8855db8(preserved as archive)- Tag
pre-consolidation-2026-04-23at9b0067b cargo build --workspace✓ /cargo test --workspace✓ (245 passing) /cargo clippy --workspace --all-targets0 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.mdin CORBEL-Main