Owned records with append-only history and automatic status-change events.
Three shipped products · one recurring substrate
Three products.
One architecture.
Open-sourced.
One architecture extracted from three shipped products: entities, append-only events, lifecycle state, ingestion, retrieval, and grounded agent memory on a Next.js and Supabase spine.
// release posture
- MODEL
- Clone + own
- LICENSE
- Apache-2.0
- BOUNDARY
- Open engine / private tuning
- STATUS
- Verified + buildable
Apache-2.0
commercial use + patent grant
7
ordered migrations
9 / 9
tests passing
0
dependency advisories
01 — The realization
The products were different. The architecture kept rhyming.
Three unrelated products kept converging on the same architectural shape. Rebuilding that substrate from muscle memory was useful evidence, but wasted motion. The reusable machinery needed to become inspectable, adoptable, and safe to build on. The goal was not another abstraction layer. It was a small, legible starting point that makes the recurring machinery explicit and leaves the product free to become specific.
02 — The shared machine
Typed states and guarded transitions declared once and enforced everywhere.
Source → normalize → upsert → event, with domain-specific adapters.
Documents become chunks, embeddings, scoped vector matches, and grounded context.
Prompts, tools, durable facts, and memory give the agent continuity.
03 — The calibration boundary
The line between commodity and moat runs inside the machine.
None of the mechanism is novel—and that is the point. The reusable engine is open. The tuning earned from watching real users lives in one git-ignored file.
Open mechanism
- +Scoring engine
- +Memory extractor
- +Persona framework
- +Vector retrieval
- +Lifecycle machinery
Private calibration.ts
- ◆Weights
- ◆Confidence floors
- ◆Voice + prompts
- ◆Thresholds
- ◆Model routing
Open the engine. Keep the numbers.
04 — Adoption path
Trust should be executable.
A new user can clone the repository, create neutral private calibration, and prove the entire substrate before connecting a database or paid model.
$ git clone github.com/BGilleran522/archivist-stack
$ npm ci
$ npm run setup
$ npm run verify
05 — What shipped
An open-source project people can evaluate—not just admire.
- ▹Seven ordered Postgres migrations with authentication-aware row-level security
- ▹Entity CRUD, append-only event history, and lifecycle transition guards
- ▹Document chunking, vector search, retrieval, ingestion adapters, and deduplication
- ▹Agent tools, persona prompts, fact extraction, and durable memory
- ▹Idempotent setup plus one-command typecheck, test, and production-build verification
- ▹GitHub Actions CI, private vulnerability reporting, and a zero-advisory dependency audit
- ▹Apache-2.0 license with patent grant and explicit commercial-use permission
Constraints / Evidence
The conditions shaped the system.
- ◆The substrate must remain domain-neutral without abstracting away product identity
- ◆Security defaults must work before adopters add their own infrastructure
- ◆The open repository cannot contain product voice, thresholds, weights, or earned tuning
- ◆A new adopter must be able to verify the stack without paid services or hidden setup
7
migrations
An ordered, authentication-aware database foundation.
9/9
tests passing
Lifecycle, retrieval, and security behavior are executable.
0
advisories
The released dependency tree passed its security audit.
Apache-2.0
license
Commercial use and an explicit patent grant are included.
Build on it
Apache-2.0. Patent grant included. Build a business on it if you want. I would rather it get used than admired.
Fork the stack ↗