Releases: davccavalcante/gaptime
Releases · davccavalcante/gaptime
Release list
[PUBLISHED ON NPMJS] @takk/gaptime@1.0.0
STATUS: PUBLISHED ON NPMJS. This version was published to the npm registry on 2026-06-17T00:02:59Z with provenance attestation. View on npm: https://www.npmjs.com/package/@takk/gaptime/v/1.0.0
[1.0.0] - 2026-06-16T23:30:49Z
Initial stable release. GapTime: bi-temporal knowledge-graph memory for long-running Massive Intelligence (IM) agents, with zero runtime dependencies, that never calls a provider API on its own.
Added
- Bi-temporal fact store. Every fact carries valid time (when it was true in the world) and transaction time (when GapTime recorded it), as half-open intervals with open-end support. Facts are never deleted: supersession closes valid intervals, retraction closes transaction intervals, and both axes stay independently reconstructable.
- Contradiction detection via Allen interval algebra over a tractable endpoint-comparison subalgebra. Predicates are single-valued by default; set-valued relations register as
multi. A contradiction closes the older fact's valid interval over only the contradicted span, preserving any surviving prefix and suffix sub-interval, and records the Allen relation. Same-object overlapping assertions merge instead of duplicating. - Time-travel queries.
asOf(valid time),reconstructAsOf(transaction time), the bi-temporalquery, andhistory. - Retract that heals. Retracting a fact that caused a supersession restores the beliefs it overrode, so
reconstructAsOfand current belief stay consistent. - Deterministic, model-optional write path. Facts arrive pre-structured; a pluggable
Extractoris the only place a model can enter ingestion. - Hybrid retrieval: in-memory Okapi BM25 over an inverted index, n-hop graph traversal, and an optional pluggable
VectorIndexhook, fused by reciprocal rank fusion and filtered to the requested time coordinates. Lexical and graph signals work out of the box; semantic recall is opt-in. - Provenance and lineage mandatory on every fact (source, ingestion time, content hash, actor), plus an append-only, frozen
auditTrailthat provides the record-keeping primitive behind EU AI Act Article 12 and ISO/IEC 42001 A.6.2.8. - Retention.
prune(beforeTransactionTime)drops fully-closed history and audit events before a cutoff while keeping every current belief, bounding the footprint of a long-running store. - Persistence backends: in-memory, file (lazy
node:fs, unique-temp atomic writes with corrupt-snapshot quarantine), and any structuralKvLikekey-value store. Snapshots persist the audit trail and supersession ledger so state survives a reload. External hooks (vector, store) are non-fatal: a transient fault never crashes the host or aborts a write. - Structural graph-store adapters (
@takk/gaptime/store): write-through mirrors for Neo4j (cypherGraphStore), Postgres and SQLite (sqlGraphStore). GapTime imports no database driver. - Ingestion adapters: Model Context Protocol structuredContent (
@takk/gaptime/mcp), Vercel AI SDK steps (@takk/gaptime/vercel), and OpenTelemetry GenAI spans (@takk/gaptime/otel), each mapping event time to valid time and ingestion time to transaction time. - Sibling bridges (
@takk/gaptime/integrations):@takk/keymesh,@takk/modelchain,@takk/behavioralai,@takk/noeticos, and@takk/racs, all wired through local structural interfaces with no runtime import of a sibling. - CLI (
gaptime):assert,ingest,query,asof,reconstruct,contradictions,audit,stats,search,demo,inspect(with--watch), and a hardened read-onlyservebridge. - Entry points: universal core,
./otel,./vercel,./mcp,./integrations,./store,./web, and./edge, dual ESM and CJS with their own type declarations. Runs in Node, edge runtimes, and the browser.
Quality
- 127 tests across 16 suites, green on Node 22 and Node 24, including an S1 to S10 bi-temporal scenario benchmark and a determinism guard.
- Statement coverage about 92 percent, line coverage about 95 percent.
- Core bundle about 6.18 kB brotli. Zero runtime dependencies.
publintclean,attwgreen across all entry points.