issues: file #35-#42 (discoverability wave)
Message
issues: file #35-#42 (discoverability wave)
Diff
.forge/issues/02b1c176-221c-4658-9ab0-de75cbfe4136/issue.md+17 −0
--- /dev/null+++ b/.forge/issues/02b1c176-221c-4658-9ab0-de75cbfe4136/issue.md@@ -0,0 +1,17 @@1+---2+id: 02b1c176-221c-4658-9ab0-de75cbfe41363+title: task list --json includes body (consistency with issue list)4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.528766897Z9+updated: null10+---11+SOURCE: swarm friction #7 (verified: task list --json omits body12+while issue list --json includes it; no task view verb exists).13+FIX: task list --json includes body (files are the API; list is a14+thin view of the file, which always had body; zero runtime cost).15+No new `task view` verb (gh has none; files are readable). DONE:16+[{"id":..,"status":..,"title":..,"body":..,"createdAt":..}];17+goldens/tests updated.
.forge/issues/055a5618-85a7-45fd-9dc9-8596c42862f5/issue.md+19 −0
--- /dev/null+++ b/.forge/issues/055a5618-85a7-45fd-9dc9-8596c42862f5/issue.md@@ -0,0 +1,19 @@1+---2+id: 055a5618-85a7-45fd-9dc9-8596c42862f53+title: 'wiki discard: bless rm + git in docs; never-delete covers entities only'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.524064625Z9+updated: null10+---11+SOURCE: swarm friction #6 (verified: test wiki page removable only12+via plain rm; no verb; "never delete / archive only" feels13+violated). FIX: DOCS ONLY — clarify the carve-out honestly:14+spec [wiki]: "wiki pages are plain files in git; edit or remove15+with rm + git (git is the undo log); 'never delete' governs16+ENTITY history (issues/prs/tasks), not doc files." One line in17+AGENTS.md too. NO new verb, no archive machinery for wiki18+(bitter lesson: docs were missing, not verbs). DONE: rm on wiki19+files is blessed on paper; entities still close/archive only.
.forge/issues/16ab6d2a-46d8-4836-b81d-2c82efdf1a89/issue.md+16 −0
--- /dev/null+++ b/.forge/issues/16ab6d2a-46d8-4836-b81d-2c82efdf1a89/issue.md@@ -0,0 +1,16 @@1+---2+id: 16ab6d2a-46d8-4836-b81d-2c82efdf1a893+title: 'parse errors: append ''(try: f0rge <cmd> <verb> --help)'' one line'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.509555292Z9+updated: null10+---11+SOURCE: swarm friction #3 (verified: `label create --title x` ->12+bare "usage: unknown flag: --title", no hint, exit 2). FIX: every13+flag/arg parse failure appends a pointer, ONE line, exit 2 stays:14+"usage: unknown flag: --title (try: f0rge label create --help)".15+Same for unknown verbs: "unknown verb: foo (try: f0rge issue -h)".16+DONE: every parse error names the fix path; one-line rule holds.
.forge/issues/2491e679-9837-4085-b605-132fe4c1a92b/issue.md+16 −0
--- /dev/null+++ b/.forge/issues/2491e679-9837-4085-b605-132fe4c1a92b/issue.md@@ -0,0 +1,16 @@1+---2+id: 2491e679-9837-4085-b605-132fe4c1a92b3+title: 'registries: label/milestone list sorted by name (render-time)'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.533396300Z9+updated: null10+---11+SOURCE: swarm friction #8 (verified: labels.md/milestones.md list12+in insertion order; a closed test milestone renders above real13+ones). FIX: `f0rge label list` and `f0rge milestone list` render14+sorted by name (stable, render-time only — never stored state).15+Update any golden/needle tests that pinned insertion order. DONE:16+both registries list sorted; no schema change.
.forge/issues/2be7cd64-4ed6-4e90-9c54-74fe14ec7015/issue.md+17 −0
--- /dev/null+++ b/.forge/issues/2be7cd64-4ed6-4e90-9c54-74fe14ec7015/issue.md@@ -0,0 +1,17 @@1+---2+id: 2be7cd64-4ed6-4e90-9c54-74fe14ec70153+title: 'wiki put: accept bare stdin (no literal - required)'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.519215538Z9+updated: null10+---11+SOURCE: swarm friction #5 (verified: `printf x | f0rge wiki put12+docs/y.md` -> usage error demanding the literal "-"; no --path13+flag either). FIX: single-arg form reads stdin —14+`f0rge wiki put <path>` with piped stdin stores it; `-` remains15+accepted for explicitness. wiki -h documents both forms. Probe:16+printf x | f0rge wiki put docs/y.md stores "x"; same with `-`.17+DONE: bare stdin works; docs truthful.
.forge/issues/39587c5a-23b7-4e14-b8ac-b0591723359a/issue.md+16 −0
--- /dev/null+++ b/.forge/issues/39587c5a-23b7-4e14-b8ac-b0591723359a/issue.md@@ -0,0 +1,16 @@1+---2+id: 39587c5a-23b7-4e14-b8ac-b0591723359a3+title: 'document entity addressing: issue <N> | task|pr <uuid> | milestone|label <name> | wiki <path>'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.514394248Z9+updated: null10+---11+SOURCE: swarm friction #4 (verified: issues by number, milestones12+by name, tasks by UUID, nothing documents which is which). FIX:13+ONE authoritative line in spec [global rules] AND a notes line in14+the relevant -h: "address: issue <N> | task|pr <uuid> |15+milestone|label <name> | wiki <path>". DONE: addressing is16+documented in exactly one place, visible from help.
.forge/issues/65a43d67-b32d-42bb-9957-25d259d40818/issue.md+24 −0
--- /dev/null+++ b/.forge/issues/65a43d67-b32d-42bb-9957-25d259d40818/issue.md@@ -0,0 +1,24 @@1+---2+id: 65a43d67-b32d-42bb-9957-25d259d408183+title: 'per-verb -h: verb-depth help with real flags/positionals (currently generic block)'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.503621660Z9+updated: null10+---11+SOURCE: swarm friction #2 (verified: `f0rge issue create -h` prints12+the SAME block as `f0rge issue -h` — no per-verb flags; agents13+trial-error --title/--body/positionals). FIX: verb-depth help:14+`f0rge <cmd> <verb> -h` prints that verb's actual flags +15+positionals (small consts declared next to each parser arm;16+hand-maintained; needle tests pin them so they don't drift).17+Domain `f0rge <cmd> -h` keeps the verb map + spec pointer. Be18+truthful about positionals: label create <name>, wiki put <path>19+[stdin | -], release create <ver> --notes <file|-> [--title S],20+pr create --base B --head H --issue <uuid>, task create --title S21+[--body S --column C], issue create --title S [--body S --label L22+--assignee A --milestone M]. Each -h stays <=250B/8 lines23+(byte-count all). DONE: every task/create-level -h shows its real24+surface; a fresh agent can create anything first-try.
.forge/issues/9331e103-1087-4015-b506-a03abb78dc59/issue.md+22 −0
--- /dev/null+++ b/.forge/issues/9331e103-1087-4015-b506-a03abb78dc59/issue.md@@ -0,0 +1,22 @@1+---2+id: 9331e103-1087-4015-b506-a03abb78dc593+title: 'spec: embed starter in binary; init writes it; new f0rge spec verb (dead-link fix)'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T09:42:24.497366457Z9+updated: null10+---11+SOURCE: swarm friction #1 (verified: `f0rge init` creates NO spec/;12+every -h "docs: spec/schema.md SSection" pointer is a dead link on13+fresh projects — the doc-truth wave only ever verified against the14+f0rge repo which has spec/ from M0). OWNER DECISION: embed the15+canonical spec/schema.md IN THE BINARY (single source of truth —16+no scrubbed copy, no drift): include_str! from the cli crate to17+repo ../../spec/schema.md. `f0rge init` writes it to spec/schema.md18+ONLY IF ABSENT (never clobber a project's own file); new verb19+`f0rge spec` prints it anytime; `f0rge spec --write` overwrites the20+file. Added to command tree + root help within budgets. DONE:21+fresh init -> spec/schema.md exists; `f0rge spec` prints it; all -h22+SSection pointers resolve on any project; budgets + tests green.