# f0rge M7 token audit (release binary, temp repo)

Loop: init -> issue -> task -> ci (fail then pass) -> wiki ->
label -> milestone -> branch -> pr -> merge -> close ->
--skill -> root help. All green, zero help needed.

| command | exit | stdout B | lines | stderr B |
|---|---|---|---|---|
| `init` | 0 | 0 | 0 | 0 |
| `issue create --title --body --json` | 0 | 163 | 1 | 0 |
| `issue list --json` | 0 | 163 | 1 | 0 |
| `task create --title --json` | 0 | 118 | 1 | 0 |
| `ci run` (fail step) | 1 | 26 | 1 | 41 |
| `ci run` (pass) | 0 | 28 | 1 | 0 |
| `wiki put docs/glossary.md -` | 0 | 29 | 1 | 0 |
| `wiki list` | 0 | 27 | 1 | 0 |
| `label create --name --color --description --json` | 0 | 53 | 1 | 0 |
| `milestone create --name --json` | 0 | 59 | 1 | 0 |
| `pr create --base main --head feat --title --json` | 0 | 212 | 1 | 0 |
| `pr list` | 0 | 18 | 1 | 0 |
| `pr merge 1` | 0 | 44 | 1 | 0 |
| `issue close 1` | 0 | 165 | 1 | 0 |
| `--skill` / `skill` | 0 | 487 | 9 | 0 |
| root help | 0 | 155 | 5 | 0 |

Summary: every success is 0-1 lines stdout, silent stderr;
fail is 1 line each side. Budgets hold: root 155/300B 5/12
lines, --skill 487/900B 9/30 lines, skill/skill.md 504/900B
17/30 lines, list --json 1 line/entity. No fixes needed.

How an agent operates f0rge:
`f0rge --skill` is the contract; `f0rge` + `cmd -h` is the map.
`issue list --assignee you --state open`, then `issue view <id>`.
Work in a worktree; verify with the repo's own ci steps.
`pr create --base main --head <br> --issue <id>`; owner merges.
Reconcile conflicts yourself; `wiki put research/...` what lasts.
