Check if lines exceed 80 characters (excluding comments and docstrings). Long lines reduce readability. Recommend breaking lines or using line continuations for better formatting.
readability-refactorstack-python+1
Low
Limit Line Length to 100 Characters
Ensure that no line exceeds 100 characters in length to maintain readability.
style-conventions
Low
Limit Line Length to 120 Characters
Detect lines exceeding 120 characters and suggest breaking them into multiple lines for better readability.
readability-refactorstyle-conventions
Low
Limit lines to 80 characters
Ensure that lines do not exceed 80 characters. Long lines reduce readability, especially on smaller screens or during code reviews.
readability-refactorstyle-conventions
Low
Link ADRs from PR descriptions and merge commits
When a PR implements or changes a decision, include 'ADR: docs/adr/NNNN-title.md' in the PR description and reference it in the merge commit body.
docs-adrspr-hygiene+1
Low
Link an issue or ticket reference
Reference at least one tracking ID (e.g., JIRA/GitHub issue) in the PR description using a consistent format (e.g., 'Refs: ABC-123').
pr-hygienemaintainability
Low
Log redaction via Monolog processor
Register a Monolog processor to mask emails/phones and attach pii_redacted:true; forbid direct logging of raw identifiers.
compliance-gdprobservability-logging+1
Low
Log warning for unhandled cases
In when/else or default branches, log a warning with the unexpected value to surface silent failures.
error-handlingobservability-logging
Low
Maintain an ADR index
Keep docs/adr/README.md updated with a table of ADRs (number, title, status, date). Update the index in the same PR that adds/changes an ADR.
docs-adrsmaintainability
Low
Maintain Consistent Annotation Placement
Ensure that annotations are placed consistently before or after modifiers throughout the codebase.
style-conventions
Low
Make module-level dictionaries immutable
Expose constant dicts as read-only via MappingProxyType (or frozen dataclasses) to prevent runtime mutation.
maintainabilitysecurity-hardening+1
Low
Make properties private for encapsulation
Default to private visibility; expose the minimal surface and prefer val with private set when mutation is needed.
Check if private or `file`-scoped classes that are never inherited are explicitly marked as `sealed` to indicate they are final.
module-architecturestyle-conventions
Low
Mark Properties as readonly If Not Reassigned
Check if properties that are never reassigned are marked as readonly. This improves code clarity and prevents unintended reassignment.
maintainabilitystyle-conventions
Low
Mask tokens before logging HTTP requests
Intercept Authorization headers and redact bearer/JWT values; attach requestId to every log line.
compliance-soc2-essentialsprivacy-pii+1
Low
Memoize components and callbacks when props are stable
For pure functions called repeatedly with the same inputs, memoize results; avoid recreating identical callbacks in hot paths.
performance-efficiencystack-react
Low
Memoize expensive operations
Cache expensive pure results using memoization (`||=`) or request-scoped caches.
caching-strategyperformance-efficiency
Low
Model mutations with Server Actions when feasible
For simple form submissions from RSC, use server actions with schema validation and then revalidate paths/tags. Avoid client fetch for trivial mutations.
stack-nextjsstack-react+3
Low
Monolog processors to redact PII
Configure Monolog to add a processor that redacts emails, tokens, and SSNs before writing logs; include request_id.
compliance-soc2-essentialsprivacy-pii+1
Low
Move expensive operations outside loops
Lift loop-invariant computations (regex, formatters, lookups) out of loops and reuse.
performance-efficiency
Low
Move generic helpers to ApplicationHelper
Place cross-controller view helpers in ApplicationHelper (or a shared module) for reuse.
duplication-complexitymodule-architecture
Low
Move large templates to external files
Store long static templates/prompts in files and load them at runtime; avoid embedding huge multi-line strings in code.
maintainabilityreadability-refactor+1
Low
Move startup validation out of interceptor factories
Perform one-time configuration/dependency validation at process startup (init/bootstrap). Avoid doing it inside per-request middleware/interceptor factories.