From e99be565f983aedd9e0920470129ea15da338887 Mon Sep 17 00:00:00 2001 From: Virgil Date: Mon, 23 Mar 2026 15:17:57 +0000 Subject: [PATCH] docs(review): add convention drift report Co-Authored-By: Virgil --- CONVENTION_DRIFT_REPORT.md | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 CONVENTION_DRIFT_REPORT.md diff --git a/CONVENTION_DRIFT_REPORT.md b/CONVENTION_DRIFT_REPORT.md new file mode 100644 index 0000000..8b08aee --- /dev/null +++ b/CONVENTION_DRIFT_REPORT.md @@ -0,0 +1,51 @@ +# Convention Drift Report + +Date: 2026-03-23 + +Scope note: `CLAUDE.md` was present and reviewed. `CODEX.md` was not present anywhere under `/workspace`, so the findings below are based on the repository-local guidance that is available. + +## stdlib -> core.* + +- `scope.go:4`, `scope.go:5`, `scope.go:7` still import `errors`, `fmt`, and `regexp` directly. +- `store.go:7`, `store.go:8`, `store.go:10` still import `strings`, `sync`, and `time` directly. +- `events.go:4`, `events.go:5`, `events.go:6`, `events.go:7` still import `slices`, `sync`, `sync/atomic`, and `time` directly. +- `store_test.go:6`, `store_test.go:7`, `store_test.go:8`, `store_test.go:9`, `store_test.go:10`, `store_test.go:11`, `store_test.go:13` still import direct stdlib helpers (`errors`, `fmt`, `os`, `path/filepath`, `strings`, `sync`, `time`). +- `scope_test.go:4`, `scope_test.go:6` still import direct stdlib helpers (`errors`, `time`). +- `events_test.go:4`, `events_test.go:5`, `events_test.go:6`, `events_test.go:8` still import direct stdlib helpers (`fmt`, `sync`, `sync/atomic`, `time`). +- `coverage_test.go:5`, `coverage_test.go:6`, `coverage_test.go:7` still import direct stdlib helpers (`fmt`, `os`, `path/filepath`). +- `bench_test.go:5` still imports `fmt` directly. + +## UK English + +- `README.md:2` uses `License` in the badge text and badge label. +- `CONTRIBUTING.md:34` uses the noun form `License` in the section heading. + +## Missing Tests + +- `store.go:197` `Store.All` has no direct tests for iterator behaviour, including consumer early-stop semantics. +- `store.go:229` `Store.GetSplit` has no happy-path or `ErrNotFound` coverage. +- `store.go:239` `Store.GetFields` has no happy-path or `ErrNotFound` coverage. +- `store.go:306` `Store.GroupsSeq` has no direct iterator tests; current coverage is via the `Groups` wrapper. +- `scope.go:104` `ScopedStore.All` has no direct coverage. + +## SPDX Headers + +- `bench_test.go:1` has a malformed SPDX tag: `SPDX-Licence-Identifier` is not the standard `SPDX-License-Identifier`. +- Missing header at `store.go:1`. +- Missing header at `scope.go:1`. +- Missing header at `events.go:1`. +- Missing header at `store_test.go:1`. +- Missing header at `scope_test.go:1`. +- Missing header at `events_test.go:1`. +- Missing header at `coverage_test.go:1`. +- Missing header at `README.md:1`. +- Missing header at `CONTRIBUTING.md:1`. +- Missing header at `CLAUDE.md:1`. +- Missing header at `docs/index.md:1`. +- Missing header at `docs/architecture.md:1`. +- Missing header at `docs/development.md:1`. +- Missing header at `docs/history.md:1`. + +## Verification Note + +- `go test ./... -coverprofile=coverage.out` could not be completed because `go.sum` is missing an entry for `dappco.re/go/core/log`.