TacidOS
DevelopersGitHub

Decision 0017

Provenance-carrying memory; opt-in traces for a fine-tuned tool-use model

Architecture decision record 0017: Provenance-carrying memory; opt-in traces for a fine-tuned tool-use model

Status
Accepted
Date
2026-09-03

Context

“Learning” means two things: this machine remembers, and the species gets better. Memory is also the persistence vector for prompt injection (review).

The three plans

  • Grok: short-term session plus an optional long-term store; a fine-tuned tool-use model.
  • Fable: not detailed.
  • Codex: SQLite + FTS + optional vectors; session/project/user/system layers; never-memory; a memory settings page with search, edit, export, delete.

Decision

SQLite with FTS5 and sqlite-vec, one database per user, vector index versioned by embedding-model id, forward-only migrations with a snapshot at every activation so a generation rollback never corrupts a newer database. Layers session, project, owner, machine; never-memory for secrets. Every row carries provenance; rows derived from untrusted content are never loaded as instructions; owner-layer writes require confirmation. tacid memory searches, edits, exports and deletes.

Species learning: opt-in tool-trace collection with a published sanitizer specification and a bundle shown before upload; tune/ fine-tunes a small Tacid tool-use model added to the registry; the dataset is licensed CDLA-Permissive-2.0.

Consequences

  • Memory is a security surface and is tested by the injection corpus.
  • The best local model for running Tacid will be one trained on Tacid.

Alternatives rejected

  • Copying user files into an AI database: privacy and provenance disasters.
  • A vector database service: a daemon for a problem SQLite solves.