docs: drop completed work from TODO.md - #153
Conversation
The file carried a 'Done (kept for history)' section and two items that were
already resolved, which made the open list look three times longer than it is.
Git history and crossrepostatus.md already hold that record; duplicating it
here only ages.
Removed, both verified rather than taken on trust:
- SpotBugs effort=Max + threshold=Low -- pom.xml has <effort>Max</effort>
and <threshold>Low</threshold>, and spotbugs:check runs in verify.
- 'No LogCaptor smoke test needed' -- src/main/java has no org.slf4j usage
at all, so it documents a problem this repo does not have.
- The whole 'Done (kept for history)' block (12 finished items).
The @VisibleForTesting entry is kept but sharpened: it now names the 15
package-private methods it is actually about and states the decision it needs
(project-local marker annotation vs. recording that the convention does not
apply to a one-class library), so it can be closed instead of re-audited.
The header now says outright that finished items are deleted, not annotated.
| - **jqwik pin policy** — see [`../workspace/policies/jqwik-prompt-injection.md`](../workspace/policies/jqwik-prompt-injection.md). `jqwik.version ≤ 1.9.3` is mandatory. A standing constraint, not a task: it has to be re-checked whenever the dependency is bumped. | ||
|
|
||
| - **Cross-repo code-quality TODOs** — see [`../workspace/policies/code-quality-todos.md`](../workspace/policies/code-quality-todos.md) for the canonical `@VisibleForTesting` design-fit review, package hierarchy review, and class/method naming review. This module is single-package and has no `@VisibleForTesting` usages; the package and naming reviews remain open. | ||
| - **`@VisibleForTesting` audit.** `StreamBuffer` has **15** package-private methods that exist so tests can reach them (`decideTrimExecution`, `shouldTrim`, `clampToMaxInt`, `decrementAvailableBytesBudget`, `calculateResultingChunks`, the five `shouldSkipTrim*`/`should*` predicates, `isAvailableBytesPositive`, `isMaxAllocSizeLessThanAvailable`, `shouldCheckEdgeCase`, `recordReadStatistics`, `shouldUpdateMaxObservedBytes`, `updateMaxObservedBytesIfNeeded`). None is annotated, and Guava is not a dependency here — so closing this means deciding between (a) adding a project-local marker annotation, which puts a new public type into the API surface of a deliberately one-class library, and (b) recording that the convention does not apply to this repo. Decide and act; do not leave it as a permanently open audit. |
There was a problem hiding this comment.
Minor wording issue: The text says "the five shouldSkipTrim*/should* predicates" but there are only four shouldSkipTrim* methods in the codebase:
shouldSkipTrimDueToEdgeCaseshouldSkipTrimDueToInvalidMaxBufferElementsshouldSkipTrimDueToSmallBuffershouldSkipTrimDueToSufficientBuffer
Suggest changing "five" to "four" for accuracy, or if the count was meant to include additional predicates, clarify which ones are grouped under "the five" vs. the separately-listed methods.
Review SummaryThis is a documentation-only PR that cleans up completed work from TODO.md. Overall, the changes are well-motivated and the claims have been verified against the current codebase. Verified claims:✅ SpotBugs effort=Max + threshold=Low: Confirmed in pom.xml; Improvements in clarity:
Code quality assessment:
Note: See inline comment regarding a minor wording issue with method count. |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #153 +/- ##
=========================================
Coverage 96.88% 96.88%
Complexity 94 94
=========================================
Files 1 1
Lines 257 257
Branches 33 33
=========================================
Hits 249 249
Misses 2 2
Partials 6 6 ☔ View full report in Codecov by Harness. |



Summary
TODO.mdcarried aDone (kept for history)section and two already-resolved items, which made the open list look three times longer than it is. 34 → 20 lines. Docs only.effort=Max+threshold=Low—pom.xmlcarries<effort>Max</effort>and<threshold>Low</threshold>, andspotbugs:checkruns inverify.src/main/javahas noorg.slf4jusage at all, so it documents a problem this repo does not have.Done (kept for history)block (12 finished items) goes too. Git history andcrossrepostatus.mdalready hold that record; duplicating it here only ages.The
@VisibleForTestingentry is kept, but sharpenedIt said "No usages currently", which reads as "nothing to do".
StreamBufferactually has 15 package-private methods that exist so tests can reach them —decideTrimExecution,shouldTrim,clampToMaxInt,decrementAvailableBytesBudget,calculateResultingChunks, theshouldSkipTrim*predicates,isAvailableBytesPositive,isMaxAllocSizeLessThanAvailable,shouldCheckEdgeCase,recordReadStatistics,shouldUpdateMaxObservedBytes,updateMaxObservedBytesIfNeeded.None is annotated and Guava is not a dependency, so the entry now states the actual decision it needs: (a) add a project-local marker annotation — which puts a new public type into the API surface of a deliberately one-class library — or (b) record that the convention does not apply here. Either closes it; leaving it as a standing "audit" does not.
Test plan
TODO.mdonly — no source, test or build file touchedRelated issues / PRs
Part of a four-repo pass; siblings are the matching
claude/todo-cleanupbranches injava-llama.cpp,BitcoinAddressFinderandsrcmorph. Each file's header now states the rule outright: finished items are deleted, not annotated.Checklist
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdGenerated by Claude Code