Skip to content

Shotness analyzer quality#14

Merged
dmytrogajewski merged 3 commits into
mainfrom
cursor/shotness-analyzer-quality-db86
Feb 25, 2026
Merged

Shotness analyzer quality#14
dmytrogajewski merged 3 commits into
mainfrom
cursor/shotness-analyzer-quality-db86

Conversation

@dmytrogajewski

Copy link
Copy Markdown
Contributor

Improve the shotness analyzer's correctness and UX by implementing industry-standard coupling strength normalization, consistent risk classification, and a human-readable text output format.

The analyzer's previous implementation lacked normalized coupling strength, had inconsistent risk classification, and did not provide a user-friendly text output, which are critical for an internal assessment tool where accuracy and clarity are paramount.


Open in Web Open in Cursor 

cursoragent and others added 3 commits February 25, 2026 20:48
…nstants

- Add Strength field to NodeCouplingData with formula:
  co_changes / max(co_changes, changes_a, changes_b)
- Add AvgCouplingStrength to AggregateData
- Fix classifyChangeRisk to return LOW instead of empty string
- Export RiskLevelHigh, RiskLevelMedium, RiskLevelLow constants
- Fix TotalCouplings to count upper triangle only
- Add tests for coupling strength, risk classification, aggregator,
  merge state, extractTC, genLine2Node, resolveEndLine, and more

Co-authored-by: Dmytro Gajewski <dmytrogajewski@users.noreply.github.com>
- Add Serialize/SerializeTICKs overrides for FormatText and FormatPlot
- Implement generateText with Summary, Hottest Functions, Risk Assessment,
  and Strongest Couplings sections using terminal utilities
- Add generatePlot method for standalone plot rendering
- Add comprehensive tests for text output and plot generation
- Follow burndown/devs pattern for terminal formatting

Co-authored-by: Dmytro Gajewski <dmytrogajewski@users.noreply.github.com>
- Add coupling strength formula and interpretation guide
- Add risk classification table with thresholds
- Add text format example output
- Add metrics reference tables for all output fields
- Add actionable insights section for interpreting results
- Update README with methodology context and new metrics

Co-authored-by: Dmytro Gajewski <dmytrogajewski@users.noreply.github.com>
@cursor

cursor Bot commented Feb 25, 2026

Copy link
Copy Markdown

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@dmytrogajewski dmytrogajewski marked this pull request as ready for review February 25, 2026 20:53
@dmytrogajewski dmytrogajewski merged commit 090f8b7 into main Feb 25, 2026
5 checks passed
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.

2 participants