Skip to content

docs(runbooks): add test-strategy.md (RAN-46 AC #5)#89

Merged
aksOps merged 1 commit into
mainfrom
docs/ran-46-test-strategy
Apr 25, 2026
Merged

docs(runbooks): add test-strategy.md (RAN-46 AC #5)#89
aksOps merged 1 commit into
mainfrom
docs/ran-46-test-strategy

Conversation

@aksOps
Copy link
Copy Markdown
Contributor

@aksOps aksOps commented Apr 25, 2026

Summary

Lands the last missing runbook from the RAN-46 acceptance criteria: shared/runbooks/test-strategy.md. The other three (release.md, rollback.md, first-time-setup.md) shipped in #74; test-strategy.md was not included in that PR and is the only AC item I can land without the board's pending (A)/(B) security-stack ruling.

What's in scope

  • Test layers — unit / integration / e2e-quality with crisp discriminators (Spring profile rule, @TempDir rule) calibrated to the codeiq codebase
  • Coverage targets — aligned to engineering-standards.md §1: project-wide ≥85% (JaCoCo BUNDLE LINE COVEREDRATIO), new-code ≥80% (Sonar gate), critical paths 100% line+branch
  • Detector test contract — positive + negative + determinism (matches CLAUDE.md § "Adding a New Detector"), with explicit two-negatives rule for discriminator-guard detectors (Quarkus, Fastify, etc.)
  • Flake policy — same-PR resolution; quarantine via @Disabled("flaky — RAN-XXX") with tracked issue; no CI retry-loops
  • Regression suitemvn verify is the gate (< 7 min wall-clock target); E2E quality runs nightly + on-demand, not per-PR

What's intentionally out of scope

  • No live-network tests (corporate-firewall / air-gapped per ~/.claude/rules/build.md)
  • No browser / UI E2E (SPA smoke is in CLI smoke per first-time-setup.md §3)
  • No load / stress (JMH lives elsewhere)

Independence from board ruling

This file references only test layers, coverage targets, and flake policy — all of which hold under both (A) ratify-Sonar-stack and (B) revert-to-OSS-CLI on RAN-46. No edits needed downstream regardless of which path is picked.

Test plan

  • Signed commit (G) verified locally
  • No code changes — runbook only; no test or build impact
  • CI green (build will run on this PR)
  • Reviewer pass

🤖 Generated with Claude Code

Closes the last missing runbook from the RAN-46 acceptance list:
test-strategy.md per engineering-standards.md §4.

Scope:
- Test layers (unit / integration / e2e quality) with discriminators
  matching the codeiq codebase (Spring profile rule, @tempdir rule)
- Coverage targets aligned to engineering-standards.md §1
  (project-wide ≥85% floor, new-code ≥80%, critical paths 100%)
- Detector test contract: positive + negative + determinism (per
  CLAUDE.md "Adding a New Detector")
- Flake policy: same-PR resolution, no retry-loops in CI
- Regression suite scope: mvn verify is the gate; E2E quality tests
  are nightly + on-demand, not per-PR

Independent of the (A) ratify-Sonar-stack vs (B) revert-to-OSS-CLI
ruling pending on RAN-46 — content references only the testing tiers,
coverage targets, and flake policy that hold either way.
@aksOps aksOps enabled auto-merge (squash) April 25, 2026 15:28
@sonarqubecloud
Copy link
Copy Markdown

@aksOps aksOps merged commit 6c8497f into main Apr 25, 2026
8 checks passed
@aksOps aksOps deleted the docs/ran-46-test-strategy branch April 25, 2026 15:29
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.

1 participant