Coldkeep v1.12.2 — CLI Validation Follow-up
Coldkeep v1.12.2 — CLI Validation Follow-up
Coldkeep v1.12.2 is a small patch release that closes follow-up gaps found during the strict v1.12.1 audit and improves the release workflow before starting v1.13.
This release focuses on CLI validation hygiene, parser-path test coverage, and pre-release checklist modernization.
No schema, storage format, repository format, default backend, engine/catalog architecture, JSON envelope, or exit-code changes are included.
Highlights
- Fixed stale v1.12.1 release documentation status.
- Aligned
search --extensionparser handling with empty-value validation. - Kept
search --extensionunsupported as a search feature. - Added parser-path regression coverage for selected empty-value CLI validation cases.
- Modernized
PRE_RELEASE_CHECKLIST.mdwith clearer validation profiles. - Added final v1.12.2 release-gate evidence.
CLI validation follow-up
v1.12.2 clarifies unsupported search --extension behavior:
search --extension ""fails as an empty value.search --extension " "fails as an empty value.search --extensionfails as a missing value.search --extension .txtremains unsupported.
This does not implement extension search. It only aligns parser behavior with the validation contract introduced during the v1.12.1 follow-up.
Parser-path regression coverage
This release adds real parser-path tests for selected empty and blank values, including:
search --namesearch --pathsnapshot list --pathremove --stored-pathrestore --stored-pathsnapshot create --id
The goal is to ensure these validation paths are proven through normal CLI-style argument parsing, not only direct constructed command structs.
Pre-release checklist modernization
PRE_RELEASE_CHECKLIST.md now separates validation into clearer profiles:
- Profile A — Pre-PR CI-parity gate
- Profile B — Full release-tag/manual gate
- Profile C — Historical/special-release templates
The checklist now includes:
- required local tools;
- runtime guidance;
- clearer newcomer guidance;
- current CI
legacy-compatibilitylocal mirror; - local
cross-platformapproximation with macOS/Windows caveat; - smoke parity clarification;
- benchmark local-variance policy;
- reusable unchecked final sign-off boxes.
This makes the checklist safer to use before opening future PRs, especially before v1.13 and later correctness-sensitive releases.
Compatibility
No changes to:
- database schema
- repository format
- storage format
- default backend behavior
- engine/catalog architecture
- packed/legacy storage semantics
- JSON envelope shape
- exit-code classes
No valid command behavior is intended to change.
Validation
The release branch passed local Profile A pre-PR validation, PR CI, and main CI after merge.
Validated locally before PR:
- PostgreSQL setup
- quality-equivalent checks
- local CI-equivalent matrix
- smoke for
plainandaes-gcm - legacy compatibility
- local cross-platform approximation
- benchmark matrix
gofmtgolangci-lintgo vetgo test -count=1 ./...go test -race -count=1 ./...git diff --check
PR CI was green before merge.
Main CI was green after merge.
Benchmark note
The local benchmark matrix completed.
none/w1,zstd/w1, andzstd/w4passed thresholds.none/w4showed local workers=4 variance and was recorded according to the checklist policy.- GitHub CI remains the authoritative benchmark gate.
Deferred intentionally
The following remain out of scope for v1.12.2:
- broad parser rewrite
- new CLI validation families
- extension search implementation
- search extension case/leading-dot normalization
- benchmark validation hardening
- snapshot tag normalization
- JSON side-channel cleanup
- engine/catalog/storage migration
- v1.13 work
Notes
v1.12.2 is the final cleanup patch after v1.12.1 and before v1.13 planning.
It leaves the v1.12 line with cleaner CLI validation evidence and a stronger pre-PR validation workflow for future releases.