Round 2 follow-up to 6c90af8. CodeRabbit re-reviewed and surfaced 14 residual issues; all dispositioned. Code: - compact.go: staged archive preserved after successful DB commit (was being deleted prematurely) - workspace.go: commit idempotency — recovery skips/removes leftover files when durable summary marker exists; cleanup failure no longer fails Commit() after durable write - medium.go: StoreConfig public example; JSON import fails fast on unsupported/non-object records; CSV parser switched from hand-roll to encoding/csv with multiline + malformed handling - import.go: removed /tmp seed fallbacks (deterministic dirs); read + JSON parse failures now return contextual errors - publish.go: HuggingFace token uses real HOME via core.Env (not DIR_HOME); empty Repo validated before dry-run; upload uses caller-configurable PublishConfig.Context (no fixed http timeout) - store.go: Close() backfills db/sqliteDatabase aliases before closing/syncing - test_asserts_test.go: errIs delegates to core.Is (AX import rules) CI / docs: - .github/workflows/ci.yml: CGO_ENABLED=1 explicit (DuckDB requires CGO) - DEPENDENCIES.md: required toolchain documented for DuckDB context - README.md: Licence badge UK English + LICENCE.md link - LICENCE.md (new file) - publish_test.go (new) — covers HOME / dry-run / config-context paths Disposition replies: - Testify reintroduction suggestion: RESOLVED-COMMENT — AX-6 bans testify - SonarCloud: no PR comments/check annotations exposed; RESOLVED-COMMENT Verification: gofmt clean, golangci-lint run 0 issues, GOWORK=off go vet + go test -count=1 ./... pass with explicit cache paths. Closes residual findings on https://github.com/dAppCore/go-store/pull/4 Co-authored-by: Codex <noreply@openai.com>
6c90af8