Vault (alpha)

A markdown-backed knowledge store wired into your code, tasks, snapshots, and receipts.

Vault is alpha and gated behind the KROWFORGE_ALPHA flag. Hidden by default in stable builds.

What it is

A note system that lives next to your code. Notes are markdown files in .krowforge/vault/. Each note can link to:

  • Other notes ([[Note Name]])
  • Files (file:src/auth.py)
  • Tasks (task:run_2026_04_25_…)
  • Snapshots (snapshot:snap_…)
  • Patches (patch:rcpt_…)
  • Symbols (symbol:validate_user)

Backlinks are auto-computed.

Note types

Tabbed filter at the top:

TypeUse
SpecLong-form spec for a feature or module.
DecisionAn ADR (Architecture Decision Record). What/why/alternatives/decision.
ReceiptA summary of what was done in a run, written for humans.
ScratchWorking notes, not promoted yet.

Layout

Three panes:

  • Left — list of all notes, filtered by type/tag/status.
  • Center — the active note's editor (textarea) or rendered preview.
  • Right — Links panel (outgoing + backlinks) + Cheatsheet (link syntax reference).

Status

Each note has an optional status:

  • Active — current truth.
  • Draft — work in progress.
  • Replaced — superseded by another note (link to it in the body).

Helps with note lifecycle in long-lived projects.

Tags

Optional comma-separated tags. Filterable via the left pane.

Why

The Vault is for the persistent context that doesn't fit in code comments and shouldn't live in a separate wiki. The agent can read vault notes too — @vault:NoteName mentions are on the roadmap.

Storage

.krowforge/vault/<slug>.md per note. Standard markdown, git-friendly. The structured metadata (type, status, tags) lives in the YAML frontmatter:

---
type: decision
status: active
tags: auth, security
---

# Use bcrypt for password hashing

…

Quick-create

The "New note" / "New decision" buttons in the left pane create scaffolded notes with the right frontmatter for each type.