Skip to content

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 18 Jul 21:22
· 45 commits to main since this release
c6c7eb0

SQLite Independence + Streaming Durable Publication

v0.4.0 made the durable index the default build format. v0.4.1 completes the
operator story: a durable-only default build no longer needs an index.db for
everyday local work, and index build publishes durable snapshots through a
streaming path that never materializes the full row set in memory.

SQLite remains a first-class compatibility path (--format sqlite /
--format both) for query --since-run, stats --prefixes, and full
--resume-run recovery.

SQLite-independent local surfaces

query, list, stats, doctor, and enrich-with-head now read the durable
substrate natively (no index.db, no ephemeral SQLite bridge). A machine-stable
index build --json receipt (gonimbus.index.build_result.v1) and a pinned
durable query (--index-set + --run-id) let automation hand off the exact
committed snapshot without list heuristics.

# Default durable build — now queryable and diagnosable natively
gonimbus index build --job index.yaml

# Machine-stable receipt for handoff
gonimbus index build --job index.yaml --json

# Query the durable snapshot directly (streaming verified JSONL)
gonimbus index query --index-set idx_... --prefix data/

# Dry-run whole-set reclamation plan
gonimbus index gc --dry-run --keep-last 3 --json

Also in this cut

  • Streaming durable publication with operator-tunable capacity budgets
    (--spill-workspace-max / --spill-record-max / --spill-root; 16 GiB
    workspace / 16 MiB record defaults; flag > env > config > default). Invalid
    budgets refuse before any side effect; exhaustion refuses fail-closed with no
    latest advance. Segment packing stays 500k rows/segment (engine lever, not a
    setting). Operator guide:
    durable-index capacity budgets.
  • Managed background builds (index build --background) with dedup, leases,
    recovery, and terminal receipts.
  • Whole-set GC — index gc --dry-run (--max-age / --keep-last /
    --json), leased execution, canonical SQLite authority.
  • index migrate-match-scope — fail-closed migration of prefix-shaped
    match.includes to explicit build.scope.
  • transfer reflow stdin --parallel restored (a v0.3.5–v0.4.0
    regression).

Boundary framing

Durable-v2 remains a full-fidelity internal render for trusted operators and
pipelines — not a reduced-trust, de-identified, or third-party publication
format. Content digests are content-integrity / tamper-evidence checksums,
not statements of author authenticity or provenance.

Upgrade

go install github.com/3leaps/gonimbus/cmd/gonimbus@v0.4.1

No format or schema break; existing durable and SQLite artifacts are read as-is.
See docs/releases/v0.4.1.md for the complete release
notes.