Skip to content

fix(db): clearer error when data.db is unreadable#63

Merged
rekal-dev merged 2 commits into
mainfrom
cursor/duckdb-corrupt-repair-64b6
Jul 20, 2026
Merged

fix(db): clearer error when data.db is unreadable#63
rekal-dev merged 2 commits into
mainfrom
cursor/duckdb-corrupt-repair-64b6

Conversation

@rekal-dev

@rekal-dev rekal-dev commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Detect DuckDB deserialize / field-id-mismatch failures on open.
  • Error tells you to run rekal clean && rekal init (no new command).

Recovery

rekal clean && rekal init

Test plan

  • Unit test for wrapOpenError message

Frank Guo added 2 commits July 20, 2026 15:41
Pre-push was failing with an opaque DuckDB "field id mismatch"
deserialize error on .rekal/data.db. Detect serialization failures in
open, point at `rekal repair`, and quarantine+rebuild from the orphan
branch (or a fresh empty store).
Detect deserialize/field-id failures on open and point at
`rekal clean && rekal init`. Drop the separate repair command.
@rekal-dev rekal-dev changed the title fix(db): rekal repair for unreadable DuckDB stores fix(db): clearer error when data.db is unreadable Jul 20, 2026
@rekal-dev
rekal-dev merged commit b4b1fa6 into main Jul 20, 2026
3 checks passed
@rekal-dev
rekal-dev deleted the cursor/duckdb-corrupt-repair-64b6 branch July 20, 2026 05:53
rekal-dev pushed a commit that referenced this pull request Jul 20, 2026
…nner

Updates the LoCoMo skill-closure plan to the unified skill on main and
turns the goal into a measurable loop:

- 06-locomo-skill-closure.md: current state added (route-level floor eval
  over all 1,888 questions — 1442/1442 want-INJECT pass, ev@20 0.985 among
  INJECT, 82.9% route token saving; sample40 75% strict / 83.8% soft at
  2,734 tok/q, multi-hop 61.5% the gap). Loop now runs 50-question
  stratified batches (batch 1 staged at runs/locomo-skill-sample50; batches
  2+ must carry adversarials since abstention rides the false-premise
  rule). New §5.1 defines the ceiling (oracle-context run x judge
  agreement) and makes gap-to-oracle the batch headline with a stop rule.
  New §5.2 specifies the lazy-inference proof: one frozen batch across
  executor tiers, accuracy vs non-cached tok/q vs drills — accuracy must
  climb with reasoning ability at flat-or-falling cost, since Rekal pays
  zero write-time extraction. Stale names refreshed (hunt-gate/recall-route/
  hunt.md/profiles -> route.py/view.py/find.py/ledger.md; failure classes
  updated, tooling class added), iteration ledger extended through #59/#61
  and the post-#63 hardening, pointers and open items rewritten.
- run_local_e2e.py: clean_env no longer strips the whole ANTHROPIC*
  namespace — gateway vars (BASE_URL/AUTH_TOKEN/API_KEY) are kept so a
  proxied claude -p works; only CLAUDE_CONFIG_DIR and forced model
  overrides are dropped. --model/--judge-model now optional (omitted flag
  = the CLI's configured default, required on single-model gateways).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AtTW8v7Rw7rwnwFcZFkZ3m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant