| @@ -16,7 +16,7 @@ it can shell out to the others. · 15 unmodified lines |
| 16 | 16 | 2. Every agent's system file gets **exactly one line** pointing at it: |
| 17 | 17 | |
| 18 | 18 | ``` |
| 19 | | − Shared primitives (hosts/SSH, subagent CLIs, models.env) live in `~/.model/`. Read `~/.model/README.md` on launch. |
| 19 | + Shared primitives (hosts/SSH, subagent CLIs, models.env) live in `~/.model/`. Read `~/.model/README.md` on launch and append a row to `~/.model/log.csv` when the session ends. |
| 20 | 20 | ``` |
| 21 | 21 | |
| 22 | 22 | Append it to `~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md`, |
| @@ -37,10 +37,27 @@ read Markdown, so the format is Markdown. · 14 unmodified lines |
| 37 | 37 | | `hosts.md` | Every machine: IPs, SSH command, sudo, what runs there | |
| 38 | 38 | | `subagents.md` | How to invoke every other agent CLI headlessly | |
| 39 | 39 | | `models.env` | Shared env, sectioned per agent, `chmod 600` | |
| 40 | +| `log.csv` | Session log every agent appends to | |
| 40 | 41 | |
| 41 | | −Templates for all four are in [`template/`](template/). Copy them, fill them |
| 42 | +Templates for all five are in [`template/`](template/). Copy them, fill them |
| 42 | 43 | with your own facts, and never commit the result. |
| 43 | 44 | |
| 45 | +## The session log |
| 46 | + |
| 47 | +One CSV, every agent, one row per session, appended when the session ends: |
| 48 | + |
| 49 | +``` |
| 50 | +date,company,model,description,resume |
| 51 | +2026-07-28,anthropic,fable 5,added the session log to the standard,claude --resume 9cbb2d13-ef46-450b-a999-a4aeb82aff82 |
| 52 | +2026-07-28,xai,grok-4.5,swept the quant repo for dead code,grok --resume 41c9 |
| 53 | +``` |
| 54 | + |
| 55 | +CSV rather than Markdown so one table serves every agent and you can still |
| 56 | +filter it: `grep -i ',anthropic,' ~/.model/log.csv` or |
| 57 | +`awk -F, '$3=="fable 5"'`. The `resume` column is whatever that CLI needs to |
| 58 | +pick the session back up, so one row is enough to get back into any past |
| 59 | +session from any agent. |
| 60 | + |
| 44 | 61 | ## Adding a primitive |
| 45 | 62 | |
| 46 | 63 | New topic gets a new `<topic>.md` and one row in the local `README.md` table. |
| @@ -79,7 +96,7 @@ cp template/* ~/.model/ · 32 unmodified lines |
| 79 | 96 | mv ~/.model/models.env.example ~/.model/models.env |
| 80 | 97 | chmod 600 ~/.model/models.env |
| 81 | 98 | |
| 82 | | −LINE='Shared primitives (hosts/SSH, subagent CLIs, models.env) live in `~/.model/`. Read `~/.model/README.md` on launch.' |
| 99 | +LINE='Shared primitives (hosts/SSH, subagent CLIs, models.env) live in `~/.model/`. Read `~/.model/README.md` on launch and append a row to `~/.model/log.csv` when the session ends.' |
| 83 | 100 | for f in ~/.claude/CLAUDE.md ~/.codex/AGENTS.md ~/.gemini/GEMINI.md \ |
| 84 | 101 | ~/.grok/AGENTS.md ~/.config/opencode/AGENTS.md; do |
| 85 | 102 | mkdir -p "$(dirname "$f")" |