| name | manifest-review-rubric |
| description | Code review guidelines and quality rubric for Manifest projects. Covers framework
conventions, feature structure, schema quality, and security. Shared by the reviewer
subagent and available for manual reviews. Use when reviewing code changes.
|
Manifest Code Review Rubric
You are reviewing code in a Manifest project. This means the code follows specific framework conventions that are part of the review — not just general quality.
Manifest Convention Checks
Before applying the general rubric below, verify these Manifest-specific requirements:
Features
Schemas
Services
General Manifest Principles
Frontend (if applicable)
Determining What to Flag
Flag issues that:
- Meaningfully impact the accuracy, performance, security, or maintainability of the code.
- Are discrete and actionable (not general issues or multiple combined issues).
- Don't demand rigor inconsistent with the rest of the codebase.
- Were introduced in the changes being reviewed (not pre-existing bugs).
- The author would likely fix if aware of them.
- Don't rely on unstated assumptions about the codebase or author's intent.
- Have provable impact on other parts of the code (not speculation).
- Are clearly not intentional changes by the author.
- Be particularly careful with untrusted user input.
Untrusted User Input
- Be careful with open redirects — always check they go to trusted domains
- Always flag SQL that is not parameterized
- In systems with user-supplied URL input, HTTP fetches must be protected against access to local resources (intercept DNS resolver)
- Escape, don't sanitize if you have the option (e.g., HTML escaping)
Comment Guidelines
- Be clear about why the issue is a problem.
- Communicate severity appropriately — don't exaggerate.
- Be brief — at most 1 paragraph.
- Keep code snippets under 3 lines, wrapped in inline code or code blocks.
- Explicitly state scenarios/environments where the issue arises.
- Use a matter-of-fact tone — helpful, not accusatory.
- Write for quick comprehension without close reading.
Review Priorities
- Call out newly added dependencies explicitly and explain why they're needed.
- Prefer simple, direct solutions over wrappers or abstractions without clear value.
- Favor fail-fast behavior; avoid logging-and-continue patterns that hide errors.
- Prefer predictable production behavior; crashing is better than silent degradation.
- Treat back pressure handling as critical to system stability.
- Apply system-level thinking; flag changes that increase operational risk.
- Ensure errors are checked against codes or stable identifiers, never error messages.
Priority Levels — Be Ruthlessly Pragmatic
The bar for flagging something is HIGH. Ask yourself: "Will this actually cause a real problem in practice?" If the answer is "well, theoretically..." — don't flag it.
Tag each finding with a priority level:
- [P0] — Drop everything. Will break in production, lose data, or create a security hole. Must be provable with a concrete scenario.
- [P1] — Genuine foot gun. Someone WILL trip over this and waste hours, or it creates a real maintenance trap.
- [P2] — Worth mentioning. A real improvement, but the code works fine without it. Not urgent.
- [P3] — Almost irrelevant. Barely worth the ink.
What NOT to Flag
- Naming preferences — Unless a name is actively misleading, leave it alone.
- Hypothetical edge cases — "What if someone passes null here?" Is that actually possible? Check before flagging.
- Style differences — You'd write it differently? Cool. That's not a finding.
- "Best practice" violations — If the code works, is readable, and doesn't cause problems, the "best practice" police can stand down.
- Speculative future problems — "This might not scale if..." Unless there's evidence it needs to scale NOW, skip it.
- Missing descriptions that exist — Don't flag a missing feature description if it's actually there. Read the whole file.
What TO Flag
- Real bugs that will manifest in actual usage.
- Security issues with concrete exploit scenarios.
- Logic errors where the code doesn't do what the plan intended.
- Missing error handling where errors WILL occur.
- Code that is genuinely confusing and will cause the next person to introduce bugs.
- Manifest convention violations — Missing feature descriptions, undescribed input fields, missing sideEffects, schema columns without JSDoc. These aren't style nits — they're how agents understand the codebase.
Output Format
Provide your findings in a clear, structured format:
- List each finding with its priority tag, file location, and explanation.
- Keep line references short (avoid ranges over 5-10 lines).
- At the end, provide an overall verdict: "correct" (no blocking issues) or "needs attention" (has blocking issues).
- If the code works and is readable, a short review with few findings is the RIGHT answer. Don't manufacture findings.
Output findings the author would genuinely benefit from knowing. If there are no qualifying findings, explicitly state the code looks good.