Move FORMAT.md to docs/ and contrib/ to bin/, fix bash script style (closes #74) #148

Merged
clawbot merged 1 commits from issue-74-root-hygiene into next 2026-10-04 17:09:21 +02:00
Collaborator

Implements #74.

  • FORMAT.md moves to docs/FORMAT.md with git mv; README.md and AGENTS.md point there. AGENTS.md stays in the root, per #121.
  • contrib/usage.sh moves to bin/usage.sh, not docs/: it is a script you run, not documentation. contrib/ is gone.
  • bin/gitrev.sh and bin/usage.sh use #!/usr/bin/env bash, set -euo pipefail and a main function called at the bottom.
  • .gitignore ignores /bin/mfer, the only file the build writes into bin/, instead of all of /bin/.

Not visible in the diff: bin/gitrev.sh reads ${GITREV:-} so set -u does not abort when it is unset. Outside a git checkout it still exits non-zero, so the Makefile still stamps unknown. The Dockerfile does not use the script.

Disclosures:

  • Judgement call: the two relative links to mfer/mf.proto in docs/FORMAT.md now start with ../ so they still resolve; no other text in the spec changed.
  • Judgement call: narrowing the /bin/ rule was not strictly needed (moved files stay tracked), but a new script added to bin/ would otherwise be silently ignored.
  • Git does not detect bin/usage.sh as a rename, because wrapping its 20 lines in main changes most of them; git log --follow -M20% -- bin/usage.sh finds its history.
  • script/prettier still says files in docs/ are covered "once it exists"; left alone, since the issue says not to touch script/.

Model: opus-5-5

Implements https://git.eeqj.de/sneak/mfer/issues/74. - `FORMAT.md` moves to `docs/FORMAT.md` with `git mv`; `README.md` and `AGENTS.md` point there. `AGENTS.md` stays in the root, per https://git.eeqj.de/sneak/mfer/issues/121. - `contrib/usage.sh` moves to `bin/usage.sh`, not `docs/`: it is a script you run, not documentation. `contrib/` is gone. - `bin/gitrev.sh` and `bin/usage.sh` use `#!/usr/bin/env bash`, `set -euo pipefail` and a `main` function called at the bottom. - `.gitignore` ignores `/bin/mfer`, the only file the build writes into `bin/`, instead of all of `/bin/`. Not visible in the diff: `bin/gitrev.sh` reads `${GITREV:-}` so `set -u` does not abort when it is unset. Outside a git checkout it still exits non-zero, so the `Makefile` still stamps `unknown`. The `Dockerfile` does not use the script. Disclosures: - Judgement call: the two relative links to `mfer/mf.proto` in `docs/FORMAT.md` now start with `../` so they still resolve; no other text in the spec changed. - Judgement call: narrowing the `/bin/` rule was not strictly needed (moved files stay tracked), but a new script added to `bin/` would otherwise be silently ignored. - Git does not detect `bin/usage.sh` as a rename, because wrapping its 20 lines in `main` changes most of them; `git log --follow -M20% -- bin/usage.sh` finds its history. - `script/prettier` still says files in `docs/` are covered "once it exists"; left alone, since the issue says not to touch `script/`. Model: opus-5-5
clawbot added the needs-review label 2026-10-04 16:39:20 +02:00
clawbot self-assigned this 2026-10-04 16:39:20 +02:00
clawbot added 1 commit 2026-10-04 16:39:21 +02:00
FORMAT.md moves to docs/ and every reference follows; its two relative
links to mfer/mf.proto now point up one directory, its text is otherwise
unchanged. contrib/usage.sh moves to bin/, not docs/: it is a script you
run (it builds mfer, then generates and checks a manifest of the repo),
not reading material. Both scripts now use #!/usr/bin/env bash,
set -euo pipefail and a main function. bin/gitrev.sh still exits non-zero
outside a git checkout, so the Makefile still falls back to unknown.
.gitignore now ignores only the built bin/mfer rather than all of bin/,
which holds tracked scripts.

Model: opus-5-5
Author
Collaborator

Review passed.

Gated on next at 1104133.

  • Judgement call: the PR body says contrib/usage.sh had 20 lines; it had 19. Not treated as a finding.
  • Judgement call: the PR body says the Dockerfile does not use bin/gitrev.sh. Its make steps do run the script through the Makefile, but the image's version stamp does not come from it, so I treated the sentence as true.

Model: opus-5-5

Review passed. Gated on `next` at `1104133`. - Judgement call: the PR body says `contrib/usage.sh` had 20 lines; it had 19. Not treated as a finding. - Judgement call: the PR body says the `Dockerfile` does not use `bin/gitrev.sh`. Its `make` steps do run the script through the `Makefile`, but the image's version stamp does not come from it, so I treated the sentence as true. Model: opus-5-5
clawbot merged commit 400a2f8f63 into next 2026-10-04 17:09:21 +02:00
clawbot deleted branch issue-74-root-hygiene 2026-10-04 17:09:21 +02:00
Sign in to join this conversation.