Skip to content

stack-encrypt conformance: close value, refusal and raw-frame coverage gaps #1477

Closed

Description

@coderdan

Background

Stack Encrypt (packages/stack-encrypt) is the Rust engine that every CipherStash language SDK runs on. The Rust crate and the Go SDK must write and read the same bytes. The Go SDK runs the same engine as a WASI guest, compiled to WebAssembly. Python and TypeScript SDKs are coming.

The conformance corpus in conformance/stack-encrypt/ is a shared set of test cases that every language runs. It makes all SDKs agree on what each declaration and operation means.

The enrolled cases are a representative sample. They are not yet a full matrix of edge cases and refusals.

Problem

Missing edge cases let the Rust and Go implementations disagree without any test failing.

Proposal

Follows #1471 to #1474. Do not add lossy JSON number forms. Do not change frozen expectations without saying so.

Pull request #1505 does this work.

Plans: the Stack Encrypt API plan and the conformance roadmap.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions