| Bug fix | tracing-correctness-and-invariants, reviewing-test-quality, hunting-silent-failures |
| Bug fix whose root cause is a missing or wrong invariant — a discriminator field (kind/status/type/mode) constraining which sibling fields are valid, or a fix that itself adds/patches a runtime validation function rather than an off-by-one, null check, or typo | reviewing-module-design, tracing-correctness-and-invariants, reviewing-test-quality, hunting-silent-failures — illegal-states-representable bugs get miscategorized as ordinary bug fixes by the base "Bug fix" route above, which never includes this lens (confirmed: two consecutive PRs fixing the same discriminator-plus-generic-field-bag bug both skipped it — brandondees/second-brain-config pull requests 776 and 778) — combine both rows so the type-design lens actually runs when the fix is a representation gap, not just a logic error |
| New feature (general-purpose change) | tracing-correctness-and-invariants, reviewing-naming-and-readability, reviewing-test-quality, checking-restraint |
| Refactor / restructuring | reviewing-module-design, checking-restraint, checking-idioms-and-consistency, reviewing-naming-and-readability |
| Schema migration, backfill, or data-format change | reviewing-migration-and-data-safety, tracing-correctness-and-invariants, hunting-silent-failures |
| Async / concurrent / distributed change (queues, workers, locks, await) | reviewing-concurrency-and-async, tracing-correctness-and-invariants, hunting-silent-failures |
| Public API or contract change (endpoints, SDK surface, webhooks) | reviewing-api-contract-safety, reviewing-module-design, sweeping-for-security |
| New abstraction, library, or engine shipped ahead of its consumer (generic/trait with one or no impl, a crate with no caller yet, "substrate for a later feature") | checking-restraint, reviewing-module-design, reviewing-api-contract-safety, reviewing-test-quality — restraint-led — speculative generality can be flawless and premature at once, so it hides from the correctness and test lenses |
| Error-handling / resilience change (retries, fallbacks, timeouts) | hunting-silent-failures, reviewing-observability-and-operability, reviewing-concurrency-and-async |
| Resilience / scalability / capacity / DR design (a new queue or cache, a stateful service, failover/HA, a scaling or capacity plan, or a call to a dependency that can be slow or down) | reviewing-resilience-and-scalability, reviewing-concurrency-and-async, reviewing-observability-and-operability — design-time operability — blast radius, backpressure, statelessness, RTO/RPO; pairs with #16 for the runtime-instrumentation side |
| UI / frontend change (components, templates, user-facing text) | reviewing-accessibility-and-i18n, checking-idioms-and-consistency, reviewing-naming-and-readability |
| Auth, user input, or anything handling untrusted data | sweeping-for-security, hunting-silent-failures, tracing-correctness-and-invariants |
| Performance-motivated change ("this makes it faster") | reviewing-performance-and-efficiency, checking-restraint, tracing-correctness-and-invariants |
| LLM / model-API integration (a model call, prompt construction, or model-output handling — no tools or autonomous loop) | reviewing-llm-integration, sweeping-for-security, checking-restraint |
| Agent / tool-use change — a tool or function definition exposed to a model, an MCP server or client, an autonomous or multi-agent loop, agent memory, or any code that lets a model take actions | reviewing-agentic-safety, reviewing-llm-integration, sweeping-for-security — the action/tool surface (what the model may do) — #32 owns it; the model call itself is #25, the authz verdict #14 |
| Threat model / security-architecture review (a system or AI agent app, with or without a design doc) | reviewing-threat-model, sweeping-for-security, reviewing-agentic-safety, reviewing-llm-integration — enumeration-led — #38 builds the model and delegates the deep verdict to the topical security lenses |
| AI-generated or AI-assisted change, a large or unfamiliar diff, or any change that adds dependencies or confident-looking constants/APIs | reviewing-ai-authored-code, tracing-correctness-and-invariants, sweeping-for-security — attribution-agnostic; #18 owns the supply-chain verdict, #14 the security one |
| Change to an AI-/agent-maintained codebase, to agent-onboarding files (AGENTS.md/CLAUDE.md, llms.txt) or repo structure an agent must navigate, or a large/scattered change whose context economy matters | reviewing-agent-legibility, reviewing-naming-and-readability, checking-restraint — the agent-as-reader vantage — mirror of #34; context economy, retrieval-friendly structure, scoped agent onboarding |
| User-facing flow that could manipulate or disadvantage a person — consent / opt-out, defaults, pricing or eligibility conditionals, onboarding / checkout / cancellation funnels | reviewing-ethical-design, reviewing-accessibility-and-i18n, sweeping-for-security — detect-and-route — dark patterns, manipulative defaults, discriminatory conditionals; consent-as-law routes to #27, product trade-offs to product, a11y mechanics to #23 |
| Logging, metrics, alerts, feature flags, deploy/rollback paths | reviewing-observability-and-operability, sweeping-for-security |
| Tests-only change | reviewing-test-quality, checking-idioms-and-consistency |
Docs-only change (README, docs/**, comments) | reviewing-naming-and-readability — auditing-documentation-health auto-includes on this shape too — scoped to the changed files, not the whole repo; kept out of this row's run list since it is repo-shaped and mixing it with a diff-shaped lens here would drop it from the collapsed diff entrypoint |
| Design doc / plan / RFC (no code yet) | tracing-correctness-and-invariants, reviewing-concurrency-and-async, reviewing-migration-and-data-safety, reviewing-api-contract-safety — pick by the design's domain, from design-capable (◆) lenses only |
| Dependency add or bump | auditing-dependencies-and-supply-chain, checking-restraint |
| CI / build / config change | auditing-config-and-build-hygiene, sweeping-for-security |
| Install / setup / packaging change, an upgrade or migration guide, a config or CLI surface, or anything a downstream project adopts (a tool, plugin, template, or library) | reviewing-install-and-upgrade-experience, reviewing-api-contract-safety, auditing-documentation-health — the adopter-facing experience — setup friction, config UX, and a version-bump a consumer or an agent can complete and verify |
| Change that parses or emits a standard format or speaks an external protocol — an HTTP/REST client or handler, an OAuth/OIDC or other auth flow, date / URL / email / CSV / JSON serialization, a version bump on a published surface, a cron expression, or telemetry attributes | reviewing-interoperability, reviewing-api-contract-safety, tracing-correctness-and-invariants — does the code correctly speak the external standard — HTTP/OAuth semantics, RFC formats, SemVer, Unicode, cron dialect, OTel semconv; #13 owns the contract we author, #4 internal correctness, #14 the auth-flow security verdict |
| Infrastructure-as-code change (Terraform/OpenTofu, Kubernetes/Helm, CloudFormation manifests) | auditing-infrastructure-as-code, sweeping-for-security — repo-shaped — judges blast radius, public exposure, IAM scope, and declared-vs-live drift; #14 owns the security verdict |
| A standardized authored artifact rather than source code — a SKILL.md or agent-skill definition (more artifact rubrics to come) | reviewing-artifact-conventions — artifact-shaped — detect the artifact, then review it against its own published standard, not as application code |
| Any pull request (the PR artifact itself, on top of content lenses) | reviewing-pr-and-process-hygiene |
| Whole-repo health audit (scheduled / cron) | finding-maintainability-hotspots, auditing-architecture-conformance, auditing-dependencies-and-supply-chain, auditing-config-and-build-hygiene, auditing-documentation-health, auditing-compliance-and-provenance, auditing-enforcement-and-meta-artifacts, auditing-infrastructure-as-code, auditing-decision-record-currency — the nine repo-shaped audits; run independently, not as one pass (auditing-infrastructure-as-code only where IaC manifests exist; auditing-decision-record-currency only where a decision-record directory exists) |
| Enforcement config — lint/type suppressions, alert rules or dashboards, or checked-in generated artifacts | auditing-enforcement-and-meta-artifacts — repo-shaped — scans suppression accretion and codegen/monitoring drift across the tree, not a single diff |
| A decision, not a diff — an ADR / RFC / design doc, a dependency or technology adoption, a build-vs-buy or vendor choice, or a deprecation / sunset plan | reviewing-decision-lifecycle, checking-restraint, reviewing-api-contract-safety — decision-shaped — reviews the choice and its record (rationale, assumptions, exit), not implementation code; pair with the design-capable (◆) lenses for the decision's domain. reviewing-decision-lifecycle auto-includes on this shape even if ranking would otherwise drop it |
| A repository's existing decision-record archive (an ADR/RFC directory already on disk), swept on a schedule rather than reviewed as it's being authored | auditing-decision-record-currency — repo-shaped — status-graph consistency, revisit-triggers plausibly due, EOL adoptions, and orphaned records; #29 owns the authoring-time call, this only checks whether time has invalidated an existing one |