Skip to content

docs(agents): split AGENTS.md into a router and topic docs - #272

Merged
astubbs merged 12 commits into
masterfrom
docs/compact-agents-md
Aug 11, 2026
Merged

astubbs merged 12 commits into
masterfrom
docs/compact-agents-md

Conversation

@astubbs

@astubbs astubbs commented Aug 10, 2026 •

Copy link
Copy Markdown
Owner

Description

AGENTS.md is loaded into every agent session whatever the task, so its cost is not tokens but
attention: every rule competes with every other for compliance. It had grown to hold the full
reference for topics most sessions never touch - the release procedure, per-workflow CI
descriptions, the mirror format, the copyright provenance rules - alongside rules that genuinely
bind every task, like never weakening a test to make it pass.

This splits it into a router plus topic docs: the root keeps the rules that bind every agent,
plus a complete map to everything else.

The test applied to each section: does an agent need this regardless of what it is working on?
If not, what catches a miss? A rule with a gate behind it - copyright headers, issue references, the
quarantine registry, the PR checklist - is safe to relocate, because forgetting it fails CI, so the
root needs only the rule and its enforcer's name. A rule with nothing behind it stays even when
situational: worktree ownership, the commit subject format, "a PR never adds a changelog entry",
keeping the upstream manifest in sync. Those fail silently, and an agent will not know to go looking.

New topic docs, each with a row in the Where-things-live table: testing.md, ci.md,
investigating.md, issue-references.md, copyright.md, releasing.md, and upstream.md (the
manifest, mirrors, trailers and sweep as one topic).

A How to write this file section records the maintenance rules, so future additions inherit the
format instead of regrowing the narratives, and makes retiring and relocating part of adding.
git log --numstat -- AGENTS.md was a column of additions with almost no deletions: no commit in
the file's history had ever retired a rule that stopped earning its place.

Also here: read the commits you inherit

A separate rule, added while this branch was open and separable if you would rather it shipped
alone. A rebase or merge hands you decisions, constraints and sometimes instructions addressed to
your branch, and none announce themselves - a green build proves the code compiles, not that the
ground under your design held. Written up in
docs/solutions/workflow-issues/read-the-commits-you-inherit-2026-08-10.md and cited from a root
section beside Before you investigate anything, its sibling: one says read the record before
forming a hypothesis, the other before building on a base.

Applied to this branch on the way in. Its own base carried the STRATEGY.md commit, unread until
then; that commit ships docs/inflight/pr-strategy-doc-merge-triggers.md, which names the branches
that must re-check STRATEGY.md before merging and those that explicitly must not. Re-checked: a
docs restructure is hygiene, which that file lists as not a trigger, and the router row the commit
shipped to make STRATEGY.md discoverable survives intact. A null result, but a checked one.

Corrections found along the way

  • Six files cited an AGENTS.md label the split removed, and two more promised content that had
    moved - pom.xml, the copyright scanner's own header, a workflow, a chaos-suite javadoc,
    CHANGELOG.adoc, and the live 0.6.0.0 release tracker. Nothing checks a prose citation, so every
    one was silent. All repointed.
  • docs/ci.md claimed the repo-hygiene jobs do not gate. Both shell: sigpipe and
    workflows: action versions are required status checks. Corrected. docs/testing.md now also
    states what "non-gating" means for the quarantine lane precisely: its tests job is required too,
    but the test-running step is continue-on-error, so red quarantined tests cannot block a merge.
  • The CI default Kafka version was documented as 3.9.1; the pom moved to 3.9.2 in
    docs #197: fix the two release-blocking factual errors in the 0.6.0.0 artefacts #198. It now names no version, so it cannot go stale again.
  • A stale shell-hygiene.yml bullet described a workflow that no longer exists, superseded by
    repo-hygiene.yml and documented twice.

Every rule, command, threshold and path from the original survives, verified by sweeping the
pre-split file's distinctive tokens across the new set. One class was dropped deliberately: a
cached mechanical count with no failure detector. The pre-split file asserted "six runners, all
online", which is wrong the moment a runner is added, removed or goes offline and which nothing
would ever catch - and the paragraph beside it already tells you to ask
gh api repos/astubbs/parallel-consumer/actions/runners instead.

What review kept finding

The first round found eight defects. The second reviewed the fix commit and found seven more, six
of them introduced by the first round's fixes: a rule restored into three places at once, two docs
left contradicting each other on the same job, a javadoc citation breaking the convention used
elsewhere in the same file. The new "grep before moving a heading" rule would not have caught the
breakage it was written for - the casualty was a bold sub-item label, not a heading - so it now
covers any labelled block.

Later rounds converged on one defect shape: a citation that still resolves, but no longer to what
it cites. A backlink in the read-the-commits-you-inherit write-up still pointed at PR Discipline
after this branch promoted that rule out of it, and docs/quarantined-tests.md promised the "full
discipline" lived in docs/testing.md when the deliberately-unenforced rule 2 is kept in AGENTS.md.
Both survive a heading-existence check, because the heading is fine and the content moved. That is
the argument for the doc-link gate named below rather than another manual sweep.

Not addressed here

  • Four citations in docs/plans/ still name moved sections. The repo's convention is that a dated
    plan goes stale once its work lands, so sweeping them would contradict the rule the router states.
  • Unrelated, but worth knowing: the master ruleset requires a status check named spotbugs,
    which no job produces any more - maven.yml emits static: spotbugs. A live gap in branch
    protection, outside this PR.
  • Nothing in CI validates that doc cross-references resolve. Both review rounds named this as the
    durable gap; a bin/check-doc-links.sh wired into repo-hygiene.yml beside shell: sigpipe is
    the obvious follow-up, left out to keep this PR to one idea.

Checklist

  • Docs updated - this PR is the documentation change
  • Tests added/updated - N/A: documentation and comments only, no behaviour to test. Verified
    instead by a token sweep against the pre-split file, relative-link resolution, the
    issue-reference and copyright gates, the sigpipe and action-version guards, and a
    parallel-consumer-core test-compile, since one javadoc was edited.
  • Title & body reflect the final content of this PR
  • Self-hosted runner / security implications considered - a comment in
    .github/workflows/copyright.yml was repointed; no runner, permission, trigger or step logic
    changed, and no self-hosted lane is touched.

astubbs and others added 6 commits August 10, 2026 19:45
…e to the rest

Every session loads AGENTS.md whole, whatever the task, so its cost is
attention: each rule competes with every other one for compliance. It was
carrying the full reference for topics most sessions never touch - the
release procedure, per-workflow CI descriptions, the mirror format, the
copyright provenance rules - and those competed with rules that genuinely
bind every task, like never weakening a test to go green.

The test applied to each section: does an agent need this regardless of
what it is working on? If not, what catches a miss? A rule with a gate
behind it - copyright headers, issue references, the quarantine registry,
the PR checklist, PR dependencies - is safe to relocate, because
forgetting it fails CI and the root file needs only the rule and its
enforcer's name. A rule with nothing behind it stays even when
situational: worktree ownership, the commit subject format (nothing lints
commit messages), "a PR never adds a changelog entry" (the changelog gate
checks citations, not this), and keeping the upstream manifest in sync
(nothing checks the fork side). Those fail silently, and an agent will not
know to go looking.

New topic docs, each with a row in the Where-things-live table:
testing.md, ci.md, investigating.md, issue-references.md, copyright.md,
releasing.md, and upstream.md - the last covering the manifest, the
mirrors, the commit trailers and the sweep as one topic.

The prior-art checks stay while the method for settling an investigation
moves out: an agent mid-debug will not think to open a document about
investigating, but one that already has a hypothesis will follow a
pointer.

Every rule, command, threshold, constant and path survives - verified by
sweeping the old file's distinctive tokens across the new set. Relative
links resolve, and the two inbound anchors in docs/refactoring.md and
docs/inflight/AGENTS.md now point at the doc that holds the rule they
promise rather than at a section heading.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
git log --numstat -- AGENTS.md is a column of additions with almost no
deletions, overwhelmingly from learning-capture commits. No commit in the
file's history has ever retired a rule that stopped earning its place,
which is how it came to hold the full story behind every rule instead of
the rule.

Nothing can enforce this. Whether a given rule binds every agent or only
one topic is a judgement for whoever writes and reviews the change, not
something a script can decide, so the mechanism is a written scope block
at the top of the file rather than a CI gate.

It states the test for what belongs (does an agent need this whatever it
is doing), the follow-up for anything situational (what catches a miss -
a gate-enforced rule can move out, an unenforced one cannot), and that
retiring and relocating is part of adding. Entries are the rule, a
one-line why, and a citation; incidents get cited, never retold; no fact
appears twice; no rule needs paragraphs defending it against misreadings.

Backstops in case the judgement slips, ordered by how early they fire: a
section outgrowing a screen, a backstory longer than its rule, a fact in
two places, a rule now covered by a script, routine conflicts on unrelated
PRs - and, last and weakest, the whole-file line count.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
… it dropped

Review of the restructure found eight pointers elsewhere in the repo that
name AGENTS.md headings the split removed, plus several rules that changed
meaning or vanished in the move.

The pointers were the real defect: nothing checks a prose citation of a
heading, so all eight were silent. Six were outright wrong - copyright.yml,
check-copyright-headers.sh, pom.xml, a chaos-suite javadoc, the copyright
solution doc (which called AGENTS.md the authoritative source for rules it
no longer held) and the live 0.6.0.0 release tracker. Two more were
misleading rather than broken: QUARANTINED_TESTS.md and CHANGELOG.adoc
pointed at sections that survive but no longer hold what was promised. All
now point at the doc that owns the content. The changelog edit is a
factual correction to existing text, which is the one edit the policy
allows.

Rules restored or corrected:

- "Quarantine is master-state, not PR-state" moved back to AGENTS.md. Only
  two of the three quarantine rules have a checker; this one lives in a
  workflow comment, so by the file's own test it belongs in the root.
- The copyright rule had been compressed into one sentence that lost "as an
  incidental or standalone change", permitting a year bump the source rule
  forbids. Both constraints are back.
- docs/ci.md claimed the repo-hygiene jobs do not gate. Both are required
  status checks. Corrected, and docs/testing.md now says what non-gating
  means for the quarantine lane precisely: its job is required too, but the
  test step is continue-on-error, so only the registry audit can fail it.
- Restored the docs/solutions/ frontmatter field names, the
  upstream-pr-analysis.adoc router row, and the worked example showing a PR
  title carrying both the fork and upstream number.
- Deduplicated four facts stated in two places: copyright enforcement,
  test-utility reuse, release-blocking, and the PR-checklist gate.
- bin/AGENTS.md was in neither routing table while the root claimed a
  complete map. Added.

And the lesson that would have prevented the pointer breakage is now a
writing rule: grep the whole repo for a heading before moving it, because
citations hide in pom.xml, shell headers, workflow YAML and javadoc.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
…facts

Second review round, against the fix commit itself - which is where new
defects get least scrutiny, and it earned that reputation.

Self-inflicted by the previous commit:
- Restoring the quarantine rule to AGENTS.md left it stated in three
  places and made "Two rules bind regardless" a lie. The root now owns it
  (nothing enforces it, so that is where the file's own test puts it) and
  says three; docs/testing.md and docs/QUARANTINED_TESTS.md point at it
  instead of restating it.
- Correcting the gating claim in docs/ci.md and docs/testing.md left
  docs/ci.md and docs/QUARANTINED_TESTS.md still calling the quarantine
  lane non-gating, so two docs contradicted each other on the same job.
  Both now state the mechanism: the job is the required check `tests`, but
  its test step is continue-on-error, so red quarantined tests cannot
  block a merge.
- The javadoc citation used an absolute blob/master URL, the only one in
  any javadoc here; every other doc reference in that same file uses
  {@code path}. Matched to the convention.

Stale facts the split carried forward unexamined:
- docs/ci.md named Kafka 3.9.1 as the CI default; the pom has been on
  3.9.2 since #198. It now names no version, so it cannot go stale
  again.

And the new rules, sharpened by what they missed:
- "Grep before moving a heading" would not have caught the actual
  breakage: "Copyright rules for this fork" was a bold sub-item label, not
  a heading, and six files cited it. The rule now covers any labelled
  block and excludes .git/target from the grep.
- The "never state a fact twice" bullet retold an incident it did not
  cite, breaking the rule immediately above it. Trimmed.
- The restored PR-title example put a qualified upstream ref in the
  trailing parenthetical, which read as contradicting the subject rule.
  Spelled out the distinction: what is forbidden there is a *bare* number.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
…t never looked

A rebase hands you decisions, constraints and sometimes instructions
addressed to your branch, and none of them announce themselves. A green
build proves the code still compiles; it proves nothing about whether the
ground under the design moved.

The worked example is the Connect spike (#240, PR #269): the
parent's tip commit said in its body that Connect inherits a decision and
should extend the second persona rather than re-litigate whether one
exists. Never read, so obeyed only by luck. The same window renamed a
module - found by tripping over a conflict - and landed STRATEGY.md, found
only because the owner asked whether it had been read.

This repo makes the failure likelier rather than rarer: every task gets its
own worktree, so bases move underneath branches routinely; commit bodies
are load-bearing by design, since release notes are generated from the log,
which puts the most consequential sentence nowhere near the subject line;
and some inherited commits ship coordination mechanisms rather than code -
docs/inflight/pr-strategy-doc-merge-triggers.md names which open branches
must re-check STRATEGY.md before merging and which explicitly must not, and
a branch that never reads it cannot know which list it is on.

Applied to this branch on the way in: its base carried the STRATEGY.md
commit, unread until now. Re-checked - a docs restructure is hygiene, which
that file lists as explicitly not a trigger, and the router row that commit
shipped to make STRATEGY.md discoverable survives the restructure intact.
A null result, but a checked one.

Written up in docs/solutions/ first, then cited from AGENTS.md, per the
rule that incidents get cited rather than retold.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
…line

It was filed under PR Discipline, which is what an agent opens at merge
prep - and inheriting happens at the start of work, not the end. Cutting a
worktree from a master that advanced, merging master in mid-flight,
resuming a branch: all of those hand you commits, and all of them precede
the design work the inherited decisions would have changed. An agent
meeting the rule while drafting a merge-strategy recommendation has
already built on ground that may have shifted.

It is also the sibling of the section above it. "Before you investigate
anything" says read the record before forming a hypothesis; this says read
the record before building on a base. Same shape, same silent failure, so
they belong adjacent and near the top rather than one of them buried in a
shipping checklist.

Moved rather than copied - a rule stated in two sections is the duplication
this file forbids.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@github-actions

Copy link
Copy Markdown

Dependency Review

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

Scanned Files

None

@github-actions

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.48% 2.48% ➖ 0
Rule Limit Status
Max duplication 5% ✅ Pass (2.48%)
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 1087 1087 ➖ 0
Duplication 3.20% 3.20% ➖ 0
Rule Limit Status
Max duplication 5% ✅ Pass (3.20%)
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 10, 2026 •

Copy link
Copy Markdown

Claude finished @astubbs's task in 7m 2s —— View job


Claude's Review

  • Gather context (PR body, changed files list)
  • Run /code-review skill against this PR
  • Post review findings

This is a documentation-only restructuring (splitting AGENTS.md into a router + topic docs), so no runtime/correctness bugs were expected or found. The review instead checked the PR's own stated invariants — "every rule, command, threshold, constant and path survives," "never state a fact twice," citations stay valid — as testable claims, and found four content-fidelity issues:

  1. docs/inflight/release-0600-blockers.md:19 (not touched by this PR) cites AGENTS.md:183 / :58 by line number and marks the "CI docs hard-code Kafka 3.9.1" defect as "Still open" — but this PR's restructure both invalidates those line numbers and actually fixes that defect (docs/ci.md no longer names a hard-coded Kafka version). A future agent working the 0.6.0.0 release checklist will either waste time chasing stale line numbers or "fix" something already fixed. (Could not post inline — GitHub rejected it since the file isn't in this PR's diff.)
  2. docs/ci.md:88 — drops the specific fact "six runners, all online" from the highcpu self-hosted runner description; it doesn't survive anywhere else, contradicting the PR's "every... constant... from the original survives" claim. (posted inline)
  3. docs/testing.md:64 — the "Quarantine is master-state, not PR-state" rule, with an identical citation clause, now appears in three places (AGENTS.md, docs/testing.md, docs/QUARANTINED_TESTS.md) — exactly the duplication the PR's own new "never state a fact twice" rule forbids. (posted inline)
  4. AGENTS.md:91 — the compacted CONCEPTS.md row silently narrows its exclusion list, dropping "class names" from "no file paths, class names or current config values." (posted inline)

Three findings are posted as inline review comments; finding 1 is text-only above since it targets a file outside this diff.

No action taken beyond review, per the request.

@github-actions

github-actions Bot commented Aug 10, 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:

🔺 Increased similarities

File A File B Base (%) PR (%) Change
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 30.0 30.1 +0.1
Full similarity report
parallel-consumer-core/src/main/java/io/confluent/csid/utils/Java8StreamUtils.java

📄 parallel-consumer-core/src/main/java/io/confluent/csid/utils/Java8StreamUtils.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/csid/utils/JavaUtils.java 35.35
parallel-consumer-core/src/test/java/io/confluent/csid/utils/CollectionUtils.java 33.28
parallel-consumer-core/src/main/java/io/confluent/csid/utils/JavaUtils.java

📄 parallel-consumer-core/src/main/java/io/confluent/csid/utils/JavaUtils.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/csid/utils/CollectionUtils.java 39.54
parallel-consumer-core/src/main/java/io/confluent/csid/utils/Java8StreamUtils.java 35.35
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 54.2 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 39.9
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PCRetriableException.java 36.68
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 36.57
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 34.95
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 34.72
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 34.72
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 34.65
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java 61.15 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java 54.83 ⚠️
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 40.41
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelStreamProcessor.java 37.13
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContextInternal.java 32.75
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 31.49
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java 61.15 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java 50.85 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelStreamProcessor.java 36.86
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 32.51
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContextInternal.java 31.74
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 30.28
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PCRetriableException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PCRetriableException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 36.68
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 33.0
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 54.2 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 52.94 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 44.56
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 34.62
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 34.16
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalRuntimeException.java 30.85
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 30.42
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 30.42
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerOptions.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerOptions.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ProducerManager.java 32.41
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionState.java 30.06
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java 54.83 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java 50.85 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelStreamProcessor.java 45.54
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContextInternal.java 33.98
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 32.95
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/TestParallelEoSStreamProcessor.java 31.13
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelStreamProcessor.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java 45.54
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java 37.13
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java 36.86
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 32.7
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContext.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContext.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/RecordContextInternal.java 35.52
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContextInternal.java 32.21
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContextInternal.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContextInternal.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java 33.98
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/RecordContextInternal.java 33.15
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java 32.75
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContext.java 32.21
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java 31.74
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/RecordContextInternal.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/RecordContextInternal.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContext.java 35.52
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PollContextInternal.java 33.15
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/BrokerPollSystem.java 33.28
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java 32.95
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/BrokerPollSystem.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/BrokerPollSystem.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 33.28
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ExternalEngine.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ExternalEngine.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 39.52
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 60.36 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 52.94 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 52.13 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/NoEncodingPossibleException.java 48.44
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 39.9
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalRuntimeException.java 39.68
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 36.9
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 33.33
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 33.33
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/PCRetriableException.java 33.0
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalRuntimeException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalRuntimeException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 39.68
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 31.51
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 30.85
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/PCModule.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/PCModule.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/PCModuleTestEnv.java 32.24
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ProducerManager.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ProducerManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerOptions.java 32.41
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/ProducerManagerTest.java 30.5
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 51.36 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 37.08
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 37.08
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 36.9
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 34.95
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 34.62
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 33.33
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 60.36 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 51.36 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 49.42
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 46.74
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 46.74
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/NoEncodingPossibleException.java 46.23
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 44.56
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 36.57
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalRuntimeException.java 31.51
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/NoEncodingPossibleException.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/NoEncodingPossibleException.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 48.44
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 46.23
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 46.12
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 37.44
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 37.44
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 52.13 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 49.42
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/NoEncodingPossibleException.java 46.12
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 34.65
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 34.16
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 33.33
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 31.8
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 31.8
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 63.05 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 46.74
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/NoEncodingPossibleException.java 37.44
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 37.08
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 34.72
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 33.33
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 31.8
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 30.42
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 63.05 ⚠️
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/EncodingNotSupportedException.java 46.74
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/NoEncodingPossibleException.java 37.44
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 37.08
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ExceptionInUserFunctionException.java 34.72
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/InternalException.java 33.33
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/offsets/OffsetDecodingError.java 31.8
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerException.java 30.42
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionState.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionState.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionStateManager.java 30.25
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelConsumerOptions.java 30.06
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionStateManager.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionStateManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/WorkManager.java 39.64
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionState.java 30.25
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/ProcessingShard.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/ProcessingShard.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/ShardManager.java 36.7
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/ShardManager.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/ShardManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/ProcessingShard.java 36.7
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/WorkManager.java

📄 parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/WorkManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/state/PartitionStateManager.java 39.64
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/BrokerIntegrationTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/BrokerIntegrationTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/state/LatestResetTailNudgeIT.java 30.48
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/DrainingMemberRebalanceIT.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/DrainingMemberRebalanceIT.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/BrokerPollSystemDrainTest.java 31.17
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/KafkaSanityTests.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/KafkaSanityTests.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/csid/utils/LoopingResumingIteratorTest.java 34.18
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 55.41 ⚠️
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 46.98
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 38.65
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 44.18
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 41.14
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 38.65
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/RebalanceTest.java 36.36
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/RebalanceTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/RebalanceTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java 36.36
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 60.71 ⚠️
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 46.98
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 41.14
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionTimeoutsTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionTimeoutsTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/ProducerManagerTest.java 30.29
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 60.71 ⚠️
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 55.41 ⚠️
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/MultiInstanceRebalanceTest.java 44.18
parallel-consumer-vertx/src/test-integration/java/io/confluent/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java 39.09
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 48.73
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 35.66
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 48.73
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 38.03
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 30.11
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 49.01
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java 49.01
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 35.66
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 30.11
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 38.03
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/state/LatestResetTailNudgeIT.java

📄 parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/state/LatestResetTailNudgeIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/BrokerIntegrationTest.java 30.48
parallel-consumer-core/src/test/java/io/confluent/csid/utils/CollectionUtils.java

📄 parallel-consumer-core/src/test/java/io/confluent/csid/utils/CollectionUtils.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/csid/utils/JavaUtils.java 39.54
parallel-consumer-core/src/main/java/io/confluent/csid/utils/Java8StreamUtils.java 33.28
parallel-consumer-core/src/test/java/io/confluent/csid/utils/LoopingResumingIteratorTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/csid/utils/LoopingResumingIteratorTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/KafkaSanityTests.java 34.18
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/BatchTestBase.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/BatchTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CoreBatchTest.java 30.63
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CheckQuarantineOwnersScriptTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CheckQuarantineOwnersScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineLaneReportScriptTest.java 44.98
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineRegistryScriptTest.java 44.14
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CommitRejectionTestBase.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CommitRejectionTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerTest.java 32.39
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerCommitTimeoutTest.java 32.34
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CoreBatchTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CoreBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorBatchTest.java 52.06 ⚠️
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyBatchTest.java 50.76 ⚠️
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/VertxBatchTest.java 44.86
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/BatchTestBase.java 30.63
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerCommitTimeoutTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerCommitTimeoutTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerEarlyCloseTest.java 70.17 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerTest.java 56.45 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerSaslAuthenticationTest.java 49.39
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CommitRejectionTestBase.java 32.34
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerEarlyCloseTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerEarlyCloseTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerCommitTimeoutTest.java 70.17 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerTest.java 54.88 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerSaslAuthenticationTest.java 52.84 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerSaslAuthenticationTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerSaslAuthenticationTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerEarlyCloseTest.java 52.84 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerCommitTimeoutTest.java 49.39
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerTest.java 46.71
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerCommitTimeoutTest.java 56.45 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerEarlyCloseTest.java 54.88 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/MockConsumerSaslAuthenticationTest.java 46.71
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CommitRejectionTestBase.java 32.39
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessorTest.java 34.8
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessorTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessorTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java 34.8
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineLaneReportScriptTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineLaneReportScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CheckQuarantineOwnersScriptTest.java 44.98
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineRegistryScriptTest.java 33.36
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineRegistryScriptTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineRegistryScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CheckQuarantineOwnersScriptTest.java 44.14
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/QuarantineLaneReportScriptTest.java 33.36
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/TestConventionsArchTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/TestConventionsArchTest.java 90.27 ⚠️
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/TestConventionsArchTest.java 89.6 ⚠️
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/TestConventionsArchTest.java 89.6 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/BrokerPollSystemDrainTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/BrokerPollSystemDrainTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/DrainingMemberRebalanceIT.java 31.17
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/ExceptionConstructorsTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/ExceptionConstructorsTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/InternalRuntimeExceptionTest.java 30.04
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/InternalRuntimeExceptionTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/InternalRuntimeExceptionTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/ExceptionConstructorsTest.java 30.04
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/PCModuleTestEnv.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/PCModuleTestEnv.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/PCModule.java 32.24
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/ProducerManagerTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/ProducerManagerTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ProducerManager.java 30.5
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/TransactionTimeoutsTest.java 30.29
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/TestParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/internal/TestParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelEoSStreamProcessor.java 31.13
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java 39.86
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java 39.86
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/truth/CommitHistorySubject.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/truth/CommitHistorySubject.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/truth/LongPollingMockConsumerSubject.java 36.45
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/truth/LongPollingMockConsumerSubject.java

📄 parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/truth/LongPollingMockConsumerSubject.java

File Similarity (%)
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/truth/CommitHistorySubject.java 36.45
parallel-consumer-mutiny/src/main/java/io/confluent/parallelconsumer/mutiny/MutinyProcessor.java

📄 parallel-consumer-mutiny/src/main/java/io/confluent/parallelconsumer/mutiny/MutinyProcessor.java

File Similarity (%)
parallel-consumer-reactor/src/main/java/io/confluent/parallelconsumer/reactor/ReactorProcessor.java 52.18 ⚠️
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyBatchTest.java

📄 parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorBatchTest.java 79.0 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CoreBatchTest.java 50.76 ⚠️
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/VertxBatchTest.java 49.08
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyPCTest.java

📄 parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyPCTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorPCTest.java 71.17 ⚠️
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyTest.java

📄 parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorTest.java 32.49
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyUnitTestBase.java

📄 parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyUnitTestBase.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorUnitTestBase.java 32.24
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/TestConventionsArchTest.java

📄 parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/TestConventionsArchTest.java 91.06 ⚠️
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/TestConventionsArchTest.java 90.39 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/TestConventionsArchTest.java 89.6 ⚠️
parallel-consumer-reactor/src/main/java/io/confluent/parallelconsumer/reactor/ReactorProcessor.java

📄 parallel-consumer-reactor/src/main/java/io/confluent/parallelconsumer/reactor/ReactorProcessor.java

File Similarity (%)
parallel-consumer-mutiny/src/main/java/io/confluent/parallelconsumer/mutiny/MutinyProcessor.java 52.18 ⚠️
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorBatchTest.java

📄 parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorBatchTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyBatchTest.java 79.0 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CoreBatchTest.java 52.06 ⚠️
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/VertxBatchTest.java 50.32 ⚠️
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorPCTest.java

📄 parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorPCTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyPCTest.java 71.17 ⚠️
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorTest.java

📄 parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyTest.java 32.49
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorUnitTestBase.java

📄 parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorUnitTestBase.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyUnitTestBase.java 32.24
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/TestConventionsArchTest.java

📄 parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/TestConventionsArchTest.java 91.06 ⚠️
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/TestConventionsArchTest.java 90.39 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/TestConventionsArchTest.java 89.6 ⚠️
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 41.51
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java 40.41
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 39.9
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelStreamProcessor.java 35.45
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java 32.51
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 39.9
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelStreamProcessor.java 39.37
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/ParallelStreamProcessor.java 32.7
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelEoSStreamProcessor.java 31.49
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/JStreamParallelStreamProcessor.java 30.28
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelStreamProcessor.java 41.67
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 41.51
parallel-consumer-core/src/main/java/io/confluent/parallelconsumer/internal/ExternalEngine.java 39.52
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 41.67
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 39.37
parallel-consumer-vertx/src/main/java/io/confluent/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 35.45
parallel-consumer-vertx/src/test-integration/java/io/confluent/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java

📄 parallel-consumer-vertx/src/test-integration/java/io/confluent/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/io/confluent/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 39.09
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/TestConventionsArchTest.java

📄 parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/TestConventionsArchTest.java 91.06 ⚠️
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/TestConventionsArchTest.java 91.06 ⚠️
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/TestConventionsArchTest.java 90.27 ⚠️
parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/VertxBatchTest.java

📄 parallel-consumer-vertx/src/test/java/io/confluent/parallelconsumer/vertx/VertxBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/io/confluent/parallelconsumer/reactor/ReactorBatchTest.java 50.32 ⚠️
parallel-consumer-mutiny/src/test/java/io/confluent/parallelconsumer/mutiny/MutinyBatchTest.java 49.08
parallel-consumer-core/src/test/java/io/confluent/parallelconsumer/CoreBatchTest.java 44.86

@github-actions

Copy link
Copy Markdown

✅ SpotBugs Report

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

@astubbs

astubbs commented Aug 10, 2026

Copy link
Copy Markdown
Owner Author

| ChaosChurnStormIT.java | ChaosRevokeUnderWorkIT.java | 30.0 | 30.1 | +0.1 |

Checked, and this PR introduces no duplication between those two files.

Its only change to ChaosChurnStormIT.java is a two-line javadoc edit repointing a doc citation, and ChaosRevokeUnderWorkIT.java is not touched by this PR at all:

- * via {@code .github/workflows/chaos-pain.yml} (workflow_dispatch: seed, reps). See AGENTS.md
- * "Chaos Pain Suite".
+ * via {@code .github/workflows/chaos-pain.yml} (workflow_dispatch: seed, reps). See
+ * {@code docs/testing.md}, "Chaos Pain Suite".

The +0.1 is a token-distribution artifact of swapping one unique string for another inside a comment, not new shared logic. Nothing to refactor here. The PMD CPD engine agrees independently - 0 new clones, duplication flat at 2.48%.

Comment thread docs/ci.md
Comment thread AGENTS.md Outdated
Comment thread docs/testing.md Outdated
…e the quarantine rule once

Two findings from review on #272.

The CONCEPTS.md row lost "class names" from its exclusion list when it was
compacted: "no file paths, class names, or current config values" became
"no file paths or current config values". That narrowed the rule rather
than rewording it - an agent writing an entry that cites a class name would
no longer see anything telling them not to. Restored.

The quarantine master-state rule was then stated three times: in full in
AGENTS.md, and restated with its rationale in both docs/testing.md and
docs/QUARANTINED_TESTS.md. The rationale now lives once, in AGENTS.md,
which owns the rule because nothing enforces it; both topic docs keep the
list item as a bare cross-reference so their numbered lists stay complete
without repeating the explanation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
@claude

claude Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

Tasks

  • Gather context (PR body, changed files, existing review comments)
  • Run /code-review skill against this PR (per repo custom instructions)
  • Post review findings

The 0.6.0.0 blocker list still called the hard-coded CI Kafka version "the
genuine defect... left alone to keep this PR scoped", and cited it as
AGENTS.md:183. Both halves are now wrong: the text moved to docs/ci.md in
this branch and lost its version entirely, so the defect is fixed and the
line numbers point at unrelated content.

A future agent working the release checklist would either chase the stale
line numbers or re-fix something already fixed. The entry now records the
fix and cites sections rather than line numbers, and the two command
examples that were never defects keep their do-not-touch note.

Found by review on #272, which could not post it
inline because the file is outside this PR's diff - the finding would have
been invisible to anyone reading only the inline threads.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
@claude

claude Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

Claude finished @astubbs's task in 2m 21s —— View job


Tasks

  • Gather context (PR body, changed files, existing review comments)
  • Run /code-review skill against this PR (per repo custom instructions)
  • Post review findings

Code review is running in the background (multi-agent review of this documentation restructure). I'll update this comment with findings once it completes.

@astubbs

astubbs commented Aug 10, 2026

Copy link
Copy Markdown
Owner Author
  1. docs/inflight/release-0600-blockers.md:19 ... marks the "CI docs hard-code Kafka 3.9.1" defect as "Still open" — but this PR's restructure both invalidates those line numbers and actually fixes that defect. (Could not post inline — GitHub rejected it since the file isn't in this PR's diff.)

Good catch, and thank you for surfacing it in the summary rather than dropping it when the inline post failed - it would have been invisible to anyone reading only the threads.

Fixed in 3ce991a. That entry called the hard-coded version "the genuine defect... left alone to keep this PR scoped", which stopped being true the moment this branch moved the text into docs/ci.md and dropped the version entirely. It now records the fix, cites sections instead of line numbers, and keeps the do-not-touch note on the two bin/ci-build.sh 3.9.1 command examples, which were never defects.

The other three findings are fixed and resolved in their own threads, with one dissent: I did not restore "six runners, all online" - reasoning in that thread.

@astubbs

astubbs commented Aug 10, 2026

Copy link
Copy Markdown
Owner Author

@claude review this

@claude

claude Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

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


Tasks

  • Gather context (PR body, prior review rounds, fix commits)
  • Review current diff (origin/master...HEAD) for correctness/consistency issues
  • Verify the fixes from the two prior review rounds actually landed correctly
  • Post review findings

Review

Verified the fixes from both prior rounds landed cleanly: the CONCEPTS.md class-names exclusion is restored (AGENTS.md:91), the quarantine rule is now stated once with two bare cross-references (docs/testing.md:64, docs/QUARANTINED_TESTS.md:35), the Kafka version is no longer hard-coded in docs/ci.md (matches pom.xml's 3.9.2), and docs/inflight/release-0600-blockers.md correctly records the fix. I also checked every relative link in the new topic docs against the filesystem (docs/ci.md, copyright.md, investigating.md, issue-references.md, releasing.md, upstream.md, testing.md, plus the AGENTS.md router table) - all targets exist, and every workflow named in docs/ci.md matches an actual file in .github/workflows/, including the corrected required-check names (shell: sigpipe, workflows: action versions, tests) and the continue-on-error claim on the quarantine lane's test step, which I confirmed directly in quarantine-lane.yml.

One new finding, introduced by this PR itself:

docs/solutions/workflow-issues/read-the-commits-you-inherit-2026-08-10.md:73 cites AGENTS.md, PR Discipline - the rule that cites this write-up. That's now wrong. Commit 56c7c41, part of this same PR, promoted "Read the commits you inherit" out of PR Discipline into its own top-level section (AGENTS.md:125, sibling to "Before you investigate anything") - the commit message's whole point is that PR Discipline is the wrong place for it, since inheriting happens at the start of work, not merge prep. The solutions doc's own backlink was never updated to match, so a reader who follows "Related" is sent looking in exactly the section the promotion was written to move it away from.

It's exactly the class of drift this PR's own "grep before moving a heading" rule targets, but that rule (correctly) only fires when moving text within AGENTS.md; it doesn't cover a citation living in a document that describes AGENTS.md's structure from outside. Low stakes - a rarely-read backlink in a solutions write-up - but a one-line fix: AGENTS.md, Read the commits you inherit (or just drop the section name and cite the file).

No other content-fidelity issues found: I diffed every citation-repointing file (pom.xml, bin/check-copyright-headers.sh, .github/workflows/copyright.yml, CHANGELOG.adoc, docs/inflight/AGENTS.md, docs/inflight/release-0.6.0.0.md, docs/refactoring.md, the copyright solutions doc, ChaosChurnStormIT.java) and each repoints cleanly to the right topic doc with a correct relative path. I also swept the whole repo for any remaining reference to a heading the split removed (AGENTS.md → "CI", "Releasing", "Documented Solutions", "Copyright rules for this fork") - nothing left dangling.

…ted to

The "read the commits you inherit" write-up's Related list still sent readers
to AGENTS.md, PR Discipline. Commit 56c7c41 - in this same branch - promoted
that rule out of PR Discipline into its own top-level section, on the argument
that inheriting a base happens at the start of work, not at merge prep. The
backlink was left naming the one section the promotion existed to move it away
from, so following it lands a reader exactly where the rule is not.

The forward link (AGENTS.md to this file) was already correct; only the return
leg drifted. Nothing checks a prose citation, so it would have stayed wrong
indefinitely.

Swept the class rather than the instance: every citation in the repo naming an
AGENTS.md section - .gitignore, .gitmessage, bin/check-issue-refs.sh,
bin/worktree-status.sh, docs/ci.md, docs/upstream.md, docs/testing.md,
docs/QUARANTINED_TESTS.md, the release blockers, pr-checklist.yml,
issue-ref-gate.js and four docs/solutions write-ups. This was the only one
pointing at a section that no longer holds what it cites.

Found by review on #272.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
@astubbs

astubbs commented Aug 10, 2026

Copy link
Copy Markdown
Owner Author

docs/solutions/workflow-issues/read-the-commits-you-inherit-2026-08-10.md:73 cites AGENTS.md, PR Discipline - the rule that cites this write-up. That's now wrong.

Correct, and fixed in 8687fa3. The backlink now reads AGENTS.md, Read the commits you inherit.

Your reading of it is the right one: the forward link was fine, only the return leg drifted, and it drifted because 56c7c41 moved the rule for a reason the backlink then contradicted - it pointed at the one section the promotion existed to move the rule away from.

I swept the class rather than the instance, since a single repointed citation invites the next one. Every citation in the repo that names an AGENTS.md section: .gitignore, .gitmessage, bin/check-issue-refs.sh, bin/worktree-status.sh, docs/ci.md, docs/upstream.md, docs/testing.md, docs/QUARANTINED_TESTS.md, docs/inflight/release-0600-blockers.md (two), .github/workflows/pr-checklist.yml, .github/scripts/issue-ref-gate.js, and four docs/solutions/ write-ups. This was the only one pointing at a section that no longer holds what it cites - the rest resolve to a heading that still carries the cited rule.

Worth separating the two sub-classes, because your sweep and mine looked for different things. You swept for citations of removed headings ("CI", "Releasing", "Documented Solutions", "Copyright rules for this fork") and correctly found nothing dangling. This defect is the other shape: the cited section still exists, so a heading-existence check passes - what moved was the content out of it. That is the harder one to catch, and it is why your finding is a real one rather than a nit.

One I looked at and left alone, for the record: docs/solutions/workflow-issues/copyright-header-rules-for-fork-2026-04-21.md:52 still says Rules added to AGENTS.md under "Code Style". That reads as wrong at a glance, but it is scoped historical prose - "as written on 2026-04-21" - and the Update note at the head of that same file was already repointed in this PR to docs/copyright.md as the authoritative source. Rewriting the historical line would make the record less accurate, not more.

@claude

claude Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

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


Tasks

  • Gather context (PR body, prior review rounds, fix commits)
  • Review current diff (origin/master...HEAD) since last review round
  • Verify the latest fix (8687fa3, backlink correction) landed correctly
  • Post review findings

Review

The latest fix is correct. Commit 8687fa3 repoints the "Related" backlink in docs/solutions/workflow-issues/read-the-commits-you-inherit-2026-08-10.md:73 from AGENTS.md, PR Discipline to AGENTS.md, Read the commits you inherit. Verified AGENTS.md:125 does carry a top-level ## Read the commits you inherit heading (promoted out of PR Discipline by 56c7c41, in this same branch) — the backlink now lands where the rule actually lives.

I also re-swept for the same defect class the author flagged — a citation naming a section that still exists but whose content moved elsewhere — across every remaining prose citation in the repo (.gitignore, .gitmessage, bin/*.sh, .github/workflows/*.yml, .github/scripts/*.js, docs/*.md, pom.xml, CHANGELOG.adoc). None found; every citation resolves to a section that still holds what it cites. docs/plans/*.md still has a couple of stale headings, but those are pre-existing, out of scope per the PR's own "dated plans go stale" convention, and a different defect class (removed heading, not moved content) than what round 3 was checking for.

Independently re-verified two of the PR's factual claims rather than trusting the description:

  • Every relative markdown link in AGENTS.md and the seven new topic docs resolves to a real file (checked all ~30 link targets via the filesystem).
  • docs/ci.md names no Kafka version (matches pom.xml's 3.9.2, avoiding the staleness this PR was fixing), and quarantine-lane.yml:78 does have continue-on-error: true on the test step, matching docs/testing.md's claim about what "non-gating" means for that lane.

No new findings. Between this round and the three that preceded it, every issue raised (CONCEPTS.md class-names exclusion, triplicated quarantine rule, stale Kafka version, and this backlink) has been fixed and verified to land correctly.

@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 11, 2026 12:50
Merges origin/master (d6a2bf5) into the AGENTS.md restructure. Four commits
inherited; two of them act on this branch.

d5a2ccd "gh addresses upstream by default, and the failure is silent" added a
46-line section plus six command qualifications to the file this branch rewrote
wholesale, so it conflicted rather than merged. Resolved against this PR's own
rule: nothing enforces the gh default-repo trap and the failure is silent, so
the rule stays in the root file even though it is situational - it is the
archetype the "what catches a miss" test was written for, and it has to be read
before an agent's first command. What did move is the story. "Cite incidents,
never retell them" applies to the two paragraphs that argued the case, and the
incident already had a durable home: docs/solutions/workflow-issues/
compound-tooling-breaks-in-worktrees-and-forks-2026-08-07.md section 3 is the
same defect, written up on 2026-08-07. The narrative and the loud-vs-silent
distinction went there and are cited from the root; the actionable pair
(gh repo set-default, plus the deliberately unqualified verification) stayed in
the root, stated once. No fact from d5a2ccd was dropped.

Its six command qualifications were re-applied where this branch had moved the
commands to: the prior-art table and the PR-template bullet in AGENTS.md, the
chaos dispatch in docs/testing.md, the job-log recipe in docs/ci.md (including
the "--log flag on gh run view" rewording, which exists so the paragraph does
not read as a recipe), and the closing-references lookup in
docs/issue-references.md.

d6a2bf5 lowercased docs/QUARANTINED_TESTS.md, docs/TODO_INDEX.md and
docs/SELF_HOSTED_RUNNER.md. Git merged the renames with no conflict and left
this branch's citations of the old names pointing at nothing, silently - no CI
check resolves a relative markdown link. Fixed in AGENTS.md (routing table and
the ownership table), docs/testing.md and docs/ci.md; master's own sweep had
already fixed docs/inflight/AGENTS.md and docs/refactoring.md, which came
through the auto-merge. Nothing in the tree matches the old names now,
docs/plans/ included - no category was skipped.

The other two commits are build-side (ossindex audit, central-publishing
pinning) and merged into pom.xml untouched.

Verified: check-issue-refs.sh and check-copyright-headers.sh clean;
check-quarantine-registry.sh consistent and todo-index.sh --check up to date,
so the renamed generated docs and their scripts still agree; every relative
markdown link in AGENTS.md and the seven topic docs resolves against the
filesystem (44 links, 0 broken - 76 across all of docs/). AGENTS.md is now 415
lines, past its own ~400-line backstop; the overrun is the inherited section and
is called out rather than paid for by cutting an existing rule.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
@claude

claude Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

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


Tasks

  • Gather context (PR body, prior review rounds, fix commits, current diff)
  • Run /code-review skill against origin/master...HEAD (per repo custom instructions)
  • Post review findings

Review (round 5)

Re-checked all four previously-fixed findings from earlier rounds and confirmed they're still landed correctly: CONCEPTS.md class-names exclusion restored, quarantine rule stated once with bare cross-references, docs/ci.md names no hard-coded Kafka version, and the read-the-commits-you-inherit backlink points at the right section. Also independently re-verified relative links across all new/changed docs, CI workflow job-name/required-check claims, ambient-probe threshold constants referenced in the docs, table structure, and AGENTS.md heading/anchor integrity — all correct.

One new, low-severity finding, posted inline on docs/quarantined-tests.md:32:

The "full discipline in docs/testing.md" promise isn't honored for rule 2. docs/quarantined-tests.md:32 says the full rules discipline lives in docs/testing.md, but rule 2 ("Quarantine is master-state, not PR-state") at docs/testing.md:64 is just - see AGENTS.md, Testing — bouncing back to the router — while rules 1 and 3 in that same list are stated in full. This is a side-effect of the earlier "never state a fact twice" fix (which correctly consolidated the rule + rationale into AGENTS.md:240-242), but it left this file's "full discipline" framing overselling what docs/testing.md actually contains for that one rule. Not a functional defect — just a navigation nit worth a one-line wording fix.

No other issues found.

@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

Comment thread docs/quarantined-tests.md Outdated
`docs/quarantined-tests.md` promised the "full discipline" lived in
`docs/testing.md` and the `@Quarantined` javadoc, but rule 2 - quarantine is
master-state, not PR-state - is stated only in AGENTS.md, because it is
unenforced and this split keeps unenforced rules in the root. The pointer now
names all three sources instead of overselling two.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
@claude

claude Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

Claude finished @astubbs's task in 3m 15s —— View job


Tasks

  • Gather context (PR body, prior review rounds, fix commits, current diff)
  • Kick off /code-review skill against this PR (multi-agent review running in background)
  • Post review findings

Review agents are running now (this is round 6 — four prior rounds already found and fixed several issues). I'll update this comment with findings once they complete.

@astubbs
astubbs merged commit 31770a3 into master Aug 11, 2026
30 of 31 checks passed
@astubbs
astubbs deleted the docs/compact-agents-md branch August 11, 2026 02:05
astubbs added a commit that referenced this pull request Aug 11, 2026
#272 split AGENTS.md into a router plus topic docs, relocating the
per-workflow CI reference to docs/ci.md. This branch's only two AGENTS.md edits - the
`dependency-audit.yml` entry and the amendment to "there is no scheduled build,
deliberately" - live in exactly that relocated section, so both move to docs/ci.md and
AGENTS.md resolves to master's version unchanged. Verified the router retains no
scheduled-build, cron or ossindex rule that would now contradict them: it has none.

A clean textual merge would have been the wrong answer here rather than the right one. Git
had no way to know the section had moved files, so the choice was between a conflict and
silently stranding both additions in a router doc while the real CI reference lived
elsewhere.

Condensed to the destination file's conventions - bare workflow filename, plain hyphen,
95-column wrap - since the whole point of that split was to stop the per-workflow list
regrowing into narratives. One clause did not survive: the flat claim that "Dependabot
misses transitive components entirely". That is exactly the assertion
docs/inflight/ci-ossindex-lane-reassessment.md now qualifies at length, and it does not
belong stated baldly in a reference doc that will outlive the current state. The schedule
justification it was bundled with - that nothing else notices an unchanged tree acquiring a
new advisory - is kept.

Also checked aa61238 (the rename to Parallel Consumer for Apache Kafka) against this
branch: no impact. It changes each pom's <name>, while bin/check-ossindex-audit.sh keys on
plugin output strings ("Checking for vulnerabilities;", "Failed to fetch
component-reports") and on artifactId coordinates, neither of which the rename touches. No
file on this branch referenced the old project name.

Gates re-run after the merge: actionlint clean on both workflows this branch touches (the
two findings it reports are pre-existing on master, in files this branch does not touch),
bin/check-action-versions.sh ok, bin/check-shell-sigpipe.sh ok, and all
bin/check-ossindex-audit.sh self-tests pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01STG7ygSMtmFuu36BiqdA1m
astubbs added a commit that referenced this pull request Aug 11, 2026
#272 moved "there is no scheduled build, deliberately" out of
AGENTS.md into docs/ci.md. This header cited the rule by its old home, so the pointer
went stale the moment master landed - the kind of reference that rots silently because
nothing checks it.

Swept the rest of this branch for the same breakage: the only other AGENTS.md citation is
bin/check-ossindex-audit.sh's "bin/AGENTS.md -> Scripts that guard other scripts", and
that file and section both still exist. No other stale anchors.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01STG7ygSMtmFuu36BiqdA1m
astubbs added a commit that referenced this pull request Aug 11, 2026
The merge of master was clean and wrong. git resolves renames and
restructures without a conflict, so four citations on this branch kept
pointing at files, line numbers and a sentence that no longer exist, and
nothing in CI reads a prose citation. All four were silent.

- `docs/TODO_INDEX.md` -> `docs/todo-index.md`. #270 lowercased the
  three shouting docs. This one is not cosmetic: it sits in the R5 sweep
  inventory as an actionable checklist item, so a future session executing
  the rename would have been sent to a path that does not exist, next to a
  correct instruction to regenerate it.

- `pom.xml:723-724,750` -> `:743-744,770`. The surefire excludes and the
  failsafe include moved 20 lines when #259 added the
  central-publishing pluginManagement block. §6's claim - that the
  unit/integration split keys on the `integrationTest*` path segment and so
  survives the package move - was still true, but pointed at the compiler
  `<source>` element and an unrelated comment. Added what the lines are, so
  the next drift is detectable by reading rather than by counting.

- The `=== Improvements` changelog quote, in both §8 and the release
  blocker. #276 deleted the exact sentence both quoted ("Java package
  names ... are unchanged, so imports are unaffected") while renaming the
  project, for a reason unrelated to this branch. The underlying warning
  survives - the `== 0.6.0.0` section still asserts the groupId is the only
  required change, in its opening paragraph and in the `=== Breaking`
  bullet - so both now name those two passages instead, and §8 records that
  the third is already gone so nobody hunts for it.

- The "links to confluentinc that legitimately remain" item named
  `AGENTS.md` as one file. #272 split it into seven topic docs and
  three of them carry such links. Replaced the fixed filename list with the
  grep that produces it, since the same split will happen again.

Verified rather than assumed, because every one of these fails silently:
zero matches for the three old SCREAMING_CASE names anywhere outside .git;
all 40 repo-relative backtick path citations in the branch's three docs
resolve, the single exception being `bin/rename-packages.sh`, a deliberate
forward reference to work in flight elsewhere; all 7 relative markdown links
and all 8 adoc `link:` targets resolve; and the 24 `path:line` citations were
checked by reading the cited line and confirming it still says what the
prose claims. check-issue-refs, check-copyright-headers, todo-index --check
and check-quarantine-registry are all green, and README.adoc regenerates
byte-identical from the template, so master's branding rename merged into
the generated file correctly rather than being hand-patched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fpk9yEDEhPnbad2WKvZUmP
astubbs added a commit that referenced this pull request Aug 11, 2026
#272 split AGENTS.md into a router plus seven topic docs, which
conflicted with this branch's one addition to the Testing section.

Resolved by that commit's own placement rule rather than by keeping the text:
a situational rule stays in the root only when nothing catches a miss, and
nothing in CI detects someone re-adding -Dsurefire.rerunFailingTestsCount. So
the rule stays in the root, recompressed to the new house style - the rule, a
one-line why, and a citation - with the incident left in docs/solutions/ where
it already lives rather than retold inline. Root Testing now states four
binding rules instead of three.

Also repoints this branch's commitTimeout write-up at docs/testing.md for the
ambient-probe threshold caveat. The split moved that caveat's detail out of
AGENTS.md, leaving the citation resolving to a one-line summary instead of the
thresholds it promises - the same defect class #272 reported fixing in
six other files. Swept this branch's remaining AGENTS.md citations (Testing,
Before you investigate anything, PR Discipline): all three labels survive the
split, so nothing else needed moving.

Note for whoever adds the next root rule: AGENTS.md is now 424 lines, past the
~400 backstop #272 set for itself. It arrived over that line at 415;
this adds nine.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XXViiRK9G6aHhYFoL3RTst
astubbs added a commit that referenced this pull request Aug 11, 2026
Review finding on #224. The earlier sweep on this branch checked whether
the AGENTS.md headings a citation named still existed, not whether the content
the citation claimed was still under them. #272 kept the headings and
moved the content, so that test could not detect the defect it was looking for,
and two instances survived in the same file the sweep had already edited for
exactly this reason.

- The related-PRs entry said #220's probe correction is "in AGENTS.md".
  Historically true, so this records the relocation rather than rewriting it:
  the thresholds are now in docs/testing.md and the settling method in
  docs/investigating.md.
- "Its §11 control-arm method is now promoted into AGENTS.md" was simply false.
  AGENTS.md:151-152 explicitly hands hypothesis-settling off, and the method is
  at docs/investigating.md:13-18. Repointed there.

Re-swept the branch on the corrected test - every doc-location citation in every
file this PR touches, checked against where the content actually lives now, not
against whether the heading survived. The remaining one, "AGENTS.md (Testing) -
carries the no-retry rule and the quarantine alternative", still holds: root
Testing states both. The two inflight entries cite no doc locations at all.
Both new relative links resolve.

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