Eco Rules Catalog (Human Readable)¶
Total rules: 137
Browse¶
- Rule Browser
- Examples index
- Layers
- AI layer
- Architecture layer
- Code layer
- Data layer
- Network layer
- Process layer
- Categories
- AI/ML category
- Architecture category
- Computation category
- Data category
- Infrastructure category
- Networking category
- Organizational category
Rules¶
- ECO-AIM-AI-001 — Oversized model selection
- ECO-AIM-AI-002 — No inference batching
- ECO-AIM-AI-003 — Re-embedding unchanged data
- ECO-AIM-AI-004 — No prompt caching
- ECO-AIM-AI-005 — Always-on inference endpoints
- ECO-AIM-AI-006 — Unbounded context window usage
- ECO-AIM-AI-007 — No model quantization
- ECO-AIM-AI-008 — Re-training without drift detection
- ECO-AIM-AI-009 — No evaluation before scaling model
- ECO-AIM-AI-010 — Overly frequent fine-tuning cycles
- ECO-AIM-AI-011 — Storing all embeddings indefinitely
- ECO-AIM-AI-012 — Large model in low-SLA workload
- ECO-AIM-AI-013 — No GPU utilization monitoring
- ECO-AIM-AI-014 — Inefficient feature preprocessing pipelines
- ECO-AIM-AI-015 — No batching of vector search queries
- ECO-ARC-ARCH-001 — Over-provisioned compute
- ECO-ARC-ARCH-002 — Always-on low-traffic service
- ECO-ARC-ARCH-003 — Long synchronous dependency chain
- ECO-ARC-ARCH-004 — No autoscaling policy
- ECO-ARC-ARCH-005 — No resource limits in containers
- ECO-ARC-ARCH-006 — Unbounded message queues
- ECO-ARC-ARCH-007 — Batch jobs run too frequently
- ECO-ARC-ARCH-008 — Hot storage used for cold data
- ECO-ARC-ARCH-009 — Duplicate services performing the same work
- ECO-ARC-ARCH-010 — No observability on utilization
- ECO-ARC-ARCH-011 — Excessive replica counts
- ECO-ARC-ARCH-012 — No graceful degradation strategy
- ECO-ARC-ARCH-013 — No caching layer for high-read workloads
- ECO-ARC-ARCH-014 — Stateful services blocking scaling
- ECO-ARC-ARCH-015 — Tight coupling across bounded contexts
- ECO-ARC-ARCH-016 — Multi-tenant workloads without isolation
- ECO-ARC-ARCH-017 — Inefficient container image size
- ECO-ARC-ARCH-018 — No cold-start optimization
- ECO-ARC-ARCH-019 — Overly aggressive autoscaling thresholds
- ECO-ARC-ARCH-020 — Underutilized GPU/accelerator resources
- ECO-CMP-JAVA-001 — Excessive object creation in hot path
- ECO-CMP-JAVA-002 — Unbounded cache growth
- ECO-CMP-JAVA-003 — Thread pool misconfiguration
- ECO-CMP-JAVA-004 — Reflection in hot path
- ECO-CMP-JAVA-005 — N+1 ORM query pattern
- ECO-CMP-JAVA-006 — Missing connection pooling
- ECO-CMP-JAVA-007 — Blocking calls in reactive pipeline
- ECO-CMP-JAVA-008 — Excessive synchronization contention
- ECO-CMP-JAVA-009 — Large heap allocation spikes
- ECO-CMP-JAVA-010 — Debug logging in production hot path
- ECO-CMP-JS-001 — Synchronous filesystem calls in request path
- ECO-CMP-JS-002 — Polling instead of events
- ECO-CMP-JS-003 — Large unoptimized bundles
- ECO-CMP-JS-004 — Memory leaks via event listeners
- ECO-CMP-JS-005 — Blocking crypto in event loop
- ECO-CMP-JS-006 — Over-fetching API responses
- ECO-CMP-JS-007 — Missing HTTP caching headers (client-side)
- ECO-CMP-JS-008 — Excessive DOM reflow
- ECO-CMP-JS-009 — Unbounded promise chains
- ECO-CMP-JS-010 — Missing request timeout
- ECO-CMP-JS-011 — Inefficient array transformations (multi-pass)
- ECO-CMP-JS-012 — Redundant API calls in component lifecycle
- ECO-CMP-JS-013 — Uncompressed static assets
- ECO-CMP-JS-014 — Client-side heavy computation without workers
- ECO-CMP-JS-015 — Recreating large objects per render
- ECO-CMP-PY-001 — String concatenation in loops
- ECO-CMP-PY-002 — Unbounded list growth
- ECO-CMP-PY-003 — Repeated invariant computation inside loop
- ECO-CMP-PY-004 — Blocking I/O inside async context
- ECO-CMP-PY-005 — N+1 database query pattern
- ECO-CMP-PY-006 — Missing network timeout
- ECO-CMP-PY-007 — Loading entire file into memory
- ECO-CMP-PY-008 — Excessive logging in hot path
- ECO-CMP-PY-009 — Repeated regex compilation
- ECO-CMP-PY-010 — Inefficient data structure choice
- ECO-CMP-PY-011 — Repeated JSON serialization cycles
- ECO-CMP-PY-012 — CPU-bound work in request thread
- ECO-CMP-PY-013 — Inefficient pandas row iteration
- ECO-CMP-PY-014 — Redundant environment variable lookups
- ECO-CMP-PY-015 — Recreating database connections per request
- ECO-CMP-PY-016 — No connection pooling
- ECO-CMP-PY-017 — Large object retained in global scope
- ECO-CMP-PY-018 — Recursive algorithm without safeguards
- ECO-CMP-PY-019 — Excessive thread spawning
- ECO-CMP-PY-020 — Synchronous subprocess invocation in hot path
- ECO-DAT-DATA-001 — Duplicate stored data
- ECO-DAT-DATA-002 — Missing retention policy
- ECO-DAT-DATA-003 — Large unused indexes
- ECO-DAT-DATA-004 — Logs stored indefinitely
- ECO-DAT-DATA-005 — Full table scans without index
- ECO-DAT-DATA-006 — Excessive replication factor
- ECO-DAT-DATA-007 — No partitioning for large tables
- ECO-DAT-DATA-008 — Storing ephemeral data permanently
- ECO-DAT-DATA-009 — No archival tier strategy
- ECO-DAT-DATA-010 — Overly aggressive replication across regions
- ECO-DAT-DATA-011 — Lack of compression in object storage
- ECO-DAT-DATA-012 — Unbounded analytics queries
- ECO-DAT-DATA-013 — No data lifecycle governance
- ECO-DAT-DATA-014 — Stale feature flags accumulating
- ECO-DAT-DATA-015 — Shadow data stores outside governance
- ECO-INF-COMPOSE-001 — Overprovisioned default Compose stack
- ECO-INF-COMPOSE-002 — Unbounded restart loops for noncritical services
- ECO-INF-DOCKER-001 — Missing multi-stage builds
- ECO-INF-DOCKER-002 — Oversized base image
- ECO-INF-DOCKER-003 — Missing or too-permissive .dockerignore
- ECO-INF-DOCKER-004 — Package manager caches left in image layers
- ECO-INF-DOCKER-005 — Build tooling shipped in runtime image
- ECO-INF-K8S-001 — Missing or mis-sized CPU and memory requests and limits
- ECO-INF-K8S-002 — Missing HPA for horizontally scalable workloads
- ECO-INF-K8S-003 — Overly aggressive health probes
- ECO-INF-K8S-004 — Heavy or redundant sidecars
- ECO-INF-K8S-005 — Unpinned images using latest or floating tags
- ECO-NET-NET-001 — Missing HTTP caching headers
- ECO-NET-NET-002 — No gzip/brotli compression
- ECO-NET-NET-003 — Chatty microservice communication
- ECO-NET-NET-004 — Redundant authentication calls
- ECO-NET-NET-005 — Missing timeouts
- ECO-NET-NET-006 — No connection reuse (keep-alive disabled)
- ECO-NET-NET-007 — Excessive retry storms
- ECO-NET-NET-008 — Over-fetching API fields
- ECO-NET-NET-009 — Under-fetching causing follow-up calls
- ECO-NET-NET-010 — Large payloads without pagination
- ECO-NET-NET-011 — No CDN usage for static content
- ECO-NET-NET-012 — No HTTP/2 or HTTP/3 where applicable
- ECO-NET-NET-013 — Excessive polling intervals
- ECO-NET-NET-014 — Synchronous cross-region calls
- ECO-NET-NET-015 — Missing circuit breaker patterns
- ECO-ORG-PROC-001 — No performance budget defined
- ECO-ORG-PROC-002 — No baseline measurement
- ECO-ORG-PROC-003 — No cost observability
- ECO-ORG-PROC-004 — No carbon awareness
- ECO-ORG-PROC-005 — Feature shipped without load testing
- ECO-ORG-PROC-006 — No lifecycle data policy
- ECO-ORG-PROC-007 — No energy-aware CI/CD metrics
- ECO-ORG-PROC-008 — No architectural review gate
- ECO-ORG-PROC-009 — No dependency lifecycle management
- ECO-ORG-PROC-010 — No hardware refresh sustainability policy
- ECO-ORG-PROC-011 — No decommissioning workflow
- ECO-ORG-PROC-012 — No SLO-based scaling validation
- ECO-ORG-PROC-013 — No capacity planning cadence
- ECO-ORG-PROC-014 — No energy-efficient coding standards
- ECO-ORG-PROC-015 — No sustainability accountability owner