AGENTS.md · diff

git:20260614.9193d64 to git:20260620.43e1a9d

38 added, 3 removed. Audit A to A.

# Agent Instructions
+ ## General
+
- After finishing code or documentation updates, give the user a git commit message.
- - When bumping the Small Harness version or shipping a user-visible release, do not stop after updating `Cargo.toml`, `Cargo.lock`, `README.md`, and `CHANGELOG.md`.
- - For each release bump, push the release commit, create and push the matching `vX.Y.Z` tag, watch the GitHub release workflow, and verify that the GitHub release exists with macOS assets.
- - After the release workflow finishes, verify `GetSmallAI/homebrew-tap` has `Formula/small-harness.rb` updated to the same version. If practical, also test `brew upgrade small-harness` from outside this repo.
+ - Before pushing to `main`, run the CI check suite:
+ ```bash
+ cargo fmt --all -- --check
+ cargo clippy --all-targets -- -D warnings
+ cargo test
+ ```
+ Tests passing alone is not the release bar; clippy with `-D warnings` must pass.
+
+ ## Releases
+
+ **Updating `Cargo.toml`, `Cargo.lock`, `README.md`, and `CHANGELOG.md` is not
+ shipping a release.** A version is released only after the `vX.Y.Z` tag exists,
+ the GitHub Release workflow succeeds, and macOS assets are published.
+
+ Full step-by-step: **[docs/RELEASE.md](docs/RELEASE.md)**
+
+ Summary:
+
+ 1. Confirm with the user: land on `main` only, or **ship release X.Y.Z**.
+ 2. Prefer separate commits: feature work first, then `chore: release X.Y.Z`.
+ 3. Push `main`, create and push tag `vX.Y.Z`, watch
+ [`.github/workflows/release.yml`](.github/workflows/release.yml).
+ 4. Verify: `gh release view vX.Y.Z` (release exists, macOS assets present).
+ 5. Verify Homebrew tap: `GetSmallAI/homebrew-tap` → `Formula/small-harness.rb`
+ matches the version. Optionally test `brew upgrade small-harness`.
+
+ Do not mark release work complete until step 4 succeeds.
+
+ ## Scorecard (when changing `/scorecard` or ship quality scoring)
+
+ - Distinguish **numeric score** (0–100) from **`counts`** (increments “quality
+ PRs shipped” on the grid). If manual `/scorecard close --url --tests` is
+ documented as a quality ship path, add tests that `counts` is true when
+ evidence warrants it — not only that the score looks good.
+ - Manual closes use `opened_by_gh: false`; grid logic must align with `--url` and
+ test evidence unless docs explicitly say manual closes are score-only.