fix: the bug hint should call the Halstead estimate a count, not a probability #9

Merged
jercik merged 1 commit from fix/halstead-bug-count-label into main 2026-10-23 09:01:36 +00:00
Owner

Follows up the automated review on #8, which flagged the README sample output. The sample matches the CLI, so the CLI changes too.

The hint printed High bug probability (1.51) for halstead.bugs, which FTA computes as volume / 3000, a count. On a generated file the report showed Estimated bugs: 35.31 and High bug probability (35.31). The hint now reads High estimated bug count, and the README sample follows.

The output text changes, so the title is fix: and releases a patch version.

🤖 Generated with Claude Code

Follows up the automated review on [#8](https://code.j4k.dev/j4k-oss/fta-check/pulls/8), which flagged the README sample output. The sample matches the CLI, so the CLI changes too. The hint printed `High bug probability (1.51)` for `halstead.bugs`, which FTA computes as volume / 3000, a count. On a generated file the report showed `Estimated bugs: 35.31` and `High bug probability (35.31)`. The hint now reads `High estimated bug count`, and the README sample follows. The output text changes, so the title is `fix:` and releases a patch version. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix: call the Halstead bug estimate a count, not a probability
All checks were successful
Checks / pr-flow-canary (pull_request) Has been skipped
Checks / reuse (pull_request) Successful in 6s
commit-msg / commitlint (pull_request) Successful in 8s
Checks / quality-checks (24.15.0) (pull_request) Successful in 39s
Checks / quality-checks (26.5.0) (pull_request) Successful in 39s
Review / Review (pull_request_target) Successful in 2m5s
5038ceeec1
The "How to improve" hint labeled `halstead.bugs` a probability, but FTA
computes it as volume / 3000, a count that passes 1 on large files (35.31 on
a generated test file). The metrics block above it already calls the same
number "Estimated bugs". The README example mirrors the hint, so both change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Review 01M5KZPNM57M0V1F7S6YK3QSR2 — head 5038ceeec15c2ff68227a94663a86c1c13584dd0

Review — j4k-oss/fta-check @ 3feb723214

Scope: diff against base tree 8d49101265ee
Status: dispatched — coverage complete (6/6 slots terminal)
Facts: current review-wide projection

Computed under:

{
  "abandonment": "abandonment-v1",
  "anchor_recipe": 1,
  "batch_policy": "batch-v1",
  "coverage": "coverage-v3",
  "dispatch_policy": "dispatch-v2",
  "grounder_version": 1,
  "grounding_read_rule": "grounding-read-v1",
  "promotion_policy": "promotion-v1",
  "report": "report-v4",
  "tally": "tally-v1",
  "triage_settle": "triage-settle-v2"
}

Findings (0)

No findings survived.

Reviewed:

  • restated-sets (whole/default): no-claims
  • module-design (whole/default): no-claims
  • aposd-plain (whole/default): no-claims
  • general-bug (whole/default): no-claims
  • writing-quality (whole/default): no-claims
  • project-docs (whole/default): no-claims
  • test-trimming: skipped-by-dispatch — no tests changed
  • unix-cli: skipped-by-dispatch — only a suggestion message string changed; no CLI flags, I/O or exit behavior
  • use-effect: skipped-by-dispatch — no React Effects or hooks in changed paths
  • react: skipped-by-dispatch — changed files are a README and a plain TS report string, no React components

Other claims

  • grounding-pending (0)
  • ungrounded (0)
  • rejected (0)
  • duplicate-of (0)
  • unadjudicated (0)

Coverage

Coverage pass: 01M5KZQ45YX4SWZ7XZM8KEGRN7
Accounting: complete
Slot health: healthy

lens part arm unit status runs loss
restated-sets whole default no-claims 1 no
module-design whole default no-claims 1 no
aposd-plain whole default no-claims 1 no
general-bug whole default no-claims 1 no
writing-quality whole default no-claims 1 no
project-docs whole default no-claims 1 no
  • test-trimming — skipped-by-dispatch: no tests changed
  • unix-cli — skipped-by-dispatch: only a suggestion message string changed; no CLI flags, I/O or exit behavior
  • use-effect — skipped-by-dispatch: no React Effects or hooks in changed paths
  • react — skipped-by-dispatch: changed files are a README and a plain TS report string, no React components
<!-- review:summary --> **Review** `01M5KZPNM57M0V1F7S6YK3QSR2` — head `5038ceeec15c2ff68227a94663a86c1c13584dd0` # Review — j4k-oss/fta-check @ 3feb72321423 Scope: diff against base tree `8d49101265ee` Status: dispatched — coverage complete (6/6 slots terminal) Facts: current review-wide projection Computed under: ```json { "abandonment": "abandonment-v1", "anchor_recipe": 1, "batch_policy": "batch-v1", "coverage": "coverage-v3", "dispatch_policy": "dispatch-v2", "grounder_version": 1, "grounding_read_rule": "grounding-read-v1", "promotion_policy": "promotion-v1", "report": "report-v4", "tally": "tally-v1", "triage_settle": "triage-settle-v2" } ``` ## Findings (0) No findings survived. Reviewed: - restated-sets (whole/default): no-claims - module-design (whole/default): no-claims - aposd-plain (whole/default): no-claims - general-bug (whole/default): no-claims - writing-quality (whole/default): no-claims - project-docs (whole/default): no-claims - test-trimming: skipped-by-dispatch — no tests changed - unix-cli: skipped-by-dispatch — only a suggestion message string changed; no CLI flags, I/O or exit behavior - use-effect: skipped-by-dispatch — no React Effects or hooks in changed paths - react: skipped-by-dispatch — changed files are a README and a plain TS report string, no React components ## Other claims - grounding-pending (0) - ungrounded (0) - rejected (0) - duplicate-of (0) - unadjudicated (0) ## Coverage Coverage pass: 01M5KZQ45YX4SWZ7XZM8KEGRN7 Accounting: complete Slot health: healthy | lens | part | arm | unit status | runs | loss | | --- | --- | --- | --- | --- | --- | | restated-sets | whole | default | no-claims | 1 | no | | module-design | whole | default | no-claims | 1 | no | | aposd-plain | whole | default | no-claims | 1 | no | | general-bug | whole | default | no-claims | 1 | no | | writing-quality | whole | default | no-claims | 1 | no | | project-docs | whole | default | no-claims | 1 | no | - test-trimming — skipped-by-dispatch: no tests changed - unix-cli — skipped-by-dispatch: only a suggestion message string changed; no CLI flags, I/O or exit behavior - use-effect — skipped-by-dispatch: no React Effects or hooks in changed paths - react — skipped-by-dispatch: changed files are a README and a plain TS report string, no React components
jercik merged commit a627f7d60c into main 2026-10-23 09:01:36 +00:00
jercik deleted branch fix/halstead-bug-count-label 2026-10-23 09:01:36 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
j4k-oss/fta-check!9
No description provided.