Skip to content

ci: take chaos and perf off the self-hosted box, stop that lane discarding jobs, and run the mutation sweep nightly - #366

Merged
astubbs merged 3 commits into
masterfrom
ci/highcpu-box-exclusive-queue-evicts-runs
Aug 26, 2026
Merged

astubbs merged 3 commits into
masterfrom
ci/highcpu-box-exclusive-queue-evicts-runs

Conversation

@astubbs

@astubbs astubbs commented Aug 26, 2026 •

Copy link
Copy Markdown
Owner

Follows astubbs/parallel-consumer#354, which introduced the highcpu-box-exclusive group this PR removes.

Description

The highcpu-box-exclusive concurrency group was discarding most of the work it was meant to schedule. This removes it, and with it every workflow-side claim about how much the self-hosted box can do at once.

What was wrong

A GitHub concurrency group is a deduplication primitive, not a queue. It keeps one run in progress and at most one pending, and discards whatever arrives behind that. Used as a mutex over a shared machine, a third arrival evicts the run already waiting - so with several branches active, each push deleted somebody else's pending measurement.

Measured

The 50 minutes after the group landed - 2026-08-26, 01:03Z-01:53Z, 16 runs across 9 branches, classified by whether the job executed any step at all (steps == 0 means it was cancelled while pending and never started):

Suite Never started Ran
Chaos Pain Suite 12 / 16 4 (3 success, 1 failure)
Performance 14 / 16 2
Total box jobs 26 / 32 (81%) 6

Five of the six runners sat idle throughout. Runs were cancelled roughly a minute after creation, never having started.

Over a wider window (N=58 completed runs, 2026-08-25T13:06Z-2026-08-26T01:53Z) the never-started rate is 25%, but that window straddles the change - most of it ran the previous per-ref policy, so the post-change window above is the one that measures this defect.

The evicted job is simply whoever queued last, which is as often chaos as Performance. So the suite built to hunt confluentinc/parallel-consumer#857 was the one most often not running - and the workflow's own reasoning only ever accepted displacing Performance ("Performance is advisory ... so it is the right one to displace"). Branch-vs-branch displacement was never covered; max-parallel: 1 fixed only the sibling case within a single run.

The key question, and a refuted prediction

The design hinged on how many runners serve the highcpu label - if one, the group is redundant, because a single runner already serialises.

gh api repos/astubbs/parallel-consumer/actions/runners

Six runners are registered and online (highcpu-1 … highcpu-6), all advertising self-hosted, Linux, X64, highcpu. So the prediction was refuted: the group was not redundant, and removing it does return up to six-way co-residency. That is accepted deliberately rather than by oversight - see below.

What replaces it: nothing

Jobs queue on the runners like every other GitHub Actions job, and every queued job eventually runs. How many run at once is the box's own decision, made by how many runner processes it runs. That is not a workflow concern, and encoding it here is what produced this defect; if six is too many, the lever is on the box and needs no change in this repository.

The only cancellation left is the ordinary one every workflow has: a new push to a PR supersedes that PR's previous run.

Why dropping the exclusion is safe

The co-residency reds that motivated the mutex were ~154s lagStagnation against a 150s bound - the bound meeting the load, not a defect. That detector was demoted to non-gating in the same PR that added the mutex: ProgressProbe.recordLagStagnation now calls observe(...) rather than recording a violation (verified in the code, not inferred from the write-up). The failure the mutex was bought to prevent had already been fixed in the instrument, where it belonged.

Alternatives rejected

  • Keep the group, make eviction loud - the work is still discarded. Making a silent loss noisy is not the same as not losing it.
  • Move chaos to a scheduled or post-merge lane - docs/ci.md forbids a scheduled lane for anything a PR gate already covers, on the test "does time alone change the answer?" For chaos it does not; the code does.
  • A dedicated single-slot runner label - needs runner-side provisioning, and carries the trap that a job pinned to a label nothing serves does not fail but queues silently until GitHub cancels it. Reducing the runner count achieves the same serialisation with neither cost.

Absent vs. failed vs. passed

A cancelled check still renders as fail in gh pr checks, so docs/ci.md keeps the rule that a cancelled chaos check means NOT MEASURED - neither a pass nor a failure, and the job summary still names the commit it measured. What is gone is the case that made this acute: a pending run being discarded so a PR's head was measured by nothing while every check stayed green.

Same defect elsewhere

Searched for other uses of a concurrency group as a resource mutex: grep -rn "highcpu-box-exclusive" found the two other members of the group, chaos-pain.yml and mutation-full-sweep.yml, and both are fixed here. The sweep's own comment already recorded this defect at its widest - a 360-minute timeout that could starve PRs of chaos measurements for hours. No other workflow in the repo pairs a constant (ref-free) group key with cancel-in-progress: false; the remaining groups are all ref-keyed and cancelling, which is dedup and correct.

Documentation

docs/ci.md's section is rewritten as "The box decides its own concurrency", including "Why a concurrency group is not a mutex" so the primitive is not reached for again. docs/self-hosted-runner.md gains the rule at the point an operator would break it. The inflight note is replaced: its premise (confirm the serialised lane works) is gone, and the open question is now a runner-count one - docs/inflight/ci-highcpu-box-concurrency-is-runner-count.md.

Six citations to the old note in bug-857-family.md and test-chaos-phase2.md were repointed. They were already stale before this PR - they cite a contended-vs-uncontended replay discriminator that had been moved out of that note earlier - so they now point at the solutions note that actually owns it.

And finally: the whole lane stopped running per-PR

With chaos gone, the lane's last per-PR entry was Performance (optional) - which ran the same
command
as maven.yml already runs as the required Performance Tests check:
bin/performance-test.sh, no different arguments.

Check Runner Gates? Duration, same commit
Performance Tests (maven.yml) ubuntu-latest required 5m12s
highcpu / Performance (optional) self-hosted no 3m14s

Two minutes does not justify a second, non-gating copy of a gating check - this lane's own stated
test, and why Unit, Integration and Mutation were removed from it before.

What is kept is the benchmark, which is the one thing the hosted gate cannot produce: solo on
that box the suite is ~1m54 against GitHub's ~3m50. So the workflow becomes workflow_dispatch
only rather than being deleted.

Consequence worth stating: nothing per-PR depends on the self-hosted hardware any more, so an
offline box can no longer leave a check pending. All three workflows targeting highcpu are now
dispatch-only.

Security: the same-repo guard went with the pull_request trigger (dispatch requires write
access). That guard is the entire trust boundary for a public repo on a self-hosted runner, so the
job and docs/self-hosted-runner.md both now carry an explicit instruction to restore it in the
same commit as any future pull_request: trigger.

And: the full mutation sweep now actually runs

With the box carrying almost nothing, the whole-tree mutation score was the one thing it still
existed for - and it was dispatch-only, dispatched about once in three weeks, so it measured
nothing. The PR-scoped lane in maven.yml only ever mutates classes a PR changed.

It now runs nightly, and getting there required overriding this workflow's own recorded advice,
so the reasoning is written down on both sides. The header argued for push: branches: [master] -
a mutation score changes when the code changes, so a nightly recomputes an identical answer on a
night master did not move. Sound in general; it assumes a quiet master.

Measured over the last 60 master commits: up to 32 commits in a day, a median gap of 0
minutes
(squash-merges land in bursts), and 83% of gaps shorter than the sweep's own 31m27s
job-elapsed runtime
. (An earlier revision of this PR said "80% under ~22 minutes" - that 21m55s
figure is the PIT phase, not job elapsed, mislabelled as "Wall clock" in
docs/inflight/ci-mutation-testing.md and inherited from there. Corrected in this PR; the argument
gets stronger, not weaker.) Per-push therefore fails both ways - no concurrency group piles dozens of concurrent
sweeps onto one box; a cancelling group has four in five killed before they finish, which is the
never-completes failure (internal.*) this lane was rebuilt to escape.

This is a deliberate exception to docs/ci.md's "there is no scheduled build" rule, recorded
there rather than left to contradict it silently. What makes it an exception is not convenience but
that the correct per-merge trigger was measured and found unusable.

A hosted arm runs alongside it as a trial - ubuntu-latest, 4 threads. The thread split is a
RAM ceiling, not a preference: PIT minions get -Xmx2g each, so 16 threads needs 32g and would OOM
a hosted runner (4 vCPU / 16 GB). Neither arm is required; both are continue-on-error. Compare
their scores first, not wall-clock. This is safe to trial because bin/ci-mutation-test.sh
already detects an all-MEMORY_ERROR run and fails rather than reporting a vacuous green.

Bug caught in passing: inputs.* is empty on a non-dispatch event, so the trigger change would
have expanded to an empty target glob and a bare -Dthreads=. Every one now has a fallback.

Follow-ups deliberately not done here

  • Make Chaos Pain Suite a required check - after merge, because a required context no run has
    produced blocks every PR whose base predates it.
  • Should the full mutation sweep run nightly? It is the box's main remaining justification and
    is dispatched far too rarely to measure anything. It needs docs/ci.md's "there is no scheduled
    build, deliberately" rule amended rather than quietly contradicted - that rule's test is "does
    time alone change the answer?", and for mutation it is merges, not time. Recorded as an open
    decision in docs/inflight/ci-highcpu-box-concurrency-is-runner-count.md.

Checklist

  • Docs updated - docs/ci.md, docs/self-hosted-runner.md, the workflow header comments, and the replaced docs/inflight/ note
  • N/A - no user-facing feature: this changes CI scheduling only, nothing in the published library
  • N/A - no test added. The change is the removal of workflow configuration; there is no bin/ gate to assert it without a script that asserts the box's runner count, which is exactly the workflow-side capacity claim this PR argues against. Verified with actionlint (clean) and by parsing the rendered matrix and concurrency block.
  • Title & body reflect the final content of this PR
  • N/A - workflow YAML and docs only, no code in the diff. ce-simplify refuses a diff with no
    code by design, so there is nothing for it to act on. ce-code-review was not run locally either -
    the review worth spending on this change is the one that reads CI behaviour rather than source,
    so the intent is to ask for @claude review this on the PR, which is also the only route that can
    open inline review threads. Analysis surfaces were checked instead:
    bin/check-pr-analysis-surfaces.sh 366 exits 0 with no annotations on the diff.

Then: chaos left the self-hosted box entirely

The fix above manages contention for one shared machine. This PR then tests whether that machine is
needed at all, and concludes it is not.

Measured head-to-head on the same commit, both green (that commit was d8beb162f before this
branch was re-cut; the SHA no longer exists, the measurement stands):

Lane Duration
Self-hosted highcpu 12m16s
Hosted ubuntu-latest 13m59s

14% of wall-clock does not buy a shared physical machine - and the sharing is what produced every
scheduling problem this lane has had. A hosted runner gives each job its own VM, so co-residency
cannot occur there at all. This is the root-cause fix that the concurrency change alone could only
mitigate.

The premise that put chaos on the box - that it needs many real cores to provoke anything - did not
survive measurement. Corroborating it: bin/chaos-test.sh needed no change to move, because it
passes no forkCount and no -Dparallel-tests, so the suite was never configured to exploit those
cores.

Still gating. The hosted entry is deliberately not optional - a chaos RED is a real finding,
and the suite it replaces was not optional either. It is named plainly Chaos Pain Suite (not
... (hosted)) because it is about to become a required context, where the name is an API.

Making it required is a separate act, after merge. A required context that no run has produced
leaves every PR pending until it merges master, so the ruleset change waits until the job is on
master - the ordering docs/ci.md already states.

Caveat recorded rather than glossed: the move was settled on one head-to-head run, and the
hosted job's per-scenario counts were not read (the job-log endpoint returned empty). Duration rules
out a zero-scenario run - that is build-only, ~2 minutes - but the standing rule still applies: read
the job's own Chaos suite timing summary and its zero-tests-selected warning before trusting a
green.

What the box carries now

Per-PR, only Performance - which runs the same bin/performance-test.sh as maven.yml's
required Performance Tests check, i.e. a non-gating duplicate of a gating one. Plus two
dispatch-only workflows, of which the full mutation sweep has been dispatched once, on
2026-08-04. Left as two open decisions in
docs/inflight/ci-highcpu-box-concurrency-is-runner-count.md rather than acted on here.

@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

  • .github/workflows/pr-highcpu-fast-feedback.yml

@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

✅ Duplicate Code Report

Two engines run in parallel for cross-validation. Each has its own thresholds tuned to its baseline - the real safety net is the per-engine "max increase vs base" check.

✅ PMD CPD

PR Base Change
Clones 31 31 ➖ 0
Duplicated lines 971 971 ➖ 0
Duplication 0.13% 0.13% ➖ 0
Rule Limit Status
Max duplication 0.5% ✅ Pass (0.13%)
Max increase vs base +0.1% ✅ Pass (+0.00%)

No new clones introduced by this PR.

✅ jscpd (language-agnostic)

PR Base Change
Clones 81 81 ➖ 0
Duplicated lines 1185 1185 ➖ 0
Duplication 1.11% 1.11% ➖ 0
Rule Limit Status
Max duplication 2% ✅ Pass (1.11%)
Max increase vs base +0.1% ✅ Pass (+0.00%)

No new clones introduced by this PR.

Powered by astubbs/duplicate-code-cross-check

@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

📌 Duplicate code detection tool report

The tool analyzed your source code and found the following degree of similarity between the files:

✅ No new or increased file similarities introduced by this PR.

Full similarity report
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java 43.25
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java 38.71
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java 38.04
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java 37.64
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java 58.58 ⚠️
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java 43.25
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java 38.04
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java 58.58 ⚠️
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java 38.71
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java 37.64
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 52.58 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 37.55
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java 34.52
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 33.8
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 32.39
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 31.91
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 31.84
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 31.11
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 63.93 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 57.85 ⚠️
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 42.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 40.69
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 35.32
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 33.2
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 32.72
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java 30.93
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 63.93 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 53.86 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 39.95
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 34.86
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 34.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 32.84
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 32.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 34.52
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 32.12
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 52.58 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 51.86 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 42.27
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 32.68
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java 31.63
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 31.28
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerOptions.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerOptions.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java 31.14
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 57.85 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 53.86 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 48.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 36.28
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java 34.02
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 32.55
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 32.23
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 48.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 40.69
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 39.95
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 35.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java 41.91
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 30.89
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 36.28
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 35.32
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 34.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java 33.89
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java 30.89
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java 41.91
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 33.89
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java 44.54
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/BrokerPollSystem.java 33.61
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorConfigurationTest.java 32.78
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/BrokerPollSystem.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/BrokerPollSystem.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 33.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerManager.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ConsumerManagerCommitRetryBudgetTest.java 30.82
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerOffsetCommitter.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerOffsetCommitter.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java 34.24
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 39.96
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 57.93 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 51.86 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 49.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 47.57
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java 40.27
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 37.55
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 34.13
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java 32.12
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 31.1
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 30.33
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 40.27
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 31.63
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 30.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 32.84
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 32.72
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 32.55
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PCModuleTestEnv.java 31.8
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PollThreadStallDiagnosis.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PollThreadStallDiagnosis.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollThreadStallDiagnosisTest.java 33.71
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/AmbientProbeExtension.java 33.16
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerOptions.java 31.14
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/JavaUtils.java 33.6
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java 31.35
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/JavaUtils.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/JavaUtils.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java 38.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java 33.6
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 49.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 35.35
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 34.47
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 34.13
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 32.68
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 32.39
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 30.54
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 57.93 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 49.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 46.44
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 46.04
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 44.9
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 44.72
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 42.27
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 33.8
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java 30.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 47.57
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 44.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 44.72
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 35.75
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 34.86
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 49.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 46.44
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 44.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 31.84
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 31.28
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 30.54
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 61.45 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 46.04
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 35.75
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 35.35
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 31.91
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 31.1
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 61.45 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 44.9
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 34.86
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 34.47
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 31.11
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 30.33
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 32.85
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 40.14
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java 32.85
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java 34.23
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 34.23
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 40.14
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/AmbientProbeExtension.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/AmbientProbeExtension.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PollThreadStallDiagnosis.java 33.16
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AmbientProbeExtensionTest.java 31.32
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/KafkaSanityTests.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/KafkaSanityTests.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/LoopingResumingIteratorTest.java 32.16
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/ManagedPCInstanceLifecycleIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/ManagedPCInstanceLifecycleIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/utils/ManagedPCInstance.java 31.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 57.09 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 43.73
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 35.87
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 39.83
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 39.21
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 35.87
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceTest.java 35.82
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java 35.82
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 54.2 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 43.73
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 39.21
parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java 31.15
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 57.09 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 54.2 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 39.83
parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java 35.53
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java 40.4
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 40.3
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 38.47
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ProgressProbe.java 36.81
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 33.92
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCap.java 30.03
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 46.71
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 38.47
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 32.63
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java 54.1 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 46.71
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 40.3
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 36.23
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ProgressProbe.java 33.52
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedger.java 32.45
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeDrainIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeDrainIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java 39.68
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 43.73
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeDrainIT.java 39.68
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 30.57
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java 43.73
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 33.92
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java 30.57
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 54.1 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 40.4
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 36.23
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 32.63
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCap.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCap.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCapIT.java 53.27 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 30.03
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCapIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCapIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCap.java 53.27 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedger.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedger.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedgerIT.java 33.02
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 32.45
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedgerIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedgerIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedger.java 33.02
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ProgressProbe.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ProgressProbe.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 36.81
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 33.52
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/utils/ManagedPCInstance.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/utils/ManagedPCInstance.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/ManagedPCInstanceLifecycleIT.java 31.0
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorConfigurationTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorConfigurationTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java 41.46
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 32.78
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/KafkaTestUtils.java 32.05
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AmbientProbeExtensionTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AmbientProbeExtensionTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/AmbientProbeExtension.java 31.32
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/BatchTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/BatchTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 30.1
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java 48.31
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java 46.5
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java 32.83
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTestBase.java 39.82
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerOffsetCommitter.java 34.24
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java 32.83
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java 51.78 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 50.19 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 44.7
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/BatchTestBase.java 30.1
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java 44.24
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java 44.24
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java 39.82
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessorTest.java 34.36
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessorTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessorTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java 34.36
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java 48.31
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java 31.48
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java 46.5
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java 31.48
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 87.21 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 86.27 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 86.27 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 83.83 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 83.83 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 83.83 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 82.33 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 82.33 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ConsumerManagerCommitRetryBudgetTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ConsumerManagerCommitRetryBudgetTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerManager.java 30.82
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PCModuleTestEnv.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PCModuleTestEnv.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 31.8
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollThreadStallDiagnosisTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollThreadStallDiagnosisTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PollThreadStallDiagnosis.java 33.71
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 44.54
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorConfigurationTest.java 41.46
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 34.02
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 30.93
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/BlockedThreadAsserter.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/BlockedThreadAsserter.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/BlockedThreadAsserterTest.java 32.48
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/BlockedThreadAsserterTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/BlockedThreadAsserterTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/BlockedThreadAsserter.java 32.48
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/JavaUtils.java 38.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java 31.35
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/KafkaTestUtils.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/KafkaTestUtils.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorTestBase.java 32.05
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/LoopingResumingIteratorTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/LoopingResumingIteratorTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/KafkaSanityTests.java 32.16
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java 38.26
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java 38.26
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/LincheckHarness.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/LincheckHarness.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/LincheckToolchainProbeTest.java 32.66
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/LincheckToolchainProbeTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/LincheckToolchainProbeTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java 34.93
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/LincheckHarness.java 32.66
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java 32.22
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java 31.27
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java 43.18
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateLincheckTest.java 32.22
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueTest.java 30.73
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerLincheckTest.java 30.64
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java 30.73
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java 43.18
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/LincheckToolchainProbeTest.java 34.93
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateLincheckTest.java 31.27
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java 30.64
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/CommitHistorySubject.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/CommitHistorySubject.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/LongPollingMockConsumerSubject.java 36.17
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/LongPollingMockConsumerSubject.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/LongPollingMockConsumerSubject.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/CommitHistorySubject.java 36.17
parallel-consumer-examples/parallel-consumer-example-core/src/main/java/bz/stub/parallelconsumer/examples/core/CoreApp.java

📄 parallel-consumer-examples/parallel-consumer-example-core/src/main/java/bz/stub/parallelconsumer/examples/core/CoreApp.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java 37.06
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java

📄 parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java 40.1
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/integrationTests/CoreAppMetricsIntegrationTest.java 36.38
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java 35.85
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 83.83 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 83.58 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 80.34 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 80.34 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 82.33 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 82.08 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 77.49 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/integrationTests/CoreAppMetricsIntegrationTest.java

📄 parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/integrationTests/CoreAppMetricsIntegrationTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java 36.38
parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java

📄 parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-vertx/src/main/java/bz/stub/parallelconsumer/examples/vertx/VertxApp.java 69.82 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/main/java/bz/stub/parallelconsumer/examples/core/CoreApp.java 37.06
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java

📄 parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java 46.89
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java 40.1
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 83.83 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 83.58 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 80.34 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 80.34 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 82.33 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 82.08 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 77.49 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/main/java/bz/stub/parallelconsumer/examples/vertx/VertxApp.java

📄 parallel-consumer-examples/parallel-consumer-example-vertx/src/main/java/bz/stub/parallelconsumer/examples/vertx/VertxApp.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java 69.82 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 83.83 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 83.58 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 80.34 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 80.34 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 78.9 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java

📄 parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java 46.89
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java 35.85
parallel-consumer-mutiny/src/main/java/bz/stub/parallelconsumer/mutiny/MutinyProcessor.java

📄 parallel-consumer-mutiny/src/main/java/bz/stub/parallelconsumer/mutiny/MutinyProcessor.java

File Similarity (%)
parallel-consumer-reactor/src/main/java/bz/stub/parallelconsumer/reactor/ReactorProcessor.java 51.53 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java 79.04 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 50.19 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 48.48
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyPCTest.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyPCTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorPCTest.java 70.89 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyUnitTestBase.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyUnitTestBase.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorUnitTestBase.java 31.98
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 86.27 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 86.0 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 85.07 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-reactor/src/main/java/bz/stub/parallelconsumer/reactor/ReactorProcessor.java

📄 parallel-consumer-reactor/src/main/java/bz/stub/parallelconsumer/reactor/ReactorProcessor.java

File Similarity (%)
parallel-consumer-mutiny/src/main/java/bz/stub/parallelconsumer/mutiny/MutinyProcessor.java 51.53 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 79.04 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 51.78 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 50.01 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorPCTest.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorPCTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyPCTest.java 70.89 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorUnitTestBase.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorUnitTestBase.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyUnitTestBase.java 31.98
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 86.27 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 86.0 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 85.07 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 82.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 81.19 ⚠️
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 42.49
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 41.63
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 41.45
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 37.53
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 34.86
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 32.23
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 41.75
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 41.45
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 35.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 33.2
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 32.29
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 43.74
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 41.63
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java 39.96
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 43.74
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 41.75
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 37.53
parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java

📄 parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 35.53
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 31.15
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java

📄 parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 87.21 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 86.0 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 86.0 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 83.58 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 83.58 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 83.58 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 82.08 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 82.08 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java

📄 parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java 50.01 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 48.48
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 44.7

@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

🧪🔒 Quarantine Lane Report

Quarantined test Outcome Owner Meaning
PCMetricsTest.metricsRegisterBinding ⚪ not run ⚠️ unowned report missing - check the lane job
ProducerManagerTest.producedRecordsCantBeInTransactionWithoutItsOffsetDirect ⚪ not run #262 report missing - check the lane job

🔴 expected while the owner PR is open · 🟡🎲 flapper, pass proves nothing · 🚨 a deterministic quarantined test passing means its fix landed: delete its @Quarantined annotation + docs/quarantined-tests.md entry (a merge-blocking review thread has been opened). Lane: non-gating; rules: see the Quarantine Audit check.

@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

⚠️ SpotBugs Report

291 bug(s) found (rule-level exclusions only - see docs/inflight/static-spotbugs-rule-registry.md). See the annotations on the Files Changed tab for details.

@astubbs astubbs changed the title ci(chaos): let the highcpu box set its own concurrency, by its runner count ci(chaos): stop the highcpu lane discarding jobs, and trial chaos on a hosted runner Aug 26, 2026
astubbs added a commit that referenced this pull request Aug 26, 2026
365 is the fix for something this branch hit twice today: a gate was truncating
the shared clone's history on every sweep, so `git merge-base` answered exit 1
where it had answered a commit an hour earlier, and half the gates would have
judged a truncated graft while reporting green. Taking it here stops that
recurring mid-merge.

366 brings the hosted-chaos trial and, with it, #351 - which diagnosed
`OffsetEncodingBackPressureTest` (the 4/45 flake, the most frequent tracked one)
as a test that froze the offset it then asserted.

FOUR CONFLICTS, and the two that needed a decision:

- docs/quarantined-tests.md - 366 removes the back-pressure entry because #351
  released it. Taken. But the PCMetricsTest entry that stays cited it as "the
  entry above" for the shared shape of their failures, so that cross-reference is
  repaired rather than left pointing at nothing: the rhyme is now stated in the
  past tense and names #351 as the first place to look for whether the two are one
  phenomenon or two. Registry re-verified, 2 entries.
- docs/inflight/test-untracked-ci-flakes.md - 366 retires the whole "NOT
  diagnosed - quarantined anyway" section. Taken whole rather than re-adding a
  section its author deliberately removed, after confirming the durable part - why
  quarantine rule 1 changed - survives in the solutions write-up that replaced it.
- docs/ci.md and maven.yml - both sides edited the same paragraph and the same
  matrix. Kept both edits: the proto-breaking gate this branch gained from master
  stays listed beside 366's hosted-chaos job, and `continue-on-error` now honours
  both `advisory` (the execution-mode axis) and `optional` (366's experiment).
  Two names for one meaning, deliberately not unified - renaming either would edit
  the other branch's vocabulary and re-conflict when it lands.

Also fixes two SpotBugs findings the merge surfaced in SessionEndTest: an ignored
`CountDownLatch.await(timeout)` return in each of two user functions. A discarded
await cannot be told from a call whose result nobody needs, and false there means
the release never came inside the budget. Named per the repo convention rather
than thrown from, since throwing on that thread would fail the record for a reason
the test is not measuring.

Verified on the merged tree: full reactor test-compile green, bin/check-all.sh
18/18 with only check-shell-lint CANNOT (shellcheck is not installed on this box).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019HwDcZdfv1Ne4u3g6ThrG9
@astubbs astubbs changed the title ci(chaos): stop the highcpu lane discarding jobs, and trial chaos on a hosted runner ci(chaos): move chaos off the self-hosted box, and stop that lane discarding jobs Aug 26, 2026
@astubbs astubbs changed the title ci(chaos): move chaos off the self-hosted box, and stop that lane discarding jobs ci: take chaos and performance off the self-hosted box, and stop that lane discarding jobs Aug 26, 2026
@astubbs astubbs changed the title ci: take chaos and performance off the self-hosted box, and stop that lane discarding jobs ci: take chaos and perf off the self-hosted box, stop that lane discarding jobs, and run the mutation sweep nightly Aug 26, 2026
@astubbs

astubbs commented Aug 26, 2026

Copy link
Copy Markdown
Owner Author

@claude review this

Focus areas, since this PR is all CI scheduling: the risks are in what stops running, not in any code.

  1. Did anything lose its signal? Chaos moved from the self-hosted lane into maven.yml and is still gating; the per-PR Performance (optional) check was deleted as a duplicate of the required Performance Tests. Check that no suite now runs nowhere, and that no gating check quietly became advisory.

  2. The trust boundary. pr-highcpu-fast-feedback.yml lost its pull_request trigger and with it the same-repo guard that kept fork code off the self-hosted box. Confirm no remaining path lets a fork PR reach a [self-hosted, highcpu] runner, and that the instruction to restore the guard alongside any future pull_request: trigger is in the places someone would actually look.

  3. Check names are an API. Chaos Pain Suite is about to be added to the master ruleset as a required context. Verify the job name matches exactly, and that no required context in the ruleset lost its producer in this diff.

  4. The nightly exception. mutation-full-sweep.yml overrides its own header's argument for a per-merge trigger, on measured master cadence (median gap 0 minutes, 80% of gaps under the sweep runtime). Judge whether the override is argued well enough that the next reader will not simply revert it, and whether the amended rule in docs/ci.md still reads as a rule rather than a loophole.

  5. inputs.* on non-dispatch events. These expand to empty on schedule and push; I added fallbacks after the trigger change would have produced an empty target glob and a bare -Dthreads=. Check I caught all of them and that each fallback matches the dispatch default.

Deliberate and known: claude-review and review: human LGTM are red because nobody has reviewed yet.

@claude

claude Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Claude finished @astubbs's task in 5m 35s —— View job


Review complete

  • Gather context (PR body, diff, repo docs)
  • Focus 1: signal loss (chaos gating, Performance dedup)
  • Focus 2: trust boundary (fork PRs can't reach self-hosted highcpu runner)
  • Focus 3: check names as API (Chaos Pain Suite, ruleset required contexts)
  • Focus 4: nightly mutation sweep exception reasoning
  • Focus 5: inputs.* fallbacks on non-dispatch events

Reviewed by reading the actual workflow YAML at this branch's HEAD (466e23e) and walking each commit's diff of docs/ci.md, docs/self-hosted-runner.md and .github/workflows/README.md with git show. actionlint and the live ruleset (gh api .../rulesets/15055005) weren't reachable from this sandbox (network gh api calls require interactive approval here), so the checklist's actionlint claim and the "no required context lost its producer" question are verified by reading the workflow files, not independently re-run.

Finding: the nightly mutation-sweep exception was never actually written into docs/ci.md (focus 4)

The PR body, the 466e23e commit message, and docs/inflight/ci-highcpu-box-concurrency-is-runner-count.md all assert the same thing: "This is a deliberate exception to docs/ci.md's 'there is no scheduled build' rule, recorded there" / "ci.md's scheduled-lane rule now records this as a deliberate exception, with the measurement."

That edit doesn't exist. git show 466e23e --stat touches only mutation-full-sweep.yml and the inflight note — docs/ci.md is untouched by that commit, and by any commit in this PR. Checked against the live file:

  • docs/ci.md's "There is no scheduled build, deliberately" section still names exactly one exception (dependency-audit.yml's weekly scan) and says nothing about the mutation sweep.
  • The same file's self-hosted-lanes bullet still reads: "mutation-full-sweep.yml - dispatch only: the whole-project PIT sweep" — now factually wrong, since the workflow has carried a schedule: cron: '0 14 * * *' trigger since this PR's own second-to-last commit.
  • .github/workflows/README.md's one-line index still says "The whole-repo PIT mutation sweep, on demand - too slow for a PR." — never updated across any of the 8 commits.
  • docs/self-hosted-runner.md still says "mutation-full-sweep.yml (manual)" near the top and "the full sweep is manual-only in mutation-full-sweep.yml" further down.

So the amended rule this PR argues for so carefully in the commit body doesn't survive in the one place a future reader would check it, and three other docs describe a trigger that no longer matches the workflow file. Given AGENTS.md's own rule that a scheduled-build exception must be recorded rather than left to silently contradict the "no scheduled build" rule, this looks like an intended hunk that didn't make it into the diff (perhaps dropped in a rebase/squash across the mutation commits) rather than a deliberate omission — worth fixing before merge since it's exactly the kind of drift AGENTS.md flags as silent and easy to miss. Fix this →

Focus 1 — no lost signal, confirmed

  • Chaos Pain Suite in maven.yml's test matrix has no continue-on-error anywhere in its chain (job-level or matrix-level) — it gates, matching the suite it replaced. The header comment explicitly documents removing the optional/continue-on-error indirection for exactly this reason.
  • The deleted check is Performance (optional) from pr-highcpu-fast-feedback.yml, which was never required — maven.yml's required Performance Tests (same command, same args) still runs per-PR unchanged. Nothing runs nowhere; a true duplicate was removed.

Focus 2 — trust boundary, confirmed closed

grep -rn "self-hosted" .github/workflows/*.yml shows only three files pin [self-hosted, highcpu] (pr-highcpu-fast-feedback.yml, chaos-pain.yml, mutation-full-sweep.yml), and all three are workflow_dispatch/schedule only now — none carry pull_request. workflow_dispatch requires write access, so a fork PR has no path to the box. The restore-the-guard instruction is written in the removed-trigger workflow's header comment, its job-level comment, and docs/self-hosted-runner.md's "Security & trust model" section — all three agree.

One drift worth a look, lower stakes than the above: docs/self-hosted-runner.md's "What you get" bullets (near the top) and its "The highcpu runners" subsection still say "Triggered on every in-repo pull request... skipped by a same-repo guard" and "Trigger: pull_request (same-repo only) plus manual workflow_dispatch" — both stale now that the trigger is gone entirely. Not a security hole (nothing to guard since dispatch is already write-gated), but it contradicts the correctly-updated "Security & trust model" section a few hundred lines later in the same file, which could confuse whoever reads top-to-bottom into thinking a same-repo guard still exists.

Focus 3 — check names, confirmed clean

Chaos Pain Suite was never a required context before this PR (chaos previously ran self-hosted, non-required), so nothing in the master ruleset loses its producer. Performance (optional) was never required either. Making Chaos Pain Suite required is correctly deferred to a follow-up, per docs/ci.md's stated ordering rule (removals-then-additions) — consistent with what's in this diff.

Focus 5 — inputs.* fallbacks, confirmed correct

All three inputs.* reads in mutation-full-sweep.yml's run step (target-classes, target-tests, threads) have || fallbacks, and each fallback literal matches the corresponding workflow_dispatch.inputs.*.default exactly (threads intentionally diverges per-arm via matrix.threads, as stated). chaos-pain.yml's bare inputs.seed/inputs.reps don't need one — that workflow is still dispatch-only.
· branch ci/highcpu-box-exclusive-queue-evicts-runs

@astubbs astubbs left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Just waiting on the mutation testing outcome to see what we do with the full mutation pass.

Comment thread docs/inflight/ci-required-status-checks-need-updating.md Outdated

@astubbs astubbs left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

lgtm

astubbs and others added 2 commits August 26, 2026 16:06
Nothing triggered by a pull request touches the `[self-hosted, highcpu]` runner
any more, so an offline box cannot leave a check pending on anybody. The per-PR
lane is deleted outright; what remains there is dispatch- and schedule-only.

THE MEASUREMENT THAT STARTED IT. Every `box-exclusive` matrix entry sat in a
concurrency group keyed on the LITERAL CONSTANT `highcpu-box-exclusive` with
`cancel-in-progress: false`. No ref in the key means one repo-wide queue, and
GitHub holds one run in progress plus AT MOST ONE pending - so a third arrival
evicts whoever was waiting. Measured over 16 runs across 9 branches: 26 of 32 box
jobs never executed a single step, while five of six runners sat idle. Classified
by `steps == 0`, which separates evicted-while-pending from cancelled-mid-run; the
raw `conclusion=cancelled` count cannot tell those apart, and `gh pr checks`
renders both as **fail**, so an absent measurement wore the costume of a failing
one.

`docs/inflight/ci-chaos-lane-serialised-confirm-no-coresidency.md` predicted this
exactly - "if it is not zero, the group key is still wrong, reopen with the
counts" - and is deleted here, answered.

THE PREMISE DID NOT SURVIVE MEASUREMENT, which is why this goes further than
fixing the key. Chaos was on the box because it supposedly needs many real cores.
Trialled head-to-head on the SAME commit, both green: hosted 13m59s, self-hosted
12m16s. 14% of wall-clock does not buy a shared physical machine, and the sharing
is what produced every scheduling problem this lane has had - a hosted runner
gives each job its own VM, so co-residency cannot occur at all. Corroborating it:
`bin/chaos-test.sh` needed NO change to move, because it passes no forkCount and
no `-Dparallel-tests`, so the suite was never configured to exploit those cores.

Chaos stays GATING in its new home. A chaos RED is a real finding, and the suite
it replaces was not advisory either. Making the check REQUIRED is a separate act
on the master ruleset and must wait until the job exists on master, or every PR
sits pending on a context no run produces.

Performance needed no trial: it was ALREADY running hosted as the required
`Performance Tests` check, so the self-hosted copy was a non-gating duplicate of a
gating one - the same test that removed Unit and Integration from this lane.

A REGRESSION CAUGHT WHILE DELETING IT. The deleted workflow was uploading the
failsafe XML artifact; `maven.yml`'s chaos entry only uploaded Codecov coverage.
Moving chaos would have silently dropped the test reports that
`docs/inflight/bug-857-family.md` and the log-truncation write-up rely on for
diagnosis. Restored as a chaos-only upload step.

Sixteen files referenced the deleted workflow. Dated `docs/plans/` records keep
their original wording behind `file-refs: N/A` markers naming the recovery
commit, per `docs/citations.md`; live docs are repointed. The workflows README
loses its row entirely rather than describing a file that is gone - it had been
left saying "dispatch only" by an earlier revision of this branch, which the
deletion two commits later never caught up with, and no gate sees it because a
backticked name in a table cell is not a link.

What the box still carries is dispatch- and schedule-only, and whether it earns
its keep at all is left open in
`docs/inflight/ci-highcpu-box-concurrency-is-runner-count.md` rather than settled
here. The concurrency group goes from the remaining workflows too: a nightly
sweep and a dispatched chaos hunt could still evict each other.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The whole-repo PIT sweep was `workflow_dispatch` only, and had been dispatched
once in three weeks. A lane nobody triggers measures nothing, and its own open
note recorded a mutation score that no run has re-tested since.

WHY NIGHTLY RATHER THAN PER-MERGE. A sweep is only useful if it finishes, and a
push to master while one is running kills it. So the question is how long a push
has to arrive within - and 83% of the last 59 master-commit gaps are under this
lane's job-elapsed runtime. Per-merge would abort most of the time at this repo's
merge rate; a nightly run collides with nothing.

THE FIGURE THAT ARGUMENT RESTS ON WAS MISLABELLED, AND IS CORRECTED HERE FIRST.
`docs/inflight/ci-mutation-testing.md` recorded 21m55s under the heading "Wall
clock". Its own neighbouring line disproves that - the coverage pass is "311s of
1315s", and 1315s IS 21m55s - so the row was always the PIT phase, not the job.
The single prior sweep actually ran:

  run wall, including ~9m22s queueing   40m50s
  JOB ELAPSED                           31m27s
  PIT/maven phase (`time ./mvnw`)       21m55s

Three different readings of one run, all quoted as if interchangeable, because
none said which clock it was on. Corrected with the table, and the note now says
to use JOB ELAPSED for scheduling questions, since that is what a push must
outrun. Recomputed properly the nightly argument gets stronger, not weaker: 83%
under 31m27s, where the mislabelled figure gave 80% under ~22 min.

`n=1` is stated explicitly. One observation supports order-of-magnitude and
nothing tighter, and the mutation SCORE is the sturdier half of that baseline
because it does not depend on which clock anyone picked up.

A HOSTED TRIAL ARM runs alongside, the same experiment that settled the chaos
question in the previous commit: if the sweep does not need the box either, the
box has nothing per-PR and nothing scheduled left to justify it. The hosted arm
has fewer cores, so extrapolate from job-elapsed on both sides - this baseline
has already been misread three times by mixing clocks, and a slow hosted result
read against the PIT-phase number would look like a failure that is not one.

Also fixes empty `inputs.*` on a non-dispatch trigger: `schedule` and `push`
supply no inputs, so every input needed a fallback matching its dispatch default
or the sweep would have run with empty arguments.

The docs said "there is no scheduled build, deliberately". That rule now has an
exception and says so, rather than being quietly contradicted by a workflow.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@astubbs
astubbs force-pushed the ci/highcpu-box-exclusive-queue-evicts-runs branch from 5d47791 to 544b1c7 Compare August 26, 2026 04:08
…mplate whether the review skills ran

Both are process rules with no gate behind them, so they go where every agent
session reads them rather than into a topic doc.

NEVER PUT PROSE IN A SHELL STRING. This branch corrupted a markdown table with a
`|` used as a perl delimiter, truncated a commit message on an apostrophe, and
executed backticks out of an unquoted heredoc - three times, in one branch, after
the trap was already documented. The reason it kept recurring is the part worth
writing down: the breakage is in the FISH layer above bash, so quoting the
heredoc body does not save you, and every fix aimed at the bash layer left the
real cause untouched. Write prose to a file and pass the file.

ASK WHETHER `ce-simplify` AND `ce-code-review` WERE RUN, and accept a reasoned
no. The PR template gets the question rather than a requirement, because a
documentation-only change legitimately stops `ce-simplify` at its preflight and
a box that can only be ticked invites ticking it. A stated "no, because X" is
worth more than an unexamined tick, and the checklist gate accepts an `N/A` with
a reason for exactly that shape.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@astubbs
astubbs force-pushed the ci/highcpu-box-exclusive-queue-evicts-runs branch from 544b1c7 to adec55a Compare August 26, 2026 04:13
@astubbs
astubbs merged commit f047253 into master Aug 26, 2026
14 of 18 checks passed
@astubbs
astubbs deleted the ci/highcpu-box-exclusive-queue-evicts-runs branch August 26, 2026 04:14
astubbs added a commit that referenced this pull request Aug 26, 2026
…ely are not (#368)

Three ruleset edits were made on 2026-08-26 - `Chaos Pain Suite` promoted once it
reached master, `static: infer` promoted, and a bare `spotbugs` context removed.
Those are repository SETTINGS, so no commit can carry them and nothing goes red
when the list drifts. What a commit can carry is the reasoning, which is the half
that would otherwise be re-derived.

WHY THE REASONING IS THE DURABLE PART. The list of required contexts is a command
away and is deliberately not written down here. What no command answers is why
four checks are deliberately NOT required, each of which looks like an obvious
promotion until you try it:

  - `Mutation Tests (PIT, PR-scoped)` is `continue-on-error: true`, so its
    check-run CONCLUSION is success even when the step fails. The row reddens; a
    required check reads the conclusion. Requiring it today gates nothing at all.
  - `Performance (optional)` is on a dispatch-only lane, so the context never
    appears on a PR - requiring it would block every PR permanently.
  - `compat: kafka 4.x (experimental)` is `if: false`.
  - `full build (master)` is push-only.
  - The three `Analyze (...)` jobs are already covered by the required `CodeQL`
    aggregate.

TWO ORDERING TRAPS, recorded because both have already happened here. A required
context that no run produces leaves every PR pending until it merges master, which
is why a check is promoted only after its job is on master. And the ruleset keeps
the OLD name when a job is renamed: that is how a bare `spotbugs` outlived the job
that became `static: spotbugs`, sitting required with no producer - blocking
nothing visibly, and passing never.

A THIRD, NEWLY RELEVANT: a skip does not satisfy a required check, it waits. So a
job that can legitimately have nothing in scope should report success rather than
skip before anyone requires it. `static: infer` has skipped on some runs and is
now required, so that is a live risk rather than a hypothetical one.

`Chaos Pain Suite` was promoted WITHOUT the bake-in period the retired note
advised, deliberately and on the owner's call: a red chaos check is a real finding
and will be fixed as one. Written down because the advice and the decision
disagree, and a future reader finding it red should investigate the bug rather
than assume the gate was promoted too early.

This retires `docs/inflight/ci-required-status-checks-need-updating.md`, whose
three edits are now made. That note never reached master - it was excluded from
#366 because it described work that PR was landing, which
docs/inflight/AGENTS.md forbids, and it then existed only as an untracked file
behind a local `.git/info/exclude` entry. One `rm -rf` of a worktree would have
destroyed the only copy.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Aug 26, 2026
Nothing else asks it. The tracker is not in the diff, so a PR that finishes an
issue without saying so leaves it open for someone to rediscover, and the checklist
had no line covering that.

THE HALF THAT MATTERS IS THE PARTIAL CASE, because closing on a partial fix is
where the damage is - the remaining work goes with it. #41 is the worked
example and the reason this rule exists: its reopening comment lists four remaining
items, #366 did the first, and "366 closes 41" was a
reasonable-sounding read that would have taken the other three - widening the
mutation target, verifying excludedGroups, and the licence-blocked history plugin
- with it.

That issue also shows the second half: #366 did item one
AGAINST the issue's stated preference, refuting "prefer push-on-master over a cron"
with a measurement of this repo's actual merge rate. The recommendation lives on the
issue and the evidence does not, so the disagreement has to be recorded there or the
next reader re-derives it.

The closing keyword needs the fully qualified form - Fixes #167 closes
nothing - which docs/issue-references.md already owns and this only points at.

docs/inflight/issue-index.md, added in this PR, is what makes the check cheap: grep
it for the area the PR touches. The rule names its staleness in the same breath,
because an index that gets treated as state is the failure it was written to avoid.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Aug 26, 2026
Nothing else asks it. The tracker is not in the diff, so a PR that finishes an
issue without saying so leaves it open for someone to rediscover, and the checklist
had no line covering that.

THE HALF THAT MATTERS IS THE PARTIAL CASE, because closing on a partial fix is
where the damage is - the remaining work goes with it. #41 is the worked
example and the reason this rule exists: its reopening comment lists four remaining
items, #366 did the first, and "366 closes 41" was a
reasonable-sounding read that would have taken the other three - widening the
mutation target, verifying excludedGroups, and the licence-blocked history plugin
- with it.

That issue also shows the second half: #366 did item one
AGAINST the issue's stated preference, refuting "prefer push-on-master over a cron"
with a measurement of this repo's actual merge rate. The recommendation lives on the
issue and the evidence does not, so the disagreement has to be recorded there or the
next reader re-derives it.

The closing keyword needs the fully qualified form - Fixes #167 closes
nothing - which docs/issue-references.md already owns and this only points at.

docs/inflight/issue-index.md, added in this PR, is what makes the check cheap: grep
it for the area the PR touches. The rule names its staleness in the same breath,
because an index that gets treated as state is the failure it was written to avoid.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Aug 26, 2026
Nothing else asks it. The tracker is not in the diff, so a PR that finishes an
issue without saying so leaves it open for someone to rediscover, and the checklist
had no line covering that.

THE HALF THAT MATTERS IS THE PARTIAL CASE, because closing on a partial fix is
where the damage is - the remaining work goes with it. #41 is the worked
example and the reason this rule exists: its reopening comment lists four remaining
items, #366 did the first, and "366 closes 41" was a
reasonable-sounding read that would have taken the other three - widening the
mutation target, verifying excludedGroups, and the licence-blocked history plugin
- with it.

That issue also shows the second half: #366 did item one
AGAINST the issue's stated preference, refuting "prefer push-on-master over a cron"
with a measurement of this repo's actual merge rate. The recommendation lives on the
issue and the evidence does not, so the disagreement has to be recorded there or the
next reader re-derives it.

The closing keyword needs the fully qualified form - Fixes #167 closes
nothing - which docs/issue-references.md already owns and this only points at.

docs/inflight/issue-index.md, added in this PR, is what makes the check cheap: grep
it for the area the PR touches. The rule names its staleness in the same breath,
because an index that gets treated as state is the failure it was written to avoid.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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