Skip to content

v0.2.0 — Local pilot platform

Choose a tag to compare

@github-actions github-actions released this 25 Jul 04:50
· 936 commits to main since this release
v0.2.0
dc1fdd9

Coach v0.2.0 — Local pilot platform

First release where you can run Coach as a local API + worker (not only the coach codesignal CLI). Submit a repository baseline scan, poll the job, and download a report that separates deterministic findings from agent (model) judgments.

Start here (pilots)

Local Coach quickstart

Path What you get Docs
A Docker Compose smoke on a fixture repo + fake model Quickstart § Path A
B Same smoke with a real local model (e.g. Qwen via Ollama) Quickstart § Path B
C Baseline-scan a GitHub.com repo you can access (no clone) Quickstart § Path C
git clone https://github.com/lousy-agents/coach.git && cd coach
mise install
mise run platform-up
mise run platform-smoke   # expect: platform-smoke: ok

Operator env reference (not the pilot entrypoint): docs/development/local-platform.md

CLI-only (no Docker): still use coach codesignal against a local checkout.


What's new for you

Local Coach API platform

Run coach-api + coach-worker + Postgres + Redis with one Compose stack.

  • Auth: Sign in with a GitHub OAuth App; Coach issues its own JWT for /v1. Repository reads use a separate GitHub App installation (not your OAuth token).
  • Jobs: POST /v1/jobs → poll GET /v1/jobs/{id} → GET /v1/jobs/{id}/report
  • Job kind: repo_baseline_scan over .go / .ts / .tsx at a ref
  • Provenance: findings tagged source=deterministic or source=agent; agent judgments never suppress deterministic ones. If the model is down or returns invalid JSON, deterministic findings can still complete and the problem is recorded as a diagnostic.

Epic: #97 · Platform stack: #108 / #134

Agent judgments (seed rubrics)

Baseline scans can attach LLM-as-judge results for:

  • hidden_mutation_contextualization
  • change_cohesion

(#106 / #132)

New deterministic CodeSignal rules

Also available via coach codesignal and inside baseline reports:

Rule Meaning
complexity.cognitive_complexity Sonar-style Cognitive Complexity ≥ 15 (#135)
coupling.deep_relative_import TS/TSX relative imports climbing ≥ 3 .. segments (#84 / #113)

Limits (read before piloting)

  • Local / lab only — fixed lab credentials and test-mint shortcuts; do not expose :8080 publicly.
  • No writes to GitHub — no PR comments, checks, or status updates.
  • Languages: Go, TypeScript, TSX only.
  • Not in this release: hosted/AWS deploy, pr_history_scan, web UI, harness hooks.
  • Known issue: Redis Streams cross-process reclaim after worker crash is limited (#126) — prefer restarting the full stack if a worker dies mid-job.

Binaries

Same as prior releases: coach for darwin_arm64, darwin_x86_64, linux_x86_64, windows_x86_64, plus signed checksums.txt (cosign). See README install/verify steps.

The Compose platform is source + Docker from this tag (not a single published platform image).


Related PRs / issues (feature map)

Area Issue PR
Job domain + report contract #98 #111*
GitHub OAuth + Coach JWT #99 #114
coach-api HTTP (/v1/jobs) #103 #122
Queue ports (Redis Streams / SQS) #100 #120
Repo tree listing #101 #118
Worker claim / lifecycle #104 #125
Model gateway #102 #124
Agent tool loop #105 #127
Seed rubrics #106 #132
repo_baseline_scan handler #107 #133
Compose + smoke #108 #134
Pilot quickstart — #138
Cognitive Complexity — #135
Deep relative import rule #84 #113

*Task 1 / #111 shipped in v0.1.6; listed for platform continuity.