feat: implement execution gap reporting, redundant test detection, CI - #2
Merged
Merged
Conversation
trancee
force-pushed
the
feature/gap-reporting-redundant-detection-ci
branch
from
August 26, 2026 11:34
740ab39 to
82071e4
Compare
Kotlin module: - ExecutionGap data class (5 gap types: NO_OUTPUT, PARTIAL_RUN, COMPILATION_FAILURE, IR_TRANSFORMATION_ERROR, BACKSTOP_TIMEOUT) - RedundantGroup data class with tests, count, failureSignature - MutationStats.score → Double? (null when no mutations evaluable) - MutationStats: added gaps, mutationsEvaluated, confidenceIntervalLow/High - MutationResults: added gaps, mutationsEvaluated, CI fields, executionGaps, redundantGroups, mutationScore as nullable Double? - calculateMetrics: score = killed/(total-gaps), null when denominator == 0 - wilsonInterval(): 95% Wilson score CI, clamped to [0,1] - detectGaps(): NO_OUTPUT, PARTIAL_RUN, preserves build-level gaps - detectRedundantTestGroups(): signature grouping, threshold >5, zombie exclusion - assembleResults: accepts gaps + redundantGroups params Gradle task: - Checks JUnit XML → COMPILATION_FAILURE gap when missing - Calls detectGaps() with stdout + build-level gaps - Handles nullable mutationScore (N/A) in logger, logs gap count Agent docs: - test-auditor.md: score formula, gap/redundant reporting, JSON schema - test-executor.md: gap detection documentation - test-refactor-specialist.md: redundantGroups, @ParameterizedTest, --auto-approve gate, diff + rollback output - test-quality-reviewer.md: modes (quick/standard/deep → maxRuns), --focus, --auto-approve orchestration - SKILL.md: modes, --focus, --auto-approve flags Tests: 35 total (18 parser + 7 serializer + 10 stats), all passing
trancee
force-pushed
the
feature/gap-reporting-redundant-detection-ci
branch
from
August 26, 2026 12:06
82071e4 to
0ebd53b
Compare
trancee
force-pushed
the
feature/gap-reporting-redundant-detection-ci
branch
7 times, most recently
from
August 26, 2026 13:18
1540cea to
fc82cc7
Compare
…place markdownlint config; fix CONTEXT.md headings
trancee
force-pushed
the
feature/gap-reporting-redundant-detection-ci
branch
from
August 26, 2026 13:24
fc82cc7 to
9cad14a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements three Scott-CC→OMP feature gaps:
T6 — Confidence Intervals
wilsonInterval(), clamped to [0,1]confidenceIntervalLow/HightoMutationStats, serialized viaencodeDefaults=trueD3/T7 — Execution Gap Reporting
ExecutionGapdata class (5 gap types: NO_OUTPUT, PARTIAL_RUN, COMPILATION_FAILURE, IR_TRANSFORMATION_ERROR, BACKSTOP_TIMEOUT)detectGaps(): parser-level detection for empty stdout (NO_OUTPUT) and footer count mismatch (PARTIAL_RUN)D1 — Redundant Test Detection
RedundantGroupdata class (tests, count, failureSignature)detectRedundantTestGroups(): groups tests by failure signature, threshold >5, sorted by count desc, excludes zombiesD2 — Modes, Focus, Auto-Approve (agent-level docs)
--mode quick|standard|deep→ mutflow maxRuns (10/30/all)--focus→ Gradle includeTargets/excludeTargets bridge--auto-approvegate: zombie/redundant deletion requires explicit approvalTests
35 tests (18 parser + 7 serializer + 10 stats), all passing.