Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.
The English summary is being prepared. Showing the original description.
Use when modeling a domain, encoding a state machine, hardening APIs, making invalid states unrepresentable, or parsing instead of validating. Not for TypeScript: use typescript-best-practices.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
| Field | Bound contract |
|---|---|
| Trigger | The work is modeling a domain, encoding a state machine, hardening an API boundary, making invalid states unrepresentable, or parsing instead of validating. |
| Authority | Reversible local: writes only domain types, public signatures, and affected callers and tests; rollback is version control or undo. No remote mutation. |
| Side effect | Rewrites domain types, public signatures, and affected callers and tests to the new algebraic model. |
| Done | Invalid states are unconstructible, matches are exhaustive, boundaries parse, and no scattered post-hoc validation remains. |
Required: the domain problem, data model, or API surface to encode. Optional: existing types or callers to refactor.
parse constructor that returns the new type. Do not return bool and defer validity to callers. Done when: every untrusted input boundary has a parse function returning the new type.match/switch/visit on the sum type. Compiler warnings on incomplete arms are failures. Done when: every state-machine transition is an exhaustive match with no wildcard arms.| Failure class | Behavior |
|---|---|
| Unsupported language | If the language lacks ADTs, sealed hierarchies, or equivalent sum-type support, skip this approach and report. |
| Type checker failure | Block. Fix the type design until the invalid state is unrepresentable. Do not add runtime guards. |
| Non-exhaustive match | Compile-time failure. Add the missing variant to the type, not a wildcard arm. |
| Invalid state remains representable | Block. The type design is insufficient; iterate until the compiler enforces the invariant. |
| Type holes remain | Block. Complete all incomplete bodies or remove the holes before proceeding. |
| Build fails | Block. Resolve implementation errors until the target build passes. |
A domain type system where every algebraic constructor is present, every boundary has a parse function returning the new type, every state-machine variant is matched exhaustively, and no runtime validation scattered outside the parse layer remains.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.
The English summary is being prepared. Showing the original description.
Use when configuring ADC sampling time, DMA-driven ADC, calibration, or DAC channel setup on bare-metal MCUs. Not for the DMA stream itself: use dma-baremetal.
The English summary is being prepared. Showing the original description.
Use when creating AF_XDP sockets, configuring UMEM and XSK rings, writing an XDP redirect program, or choosing copy versus zero-copy mode. Not for full kernel bypass: use dpdk.
The English summary is being prepared. Showing the original description.
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
The English summary is being prepared. Showing the original description.
Use when a redacted, trimmed agent transcript must be appended to a GitHub PR or issue body, with human approval and preview. Not for automated or model-initiated insertion.
The English summary is being prepared. Showing the original description.
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential, publish, deploy, or irreversible changes.
The English summary is being prepared. Showing the original description.