Skip to content

Fix stale JAR filename in documentation examples - #15

Merged
dmccoystephenson merged 1 commit into
mainfrom
feature/fix-jar-version-doc-drift
Aug 25, 2026
Merged

dmccoystephenson merged 1 commit into
mainfrom
feature/fix-jar-version-doc-drift

Conversation

@dmccoystephenson

Copy link
Copy Markdown
Member

Summary

  • The java -jar examples in README.md, USER_GUIDE.md and CONFIG.md referenced target/gh-backup-1.0.0.jar, a file the build does not produce. The project version in pom.xml is 2.0.0-SNAPSHOT-8-8-2026 and no <finalName> is configured under <build>, so mvn clean package emits target/gh-backup-2.0.0-SNAPSHOT-8-8-2026.jar — the same name Dockerfile line 18 copies. Anyone following the documented quick start was met with Error: Unable to access jarfile target/gh-backup-1.0.0.jar.
  • All 23 stale references are corrected: 4 in README.md (including the build step that states where the executable JAR is created), 9 in USER_GUIDE.md, and 10 in CONFIG.md.
  • The convention already established in COMMANDS.md and Dockerfile — the full version string rather than a placeholder — is matched, so COMMANDS.md needed no change.
  • A ### Fixed entry is added to the [Unreleased] section of CHANGELOG.md.

No source, configuration, or workflow files are touched; this change is documentation-only.

Test plan

  • mvn test — BUILD SUCCESS, 54 tests executed, 0 failures, 0 errors, 1 skipped (the skip is pre-existing on main and unrelated to this change)
  • grep -rn "gh-backup-1.0.0" across all documentation, Dockerfile and docker-compose.yml returns only the intentional mention inside the new CHANGELOG.md entry
  • The corrected filename was cross-checked against pom.xml (<artifactId>gh-backup</artifactId>, <version>2.0.0-SNAPSHOT-8-8-2026</version>, no <finalName>) and against Dockerfile line 18

Note on verification scope: because the change is documentation-only, the Maven test suite verifies nothing about the corrected text itself. The correctness of the new filename rests on the pom.xml/Dockerfile cross-check recorded above rather than on the green build.

Issues deferred this cycle

Closes #14

This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).


drafted by Claude on behalf of Daniel Stephenson

README.md, USER_GUIDE.md and CONFIG.md documented `java -jar` invocations
against `target/gh-backup-1.0.0.jar`, but the project version in pom.xml is
2.0.0-SNAPSHOT-8-8-2026 and no <finalName> is configured, so the build
produces `target/gh-backup-2.0.0-SNAPSHOT-8-8-2026.jar`. Every documented
invocation failed with "Unable to access jarfile" when followed literally.

The 23 stale references are updated to the artifact the build actually
produces, matching the convention already used in COMMANDS.md and Dockerfile.

Closes #14

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

Copy link
Copy Markdown
Member Author

Self-review rubric

Scored adversarially against the diff and command output, not against intent.

  • Scope: PASS — four files are modified. README.md, USER_GUIDE.md and CONFIG.md are exactly the three named in Docs instruct users to run gh-backup-1.0.0.jar, but the build produces gh-backup-2.0.0-SNAPSHOT-8-8-2026.jar #14; CHANGELOG.md is not named there, but a [Unreleased] entry is required by the repository's own Keep a Changelog convention for any merged-but-unreleased change, and the precedent for logging documentation-accuracy fixes under ### Fixed is set by the 2.0.0-SNAPSHOT-8-8-2026 entry directly below it. No formatting churn, renames, or unrelated edits appear in the diff.
  • Tests-new: N/A — no public method or function is added; the change is documentation-only.
  • Tests-fix: N/A (stated, not assumed) — the stash-and-run procedure cannot produce a signal here. The defect is a wrong filename in prose, not a code path, so no Java test can be written that fails before the change and passes after it. The substitute evidence is the pom.xml/Dockerfile cross-check recorded in the PR body; this item is deliberately not scored PASS, because doing so would overstate what was verified.
  • Sibling structure: PASS — no new file is created. The replacement string matches the form already used by the sibling documents COMMANDS.md (12 occurrences) and Dockerfile (1 occurrence), so all five files now agree.
  • Sibling renames: PASS — the identifier renamed is a filename, and every occurrence across the repository was renamed together. grep -rn "gh-backup-1.0.0" over the documentation, Dockerfile and docker-compose.yml now returns only the intentional reference inside the new CHANGELOG.md entry.
  • Docs: PASS — every row of the documentation sources-of-truth table was re-checked against source. README.md: the build-output path and all three run examples now match the artifact mvn clean package produces. COMMANDS.md: already correct, no change needed. CONFIG.md: all ten override examples corrected; the documented properties, types and defaults were separately verified against src/main/resources/application*.properties and found accurate. USER_GUIDE.md: all nine examples corrected; the interactive-command table and the anonymous-fallback description were re-checked and found accurate. CHANGELOG.md: entry added under [Unreleased].
  • Issue resolution: PASS — Docs instruct users to run gh-backup-1.0.0.jar, but the build produces gh-backup-2.0.0-SNAPSHOT-8-8-2026.jar #14 names 23 occurrences across three files, and all 23 are changed. The occurrence counts in the issue were re-verified against the working tree before the edit (grep -c returning 4, 9 and 10).
  • CI: PASS — the external anchor is green on the PR head: build passed in 34s and docker-build passed in 1m40s (run 32823632122). main is not structurally red — the last two pushes to main also show success — so this green carries real signal. Locally, mvn test reports BUILD SUCCESS with 54 tests executed, 0 failures, 0 errors and 1 skipped; the skip is pre-existing on main and unrelated.
  • Config-doc parity: PASS — no application*.properties key and no @Value/@ConfigurationProperties field is added or changed by this diff.
  • Command-doc parity: PASS — no CLI flag, JVM system property or REST endpoint is added or changed by this diff.
  • Package placement: N/A — no Java source file is touched.
  • No credential leakage: PASS — the only token-shaped strings in the diff are the pre-existing placeholders ghp_yourTokenHere and your_github_token_here, both carried through unchanged from the original lines.

Findings

One substantive finding was raised, and it is a judgment call rather than a defect in this diff:

README.md:21, CONFIG.md:17, USER_GUIDE.md:18 (and the other 20 changed lines) — the fix propagates a fragile pattern instead of removing it. Spelling the version out literally means the string gh-backup-2.0.0-SNAPSHOT-8-8-2026.jar now occupies 36 places across five files, all of which must be edited by hand at the next version bump, with no CI check to catch a partial update. That the previous bump updated COMMANDS.md and Dockerfile but missed the other three files — which is precisely how #14 arose — shows the failure is likely to recur.

Matching the established convention is nonetheless the right call for this PR: deviating from it would leave the five files inconsistent with each other, and the alternatives (a <finalName> in pom.xml, or a non-copy-pasteable <version> placeholder) change release-artifact naming and touch the release workflow's upload glob, which is well outside a documentation correction. The underlying pattern has therefore been filed separately as #16 rather than resolved here.

No rubric item required a code change, so no follow-up commit was pushed.

This comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).


drafted by Claude on behalf of Daniel Stephenson

@dmccoystephenson
dmccoystephenson merged commit 27456d6 into main Aug 25, 2026
2 checks passed
@dmccoystephenson
dmccoystephenson deleted the feature/fix-jar-version-doc-drift branch August 25, 2026 07:54
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.

Docs instruct users to run gh-backup-1.0.0.jar, but the build produces gh-backup-2.0.0-SNAPSHOT-8-8-2026.jar

1 participant