Executes docs/superpowers/specs/2026-07-07-runtime-performance-pass-design.md: - database.rs: every pooled connection now runs WAL + synchronous=NORMAL + busy_timeout=5000 + foreign_keys=ON via with_init (in-memory pools get the latter two). Fixes the SQLITE_BUSY failure mode under the parallel scanner and makes FK cascades work on every connection, not just whichever one last ran the old one-shot pragma in delete_folder. - database.rs: prepare_cached for the per-video info_cache queries; new info_cache_put_many bulk upsert (single transaction) replaces the per-row autocommitted info_cache_put, with a round-trip unit test. - library.rs: enrich_with_cache collects cache misses and flushes them once per channel; title sort uses sort_by_cached_key. - app.rs: Title/ChannelAsc sorts use sort_by_cached_key instead of allocating two lowercased strings per comparison. - Cargo.toml: panic=abort in release (crash-hook still fires; Cargo forces unwind for test harnesses). PACKAGING.md documents the local RUSTFLAGS target-cpu=native opt-in; repo stays portable. - .gitignore: catacomb.db-wal / catacomb.db-shm sidecars. Verified: 146 tests pass (integration suite exercises the pragmas end-to-end), x86_64-pc-windows-gnu check green, live smoke shows journal_mode=wal + batched cache writes landing correct rows. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
38 lines
834 B
Text
38 lines
834 B
Text
# Downloaded channel archives (videos, thumbnails, descriptions)
|
|
/channels/
|
|
|
|
# Rust build artifacts
|
|
/target/
|
|
|
|
# Packaging output (.deb / .rpm / .AppImage + downloaded appimagetool)
|
|
/dist/
|
|
|
|
# makepkg build artifacts (finished .pkg.tar.zst is NOT ignored)
|
|
/pkg/
|
|
/src/catacomb/
|
|
/catacomb/
|
|
|
|
# Rendered mdBook output (source lives in docs/src/)
|
|
/docs/book/
|
|
|
|
# Editor / OS cruft
|
|
*.swp
|
|
.DS_Store
|
|
.claude/
|
|
.superpowers/
|
|
.worktrees/
|
|
|
|
# Session handoff notes (local only)
|
|
ANDROID_CONTEXT.md
|
|
|
|
# Sensitive: YouTube session cookies — never commit
|
|
cookies.txt
|
|
|
|
# User-specific runtime config (bind address, password hash, etc.) — never commit
|
|
config.toml
|
|
|
|
# Runtime database (watched status, positions, password hash) — never commit
|
|
# (+ the WAL/shm sidecars SQLite creates under journal_mode=WAL)
|
|
catacomb.db
|
|
catacomb.db-wal
|
|
catacomb.db-shm
|