coding agent memory files
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
vnprc 5ecbcbcccb Add the fleet-diff skill and the skills mechanism to carry it
Memory says what the conventions are; a skill says how to drive one tool
well at the moment it is reached for. This repo had nowhere for the
latter, so add skills/ alongside templates/, index it in memory.md and
README.md, and land fleet-diff as the first entry.

The skill is written against the shipped command: --override takes a git
revision, with a whole flake URL only as the fallback for a source the
lock cannot name. It also records two things a reader would otherwise pay
for once each. A CHANGES verdict can come from an input whose whole
source tree is a build input rather than from the change under test. And
Nix refusing a revision that ls-remote shows on master is a stale fetcher
cache, cleared by nix flake metadata --refresh.
2026-09-04 10:05:45 +09:00
adapters Collapse the adapter memory pointer back to one hop 2026-08-30 19:46:47 -04:00
skills/fleet-diff Add the fleet-diff skill and the skills mechanism to carry it 2026-09-04 10:05:45 +09:00
templates Point the footer example at a rostered model 2026-07-29 04:41:15 +00:00
age.md Record that the public data repos are templates, keys included 2026-07-30 21:42:18 +00:00
agent-behavior.md Second compression pass over the batch 2026-07-27 13:05:18 -04:00
agent-cli-updates.md Second compression pass over the batch 2026-07-27 13:05:18 -04:00
allod.md List fleet-diff in the session tool inventory 2026-09-04 00:05:37 +00:00
architecture.md Add architecture principles topic file 2026-07-13 19:02:08 -04:00
cli-design.md cli-design: state the flag rule as settled, without the tracking pointer 2026-07-29 13:47:59 +00:00
dev-plans.md Record the transitive re-lock revert and codex sandbox limits 2026-08-22 18:20:38 +00:00
git-workflow.md memory: forge --body command-substitutes backticks 2026-07-28 03:18:33 +00:00
issue-writing.md Document the handoff label for public-to-private instruction issues 2026-07-30 23:22:49 -04:00
LICENSE Add LICENSE (GPL-3.0-or-later) 2026-07-17 05:45:04 +00:00
memory.md Add the fleet-diff skill and the skills mechanism to carry it 2026-09-04 10:05:45 +09:00
nix.md Record the transitive re-lock revert and codex sandbox limits 2026-08-22 18:20:38 +00:00
README.md Add the fleet-diff skill and the skills mechanism to carry it 2026-09-04 10:05:45 +09:00
security-practices.md Seed public Allod memory 2026-06-26 02:49:21 +00:00
shell.md Keep human verification commands terminal-safe 2026-08-24 22:49:38 +00:00
testing.md Add test code placement rule 2026-08-05 11:59:53 -04:00
vm-provisioning.md Record that the public data repos are templates, keys included 2026-07-30 21:42:18 +00:00
vm-tooling.md vm-tooling: no Go toolchain on VMs; devShell is the dev path 2026-08-19 05:27:43 +00:00
writing.md Add a writing guideline for plain-English leads 2026-07-30 19:18:53 +00:00

allod/memory

Version-controlled workflow memory for Allod coding agents. This repo is the durable, git-tracked memory that agents read at the start of every session to learn Allod's conventions, workflows, and gotchas. Agents read the root index memory.md first, then the topic files it points to that are relevant to the task.

Allod is a self-sovereign NixOS VM stack for agentic coding and privacy tasks. Memory holds the durable conventions and workflows; short-lived planning material (dev plans, review prompts, brainstorms) lives in strategy.

Layout

memory.md              root index — agents read this first, then the topic files it lists
<topic>.md             topic files — indexed with one-line descriptions in memory.md
adapters/              tool-specific entry points that redirect to memory.md
  claude/CLAUDE.md
  codex/AGENTS.md
  pi/AGENTS.md
templates/             blank scaffolds referenced by dev-plans.md
  dev-plan.md
  plan-review-prompt.md
skills/                portable skills, one directory each, indexed in memory.md
  fleet-diff/SKILL.md

Skills

Memory tells an agent what the conventions are; a skill tells it how to drive one specific tool well, at the moment it reaches for that tool. Skills follow the Agent Skills directory format: each lives at skills/<name>/SKILL.md with a frontmatter name and description. Point a compatible harness at this repository's skills/ directory, or link individual skill directories into the harness's own skill location.

A skill earns a place here when its subject is a tool the workflows in this repo invoke and getting it wrong is expensive or silent. Anything narrower than that belongs with the tool, and anything broader is a topic file.

Available skills:

  • fleet-diff — gates a merge against which machines it actually rebuilds, via fleet-diff, the per-machine flake drvPath comparison tool in tools.

Adapters

Each coding agent tool has its own native memory filename. A tool's native memory config points at adapters/<tool>/<file> here — a small entry point in that tool's format (CLAUDE.md for Claude, AGENTS.md for Codex and Pi). Each entry point carries the conversation-start instruction itself and names memory.md directly, so reaching the index costs one file read. That sentence is repeated in all three deliberately: routing them through a shared include trades one repeated sentence for an extra file read at the start of every session, and adds a relative hop an agent can misresolve into skipping memory entirely. Tool-specific policy that cannot live in memory stays in the adapter (e.g. the Claude adapter's attribution ban).

Memory hygiene

Rules that keep this repo a statement of current state rather than a log (stated in memory.md):

  • memory.md is the only root memory file; everything else is a topic file, adapter, or template.
  • Add durable memory to the topic file that owns it; update the index only when adding a new topic file.
  • Record state, not a changelog. Memory is the current state of the world plus the decisions and gotchas that constrain future work — git and the forge already log every merge and close.
  • Retire landed work. When the work an entry tracks goes terminal, the edit compresses it to its one durable fact or deletes it.

Memory vs strategy

This repo owns durable, cross-session conventions, workflows, and gotchas — the material agents need every session. It does not own active dev plans, review prompts, brainstorms, or user stories; those live in strategy. Only the blank plan and review-prompt scaffolds under templates/ live here.

  • strategy — active dev plans, review prompts, brainstorms, and archives; consumes the templates/ scaffolds here.
  • tools — the allod, forge, and workspace CLIs the workflows here invoke.
  • vm, archetypes, profiles, nexus, inventory, secrets — the framework and consumer repos whose conventions the topic files document.

Cloning

git clone https://forge.anarch.diy/allod/memory.git