Description: Set an explicit minimum coverage threshold per contract (not just workspace-wide) in CI, since a single well-tested contract can currently mask a poorly-tested one in an aggregate number.
Context: make coverage presumably reports a workspace-wide or per-crate number today; without a per-contract floor, treasury (say) could quietly have far weaker coverage than invoice_nft without anyone noticing in an aggregate metric.
Scope & Acceptance Criteria: A documented minimum threshold per contract crate, enforced in CI (ties into D89's coverage-delta gate — this issue adds the per-contract floor specifically, on top of the delta check). Out of scope: raising every contract to the target threshold in this issue — set the gate at (or just below) current levels first, then ratchet up via follow-ups.
Implementation: Key files: Makefile's coverage target, CI workflow config. Edge cases: contracts with inherently less testable surface area (e.g. very thin wrapper contracts) may reasonably warrant a lower floor — document any per-contract exceptions explicitly. Testing: verify the gate fails for a contract deliberately dropped below its threshold in a draft commit.
Complexity: High (200 points)
Program: Drips "Stellar Wave"
Description: Set an explicit minimum coverage threshold per contract (not just workspace-wide) in CI, since a single well-tested contract can currently mask a poorly-tested one in an aggregate number.
Context:
make coveragepresumably reports a workspace-wide or per-crate number today; without a per-contract floor,treasury(say) could quietly have far weaker coverage thaninvoice_nftwithout anyone noticing in an aggregate metric.Scope & Acceptance Criteria: A documented minimum threshold per contract crate, enforced in CI (ties into D89's coverage-delta gate — this issue adds the per-contract floor specifically, on top of the delta check). Out of scope: raising every contract to the target threshold in this issue — set the gate at (or just below) current levels first, then ratchet up via follow-ups.
Implementation: Key files:
Makefile'scoveragetarget, CI workflow config. Edge cases: contracts with inherently less testable surface area (e.g. very thin wrapper contracts) may reasonably warrant a lower floor — document any per-contract exceptions explicitly. Testing: verify the gate fails for a contract deliberately dropped below its threshold in a draft commit.Complexity: High (200 points)
Program: Drips "Stellar Wave"