issues: file #24-#31 (doc-truth + behavior wave)

953bc64gl0w

all commits

Message

issues: file #24-#31 (doc-truth + behavior wave)

Diff

.forge/issues/3c9f54fd-95a2-46af-81dc-89853abfc3c7/issue.md+17 −0
diff --git a/.forge/issues/3c9f54fd-95a2-46af-81dc-89853abfc3c7/issue.md b/.forge/issues/3c9f54fd-95a2-46af-81dc-89853abfc3c7/issue.mdnew file mode 100644index 0000000..4bfb427--- /dev/null+++ b/.forge/issues/3c9f54fd-95a2-46af-81dc-89853abfc3c7/issue.md@@ -0,0 +1,17 @@1+---2+id: 3c9f54fd-95a2-46af-81dc-89853abfc3c73+title: 'budget: skill cap 900->1000 (PLAN M2 + test) deliberate doc-truth headroom'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:44:21Z9+updated: null10+---11+Plan §M2 + cli.rs skill_within_budget. The pre-agreed deliberate12+budget decision: doc-truth wave (#25-#31) adds real contract bytes13+(merge reword ~+30B) and 897/900 has no room. 1000B cap, lines stay14+30. Changes: tests/cli.rs assert bytes<=1000; wiki/docs/PLAN.md §M215+skill cell 900->1000; skill.md re-sync with #25 reword. Golden test16+(body == SKILL_TEXT) unchanged. DONE: budget test passes at 1000;17+PLAN cell matches; skill <=1000B.
.forge/issues/81e8b0f1-9785-4831-9086-d828e3da239b/issue.md+16 −0
diff --git a/.forge/issues/81e8b0f1-9785-4831-9086-d828e3da239b/issue.md b/.forge/issues/81e8b0f1-9785-4831-9086-d828e3da239b/issue.mdnew file mode 100644index 0000000..06df9d4--- /dev/null+++ b/.forge/issues/81e8b0f1-9785-4831-9086-d828e3da239b/issue.md@@ -0,0 +1,16 @@1+---2+id: 81e8b0f1-9785-4831-9086-d828e3da239b3+title: 'ci run: verdict line to stdout (currently silent)'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:45:09Z9+updated: 2026-09-08T07:45:50Z10+---11+SOURCE: swarm friction #7 (verified: ci.rs has zero stdout writes;12+run status only in .forge/ci/runs/<ts>/summary.md + .current).13+FIX: at run end print ONE line to stdout, same shape as ci list:14+"<ts> <verdict>" (e.g. "2026-09-08T07:15:47Z pass"). Step output15+behavior unchanged; stderr unchanged. DONE:16+`f0rge ci run 2>/dev/null | tail -1` yields the verdict line.
.forge/issues/9bb88c66-32bb-4291-896f-7103a0fa00a4/issue.md+23 −0
diff --git a/.forge/issues/9bb88c66-32bb-4291-896f-7103a0fa00a4/issue.md b/.forge/issues/9bb88c66-32bb-4291-896f-7103a0fa00a4/issue.mdnew file mode 100644index 0000000..c044e97--- /dev/null+++ b/.forge/issues/9bb88c66-32bb-4291-896f-7103a0fa00a4/issue.md@@ -0,0 +1,23 @@1+---2+id: 9bb88c66-32bb-4291-896f-7103a0fa00a43+title: 'merge contract truth: CI gate in scratch worktree, never-touch-main, orchestrator integrates; docs lied'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:45:09Z9+updated: 2026-09-08T07:45:50Z10+---11+SOURCE: swarm friction #6 (verified). Behavior is CORRECT and stays:12+f0rge merge = CI gate in a scratch worktree, applies patch, runs all13+steps, verdict pass|fail, NEVER touches main or git branches;14+orchestrator ffs the applied sha + deletes branch + closes the PR.15+No auto-integrate (bitter lesson; #20 non-goals). The DOCS lied:16+contract line "merge: applies prints conflicts never resolves; PR17+stays (state: merged), branch deleted" implies f0rge integrates and18+deletes. FIX: contract merge line becomes a true teaching line:19+"merge: CI-gates patch in scratch worktree; never touches main or20+branches; prints conflicts, never resolves; you integrate (ff) +21+delete branch"; same truth in `merge -h` and spec [merge-record,22+procedure]. DONE: contract/merge-h/spec all true; golden + budget23+tests pass.
.forge/issues/9db819d3-fae1-4d80-9998-54cf250262df/issue.md+19 −0
diff --git a/.forge/issues/9db819d3-fae1-4d80-9998-54cf250262df/issue.md b/.forge/issues/9db819d3-fae1-4d80-9998-54cf250262df/issue.mdnew file mode 100644index 0000000..fd28ec7--- /dev/null+++ b/.forge/issues/9db819d3-fae1-4d80-9998-54cf250262df/issue.md@@ -0,0 +1,19 @@1+---2+id: 9db819d3-fae1-4d80-9998-54cf250262df3+title: 'created: fractional seconds so lexicographic==chronological holds'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:45:09Z9+updated: 2026-09-08T07:45:50Z10+---11+SOURCE: swarm friction #5 (verified: created = second precision12+"2026-09-08T03:26:43Z"; schema promises lexicographic==chronological13+order; same-second creates tie on (created,id) -> uuid-random rank14+-> unstable numbers when import-mirroring a source forge).15+FIX: new entities' `created` = RFC3339 with fractional seconds16+("...43.123456Z"); parser accepts with AND without fraction (old17+files parse unchanged); schema [global rules] documents the format.18+DONE: rapid sequential creates rank in creation order; old files19+still parse; spec updated.
.forge/issues/a169cf71-a7f4-494e-89aa-79b1d9e5d26d/issue.md+16 −0
diff --git a/.forge/issues/a169cf71-a7f4-494e-89aa-79b1d9e5d26d/issue.md b/.forge/issues/a169cf71-a7f4-494e-89aa-79b1d9e5d26d/issue.mdnew file mode 100644index 0000000..b1b5cfb--- /dev/null+++ b/.forge/issues/a169cf71-a7f4-494e-89aa-79b1d9e5d26d/issue.md@@ -0,0 +1,16 @@1+---2+id: a169cf71-a7f4-494e-89aa-79b1d9e5d26d3+title: 'wiki: human list size column + schema H1-fallback doc'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:45:09Z9+updated: 2026-09-08T07:45:50Z10+---11+SOURCE: swarm friction #3+#8 (verified: wiki list --json HAS size;12+human table omits it; schema says index title = first H1, H1-less13+pages fall back to filename — undocumented). FIX: human `wiki list`14+gains a size column (thin view aligned with json path,title,size);15+schema [wiki] documents: "index title = first H1, else filename".16+JSON unchanged. DONE: human shows size; schema states fallback.
.forge/issues/b12b0403-81a7-40c9-9d8e-7a1654d7a800/issue.md+20 −0
diff --git a/.forge/issues/b12b0403-81a7-40c9-9d8e-7a1654d7a800/issue.md b/.forge/issues/b12b0403-81a7-40c9-9d8e-7a1654d7a800/issue.mdnew file mode 100644index 0000000..72b37fd--- /dev/null+++ b/.forge/issues/b12b0403-81a7-40c9-9d8e-7a1654d7a800/issue.md@@ -0,0 +1,20 @@1+---2+id: b12b0403-81a7-40c9-9d8e-7a1654d7a8003+title: '--json placement: trailing per-command (gh-literal); usage lines lied'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:44:29Z9+updated: 2026-09-08T07:45:09Z10+---11+SOURCE: swarm friction #2 (verified: `f0rge --json issue list` =12+human format, flag eaten by root; `f0rge issue list --json` works).13+gh-literal: --json/--jq are per-command TRAILING; root only routes14+--skill. FIX docs (truth, not code): root help usage line15+"f0rge [--json|--jq E|--skill] <cmd> [args]"16+-> "f0rge [--skill] <cmd> [--json|--jq E] [args]"; skill usage line17+"[--json] <cmd> [args]" -> "<cmd> [--json] [args]" (byte-neutral);18+every verb -h usage line says trailing. Optional (not now): thread19+leading --json through. DONE: every usage line truthful;20+`f0rge --json issue list` being human is no longer claimed anywhere.
.forge/issues/b9fe153c-d90c-4846-ac03-c41d2d790ae1/issue.md+18 −0
diff --git a/.forge/issues/b9fe153c-d90c-4846-ac03-c41d2d790ae1/issue.md b/.forge/issues/b9fe153c-d90c-4846-ac03-c41d2d790ae1/issue.mdnew file mode 100644index 0000000..749d39e--- /dev/null+++ b/.forge/issues/b9fe153c-d90c-4846-ac03-c41d2d790ae1/issue.md@@ -0,0 +1,18 @@1+---2+id: b9fe153c-d90c-4846-ac03-c41d2d790ae13+title: 'per-verb -h: spec pointers (flag names without docs = trial-error)'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:45:09Z9+updated: 2026-09-08T07:45:50Z10+---11+SOURCE: swarm friction #1 (verified: `f0rge issue create -h` lists12+flag NAMES only, no semantics; every agent trial-and-errored).13+FIX: every `f0rge <cmd> -h` gains one line pointing at the flag/verb14+docs: "docs: spec/schema.md §<cmd>" (spec is the frozen flag15+truth). Must fit per-cmd -h budget (250B/8 lines): byte-count each16+after adding. Covers issue/pr/task/label/milestone/ci/wiki/release/17+merge/init/skill (issue/ci/wiki handled by the behavior agent; same18+canonical wording). DONE: every -h points at spec; budgets hold.
.forge/issues/eaa91dab-48fe-422b-a6aa-76fb1814cc6a/issue.md+17 −0
diff --git a/.forge/issues/eaa91dab-48fe-422b-a6aa-76fb1814cc6a/issue.md b/.forge/issues/eaa91dab-48fe-422b-a6aa-76fb1814cc6a/issue.mdnew file mode 100644index 0000000..e42cc8a--- /dev/null+++ b/.forge/issues/eaa91dab-48fe-422b-a6aa-76fb1814cc6a/issue.md@@ -0,0 +1,17 @@1+---2+id: eaa91dab-48fe-422b-a6aa-76fb1814cc6a3+title: 'issue create --state: reject loudly (gh-literal); no silent flags'4+state: open5+labels: []6+assignees: []7+milestone: null8+created: 2026-09-08T07:45:09Z9+updated: 2026-09-08T07:45:50Z10+---11+SOURCE: swarm friction #4 (verified: `issue create --state closed`12+-> created open, silently). gh-literal: gh issue create has NO13+--state. FIX: drop --state from create's accepted flags -> usage14+exit 2, one-line error naming the flag; list/view/search keep15+--state. Sweep issue.rs create for ANY other accepted-but-ignored16+flag; each must work or reject loudly. DONE: create --state errors;17+temp-repo probe shows default state only; no silent accepts remain.