Development record
internal/core/afterupdate/afterupdate.go:72 declares its own rootSHARe full-SHA pattern, a third private copy of what gitutil.IsFullSHA answers, beside the two the 2026-10-23 drain lane for iss-2610140813542607 removed from history/store.go and lifeboat/voyage.go.
issueresolvednitpickiss-2610231057586567
internal/core/afterupdate/afterupdate.go:72 declares its own rootSHARe full-SHA pattern, a third private copy of what gitutil.IsFullSHA answers, beside the two the 2026-10-23 drain lane for iss-2610140813542607 removed from history/store.go and lifeboat/voyage.go.
Grounds
- pursued: the after-update store accepts exactly the root commits it did before (\A..\z and ^..$ anchor alike in RE2 without the m flag) and the package's tests stay green; a full-SHA pattern reappearing in afterupdate's non-test sources, or a root commit gitutil.IsFullSHA admits being refused, would show it wrong.
Frontmatter
| id | iss-2610231057586567 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | nitpick |
.abcd/work/issues/resolved/iss-2610231057586567-internal-core-afterupdate-afterupdate-go.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610140813542607internal/core/history/store.go:22 and internal/core/lifeboat/voyage.go:25 each declare their own rootSHARe (^(?:[0-9a-f]{40}|[0-9a-f]{64})$) to check a store key is a repository root commit, while gitutil.IsFullSHA (internal/gitutil/repo.go) already carries the same pattern for the same purpose and is what the docfidelity, lab, implement and ideate stores call. The two copies can drift from it (one-canonical-primitive). Found while fixing iss-2610090740139804, whose first draft added a third copy before review pointed at IsFullSHA.