1.5 KiB
1.5 KiB
Capability Spec Delta: crypto-cipher (spec-conformance)
Package: @suaveplan/crypto-cipher
Status: PROPOSED
This delta annotates each existing requirement in openspec/specs/crypto-cipher/spec.md with a **Verified by:** line. No requirement semantics change.
MODIFIED Requirements
| Requirement | Verified by |
|---|---|
| Universal AEAD primitive surface | tests/spec-conformance.test.ts AND src/primitives/{aes-256-gcm,chacha20-poly1305,xchacha20-poly1305}/*.test.ts |
| Per-primitive replaceability | tests/spec-conformance.test.ts (impl files + banner) AND per-primitive throws PrimitiveNotImplemented |
| Vendored noble source (Phase 0.5) | tests/spec-conformance.test.ts::"is a Phase-0.5 forward gate; current state is pre-0.5 (noble dep + no vendored/)" |
| Dangerous-tier CI gate | tests/spec-conformance.test.ts::"every native is a stub today, so no AEAD has been flipped without an audit" |
| Constant-time block-cipher and MAC implementation | tests/spec-conformance.test.ts (every native still a PrimitiveNotImplemented stub) |
| Nonce handling is the caller's responsibility | tests/spec-conformance.test.ts::"no primitive source file consumes a CSPRNG (no Math.random / crypto.getRandomValues / randomBytes)" AND per-primitive rejects wrong nonce length |
Newly added tests in this change
tests/spec-conformance.test.ts— pins layout, GENERATED banner, Phase-0.5 consistency, dangerous-tier runtime reflection, native-stub state, and the no-internal-CSPRNG invariant.