Step 8: Polish — lint, clock abstraction, e2e test.

- golangci-lint config with errcheck, govet, staticcheck, errorlint
- Fix all lint issues (unchecked error returns in cleanup paths, De Morgan)
- Inject jonboulle/clockwork into Garden for deterministic timestamps
- Add manifest.NewWithTime() for clock-aware initialization
- E2e lifecycle test: init → add → checkpoint → modify → status → restore → verify
- Update CLAUDE.md, PROJECT_PLAN.md, PROGRESS.md

Phase 1 (local) is now complete. All 9 CLI commands implemented and tested.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-23 22:03:53 -07:00
parent 08e24b44e0
commit d1a6e533a4
11 changed files with 200 additions and 37 deletions

25
.golangci.yaml Normal file
View File

@@ -0,0 +1,25 @@
version: "2"
linters:
enable:
- errcheck
- govet
- ineffassign
- unused
- errorlint
- staticcheck
linters-settings:
errcheck:
check-type-assertions: true
govet:
disable:
- shadow
issues:
max-issues-per-linter: 0
exclude-rules:
- path: _test\.go
linters:
- gosec
- errcheck