/simplify: route checkpoint-ID format checks through CheckpointPattern
main·
Commit

Quality pass on the ULID understanding layer. Two ad-hoc 12-hex checkpoint-ID patterns now reuse the canonical id.CheckpointPattern so the accepted formats can't drift from the production definition:
- e2e/testutil assertions: checkpointIDPattern composed from id.CheckpointPattern instead of a hand-copied dual-format regex.
- attach_test.go: the Entire-Checkpoint trailer assertion dropped its hardcoded [0-9a-f]{12} (which would have broken once ULIDs are emitted) for the shared pattern.
Skipped (deliberately): resolveref.go looksLikeULID is a different domain (control-plane org/project name-vs-ULID disambiguation, case-insensitive) — not a checkpoint ID, correctly separate. Micro-opts to fold KindOf/Kind regex passes in Validate/ShardFor were left as-is: the cost is negligible (one anchored match on a <=26-char string, not a hot loop) and routing through Kind() keeps format recognition centralized.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Entire-Checkpoint: 3bec8f0824f8
Checkpoints
Checkpoint 1