Files
2026-05-27 23:29:53 +01:00

1.5 KiB

OpenSpec Change: crypto-utils-spec-conformance

  • Change ID: crypto-utils-spec-conformance
  • Package: @suaveplan/crypto-utils
  • Status: PROPOSED
  • Date: 2026-04-26

Summary

Add **Verified by:** lines to every requirement in openspec/specs/crypto-utils/spec.md and pin the previously-unverified "No vendored code" structural scenario with src/no-vendored.spec-conformance.test.ts. No public-API or behavioural changes.

Current state

@suaveplan/crypto-utils ships its full surface (encoding delegation, byte helpers, constant-time equality, random bytes, zeroize, KAT/diff-fuzz harnesses, Merkle helpers, primitive-id registry, PrimitiveNotImplemented) with 100% coverage. The spec was authored without the **Verified by:** annotation mandated by openspec/AGENTS.md Section 13, and the "No vendored code" requirement asserted a tree-structure invariant with no test pinning it.

What changes

  1. Annotate every requirement in the folded openspec/specs/crypto-utils/spec.md with a **Verified by:** line citing concrete src/**/*.test.ts::"<it title>" pairs.
  2. Add src/no-vendored.spec-conformance.test.ts to pin the "src/ contains no vendored directory" structural scenario at runtime.
  3. bun scripts/openspec-conformance.ts @suaveplan/crypto-utils exits 0.

Impact

  • Public API unchanged.
  • One new test file (~30 lines).
  • openspec/specs/crypto-utils/spec.md gains 6 **Verified by:** blocks.
  • Coverage stays 100/100/100/100.