Codex Ops
Use this when Codex or Claude is operating inside the Memoire repository and needs a stable workflow for safe autonomous changes.
Core Rule
Prefer machine-readable command output whenever Memoire exposes it. Do not scrape terminal prose if a JSON surface exists.
Current JSON-first commands:
memi status --jsonmemi connect --jsonmemi notes list --jsonmemi notes info <name> --jsonmemi compose "..." --jsonmemi doctor --jsonmemi generate --jsonmemi export --json
Execution Pattern
- Inspect state first with JSON-capable commands.
- Use dry-run modes before mutating files when available.
- Make one coherent change at a time.
- Verify with focused tests or typecheck.
- Commit and push each lane separately.
Commit Hygiene
- Keep each commit scoped to one behavior or one workflow lane.
- Do not mix note content, command changes, and unrelated generated output.
- If the worktree is already dirty, treat existing changes as user state unless you know they were produced by your own current lane.
- Do not rewrite or revert unrelated files to make your diff cleaner.
Review Loop
- Read the diff before every commit.
- Prefer targeted regression tests over broad reruns first.
- If a command has a
--jsonmode, add or update tests against the structured payload rather than asserting on human-readable formatting. - When a fix changes behavior, verify both the focused path and the combined command suite that overlaps it.
Memory Capture
- If a workflow becomes stable, encode it in a built-in note or skill instead of repeating it in freeform prompts.
- If a command repeatedly needs structured output, add
--jsoninstead of teaching agents to parse ASCII tables or prose. - If a repository convention matters across many commits, capture it in a note, not only in one changelog entry or one conversation.
Safe Autonomy
- Prefer additive or explicitly scoped changes.
- Use
--dry-run,doctor, andstatus --jsonbefore destructive or broad operations. - Treat
.memoire/, generated outputs, preview artifacts, and user specs as project state, not disposable scratch space. - When a lane is already pushed to
main, reconcile local work toHEADinstead of silently diverging.
Recommended Sequence
For a normal implementation lane:
memi status --jsonmemi connect --jsonmemi doctor --json- edit the smallest viable set of files
- run focused tests
- run
npm run typecheck - commit one lane
- push immediately
For note work:
- add
note.json - add the markdown skill file
- add a focused note regression test
- run the note tests plus typecheck
- commit and push that note as its own lane