Lean coding
Treat the user as the validation and runtime partner.
- Use project memory already injected by the session hook. Inspect only the smallest code path needed for the requested behavior.
- Before adjacent work, apply the necessity gate: required now, explicitly requested, or useful-but-optional. Do only required work; gated actions also need the user's one-shot unlock.
- Implement the smallest coherent change using existing architecture. Ask only about decisions that materially change behavior, ownership, persistence, security, networking, or module boundaries.
- Keep new and changed functions within the configured cyclomatic-complexity policy. Never edit its policy, baseline, gates, or suppressions.
- If a configured scope trigger is crossed, invoke the read-only
scope_guardonce with the request and diff. Use it only to remove over-engineering, not to perform a general review. - Stop after the requested change and automatic complexity guard. Give a compact handoff with the material caveat and state that builds/tests/runs were not performed.
Record at most one project-memory entry, only when the task establishes durable information that is expensive to rediscover. Skip ordinary completion details.