review-hog-perspective-logic-correctness

โดย posthog

มุมมองการตรวจสอบด้านตรรกะและความถูกต้องสำหรับ ReviewHog ตรวจสอบว่าโค้ดที่เปลี่ยนแปลงทำงานตามที่ควรจะเป็น — ตรรกะทางธุรกิจ กรณีขอบ และข้อมูล…

npx skills add https://github.com/posthog/ai-plugin --skill review-hog-perspective-logic-correctness

Review 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

  1. 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
  2. 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
  3. 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
  4. 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

Skills เพิ่มเติมจาก posthog

error-tracking-hono
posthog
การติดตามข้อผิดพลาดของ PostHog สำหรับ Hono
tuning-incremental-sync-config
posthog
การกำหนดค่าการซิงค์จะอยู่บน ExternalDataSchema และสามารถเปลี่ยนแปลงได้ตลอดเวลาผ่าน external-data-schemas-partial-update การเปลี่ยนแปลงส่วนใหญ่จะไม่ทำลายข้อมูล (มีผลในการซิงค์ครั้งถัดไป) แต่บางอย่าง (การเปลี่ยน sync_type, การเปลี่ยนคีย์หลัก) จำเป็นต้องจัดการอย่างระมัดระวังเพื่อหลีกเลี่ยงการทำให้ข้อมูลที่ซิงค์เสียหาย
playwright-test
posthog
เขียน playwright test ให้แน่ใจว่ามันรันได้ และไม่ flaky
error-tracking-ruby
posthog
การติดตามข้อผิดพลาดของ PostHog สำหรับ Ruby
authoring-log-alerts
posthog
สร้างการแจ้งเตือนบันทึกที่มีประโยชน์และมีสัญญาณรบกวนต่ำสำหรับบริการในโปรเจกต์ PostHog ใช้เมื่อผู้ใช้ขอให้ตั้งค่าการแจ้งเตือนสำหรับบันทึกของพวกเขา แนะนำการแจ้งเตือนที่ควรเพิ่ม…
making-scenes-tab-aware
posthog
Guides converting PostHog frontend scenes to be tab aware for internal scene tabs. Use when adding or refactoring a `SceneExport` scene, fixing state leaking…
posthog-survey-creator
posthog
สร้างและกำหนดค่าแบบสำรวจใน PostHog ผ่านการสนทนาที่มีคำแนะนำ ใช้ทักษะนี้เมื่อผู้ใช้ต้องการสร้างแบบสำรวจ รวบรวมความคิดเห็นจากผู้ใช้ ดำเนินการ…
authoring-scouts
posthog
วิธีการเขียน แก้ไข และปรับแต่ง PostHog Signals scouts — เอเจนต์ตามกำหนดการที่สแกนโปรเจกต์และเขียนรายงานลงในกล่องข้อความ Signals ใช้เมื่อผู้ใช้…