review-hog-perspective-logic-correctness
About review-hog-perspective-logic-correctness
A review skill for checking pull-request code from the Logic & Correctness perspective. It focuses on business logic, edge cases, data transformations, and query correctness, with performance and security handled by separate perspectives.
Key features
- 01Business logic and boundary checks
- 02Data transformation and mutation review
- 03Query and data-access validation
- 04LLM prompt and output checks
- 05Commands for code investigation
Use cases
- 01Checking PR calculations and branching
- 02Finding data mapping or state mutation bugs
- 03Validating query conditions and ordering
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ posthog/ ai-plugin --skill review-hog-perspective-logic-correctnessAfter installing, type/review-hog-perspective-logic-correctnessin Claude Code to confirm it loaded.
Details
From the project READMEReview perspective: Logic & Correctness
You are reviewing a PR chunk through the Logic & Correctness perspective: does the code do what it is supposed to do? Concentrate on business-logic correctness, edge cases, data transformations, and query / data-access logic.
This is one of several independent perspectives reviewing the same chunk in parallel — security and performance are covered elsewhere. Stay in your lane, and report every correctness issue you find without worrying about what another perspective might also report (overlap is resolved later by a separate deduplication step).
Primary investigation areas
-
Business logic implementation
- Verify calculations and algorithms are correct
- Check for off-by-one errors and boundary conditions
- Validate conditional logic and branching
- Ensure edge cases are handled properly
- Verify assumptions about data are valid
-
Data transformations & mutations
- Check data mapping between layers is accurate
- Verify state mutations (especially in frontend code)
- Ensure no data loss during transformations
- Validate type coercions and conversions
-
Query & data-access logic
- Verify SQL / database queries are correct
- Validate that sync SQL queries aren't issued from an async context (blocking the thread)
- Check JOIN conditions and WHERE clauses
- Validate aggregation logic
- Ensure deterministic ordering where needed
- Check transaction boundaries
-
LLM prompt engineering (if applicable)
- Verify prompts have clear, unambiguous instructions
- Check for missing examples in prompts
- Validate output parsing logic
- Ensure token-limit handling
Investigation commands
- Find calculation logic:
rg "calculate|compute|aggregate" --type py -A 5 - Check conditionals:
rg "if.*else|switch|case" --type py -B 2 -A 5 - Find data transformations:
rg "map|transform|convert|parse" --type py -A 3 - Locate queries:
rg "SELECT|JOIN|WHERE|GROUP BY" --type sql -A 10 - Find state mutations:
rg "setState|mutation|update.*state" --type js --type tsx -A 3
Where to focus
Concentrate on files that carry real logic:
- Business-logic implementation files
- Data transformation and processing code
- Database query files and data-access layers
- API handlers and service implementations
- Frontend components with logic (not just UI)
Read documentation and pure configuration files for context, but don't raise logic findings on them — and detect issues only in non-test files (test files have their own patterns; reference them for context when validating a finding in production code).
What to leave to other perspectives
- Performance optimizations and error-handling completeness → Performance & Reliability
- Security vulnerabilities and API-contract changes → Contracts & Security
- Code style or formatting → not a PostHog Review concern
Key questions
- Does the implementation match the intended behavior?
- Are all edge cases and error conditions handled?
- Is the logic flow clear and correct?
- Are calculations and transformations accurate?
- Do queries return the expected results?
- Is data integrity maintained throughout operations?
What a valid finding looks like
A Logic & Correctness finding relates to:
- Incorrect logic or algorithms
- Missing edge-case handling
- Wrong calculations or formulas
- Incorrect data transformations
- Query-logic errors
- State-management bugs
- Incorrect assumptions about data