Skip to content

build: scripts/verify-strict.sh — single-command 95/75 coverage gate#13

Merged
ANcpLua merged 1 commit into
mainfrom
feat/verify-strict-wrapper
May 12, 2026
Merged

build: scripts/verify-strict.sh — single-command 95/75 coverage gate#13
ANcpLua merged 1 commit into
mainfrom
feat/verify-strict-wrapper

Conversation

@ANcpLua
Copy link
Copy Markdown
Owner

@ANcpLua ANcpLua commented May 12, 2026

Summary

  • Adds scripts/verify-strict.sh — a thin wrapper that prepends --coverage-min-line 95 --coverage-min-branch 75 --coverage-format markdown --coverage-exclude-generated-param true to ./build.sh Verify and forwards extra args.
  • Rewires docs/COVERAGE-HANDOFF.md (framing, fenced prompt block, syntax notes) to use the wrapper for the coverage-push inner loop.

The wrapper is option c) of the three approaches considered:

  1. New VerifyStrict NUKE target shelling to dotcov directly — violates Pipeline's "no raw CLI" cohesion bar.
  2. Property overrides on Build/ICoverageReport baking 95/75 globally — clean, but couples the threshold to NUKE defaults and ties the loose-floor CI command to CLI overrides.
  3. Wrapper script — two real lines, zero MSBuild surgery, deletable once .github/workflows/ci.yml ratchets to 95/75.

Trade-off documented in the handoff doc: the wrapper is outside ./build.sh --plan discoverability — bought back by a single muscle-memory command during the cluster push.

Test plan

  • bash -n scripts/verify-strict.sh is syntax-clean (verified locally).
  • ./scripts/verify-strict.sh --help forwards through to ./build.sh Verify --help (extra-args pass-through).
  • Reviewer skim-reads docs/COVERAGE-HANDOFF.md end-to-end; fenced block (lines 14–58) is what a fresh chat pastes — confirm the inner-loop line is the only command needed.
  • CI green on Build & Test (backend) (this PR does not touch CI thresholds; that's the final ratchet PR per the handoff doc).

🤖 Generated with Claude Code

Wrapper script hardcodes the 95% line / 75% branch coverage thresholds
(plus markdown summary + generated-code exclusion) and forwards extra args
to ./build.sh Verify. The coverage-push inner loop now reads as a single
muscle-memory command instead of a four-flag invocation.

docs/COVERAGE-HANDOFF.md is updated in all three sections (framing,
fenced prompt block, syntax notes) so a fresh chat picks up the wrapper
without re-deriving the thresholds.

Trade-off acknowledged in syntax notes: the script stays outside NUKE's
discoverability ('./build.sh --plan' won't list it). Once
.github/workflows/ci.yml ratchets to 95/75, CI can call the wrapper and
the threshold lives in exactly one place.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 12, 2026 20:04
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 12, 2026

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (2)
  • docs/COVERAGE-HANDOFF.md is excluded by none and included by none
  • scripts/verify-strict.sh is excluded by none and included by none

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 0cafe6ad-fd66-4b85-993e-04358f83eb7a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a small convenience wrapper to run the NUKE Verify target with a fixed “strict” DotCov coverage gate (95% line / 75% branch), and updates the coverage handoff documentation to use that wrapper as the single inner-loop command.

Changes:

  • Added scripts/verify-strict.sh to run ./build.sh Verify with 95/75 thresholds, markdown output, and generated-code exclusion.
  • Updated docs/COVERAGE-HANDOFF.md to direct contributors to use the wrapper for the coverage-push workflow.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
scripts/verify-strict.sh Adds a strict-coverage wrapper around ./build.sh Verify with fixed DotCov parameters and arg forwarding.
docs/COVERAGE-HANDOFF.md Updates the handoff prompt and syntax notes to use/document the new wrapper script.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ANcpLua ANcpLua merged commit d00d01b into main May 12, 2026
6 checks passed
@ANcpLua ANcpLua deleted the feat/verify-strict-wrapper branch May 12, 2026 22:07
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