v0.4.0 — Reversible agentic work, memory governance, Codex MCP
Minor release. Closes the last two priorities from the maintainer brief plus the deferred Codex TOML parsing.
Reversible agentic work (priority 5)
coding-scaffold session start [--worktree] Create a branch (or worktree); commit a baseline
coding-scaffold session checkpoint -m ... git add -A + commit + record in session state
coding-scaffold session diff Files changed since the start commit
coding-scaffold session rollback Preview by default; --confirm for soft reset;
--confirm --hard for a destructive reset
coding-scaffold session summary Branch, baseline, checkpoint count, files changed
Never auto-pushes. Never deletes work without `--confirm --hard`. The per-session state file is git-ignored so it doesn't pollute checkpoint commits.
Memory governance (priority 6)
coding-scaffold memory capture --class X --content ... Reviewable Markdown entry; class=secret
is refused outright; personal_data requires
--allow-personal; content matching the
secret-pattern heuristic is refused
coding-scaffold memory review List active entries; flag unowned / expiring / expired
coding-scaffold memory promote <id> --to Y Copy to a more durable class; original is kept and
marked status=promoted (audit trail)
coding-scaffold memory expire Move past-expiry entries to memory/_expired/
coding-scaffold memory audit Heuristic scan for secrets (error severity) and
PII (warning); exits non-zero on error
coding-scaffold memory init Optional config.json documenting the backend
Memory classes: `project_fact`, `team_preference`, `decision`, `session_lesson` (default 30-day TTL), `failed_attempt`, `personal_data` (restricted), `secret` (never stored).
Backend: Markdown only in v1. SQLite / MemPalace / vector are reserved for future versions.
Codex .codex/config.toml parsing
`mcp scan` now reads Codex's TOML configuration in addition to `opencode.json` and `.claude/settings.json`:
- Canonical form: `[mcp_servers.]`
- Legacy fallback: `[mcp.]`
- Malformed TOML is a warning, not a crash.
- Uses stdlib `tomllib`. No new dependencies.
The eval harness's MCP-policy check inherits the new source automatically.
Verification
304 tests passing, ruff clean, CI green on Linux.
Properties
- Zero new dependencies.
- Zero LLM calls.
- Zero network calls.
- Zero telemetry.
- Every new command supports `--json` for CI / scripting.
- Backwards compatible with v0.3.0.
Cumulative scope across v0.1.0 → v0.4.0
All seven maintainer-brief priorities are now implemented:
| Priority | Theme |
|---|---|
| 1 | Agent-context linter (`context lint` / `explain`) |
| 2 | PR template + session traces (`pr-template init`, `session init / summarize`) |
| 3 | MCP and skill governance (`mcp policy / scan / snapshot / diff`, `skills new / lint / approve / export`) |
| 4 | Machine-readable permissions (`permissions write`) |
| 5 | Reversible work (`session start / checkpoint / diff / rollback / summary`) |
| 6 | Memory governance (`memory capture / review / promote / expire / audit / init`) |
| 7 | Readiness benchmark (`eval init / run / report`) |
Full notes: CHANGELOG.md.