Run the checks the affected code needs before merging

Run ./compass.sh check before merging, and merge only on a green report. The author of a change runs the checks for every class it belongs to, and a change that touches C++, services or SQL pays the heavy tier — build, database recreate, ctest and pgTAP — in the worktree that wrote it.

Why: There is no separate validation job. A pair of memories said to validate statically and leave the build to an hourly run in one environment, and no timer, no cron entry and no second worktree ever ran it, so nothing compiled or tested main between merges. The two also contradicted each other and an earlier retirement of the same policy, so the position was never settled, and the cost was trunk defects found by whoever built next. Retired on 2026-10-15 at the user's instruction: the author runs the checks for the affected code.

How to apply: Run ./compass.sh check, which classifies the change and runs what its classes need, and read build/output/local_checks/report.md. --exclude-heavy is only for a change whose classes need no compiler. The heavy tier wants two things compass services stop cannot both give it — db recreate needs the fleet down, ctest needs NATS up — so stop the fleet, start the NATS server alone, run the check and start the fleet again; CI workflows and local checks has the exact commands. A red report holds the merge, and it is fixed on the branch that raised it rather than filed as a follow-up task.

Emacs 29.3 (Org mode 9.6.15)