Generated files
m8shift.py init writes the core relay files at the project root. Other ledgers are created on demand by the command that owns them. Generated files use the M8SHIFT.* names.
🟣 init · 🩷 relay file · 🟠 generated files
| File | Purpose |
|---|---|
M8SHIFT.md | living lock, workflow state, and the immutable turn journal |
M8SHIFT.protocol.md | the shared protocol core (hard 2000-proxy-token budget), generated from m8shift.py |
M8SHIFT.protocol-reference.md | the full command reference and adoption details, read on demand |
M8SHIFT.agent-pack.md | first-read discipline pack: claim-before-write, no-parking, prompt-security, stale-lock, delivery-complete, raw-proof, and shared-checkout rules; repaired by init --force-generated |
M8SHIFT.archive.md | older turns moved here by archive (created on demand) |
M8SHIFT.memory.md | shared-memory notes appended by remember (created on demand) |
M8SHIFT.tasks.md | append-only task events appended by task (created on demand) |
M8SHIFT.sessions.jsonl | session start/done events for history (created on demand) |
.m8shift.lock | temporary inter-process mutation lock (O_EXCL) |
.m8shift/kit.json | merged companion-install manifest written by init --companions / --with-* / --full; checked read-only by doctor |
.m8shift/hooks/commit-msg | Git hook template written by init; stamps the Coordinated-With / Agent-Model provenance trailers |
.m8shift/decisions.json | decision-traceability target override persisted by decisions target --set (created on demand) |
.m8shift/runtime/ | advisory runtime sidecars: presence, runs, progress, inbox, idempotency, approvals, diagnostics, and retention archive |
.m8shift/runs/ | optional runtime reports and immutable run artifacts |
CLAUDE.md | Claude anchor (protocol stanza injected at the top) |
AGENTS.md | Codex and generic-agent anchor; AGENTS.override.md is synced if present |
GEMINI.md | Gemini anchor, when gemini is in the roster |
Idempotent anchors
The anchor stanza is idempotent: the prior file is backed up to <anchor>.m8shift.bak before injection.
On-demand ledgers
init does not create the memory, task, archive, or session files unless the relevant commands need them. Their absence means "no entries yet", not an error.
Runtime sidecars are not the core relay
Files under .m8shift/ are local companion state. They never grant the pen and may be removed without corrupting M8SHIFT.md.