Skip to content

feature: Retry count available in header - #197

Closed
Antony Stubbs (astubbs) wants to merge 1 commit into
masterfrom
retries-header
Closed

Antony Stubbs (astubbs) wants to merge 1 commit into
masterfrom
retries-header

Conversation

@astubbs

@astubbs Antony Stubbs (astubbs) commented Feb 15, 2022 •

Copy link
Copy Markdown
Contributor
  • docs
  • update / link to from issues
  • include issue number
  • Remove WorkContainer from any public API - e.g. delay provider in options

Spirit of:

Redundant by

Blocked by:

feature: Retry count available in header

feature: Retry count available in header

feature: Retry count available in header

feature: Retry count available in header

feature: Retry count available in header

feature: Retry count available in header
@astubbs

Copy link
Copy Markdown
Contributor Author

@astubbs
Antony Stubbs (astubbs) deleted the retries-header branch May 20, 2022 14:41
Antony Stubbs (astubbs) referenced this pull request in astubbs/parallel-consumer Aug 5, 2026
All 78 upstream issues are mirrored, diagnosed and backlinked, and 7 are closed
against a released version. It ran in a day, by hand and with parallel
subagents, so Phase 1's script was never written.

Four things went wrong and are recorded so the next person does not repeat them:

A GREP SWEEP IS NOT A DIAGNOSIS. The first "is this already implemented?" pass
probed for strings related to each issue and reported 11 as implemented; at
least 9 were false, because it found the code the issue was ABOUT - the log line
being complained about, a class merely mentioned - and read presence as a fix.
Discarded and redone by reading each issue. The probes that did work shared one
property: the string could only exist if the request had been implemented.

UPSTREAM'S "FIXED BY" ANNOTATIONS ARE UNRELIABLE. #346, #270, #325, #181, #179,
#197 are all closed with mergedAt=null - around 40 of 53 PRs were closed on
2023-06-15 when the maintainer left, an administrative sweep rather than review
outcomes. Seven mirrors now carry an "Unmerged work" section saying so.

DO NOT TRUST AN ISSUE'S ACCOUNT OF WHAT IS PUBLISHED. Three mirrors repeated
that 0.5.3.3 was never published - true when written, false by the time we said
it. It reached Central on 2025-08-28. Check the artefact repository, not the
conversation.

AUTO-CLOSE IS SILENTLY FRAGILE. "Fixes #NNN" only closes on PRs targeting the
default branch, and a body rewrite silently dropped one. Verify with
closingIssuesReferences.

Also records what worked: fan-out for diagnosis with a single voice for writing,
notifying only when actionable (four reporters got usable answers), and that
diagnosing turned up six bugs nobody had filed.

Label scheme updated to match reality: enhancement -> feature, ver:1.0 -> 1.0,
plus fixed-in/, partially-fixed-in/, affects/, pr-available, and
next-feature-release / next-breaking-release instead of committing to version
numbers.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqHpNSXC39ANv9kG1ZvUzn
Antony Stubbs (astubbs) added a commit to astubbs/parallel-consumer that referenced this pull request Aug 6, 2026
.github/scripts/issue-ref-gate.js landed in 735b1d3 and fails the PR Checklist on any
bare `#NN` below 1000 on an added line. This branch predates it and carried six, all
`#197`, all meaning this fork's release tracking issue - so all six become `#197`.

The gate's reasoning applies squarely here: `#197` resolves in BOTH repos, and
confluentinc#197 is a different issue entirely. A wrong reference that resolves is worse
than a broken one, because nothing looks amiss.

  .github/workflows/maven.yml    the "release: notes renderer" job comment
  .github/workflows/release.yml  the "deliberately NOT --generate-notes" rationale
  AGENTS.md                      the Release notes paragraph
  bin/release-notes.py           the module docstring's "why this exists"
  bin/test-release-notes.sh      the header comment, and the suffix regression's name

Verified with the gate itself against a locally computed diff vs origin/master: 0
unqualified refs. docs/inflight/release-0.6.0.0.md already used #197 - master's
own sweep wrote it that way, which is where the form comes from.

Suite still 24/24 exit 0; check-shell-sigpipe, check-action-versions, todo-index --check
and the copyright scan all pass. No TODO markers added, and the only runs-on this PR adds
is ubuntu-latest, so none of the self-hosted lanes deleted in 810283c are referenced.
Antony Stubbs (astubbs) added a commit to astubbs/parallel-consumer that referenced this pull request Sep 1, 2026
…e body

A GitHub Release cut by this pipeline had no readable body. The workflow did try:
an inline awk compared each line to the literal string "== <releaseVersion>", but
the section is headed "== 0.6.0.0 (unreleased)", so it matched nothing - and the
step then fell back to --generate-notes, which is indistinguishable, on the release
page, from the curated notes having silently vanished. Nothing failed.

Replaces the one-liner with bin/release-notes.py, and removes the fallback:

- Extraction tolerates the headings the file actually uses ("v0.5.2.2", a
  "(unreleased)" suffix - warned about, not silently accepted) and will not let a
  version prefix match a longer version (0.6.0.1 vs 0.6.0.10).
- AsciiDoc -> Markdown for a bounded subset (headings, bullets, ordered lists,
  link/URL macros, bold, admonitions, "+" continuations, "//" comments), with
  monospace spans masked so `bz.stub.parallelconsumer.*` is not read as an
  emphasis marker, and relative link: targets absolutised at the released tag so
  they do not 404 off github.com. Anything outside the subset that would render as
  garbage (source blocks, tables, anchors, block attributes, includes, xrefs) is an
  error, not a silent pass. No asciidoctor/pandoc: the release must not be able to
  fail because a gem would not install.
- Missing, empty or unconvertible section = non-zero exit. release.yml renders the
  notes BEFORE it commits, tags, deploys or publishes anything, so that failure is
  cheap; a dry run rehearses the render and prints the body to the job summary.

Tested by bin/test-release-notes.sh (contract cases on synthetic changelogs, plus
every version section of the real CHANGELOG.adoc). No CI job is added for it:
bin/check-all.sh --with-tests globs bin/test-*.sh and repo-hygiene.yml runs that on
every PR, so the suite is already swept - the original branch added a dedicated
maven.yml job because check-all.sh did not exist yet, and re-adding one now would
be the hand-maintained list that script exists to abolish.

Docs go to docs/releasing.md and docs/inflight/release-0.6.0.0.md rather than
AGENTS.md, which no longer carries the Releasing or CI sections this originally
edited. Every reference to #197 is written qualified: the fork's numbers sit
inside confluentinc's range, confluentinc#197 is a different issue, and
.github/scripts/issue-ref-gate.js now fails a bare one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant