Opened by the moadim routine Scout & wire linecheck adoption → Slack.
What
Wire linecheck into this repo: a `linecheck.yml` at the root plus a GitHub Actions workflow that runs `linecheck .` on every PR and push to `main`.
Why
Source files here are well-factored today (every `src/**/*.rs` is ≤100 lines), but there is no enforcement — nothing stops a file from quietly growing into a monolith. `tests/cli.rs` has already reached 857 lines.
Thresholds
| Pattern |
Warn |
Error |
| `tests/**/*.rs` |
400 |
1000 |
| everything else |
200 |
400 |
Excluded: `Cargo.lock`, `CHANGELOG.md` (generated), lockfiles, `assets/`.
Verified locally: `linecheck .` exits 0 with two non-blocking warnings (`tests/cli.rs` at 857, `agent-runner/src/index.js` at 217) — CI will not be blocked on day one, but new bloat gets caught.
What
Wire linecheck into this repo: a `linecheck.yml` at the root plus a GitHub Actions workflow that runs `linecheck .` on every PR and push to `main`.
Why
Source files here are well-factored today (every `src/**/*.rs` is ≤100 lines), but there is no enforcement — nothing stops a file from quietly growing into a monolith. `tests/cli.rs` has already reached 857 lines.
Thresholds
Excluded: `Cargo.lock`, `CHANGELOG.md` (generated), lockfiles, `assets/`.
Verified locally: `linecheck .` exits 0 with two non-blocking warnings (`tests/cli.rs` at 857, `agent-runner/src/index.js` at 217) — CI will not be blocked on day one, but new bloat gets caught.