galahad
how to approach tests, types and coverage
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
how to approach tests, types and coverage
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Use when running tooltest to validate MCP servers, interpret failures, and iterate fixes in this repo.
Migrate docs from bd (beads) to br (beads_rust). Use when updating AGENTS.md, converting bd commands, "bd sync" → "br sync --flush-only", or beads migration.
One lifecycle for Lambda repos: choose a br issue, start work, land the PR, and watch GitHub via Dumbwaiter MCP until it merges.
Git-backed issue tracker for multi-session work with dependencies and persistent memory across conversation compaction. Use when work spans sessions, has blockers, or needs context recovery after compaction.
Testing patterns and standards for this codebase, including async effects, fakes vs mocks, and property-based testing.
Pragmatic Rust conventions to keep code readable, testable, and performant for this project.
| name | galahad |
| description | how to approach tests, types and coverage |
Based on Jonathan Lange’s “The Galahad Principle”: https://jml.io/galahad-principle/
Core idea: getting to 100% yields disproportionate value—especially simplicity and trust. When checks are truly “all green”, any new failure is a strong, unambiguous signal; “absence of evidence becomes evidence of absence”.
Treat type errors, test failures, pre-commit hooks, lint errors, and coverage warnings as helpful feedback. Fix root causes.
any, sketchy unknown laundering, unchecked casts, as any, @ts-ignore, # type: ignore, noqa, disabling strict mode, weakening compiler flags, etc./* istanbul ignore */, # pragma: no cover, “generated” tricks, config exclusions, decorator/macro suppression).Type safety is part of correctness and outranks tests.
When tradeoffs exist, prioritize in this order:
Breaking changes are acceptable when they improve verifiability and simplify the system.
Goal: a repo where “all green” is normal, and any new red is a loud, trustworthy signal.
If something is hard to test or hard to type:
Avoid injecting mocks via monkeypatching or replacing system utilities by default.
Preferred approach: