docs: refresh CLAUDE.md to match current state#96
Merged
Conversation
Three concrete inaccuracies and one bonus cleanup in CLAUDE.md: - Known-bugs entry described an already-fixed bug (LTSCodename *string with custom UnmarshalJSON, shipped per CHANGELOG.md Unreleased). Reworded to describe the FIXED shape and warn against "fixing" it back to a plain bool. - Phase-status table listed Phases 5-6 as Not started; both are merged. Updated Phases 4-6 to Done, Phase 7 to In progress, Phase 8 to In progress (blocked on #17/#18). - Architecture diagram pointed at a non-existent restore.go; both Restore and RestoreFromSnapshot live in snapshot.go. Replaced. - Bonus: yaml.v3 is in go.mod (core dep); gjson was never added — removed from the planned list. CHANGELOG entry added under [Unreleased] / ### Fixed. Closes #54
|
✔️ f4cb2c9 - Conventional commits check succeeded. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three docs-only fixes to
CLAUDE.mdthat have drifted out of sync with the actual code and withREADME.md/CHANGELOG.md:"Known bugs (do not re-introduce)" entry described an already-fixed bug. It said
ManifestVersion.LTSis typedboolwith a uselessTS string \json:"ts"`fallback. The actual code atinternal/node/dist.go:25-62already usesLTSCodename *stringwith a customUnmarshalJSONthat correctly handles the nodejs.orgltsJSON union — matchingCHANGELOG.md`'s Unreleased section which documents this exact fix as already shipped. As written, this section could mislead a future contributor (or AI assistant) into "fixing" something that isn't broken, or cause confusion hunting for a bug that no longer exists.Phase-status table is stale. It listed Phase 5 (Config subsystem) and Phase 6 (Cross-platform polish) as "Not started." Both are fully implemented per
CHANGELOG.md's Unreleased section (YAML config + subcommands;QuotePath; interrupted-upgrade sentinel; system-node classifier) and perREADME.md's own Project-status table, which marks Phases 1-6 done. Updated Phases 4-6 to "Done" and Phase 7 to "In progress" (GoReleaser / brew / scoop / npm distribution work tracked by chore(release): finalize GoReleaser config and npm wrapper #17 / chore(release): prepare v1.0.0 release #18 is genuinely outstanding).Architecture table is wrong about
internal/packages/restore.go. It documented a filerestore.gowithRestore(ctx, managerName, version). No such file exists —Restore(and an additionalRestoreFromSnapshot(ctx, path)) both live insnapshot.go. Updated the architecture diagram to point at the actual file and to document both functions.Bonus: the dependencies line listed
gjsonandyaml.v3as "planned but not yet in go.mod" —yaml.v3is ingo.mod(used by the config subsystem),gjsonwas never added. Removedgjsonfrom the planned list and movedyaml.v3to the core deps line.Linked issues
Closes #54
Type of change
docs— documentation onlyfeat— new feature (MINOR bump)fix— bug fix (PATCH bump)refactor— no behavior changeperf— performance improvementtest— tests onlychore— maintenance / dependency bumpci— CI/CD onlybuild— build system onlyChecklist
feat(scope): subject)make cilocally and it passes (Go-side tidy/fmt/vet/lint/test all green; the change is to a Markdown doc only and doesn't affect the Go pipeline)git blameand theinternal/node/dist.goreference verify)CHANGELOG.mdgets a### Fixedentry under[Unreleased])make lintgreen)Screenshots / output
Pre-fix, the "Known bugs (do not re-introduce)" section was actively misleading:
Pre-fix, the phase-status table was 3 phases behind reality:
Post-fix:
Pre-fix, the architecture diagram pointed at a non-existent file:
Post-fix:
Files touched
CLAUDE.md—LTSCodename *stringshape, so a future reader knows not to "fix" it back to a plainbool.internal/packages/entry: drops the non-existentrestore.go, points atsnapshot.goinstead, and addsRestoreFromSnapshot(which the previous diagram didn't mention).yaml.v3is now a core runtime dep (it's ingo.mod);gjsonis removed from the "planned" list (it was never added).CHANGELOG.md—### Fixedentry under[Unreleased]documenting the doc refresh with docs: CLAUDE.md known-bugs section and phase-status table are stale #54 reference.