Skip to content

feat(review): add structural observations section to review output#449

Open
kevglynn wants to merge 1 commit into
DietrichGebert:mainfrom
kevglynn:feat/hybrid-review-output
Open

feat(review): add structural observations section to review output#449
kevglynn wants to merge 1 commit into
DietrichGebert:mainfrom
kevglynn:feat/hybrid-review-output

Conversation

@kevglynn

Copy link
Copy Markdown

Summary

  • Adds Section 2 — Structural observations to ponytail-review output format
  • Preserves existing tagged format (Section 1) exactly as-is
  • Strengthens scope boundary to be explicit and non-optional

Motivation

Blind A/B experiment (10 independent reviewers) found that the tag-and-line format produces false negatives on structural YAGNI. ponytail-review said "Lean already. Ship." on code with 4 genuine wrapper-layer issues because observations like "this wrapper shouldn't exist" don't fit the L<line>: <tag> format.

The unstructured simplify lens caught 1 structural finding that ponytail-review missed entirely, despite ponytail-review having 3.2x higher signal density on line-level findings.

Changes

  • skills/ponytail-review/SKILL.md: Added Section 2 for free-form structural observations after the tagged findings and net-lines metric. Strengthened Boundaries to make scope non-optional.

Evidence

  • Round 2 blind council: ponytail-review found 0 unique findings vs unstructured simplify; simplify caught 1 structural issue ponytail-review missed
  • Hybrid format preserves 3.2x signal density while closing the structural blind spot
  • Full methodology: see experimental design in the evaluating project

Test plan

  • Existing tests pass (npm test)
  • check-rule-copies.js passes
  • Manual: invoke /ponytail-review on code with a wrapper layer — verify structural observation appears

Made with Cursor

The tag-and-line format catches line-level cuts but misses structural
over-engineering (unnecessary wrappers, misplaced abstractions). Blind
experiment evidence: ponytail-review said 'Lean already. Ship.' on code
with 4 genuine wrapper-layer issues.

Section 2 — Structural observations captures patterns that don't reduce
to a single tagged line, like 'this wrapper shouldn't exist' or 'tests
exercise the upstream library, not this code.'

Strengthens the scope boundary to be explicit and non-optional.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant