v2.1.21
Cartograph v2.1.21
Cartograph v2.1.21 contains failed automatic indexing before it can create an
unbounded generation backlog, makes large relation-free backlogs practical to
prune, and upgrades the managed PostgreSQL search runtime to ParadeDB 0.25.3.
This resolves
issue #142 and
incorporates the dependency update from
PR #141.
Auto-sync capacity containment
- Generation-capacity failures now share a cross-revision circuit breaker.
Five unresolved capacity failures suppress further automatic indexing even
when editor activity continually changes the source revision. - Every failed automatic publication attempts the existing bounded
terminal-generation retention path before returning. A persistent failure no
longer retains one new PostgreSQL spill generation per retry. - Structured status reports the capacity failure count, circuit state,
maxGenerationByteslimit,cartograph_processscope, and bounded recovery
action. An explicit successful index clears the circuit. cartograph serve --mcp --no-auto-syncdisables both filesystem watching and
periodic reconciliation for an operator-controlled recovery host.
--no-startup-synccontinues to disable only the initial catch-up.
Bounded backlog recovery
db prune --maximum-deletionsis no longer silently capped at 64 generations
when failed generations own no derived search relation. A requested batch can
delete up to 10,000 such generations while relation-bearing work remains
independently bounded to 64 online relation drops.- Candidate cascade rows, derived-relation presence, and physical bytes are
measured in one bounded catalog query before selection. Current, leased,
recent, and import-recovery generations retain their existing protections. - Lease heartbeats clamp backward wall-clock adjustments against their durable
acquisition and heartbeat timestamps. A host clock correction can no longer
turn a live exact-token heartbeat into a PostgreSQL constraint failure during
import or publication recovery. - Documentation now separates logical retained generation data from shared
heaps, indexes, TOAST allocation, and reusable physical space, and preserves
backup-first guidance for explicit pruning and online B-tree compaction.
ParadeDB and dependency refresh
- The managed, development, and live-CI image is ParadeDB 0.25.3 at one exact
multi-architecture digest. Capability checks and managed upgrades now require
pg_search0.25.3; the image retains pgvector 0.8.4 and compatibility with
existingbm25derived relations. - Direct crates.io dependencies were audited against the current stable
registry releases, and the lockfile refreshes all newer Rust 1.97.1-compatible
transitive releases. - GitHub artifact provenance uses
actions/attest-build-provenance4.2.2 at its
reviewed commit, and the pinned Rust/Trixie build and Debian 13 runtime image
digests are refreshed.
Upgrade
Use the resumable project upgrade:
cartograph upgrade --apply --project-path <PATH> --jsonRequire completed: true. If project reconciliation requests a managed
database replacement, take the requested backup, use the exact confirmation
phrase, and rerun the same upgrade command to resume. Restart or reopen an
attached agent host only when the report says restartRequired: true.
Cartograph v2.1.21 remains native Rust and PostgreSQL-only. It does not bundle
PostgreSQL, ParadeDB, pgvector, a database, or a container image, and it has no
SQLite runtime, importer, optional feature, or fallback.
Full changelog: v2.1.20...v2.1.21