Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/specs/pr-review-rubric.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ pass.
| Correctness and scope | The change solves the linked problem and handles the relevant error cases; the diff is focused — no unrelated refactors or generated artifacts (`coverage.out`, `coverage.html`, `dist/`). |
| Stdlib only | No `require` in `go.mod` and no `go.sum` (the Verify job checks both); every import in `reporter/`, `_examples/`, and `tests/e2e/` is Go standard library or `github.com/frostyard/std/...`. |
| API and contract | Changes to the `Reporter` interface, `ProgressEvent`, `EventType`, or any implementation's exact output are intentional, backward-compatible unless the PR says otherwise, and reflected in [specs/reporter-package.md](reporter-package.md) in the same PR. |
| Build gate green | `make check` passes: `gofmt -w` leaves no diff, `golangci-lint run` (`.golangci.yml`) reports no issues, `go test -v ./...` passes — the same steps as the Lint, Unit Tests, and Verify jobs in [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml); the Race Detection job (`go test -race -short ./...`) also passes. |
| Build gate green | `make verify` passes: `go mod tidy -diff`, `gofmt -l` (non-mutating), `golangci-lint run` at the pinned version, `go vet`, and `go test ./...` succeed; see [`.github/workflows/ci.yml`](../../.github/workflows/ci.yml) for CI reference. `make check` is the author-side gate: it rewrites files with `gofmt -w`, adds the coverage-floor checks, and does not run `go mod tidy -diff`. The Race Detection job (`go test -race -short ./...`) also passes. |
| Tests | New or changed behavior has a focused test including a failure path (`reporter/*_test.go`, one file per implementation, `bytes.Buffer` capture, JSON fields unmarshalled and checked); example programs still pass the [e2e suite](../../tests/e2e/README.md) (`go test ./tests/e2e/...`). |
| Docs housekeeping | `AGENTS.md`, `docs/design/overview.md`, and `docs/specs/*` reflect the behavior change; new docs start from their category `TEMPLATE.md`, are indexed in [docs/README.md](../README.md), and cross-link both ways; a new significant decision ⇒ ADR first, in the same change. |
| Docs-integrity gate green | `node scripts/check-docs.mjs` passes: every doc indexed, every relative link resolving, every symlink alias intact (thresholds in `.coverage-thresholds.json`). |
Expand Down