Add TODO section to README with 1.0 roadmap, remove TODO.md #54
Reference in New Issue
Block a user
Delete Branch "47-add-todo-section-to-readme"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Performs a design and status review of the codebase and adds a comprehensive TODO section to
README.mdlisting remaining work for a 1.0 release.What changed
TODO: Remaining Work for 1.0section covering:TODO.mdto README TODO sectionDesign review findings
What works well:
Key gaps for 1.0:
.golangci.yml,.editorconfig, CI workflow)manifesttype is unexported — consumers can't use it in their own type declarationsgpgsubprocess — fragile and may not be installedgo.modand protogo_packagefetchcommand lacks retry logic and has no HTTP timeoutcloses #47
closes #50
Code Review: PR #54
Policy Divergences
No REPO_POLICIES.md violations found in the changed files themselves. The Dockerfile base images remain pinned by sha256, no linter/CI config was modified, and no test assertions were weakened.
Requirements Checklist
Issue #47: Add TODO section to README
Issue #50: Integrate ALL items from TODO.md into README, remove TODO.md
Critical Finding: TODO.md Items Dropped
The PR claims
closes #50, but issue #50 explicitly requires "Integrate all items fromTODO.md." The PR drops roughly half the content.7 of 14 design questions dropped:
atimebe removed from the schema? (volatile, non-deterministic, conflicts with determinism goal)signatureString()sign raw bytes instead of hex?.mf.sig)?12+ implementation tasks dropped entirely:
Phase 1 (all 6 items missing):
internal/scanner/andinternal/checker/— consolidate onmfer/packageBuilder.Build()io.LimitReaderindeserializeInner())errors.Isdead code in checkerAddFileto verify size matches totalRead..)Phase 2 (all 4 items missing):
url.JoinPath()instead of string concatenation--deterministicflag or make it defaultPhase 3 (1 missing):
Phase 4 (1 missing):
atimefrom protoBuild Result
✅
docker build .passes — all tests, linting, and formatting pass.Verdict: FAIL
The PR drops approximately half the design questions and a majority of the implementation tasks from TODO.md while claiming
closes #50, which requires integrating all items. This is not a minor omission — entire phases of concrete, actionable work items (Phase 1 foundation and Phase 2 CLI polish) are missing from the README TODO section. The items dropped include security-relevant concerns (path normalization rules, decompression size limits) and known bugs (dead code, size verification).All dropped items must be integrated into the README TODO section, or the
closes #50claim must be removed.Rework Summary
Fixed all review findings from the failed review. The README TODO section now integrates all items from
TODO.md.Changes
Design Questions — added 7 missing questions (now 14 total):
atimebe removed from the schema?signatureString()sign raw bytes instead of hex?.mf.sig)?Design questions are now organized with sub-headers matching the original
TODO.mdstructure: Format Design, Signature Design, Implementation Design.Implementation Tasks — added all 12+ missing items:
Format & Correctness:
..)atimefrom protoLibrary (6 new items):
internal/scanner/andinternal/checker/— consolidate onmfer/packageBuilder.Build()io.LimitReaderindeserializeInner())errors.Isdead code in checkerAddFileto verify size matchestotalReadCLI (4 new items):
url.JoinPath()--deterministicflag or make it default (updated from documentation-only to full implementation scope)Build
✅
docker build .passes — all tests, linting, and formatting pass.Verification
All 14 design questions present (was 7). 34 implementation tasks total. Every item from the original
TODO.mdis now integrated into the README TODO section, satisfying issue #50's requirement to integrate all items.Re-Review: PR #54 (post-rework)
Policy Divergences
No policy violations found. No changes to Makefile, Dockerfile,
.golangci.yml, CI config, or test files. All new README content respects the 80-column prose wrap convention. Changed files are limited toREADME.md,AGENTS.md, and removal ofTODO.md— all documentation-only.Requirements Checklist
Issue #47: Add TODO section to README for 1.0 release
Issue #50: Integrate ALL items from TODO.md into README, remove TODO.md
TODO.md Coverage Audit
Item-by-item comparison of
git show main:TODO.mdagainst the new README TODO section:Design Questions (14/14 present):
NewManifestFromReader,NewManifestFromFile— more accurate than TODO.md'sNew,NewFromPaths)go_packagepath)Implementation Tasks (22/22 from TODO.md present):
Missing items from TODO.md: NONE.
The README also adds 12 new items beyond TODO.md (repo infrastructure, proto path inconsistency, version flag wiring, HTTP timeout, integration tests, documentation, version constant). These are legitimate additions from the design review per issue #47's scope.
Additional Checks
TODO.md→README.mdTODO section ✅.golangci.yml, CI workflows, or test files ✅Build Result
✅
docker build .passes — all tests, linting, and formatting pass.Verdict: PASS
The rework successfully addressed every finding from the first review. All 14 design questions and all 22 implementation tasks from
TODO.mdare now integrated into the README TODO section. The additional items from the design review are appropriate additions per issue #47's scope.TODO.mdis removed. No policy violations. Build is green.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.