---
id: 1651beb0-8cd8-4c1f-a7dd-a1f09e089104
title: 'spec §Release: enumerate flags (--notes/--dry-run); -h may gain one line'
state: closed
labels: []
assignees: []
milestone: null
created: 2026-09-08T08:35:09.121963230Z
updated: 2026-09-08T08:46:58.687873681Z
---
SOURCE: orchestrator friction minting v0.2.0 (2026-09-08): took 3
attempts to create a release. `--body` -> unknown flag; bare `f0rge
release v0.2.0` -> "not found"; only the usage ERROR taught the real
flag (`--notes <file|->`). The doc-truth wave (#30) added per-verb
-h -> spec pointers everywhere, but spec [Release] says "Body =
notes" WITHOUT naming the flag, so the pointer lands on a section
that still hides the surface. Same bug class the swarm flagged in
#27, blown on my own mint.

FIX (boring, one section):
- spec [Release] enumerates the exact flags:
  create <ver> --notes <file|->  (--title S optional)
  install [ver|main] [--dry-run]
  (list|view unchanged)
- release -h may gain ONE flag-summary line IF it fits the 250B/8ln
  budget (byte-count; if it doesn't fit, spec-only is fine — the -h
  already points at [Release]).
- golden: spec/fixtures/release.md still parses; budgets hold.
DONE: a fresh agent reading `f0rge release -h` + spec [Release] can
create a release + dry-run an install first-try, zero trial-error.
