Skip to content

docs(tests): audit every test that does not run, assert, or exist - #263

Merged
astubbs merged 11 commits into
masterfrom
chore/audit-inactive-tests
Aug 12, 2026
Merged

astubbs merged 11 commits into
masterfrom
chore/audit-inactive-tests

Conversation

@astubbs

@astubbs astubbs commented Aug 7, 2026 •

Copy link
Copy Markdown
Owner

Description

grep @Disabled returns 7. Five of those are real disabled tests, and four of the five record no reason at all. Nothing on master said so, and the last person to write this down put it on a branch nobody could find.

This lands a per-test audit of every test that does not run, does not assert, or was never written - with each finding traced to evidence rather than suspicion - and fixes the two ledger entries that buried its predecessor.

The answers, up front:

Question Answer
Disabled tests 5 - not 7. One grep hit is javadoc inside our own @Quarantined; one is @DisabledOnOs(OS.WINDOWS) on an abstract harness that skips nothing on any machine we build on.
Why 1 of 5 says. ProgressBarTest.width carries "For reference sanity only". The other four have no annotation message and no comment.
Empty tests 1
Placeholders 4 - a trivially-false stub, a name that promises what its body never does, one abandoned mid-write, one diagnostic that cannot fail
Never written 10 deleted by confluentinc#493 - of which only 1 is still worth writing

Two categories nobody asked about, because an annotation grep cannot see them and they are the ones that actually mislead: 15 of 292 tests assert nothing, and OffsetEncodingTests reports green with most of its assertions branched away by a helper named assumeWorkingCodec that is not an assumption.

What the evidence turned up

The two long-dark core tests were both disabled by one commit - c1fefbc64 "Create and commit offset map", 2020-08-27 - which rewrote commit-assertion semantics across that whole file. git blame gives the wrong answer here (a 2021 reformat moved the lines); it took git log -S to find. An abandoned branch, bugs/turn-on-commit-tests, names the cause outright: "Turn back on offset commit tests which were dibbled when the offset map feature was added". Somebody already tried the cheap un-disable and stopped at WIP.

The real coverage gap is narrower than "key ordering is untested" and worse than it looks: nothing asserts, end-to-end and per-CommitMode, that offset commits respect key-order blocking across partitions.

Why the ledger changes are part of this

A 455-line audit of adjacent scope has existed since 2026-04-22 and has never been read. It lives only on refactor/test-hardening, has no PR anywhere, and is referenced in exactly two places that do not mention it - docs/refactoring.md describes that branch by its other commit, and docs/inflight/branch-stale-and-diagnostic.md files it under Superseded, on the safe-to-delete list.

It did not rot because its numbers drifted. It rotted because it was filed under a description that did not describe it, on a branch queued for deletion. This absorbs its contents, corrects the two reasons its own git history refutes, and fixes both entries.

On this document's own accuracy

The audit was fact-checked adversarially and eight of its numbers were wrong, including one that reported an open defect as fixed. All corrected in a follow-up commit here, with the cause named in the commit message: counting raw grep hits instead of enumerating what matched - the exact error the document opens by warning about. The reproduction commands now enumerate annotation shapes rather than trusting a hard-coded whitelist.

Deliberately not built

A generated docs/INACTIVE_TESTS.md with a --check staleness gate, in the shape of bin/todo-index.sh. It matches repo convention, but it does not address why the predecessor was lost, and its gate would fail the PR Checklist job on any open PR touching a test annotation. Recorded as follow-up.

No test behaviour, assertion, timeout or volume changes in this PR. Records only.

Checklist

  • Docs updated - or N/A
  • Tests added/updated - N/A - documentation only; this PR deliberately changes no test
  • Title & body reflect the final content of this PR
  • Self-hosted runner / security implications considered - N/A - touches no CI runners or workflows

astubbs and others added 3 commits August 8, 2026 02:23
Answers four questions with per-test evidence: 5 tests are @disabled (not the
7 a raw grep returns - one hit is javadoc, one is a @DisabledOnOs platform
guard), 1 has an empty body, 4 are placeholders, and 4 more were deleted rather
than implemented by confluentinc#493 while the branch that would have written
them never merged.

Only 1 of the 5 disabled tests records why. The two core ones were both
disabled by c1fefbc "Create and commit offset map" in 2020 and have been dark
since; the real gap is the end-to-end per-CommitMode assertion that offset
commits respect key-order blocking.

Also records two categories nobody asked about because an annotation grep
cannot see them: 15 of 289 tests assert nothing, and OffsetEncodingTests
reports green with most of its assertions branched away by a helper named
assumeWorkingCodec that is not an assumption.

Absorbs docs/test-hardening/disabled-and-weakened-tests-audit-2026-04-22.md,
which existed only on the unmerged refactor/test-hardening branch, and corrects
the two reasons its own git history refutes. Findings are keyed by class and
method rather than line number - that predecessor's line numbers had drifted
~22 lines in four months.

Records only. No test behaviour, assertion, timeout or volume is changed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SizQDD2hVUjD7EhESe9Hkb
A 455-line audit of disabled, kneecapped and weakened tests sat unread on
refactor/test-hardening for four months. Not because it was wrong - because
docs/refactoring.md described that branch by its OTHER commit ("OOM diagnostics
for LargeVolumeInMemoryTests at 1M") and never mentioned the audit, while
docs/inflight/branch-stale-and-diagnostic.md filed the branch under Superseded,
i.e. safe to delete. The only copy of unique content was on the delete list,
indexed under a description that did not describe it.

Both entries now say what the branch actually holds and where the content went.
The branch is genuinely safe to delete once its 1M/OOM commits are salvaged.

Also corrects the origin/refactor/empty-tests entry: its removal half landed on
master via confluentinc#493, so only the implement half is still open, and the
four tests it would restore are now named.

Adds the deferred work the audit found to the refactoring backlog - the
@timeout(60000L) unit bug, the assumeWorkingCodec misnomer, the JUnit 4
Assume on the Jupiter classpath, and the key-order commit coverage gap - plus
an AGENTS.md pointer so the next agent finds docs/test-hardening/ without
knowing it exists.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SizQDD2hVUjD7EhESe9Hkb
An independent falsification pass against the audit found the evidentiary spine
sound - every git attribution survived, including the two hardest - but the
counting was not publishable. Corrected here:

- confluentinc#493 deleted TEN tests, not four. The six omitted were the most
  substantive intent in the commit: dead-letter queue, retry ordering, and
  in-flight backpressure. Also names confluentinc#494, the second follow-up
  that never merged, and records that only 3 of the 10 ever got
  NotImplementedException stubs on the restore branch.
- Denominator was 289; it is 292 (301 with @archtest). @CartesianTest
  contributes 3 methods in TransactionAndCommitModeTest and is meta-annotated
  @testtemplate, so "zero @testtemplate" was true only of the literal string.
- LargeVolumeInMemoryTests was recorded as fixed by PR #49. It is NOT fixed:
  master still runs 500 messages with 1_000_000 commented out, and PR #49 never
  touched the file. The predecessor audit carried a caveat to re-check this
  before flagging, and dropping that caveat is how an open defect became a
  closed one. This was the worst error in the document.
- Quarantine script subclasses hold 27 tests, not 29; assumeWorkingCodec has 5
  call sites, not 6; assumption aborts are 5 sites, not 6; the example modules
  have 6 test methods, not 9.
- 9.4 claimed ~15s of unfailable sleep; ProgressBarTest is @disabled and costs
  nothing, so it is ~5s.
- 8.5 refuted a "Short superseded Long" claim the predecessor never made - that
  was a hypothesis raised during investigation, now labelled as such.

Three of the wrong counts came from one habit: counting raw grep hits instead
of enumerating what matched, which is the exact error the document opens by
warning about. The reproduction command has been replaced with one that
enumerates annotation shapes rather than trusting a hard-coded whitelist.

Also stops underselling existing key-order coverage: TransactionAndCommitModeTest
runs the full CommitMode x ProcessingOrder cross-product including KEY. The
central gap claim survives anyway - those tests assert counts, not committed
offsets, and run on one partition.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SizQDD2hVUjD7EhESe9Hkb
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Dependency Review

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

Scanned Files

None

@github-actions

github-actions Bot commented Aug 7, 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 28 28 ➖ 0
Duplicated lines 850 850 ➖ 0
Duplication 2.46% 2.46% ➖ 0
Rule Limit Status
Max duplication 5% ✅ Pass (2.46%)
Max increase vs base +0.1% ✅ Pass (+0.00%)

No new clones introduced by this PR.

✅ jscpd (language-agnostic)

PR Base Change
Clones 75 75 ➖ 0
Duplicated lines 1060 1060 ➖ 0
Duplication 3.10% 3.10% ➖ 0
Rule Limit Status
Max duplication 5% ✅ Pass (3.10%)
Max increase vs base +0.1% ✅ Pass (+0.00%)

No new clones introduced by this PR.

Powered by astubbs/duplicate-code-cross-check

@claude

claude Bot commented Aug 7, 2026 •

Copy link
Copy Markdown

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


Review complete

  • Gather context (diff, changed files, CLAUDE.md)
  • Understand request (custom instruction: run /code-review skill with --comment)
  • Run code review
  • Post findings

This is a documentation-only PR (audit doc + plan doc + two ledger edits + one AGENTS.md table row), so the review focused on fact-checking the diff's falsifiable claims against source/git history, plus cross-file link/consistency checks (5 parallel verification agents).

Nearly everything checked out. All disabled-test attributions, commit hashes/dates, code snippets (empty test bodies, commented-out assertions, assumeWorkingCodec, the @Timeout(60000L) unit bug, the 30_000_00 typo, quarantine counts, the 292-method denominator, the 15-assert-nothing table arithmetic, and markdown links) verified as accurate.

One confirmed finding, posted as an inline comment:

  • docs/plans/2026-08-08-001-chore-inactive-test-audit-plan.md:405 (also lines 141-142, 355, 367-368) — Requirement R19 calls for adding an AGENTS.md Testing-section pointer to the new audit ("in the style of the existing TODO_INDEX.md and quarantine pointers, so the next agent finds it without knowing it exists"), and the plan's own Definition of Done / Verification sections assert this was done. It wasn't — the actual AGENTS.md diff only adds a row to the docs-map table (## Where things live), while the ## Testing section (lines 142-191) has no mention of docs/test-hardening/ or the audit at all. That reproduces, for the next agent reading the Testing section, exactly the discoverability failure this PR's own description blames for the predecessor audit going unread for four months.

Inline comment: #263 (comment)

@github-actions

github-actions Bot commented Aug 7, 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
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 53.81 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 39.21
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java 36.06
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 35.85
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 34.16
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 33.77
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 33.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 33.49
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 61.2 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 54.91 ⚠️
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 40.45
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 37.18
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 32.8
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 31.53
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 61.2 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 50.92 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 36.9
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 32.55
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 31.76
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 30.31
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 36.06
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 32.62
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 53.81 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 52.35 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 43.82
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 33.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 33.13
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java 30.71
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 32.29
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 54.91 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 50.92 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 45.59
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 34.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 32.96
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java 31.19
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 45.59
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 37.18
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 36.9
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 32.7
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 35.85
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 32.48
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 34.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java 33.23
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 32.8
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java 32.48
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 31.76
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 35.85
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 33.23
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/main/java/bz/stub/parallelconsumer/internal/BrokerPollSystem.java 33.29
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 32.96
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.29
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.57
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 59.84 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 52.35 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 51.39 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 47.64
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java 39.62
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 39.21
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 36.19
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java 32.62
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 32.2
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 32.2
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 39.62
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 31.36
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 30.71
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/test/java/bz/stub/parallelconsumer/internal/PCModuleTestEnv.java 32.21
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 32.29
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 30.67
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 35.39
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java 33.31
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 39.59
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java 35.39
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 50.83 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 36.19
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 35.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 35.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 34.16
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 33.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 32.41
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 59.84 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 50.83 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 48.59
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 45.84
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 45.84
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 45.33
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 43.82
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 35.85
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalRuntimeException.java 31.36
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.64
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 45.33
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 45.06
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 36.08
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 36.08
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 51.39 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 48.59
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 45.06
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 33.77
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 33.13
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 32.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 30.38
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 30.38
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 62.06 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 45.84
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 36.08
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 35.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 33.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 32.2
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 30.38
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 62.06 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 45.84
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 36.08
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 35.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 33.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 32.2
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 30.38
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 30.22
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 39.69
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java 30.22
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 36.73
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 36.73
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 39.69
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/BrokerIntegrationTest.java

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

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/state/LatestResetTailNudgeIT.java 30.41
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/DrainingMemberRebalanceIT.java

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

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/BrokerPollSystemDrainTest.java 31.11
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 34.16
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 55.42 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 47.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 38.67
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 44.17
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 41.14
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 38.67
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 36.35
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 36.35
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 60.71 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 47.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 41.14
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionTimeoutsTest.java

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

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 30.71
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/TransactionAndCommitModeTest.java 60.71 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 55.42 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 44.17
parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java 39.08
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/ChaosChurnStormIT.java 48.7
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 35.54
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/AbstractRevokeUnderWorkScenario.java 48.7
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 38.0
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 49.03
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 49.03
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 35.54
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/ChaosChurnStormIT.java 38.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/state/LatestResetTailNudgeIT.java

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

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/BrokerIntegrationTest.java 30.41
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.66
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 49.8
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java 48.01
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/MockConsumerTest.java 32.39
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java 32.31
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 52.02 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 50.75 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 44.83
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/BatchTestBase.java 30.66
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/MockConsumerEarlyCloseTest.java 70.15 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTest.java 56.45 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java 49.42
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java 32.31
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerEarlyCloseTest.java

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

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java 70.15 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTest.java 54.86 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java 52.85 ⚠️
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/MockConsumerEarlyCloseTest.java 52.85 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java 49.42
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTest.java 46.72
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTest.java

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

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java 56.45 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerEarlyCloseTest.java 54.86 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java 46.72
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java 32.39
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.75
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.75
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 49.8
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java 33.36
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 48.01
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java 33.36
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 90.22 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 89.55 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 89.55 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/BrokerPollSystemDrainTest.java

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

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/DrainingMemberRebalanceIT.java 31.11
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 32.21
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java

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

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionTimeoutsTest.java 30.71
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java 30.67
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 31.19
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 39.59
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java 33.31
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 34.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 39.23
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 39.23
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.44
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.44
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 52.2 ⚠️
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.03 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 50.75 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 49.09
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 71.14 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyTest.java

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

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorTest.java 32.55
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 32.31
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-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 91.02 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 90.35 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 89.55 ⚠️
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 52.2 ⚠️
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.03 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 52.02 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 50.3 ⚠️
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 71.14 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorTest.java

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

File Similarity (%)
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyTest.java 32.55
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 32.31
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-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 91.02 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 90.35 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 89.55 ⚠️
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-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 41.52
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 40.45
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 39.9
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 35.46
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 32.55
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/JStreamVertxParallelEoSStreamProcessor.java 39.9
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 39.37
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 32.7
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 31.53
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 30.31
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 41.66
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 41.52
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java 39.57
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 41.66
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 39.37
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 35.46
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 39.08
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-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 91.02 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 91.02 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 90.22 ⚠️
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.3 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 49.09
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 44.83

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

✅ SpotBugs Report

No bugs found (new bugs only — baseline from base branch excluded).

Comment thread docs/plans/2026-08-08-001-chore-inactive-test-audit-plan.md
The issue-reference gate caught three bare numbers below #1000 on added lines,
and it is right to: the fork's numbering sits inside upstream's range, so a bare
number is a coin flip.

- "PR #49" (twice, in the audit and the backlog) is a fork PR: #49.
- "(#190)" was quoted verbatim from a squashed commit subject, which is exactly
  how an upstream number leaks in looking innocent. Reworded so the quote stops
  at the subject and the number is cited as confluentinc#190 outside it.

bin/check-issue-refs.sh now passes on this branch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SizQDD2hVUjD7EhESe9Hkb
@claude

claude Bot commented Aug 7, 2026 •

Copy link
Copy Markdown

Claude finished @astubbs's task in 1m 43s —— View job


Review complete

  • Gather context (diff, changed files, prior review comment)
  • Understand request (custom instruction: run /code-review skill with --comment)
  • Run code review
  • Post findings

This PR was synchronized with one new commit, e22dae18 ("docs(tests): qualify the issue references the gate flagged"), since my last review. It touches only docs/refactoring.md and docs/test-hardening/inactive-tests-audit-2026-08-08.md — reworking two "PR #49" / "(#190)" references so they're repo-qualified (astubbs#49, confluentinc#190) per the issue-ref gate. I checked this against .github/scripts/issue-ref-gate.js's qualifying regex and against the surrounding prose (already fact-checked in my prior pass): the rewording is accurate, doesn't change the underlying claim, and satisfies the gate.

The one finding from my previous review is still open — nothing in this new commit touches AGENTS.md or the plan doc:

  • docs/plans/2026-08-08-001-chore-inactive-test-audit-plan.md:405 (also lines 141-142, 355, 367-368) — R19 calls for an AGENTS.md ## Testing-section pointer to the new audit ("in the style of the existing TODO_INDEX.md and quarantine pointers, so the next agent finds it without knowing it exists"), and the plan's Definition of Done / Verification sections assert this was done. It wasn't: the AGENTS.md diff (still just +1/-0) only adds a row to the docs-map table under "Where things live" (line 20); the ## Testing section (lines 142-191) has no mention of docs/test-hardening/ or the audit. That reproduces, for the next agent reading the Testing section, the exact discoverability failure this PR's own description blames for the predecessor audit going unread for four months.

No other issues found — the rest of the diff (ledger corrections, the 640-line audit doc, the 409-line plan doc) checks out as it did in the previous pass.

astubbs added a commit that referenced this pull request Aug 10, 2026
…y PR

The data is hand-written and a documentation generator reads it, so a
malformed file or a missing required field produces a broken generated page
rather than a loud error - and the failure reaches a reader rather than the
author. bin/check-docs-data.sh parses every file, checks it declares a kind
the schema knows, checks the fields that kind requires are present, and
checks any readme_anchor resolves to a real anchor in the template.

Structure only, deliberately. Nothing can check whether the claims are true,
and a gate that implied otherwise would be worse than no gate.

Verified by negative control rather than by assumption: emptying a required
field turns it red with a named finding, restoring it turns it green. It
also passes the repo's own script gates for sigpipe and copyright headers.

Also records the disabled-test release gate as an inflight entry pointing at
#263, which is auditing every test that does not run, assert or
exist. No separate work needed there.
astubbs added a commit that referenced this pull request Aug 10, 2026
0.6.0.0 does not ship while any test is disabled. The four carrying
@disabled all predate the fork and one is a stub whose body asserts false,
so it is inherited debt rather than a rule being broken - but the testing
data asserts flake discipline, and a reader who greps for @disabled a minute
later is exactly who it is written for. Quarantining does not clear the gate,
since a release is separately blocked while the registry is non-empty.
Tracked by #263, so no separate work is needed.

maxFailureHistory is settable and read nowhere in the tree. Its feature
record was written and then removed rather than shipped, because a page for
it would tell a user to configure something inert. Recorded as a defect with
the decision it needs: implement the retention, or remove the option, the
latter being an API change belonging with 1.0 settlement.

The Connect and Streams records are held until their modules exist, rather
than shipping a Maven coordinate that will not resolve.

And the 1.0 release train issue needs grooming: it has not been touched in
years, and once the roadmap data owns 1.0 it becomes a stale second account
on the public tracker. Its big-picture items moved to the data; the
shared-nothing refactor and removing the streaming interfaces are backlog
rather than gates, since the thread complexity the first was raised for has
largely been fixed.
@github-actions

github-actions Bot commented Aug 12, 2026 •

Copy link
Copy Markdown

🧪🔒 Quarantine Lane Report

Quarantined test Outcome Owner Meaning
PCMetricsTest.metricsRegisterBinding 🔴 failing (expected) #265 quarantine holding
ProducerManagerTest.producedRecordsCantBeInTransactionWithoutItsOffsetDirect 🟡🎲 passed (flapper) #262 proves nothing - passes most runs by nature
OffsetEncodingBackPressureTest.backPressureShouldPreventTooManyMessagesBeingQueuedForProcessing 🟡🎲 passed (flapper) ⚠️ unowned proves nothing - passes most runs by nature

🔴 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.

astubbs added a commit that referenced this pull request Aug 12, 2026
Both branches now have master merged. Records the merge order, the
AGENTS.md and TODO_INDEX rename conflicts already resolved (so they are
not re-litigated), the three units blocked on #260, and two things a
reader would otherwise get wrong: the audit's quarantine count has
drifted since it was written, and the core unit suite was not re-run
locally after the merge.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L6PnsPmbwjazSu13M8JYm5
The plan's R19 asked for a pointer to `docs/test-hardening/` inside AGENTS.md's
`## Testing` section, "in the style of the existing todo-index.md and quarantine
pointers, so the next agent finds it without knowing it exists". What shipped was
only the docs-map table row under "Where things live" - the Testing section, which
is where an agent debugging a dark test actually reads, said nothing about the
audit. The plan's Definition of Done nonetheless claimed the pointer was added.

That is the exact discoverability failure this audit exists to fix: its 2026-04-22
predecessor rotted unread for four months because nothing pointed at it from the
path an agent walks.

Adds the bullet alongside the quarantine one, and names the current dated audit so
the reader lands on a file rather than a directory listing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Aug 12, 2026
The handoff note added in 2d5c5b3 cited both PRs as bare `#263`/`#264`, which is
exactly what the PR Checklist issue-ref gate forbids: this fork's numbers sit inside
confluentinc's range, so a bare number is a coin flip on which repo it means. The
gate flagged 13 of them and went red on this PR - a document about the stack's merge
readiness was itself the thing blocking the merge.

Qualifies every reference as `astubbs#NN`, the form the gate strips.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…hanges)

Directory move only, so every path is 100% similar and git's exact-rename detection
cannot fail on it. The content edits follow in the next commit.

Generated by bin/rename-packages.sh.
Text edits only. No file moves in this commit, so it cannot dilute the rename
detection in its parent.

Generated by bin/rename-packages.sh.
…e-tests

# Conflicts:
#	README.adoc
#	bin/rename-packages.sh
#	parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionRules.java
#	src/docs/README_TEMPLATE.adoc
astubbs added a commit that referenced this pull request Aug 12, 2026
…ediation

Ancestry only - this merge changes no file. `git diff` against the previous
commit is empty, so the tree is byte-identical to the one verified above.

The PR read CONFLICTING against its own base because #263 and #264 had each run
the io.confluent -> bz.stub rename independently, giving the same move two
unrelated histories with no common ancestor to reconcile them. Merging master
(#294) into this branch supplied that ancestor: master's rename is now in both
lines, so the duplicate moves reconcile and the base merges clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@astubbs
astubbs merged commit f5fce5a into master Aug 12, 2026
31 checks passed
@astubbs
astubbs deleted the chore/audit-inactive-tests branch August 12, 2026 23:39
astubbs added a commit that referenced this pull request Aug 12, 2026
…remediation

#263 was squash-merged, so GitHub retargeted this PR onto master and the
content this branch already carried came back as three add/add and content
conflicts - the squash gave the same documents a second, unrelated history.
master also gained #260 and #277.

All three conflicts are the same shape: master's copy is #263's merged
state, and this branch's copy is that state plus the corrections made here
afterwards. Verified rather than assumed - master's audit is byte-identical to
#263's tip, and nothing was lost on master.

- inactive-tests-audit-2026-08-08.md: kept this branch's copy. master's is the
  earlier draft; this one carries the "Corrected 2026-08-08" pass (the nine
  restated claims, the §4 rewrite, the disposition of all ten deleted stubs).
- refactoring.md: kept this branch's copy. Taking "both sides" would have been
  wrong here - master still lists the three `@Timeout(60000L)` annotations as
  work, which this branch deliberately moved to "Not listed as work" because
  #206 owns them, recording that `@Timeout(60)` would have been wrong
  (two of those tests wait 45s and 50s internally). master also still says the
  OOM diagnostics are unsalvaged; they are salvaged.
- inflight/branch-stale-and-diagnostic.md: same - master's copy predates the OOM
  salvage this branch records as done.

Verified on Temurin 17 after the merge, not deferred to CI: full reactor
test-compile clean, core unit suite 338 tests 0 failures under -Pci (up 10, from
#260's new KafkaTestUtils and ParallelEoSStreamProcessor tests), and all
four repo gates pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Aug 13, 2026
…me it

#263 is merged and GitHub retargeted this PR onto master, so the top of
the note was false where it mattered most: it still said #264 was stacked,
that #263 must merge first, and that `Check PR Dependencies` fails by
design. That check passes.

`docs/inflight/AGENTS.md` says what to do with the rest: when something closes,
do not rewrite it into a FIXED/DONE narrative - shrink the file to the open
follow-ups and rename it. The "Settled" section was exactly that wrong move, and
it duplicated the commit messages.

80 lines to 38, carrying the two things that are actually open: the undecided
LoadTest auto-run question, and the audit's known drift. Every surviving claim
re-checked against the tree and the API.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Aug 13, 2026
…un, assert or exist now do (#264)

Acts on the audit that landed in #263: every test that did not run, did not
assert, or was never written.

OffsetEncodingTests is the substantive change. Five OffsetEncoding values that
`assumeWorkingCodec` branched around now assert the degraded contract - work is
repeated, nothing is lost - instead of reporting green while skipping the
assertions. Four dead tests are deleted: a stub whose body was
`assertThat(true).isFalse()` behind @disabled, an empty `{}` body, a commented-out
@test over an infinite Stream.generate, and a non-asserting diagnostic (plus the
utility it orphaned).

Manual procedures the audit found deleted as "dead code" are recovered as
runnable knobs, gating values unchanged: LoadTest's 40k/80k/400k ladder, the
TransactionAndCommitModeTest concurrency ladder, VeryLargeMessageVolumeTest's 2M
aspiration, and MultiInstanceHighVolumeTest's 10M rung - the last of which needed
its hard-coded 60s wait derived from the volume before the rung was reachable at
all. JavaEnvTest's environment dump is automated into AmbientProbeExtension's
failure autopsy rather than restored as a test that asserts nothing, and the
Vert.x gap a deleted stub was named for is now characterized: a 5xx is a
delivered response, so the offset commits, while a transport failure does not.

Three core tests are finished rather than deferred. `processInKeyOrder` and
`offsetsAreNeverCommittedForMessagesStillInFlightLong` had been @disabled since
2020 and failed 100% deterministically - the library was right and the tests were
wrong, on two counts: a committed offset is exclusive (finishing records 0-2
commits 3, not 2), and partition 1's base offset is 4 because record creation
uses a global counter. `userSucceedsButProduceToBrokerFails` is new, covering a
produce-failure path that was reachable and untested.

Both re-enabled tests assert the committed-offset FRONTIER - the highest offset
per partition - rather than the exact commit history, because the exact form
asserts where the wall-clock commit tick fell. Measured: it failed 3 of 10 runs,
as [1, 3] where [3] was expected and [3, 4, 5, 6] where [3, 4, 6] was, in two
different commit modes. Both are correct PC behaviour. #260 fixed this same class
of defect for repeat commits days earlier; the general rule was written only in
the javadoc of the helpers implementing the narrow case, so it did not reach the
next test. It is now written down in
docs/solutions/test-flakiness/assert-the-commit-frontier-not-the-tick-path.md.

The new 40,000-message LoadTest case runs automatically in the required
Performance Tests leg. That was measured before being left automatic, per the
AGENTS.md rule to separate contention from a concurrency bug: 5/5 green on an
uncontended broker at ~52s against a derived 600s ceiling, and green on the real
lane since. What the measurement could not clear is recorded at the site and in
docs/inflight/test-required-perf-lane-scope.md.

Also corrected, each because it would have sent the next reader wrong:

- Two documented knob invocations selected ZERO tests and exited BUILD SUCCESS -
  both classes are @tag("performance"), the default excluded.groups contains
  performance, and exclusion beats inclusion. Both now use bin/performance-test.sh.
- The failsafe comment cited a performance.yml workflow on dedicated hardware.
  Neither exists; the lane is maven.yml's required leg on ubuntu-latest.
- AmbientProbeExtension's autopsy dumps every system property to CI logs; values
  under credential-looking keys, and credentials embedded inside values, are now
  masked. Masked by key name rather than an allowlist, which would silently drop
  the next knob somebody adds.
- PartitionStateManager's javadoc claimed to truncate offsets on commit. It does
  not.
- docs/todo-index.md carried a marker count - a derived number stored beside the
  data it is derived from. Removed from the generator, not just the file.

Three landed plan documents are deleted (~1,525 lines) per the AGENTS.md rule
that a plan goes stale once its work lands; the measurements that outlived them
were salvaged first rather than deleted with them.

Verification: core unit suite 347 tests, 0 failures, 8 skipped under -Pci; the
previously-flaky class 12/12 clean on full-class runs; all five repo gates pass.
19 review threads resolved, and a seven-reviewer pass found four P1s - two
reproduced by running the tests rather than reading them - all fixed here.

Deferred deliberately, with the reasoning recorded rather than lost:
docs/inflight/test-inactive-test-review-followups.md (chiefly hoisting
awaitFrontier into the shared test base, and giving its negative checkpoints a
hold rather than a sample) and docs/inflight/test-required-perf-lane-scope.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Aug 13, 2026
…d-waits

Brings in #264 (now merged), which was this PR's declared dependency, plus
#277, #260 and #263.

One conflict, in docs/todo-index.md - a generated file. Master's bin/todo-index.sh
changed the header format (the marker count moved out of the prose) while this
branch still carried the old shape, so both sides had edited the same generated
line. Resolved by regenerating from the merged tree rather than picking a side:
84 markers, and `bin/todo-index.sh --check` reports it current.

Master did not touch BlockedThreadAsserter or junit-platform.properties in these
four commits, so this PR's two central changes had no semantic collision to
resolve. Verified after merging: junit-platform.properties still deleted, core's
pom still carries the surefire/failsafe configurationParameters, and the asserter
rewrite plus its negative-control test are intact.

Local verification: core 354 tests and vertx 18, 0 failures, 0 errors.
bin/check-quarantine-registry.sh and bin/check-copyright-headers.sh both clean.
astubbs added a commit that referenced this pull request Sep 5, 2026
…etire the two notes this PR overrode

A ce-doc-review pass over this branch's three commits falsified six factual claims
they made and found two inflight notes the PR had silently overridden. Each is a
claim that read as verified and was not, which is the class this repo's own rules
call a false green: none of them would have gone red anywhere.

1. The `@Disabled` grep claim was wrong in two places - the new test-hardening
   entry and release-0.6.0.0.md's gate section both said
   `grep -rn "@disabled" --include="*.java" .` returns nothing but historical
   prose. Running it returns a live `@DisabledOnOs(OS.WINDOWS)` on
   AbstractQuarantineScriptTest and two `@Disabled` string literals built into
   TransactionalClaimCoverageTest's assertion messages, on top of the prose.
   Both sentences now describe what the command actually returns and why the gate
   still holds - no live bare `@Disabled` on a test class or method - and name the
   command to re-run rather than a count that will drift.

2. The new ChaosRevokeUnderWorkTransactionalIT sighting said the PR "touches no
   Java" in the same sentence that named the Java file it deletes. Replaced with
   ground the deletion does not undermine: nothing under `src/main` and nothing in
   the `chaostests` package changed, and `.github/workflows/maven.yml` gives each
   chaos shard a hardcoded `scenarios:` list (verified - Suite 2/4 is
   ChaosRevokeUnderWorkTransactionalIT,ChaosRevokeUnderWorkKeyOrderIT, passed as
   CHAOS_SCENARIOS), so removing a sanity-package class cannot reshuffle a shard.
   The opening parenthetical's artefact counts become the shape plus
   `git diff --name-status <base>..<head>`, and the bare
   `AbstractRevokeUnderWorkScenario.java:211` becomes the seed banner's own
   greppable literal, matching how its sibling citation two lines up already cites.

3. The blockers recheck said "every occurrence is already conditional" of
   module-maturity.yaml's production-use wording. Half true: the `support_posture`
   lines are conditional, the `maturity: production-use` field values are bare.
   The record now says exactly that, so the second recheck starts from the state
   rather than from the first pass's summary of it. No yaml value changed - whether
   an unqualified maturity value is a claim the open confluentinc#857 family
   falsifies is a release call for the maintainer.

4. release-0.6.0.0.md's opening block said #80 emptied the quarantine
   registry so release.yml's gate now passes, while the section this PR rewrote
   records MultiInstanceRebalanceTest.largeNumberOfInstances as quarantined and
   blocking. docs/quarantined-tests.md confirms the entry is live and unowned, so
   rule 5 still bites; the opening block now says the gate does NOT pass and points
   at the registry as the enforced copy.

5. Retired docs/inflight/test-progressbar-width-needs-a-machine-assertion.md. It
   argued for splitting the test into a machine assertion plus a tagged demo rather
   than deleting it, and this PR deleted it without naming that argument. Per
   AGENTS.md - record the reasoning you are overriding, where you override it - the
   note's alternative and why deletion won (the test asserted nothing, so the split
   describes a test still to be written rather than one being preserved;
   ProgressBarUtils.getNewMessagesBar keeps its other in-tree callers; and
   reinstating a tagged demo stays a maintainer's call this deletion does not block)
   are migrated into the test-hardening entry before the note is removed.

6. Retired docs/inflight/test-disabled-tests-before-v6.md. Its stated delete-when
   condition is met - #263 landed and no test carries a live bare
   `@Disabled` - and its four-name list is the same stale one this PR already
   replaced. Its one framing not owned elsewhere, that the disabled tests were
   inherited debt rather than a rule broken here, is migrated to
   release-0.6.0.0.md's gate section, which points at the 2026-08-08 audit for the
   per-test provenance behind it. No inbound links to fix - `grep -rn` over the tree
   returned none for either note.

7. docs/refactoring.md described ProgressBarTest.width in the present tense as a
   deliberate manual check. Past tense now, citing the deletion entry.

8. Reconciled "three of four races refound" (the new testing-evidence entry) with
   "Lincheck refound four real races unaided" (release-0.6.0.0.md, untouched by the
   earlier commits). docs/plans/2026-08-25-001-test-lincheck-poc-plan.md's verdict
   table supports the first: three of four found by the stress strategy plus one
   nobody had named, with the fourth half-found once by model checking and not
   reproducible. The release note now says that, and says to use that wording in the
   announcement.

Left alone deliberately, because they are decisions rather than errors: the lincheck
entry's merge_gate field versus the CI leg, and the jcstress anomaly disposition.

Gates: bin/check-all.sh (16 passed, 0 failed), plus check-issue-refs.sh,
check-docs-data.sh and check-file-refs.sh individually. Docs only - no code, no test
behaviour, no changelog entry.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019SVm2cT6ZgUyPMim9CukYK
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