memex: update AGENTS.md with ROADMAP TODO workflow, bump passepartout to v0.8.0

- AGENTS.md: add steps 0 (read next TODO from ROADMAP) and 6 (mark DONE
  with LOGBOOK) to development cycle
- Notes updates accumulated during v0.8.0 work
- Bump passepartout submodule to v0.8.0
This commit is contained in:
2026-05-09 15:00:35 -04:00
parent 4e9431ec1d
commit 04944a62e2
4 changed files with 1209 additions and 140 deletions

View File

@@ -2,17 +2,28 @@
## Development Cycle (every change)
1. **Think in org** — write your reasoning, goals, and approach in the .org file first
2. **Write contract** — define a `** Contract` section listing each function's behavior:
1. **Read the next TODO** — find the next unreached `*** TODO` item in
`docs/ROADMAP.org` (search `*** TODO`). Read its prose, `:PROPERTIES:`,
and estimated line budget. That item is the target for this change cycle.
2. **Think in org** — write your reasoning, goals, and approach in the .org file first
3. **Write contract** — define a `** Contract` section listing each function's behavior:
`(fn-name args)`: description. Returns/guarantees ...
3. **TDD from contract** — each contract item becomes a `fiveam:test` in `* Test Suite`
4. **TDD from contract** — each contract item becomes a `fiveam:test` in `* Test Suite`
a. Write the test first → tangle → run → prove it FAILS (RED)
b. Write the implementation → tangle → run → prove it PASSES (GREEN)
c. Record both failure and success output
4. **Reflect in org** — once tests pass, ensure the implementation is in the .org source
5. **Update literate prose** — write/update the explanatory text around the code:
5. **Reflect in org** — once tests pass, ensure the implementation is in the .org source
6. **Update literate prose** — write/update the explanatory text around the code:
what it does, why it exists, how it connects to the rest of the system
6. **Commit** — only when asked. Ask first.
7. **Mark the origin TODO DONE** — in `docs/ROADMAP.org`, change the
`*** TODO` item to `*** DONE` and add a `:LOGBOOK:` entry with the
completion date:
#+begin_src org
:LOGBOOK:
- State "DONE" from "TODO" [YYYY-MM-DD Day]
:END:
#+end_src
8. **Commit** — only when asked. Ask first.
## Commands
@@ -51,13 +62,9 @@ When REPL is down: fall back to the SBCL cycle above.
- Before shipping a version, run the `** File Update Checklist` in `docs/ROADMAP.org`
- **YOU MAY NOT** push a version tag (e.g., `v0.5.0`), create a GitHub release, or run `git push`
that triggers CI/CD version workflows without explicit permission. Ask first.
## Core Boundary (HARD RULE)
- **YOU MAY NOT add files to `passepartout.asd` `:components` without asking for permission.**
ASDF `:components` is the core harness. Files there load on every daemon boot,
cannot be hot-reloaded, and a bug there kills the agent's brainstem.
- When you want to add a new module, **ask first**. Provide:
1. Why it cannot be a skill (the self-repair criterion — can the agent fix it
if corrupted without human help?) Demonstrate specifically how a broken
@@ -65,11 +72,9 @@ When REPL is down: fall back to the SBCL cycle above.
or acting — not just degrading performance or losing a feature.
2. What it depends on and what depends on it
3. Why it cannot use `fboundp` guards from core
- **Default: everything is a skill.** Skills load via `skill-initialize-all`,
are hot-reloadable, self-repairable, and a bug in a skill degrades the agent
but doesn't kill it. The harness stays thin.
- **The self-repair criterion**: a file belongs in core only if, when corrupted,
the agent *cannot* fix it without human help. Corrupted core = dead brain,
dead hands, or unreachable. Corrupted skill = degraded but self-repairable.