Skip to content

fix: consumer module-info metrics requires + test homing - #290

Merged
eschizoid merged 1 commit into
mainfrom
fix/module-info-test-homing
Jul 31, 2026
Merged

fix: consumer module-info metrics requires + test homing#290
eschizoid merged 1 commit into
mainfrom
fix/module-info-test-homing

Conversation

@eschizoid

Copy link
Copy Markdown
Owner

Architecture-pass P0 items #3 and #4 (audit 2026-07-25):

  • Latent JPMS break: consumer used ConsumerMetrics in 4 files with no direct requires — compiled only via producer's transitive re-export. Now declared (requires transitive, since withMetrics is public API).
  • Duplicate FQCN: two io.github.eschizoid.kpipe.metrics.ConsumerMetricsReporterTest classes across modules; consumer's copy re-tested another module's public class from the wrong module — deleted (scenarios subsumed by the metrics-module original).
  • Misplaced jcstress test: CompositeMessageSinkJCStressTest targets a core class but lived in producer's jcstress source set — moved to core (already wired: CI runs :lib:kpipe-core:jcstress).

- kpipe-consumer imports io.github.eschizoid.kpipe.metrics.* in four files but its
  module-info never required the metrics module - it compiled only through producer's
  'requires transitive'. Declared directly (transitive: withMetrics(ConsumerMetrics)
  is public API), so tightening producer's edge later cannot break consumer.
- Deleted the consumer-module ConsumerMetricsReporterTest: it shared an exact FQCN
  with the kpipe-metrics test for the same public class (breaking coverage
  attribution) and its three Mockito scenarios are subsumed by the metrics module's
  eight plain ones.
- Moved CompositeMessageSinkJCStressTest producer->core jcstress: the SUT is a core
  class in the core-owned io.github.eschizoid.kpipe.sink package; core's concurrency
  gate no longer depends on producer's jcstress task.
@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.21%. Comparing base (5c2a392) to head (337acfd).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #290      +/-   ##
============================================
- Coverage     79.26%   79.21%   -0.06%     
+ Complexity     1032     1030       -2     
============================================
  Files            83       83              
  Lines          3560     3560              
  Branches        457      457              
============================================
- Hits           2822     2820       -2     
  Misses          546      546              
- Partials        192      194       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@eschizoid
eschizoid merged commit 4260aca into main Jul 31, 2026
3 of 4 checks passed
@eschizoid
eschizoid deleted the fix/module-info-test-homing branch July 31, 2026 04:59
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