Skip to content

[issue-89] fix: precision follow-up for C5/C7/C9/C3 (#89)#92

Merged
vinicq merged 1 commit into
mainfrom
fix/issue-89-precision-followup
Jul 1, 2026
Merged

[issue-89] fix: precision follow-up for C5/C7/C9/C3 (#89)#92
vinicq merged 1 commit into
mainfrom
fix/issue-89-precision-followup

Conversation

@vinicq

@vinicq vinicq commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Audit follow-up (#89), precision-first. Replaces auto-closed #91 (base branch was deleted on merge of #90).

  • C5/C7 (P1): Should Be Equal As Integers/Numbers/Strings now flagged for self-compare and equal literals.
  • C9 (P2): STARTS:/EQUALS: with an empty prefix now flagged as catch-all.
  • C3 (P3): swallow nested under Continue On Failure now reported as C3 (HIGH) instead of C2b.

257 tests green. Closes #89

Three audit findings outside the scope of #88:

1. C5/C7 (P1): Should Be Equal As Integers/Numbers/Strings escaped the
   self-compare (C7) and equal-literal (C5) checks because the guard matched
   exactly "should be equal". The typed variants are equally tautological.
   New SHOULD_BE_EQUAL_KEYWORDS set, with library-prefix strip (so
   BuiltIn.Should Be Equal As Integers also matches).

2. C9 (P2): STARTS:/EQUALS: with an empty prefix is a catch-all (every message
   starts with ""), accepting any error. New _CATCH_ALL_PREFIX_RE
   ^(STARTS|EQUALS):\s*$ in the catch-all OR. STARTS: connection stays clean.

3. C3 (P3): a swallow (Run Keyword And Return Status) nested under Run Keyword
   And Continue On Failure reported C2b (LOW) instead of C3 (HIGH).
   _swallow_status_unused now unwraps one layer of the soft-assert wrapper via
   _effective_swallow. Warn On Failure is intentionally excluded (it already
   forces the test green). The ${status}= assignment stays on the outer call,
   so unused-status detection remains correct.

Closes #89
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@vinicq vinicq merged commit 5296993 into main Jul 1, 2026
4 checks passed
@vinicq vinicq deleted the fix/issue-89-precision-followup branch July 1, 2026 17:37
vinicq added a commit that referenced this pull request Jul 2, 2026
Three audit findings outside the scope of #88:

1. C5/C7 (P1): Should Be Equal As Integers/Numbers/Strings escaped the
   self-compare (C7) and equal-literal (C5) checks because the guard matched
   exactly "should be equal". The typed variants are equally tautological.
   New SHOULD_BE_EQUAL_KEYWORDS set, with library-prefix strip (so
   BuiltIn.Should Be Equal As Integers also matches).

2. C9 (P2): STARTS:/EQUALS: with an empty prefix is a catch-all (every message
   starts with ""), accepting any error. New _CATCH_ALL_PREFIX_RE
   ^(STARTS|EQUALS):\s*$ in the catch-all OR. STARTS: connection stays clean.

3. C3 (P3): a swallow (Run Keyword And Return Status) nested under Run Keyword
   And Continue On Failure reported C2b (LOW) instead of C3 (HIGH).
   _swallow_status_unused now unwraps one layer of the soft-assert wrapper via
   _effective_swallow. Warn On Failure is intentionally excluded (it already
   forces the test green). The ${status}= assignment stays on the outer call,
   so unused-status detection remains correct.

Closes #89
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.

fix: precision follow-up - typed Should Be Equal (C5/C7), empty STARTS: (C9), nested swallow (audit)

1 participant