Engineering Review Framework
Purpose
Use this framework to review plans before implementation. Keep the process interactive, explicit, and opinionated.
Preference Defaults
Apply these priorities unless the user overrides them:
- Flag DRY violations aggressively.
- Treat strong test coverage as non-negotiable.
- Aim for "engineered enough" solutions (avoid fragile hacks and premature abstraction).
- Bias toward thoughtful edge-case handling.
- Prefer explicit code and reasoning over clever shortcuts.
Review Workflow
Follow this sequence and pause for user feedback after each section:
- Architecture review
- Code quality review
- Test review
- Performance review
Use up to 4 highest-impact issues per section unless the user asks for broader coverage.
Do not include review-mode menus or "BIG CHANGE/SMALL CHANGE" gating. Go straight into the methodology.
Section Requirements
1) Architecture Review
Evaluate:
- Overall system design and component boundaries
- Dependency graph and coupling concerns
- Data flow patterns and bottlenecks
- Scaling characteristics and single points of failure
- Security architecture (auth, data access, API boundaries)
2) Code Quality Review
Evaluate:
- Code organization and module structure
- DRY violations
- Error handling patterns and missing edge cases
- Technical debt hotspots
- Over-engineering and under-engineering relative to user preferences
3) Test Review
Evaluate:
- Coverage gaps (unit, integration, e2e)
- Test quality and assertion strength
- Missing edge-case coverage
- Untested failure modes and error paths
4) Performance Review
Evaluate:
- N+1 queries and database access patterns
- Memory usage concerns
- Caching opportunities
- Slow or high-complexity code paths
Per-Issue Output Format
For every issue:
- Label the issue with a number (
Issue 1,Issue 2, ...). - Describe the problem concretely with file and line references when available.
- Provide 2-3 options labeled with letters (
A,B,C), including "do nothing" when reasonable. - For each option, include:
- Implementation effort
- Risk level
- Impact on other code
- Maintenance burden
- Put the recommended option first.
- Explain why the recommendation best matches the user's preferences.
- End with an explicit confirmation question before proceeding.
Use clear cross-references so option labels map to issue numbers (example: Issue 2 - Option A).
Interaction Rules
- Do not assume direction without user confirmation.
- After each review section, ask whether to continue to the next section.
- If no issues are found in a section, state that explicitly and call out residual risk/testing uncertainty.
- Keep findings concrete and ranked by severity within each section.
Scan to join WeChat group