From 0d53ca34aa0861ab32579d7f8c8c663283f34d9a Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Mon, 23 Mar 2026 21:45:20 -0700 Subject: [PATCH] Note clock abstraction as Step 8 polish item. Co-Authored-By: Claude Opus 4.6 (1M context) --- PROGRESS.md | 3 +++ PROJECT_PLAN.md | 1 + 2 files changed, 4 insertions(+) diff --git a/PROGRESS.md b/PROGRESS.md index 812b2f8..6041269 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -45,6 +45,9 @@ Step 7: Remaining Commands (remove, verify, list, diff). replication is deferred to a future phase. - **gRPC remote mode**: Phase 2. Package structure is designed to accommodate it (garden core separates logic from CLI wiring). +- **Clock abstraction**: Inject a clock interface (e.g. `jonboulle/clockwork`) + into Garden instead of calling `time.Now()` directly. Improves timestamp + test determinism. Deferred to Step 8 (Polish). ## Change Log diff --git a/PROJECT_PLAN.md b/PROJECT_PLAN.md index 505ebd3..40db031 100644 --- a/PROJECT_PLAN.md +++ b/PROJECT_PLAN.md @@ -87,6 +87,7 @@ Depends on Step 5. ## Step 8: Polish - [ ] Lint setup (golangci-lint config) +- [ ] Clock abstraction: inject `jonboulle/clockwork` into Garden for deterministic timestamp tests - [ ] End-to-end test: init → add → checkpoint → modify file → status → restore → verify - [ ] Ensure `go vet ./...` and `go test ./...` pass clean - [ ] Update CLAUDE.md, ARCHITECTURE.md, PROGRESS.md