1.5 KiB
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
- Annotate every requirement in the folded
openspec/specs/crypto-utils/spec.mdwith a**Verified by:**line citing concretesrc/**/*.test.ts::"<it title>"pairs. - Add
src/no-vendored.spec-conformance.test.tsto pin the "src/ contains no vendored directory" structural scenario at runtime. bun scripts/openspec-conformance.ts @suaveplan/crypto-utilsexits 0.
Impact
- Public API unchanged.
- One new test file (~30 lines).
openspec/specs/crypto-utils/spec.mdgains 6**Verified by:**blocks.- Coverage stays 100/100/100/100.