Target data model
August 15, 2026 ยท View on GitHub
This document describes the planned 0.1 record format. The compatibility spike does not write these records yet.
Each memory is one Markdown file with strict frontmatter:
---
schema_version: 1
id: 01K00000000000000000000000
kind: decision
scope: workspace
status: observation
authority: user_declared
confidence: high
privacy: workspace
review_state: approved
created_at: 2026-08-15T00:00:00.000Z
updated_at: 2026-08-15T00:00:00.000Z
expires_at: null
tags:
- example
sources:
- type: dsh_session
session_id: synthetic-session
event_seq_start: 10
event_seq_end: 12
content_digest: sha256:synthetic
evidence: []
supersedes: []
---
# Prefer deterministic local tests
Use deterministic local tests before relying on model-output plausibility.
Stable enums
kind:
preferencedecisionfactprocedurelessonproject_stateconstraintgoal
scope:
globalworkspace
status:
observationpromotedretired
authority:
user_declaredworkspace_evidencemodel_inferred
Source policy
The Git record stores source references, bounded redacted excerpts when explicitly allowed, and content digests. It does not duplicate raw session transcripts by default.
Secrets and credentials are invalid record content. privacy: sensitive is a
classification that causes rejection or human attention; it is not permission
to commit a secret.
Identity and lifecycle
The ULID remains unchanged when a record moves from observations/ to
promoted/ or retired/. The slug is display-only. Promotion, retirement,
and supersession preserve provenance through Git history and structured fields.