libacvp-json-kotlin
Installation
SKILL.md
libacvp JSON in Kotlin
Step 1: Identify the artifact contract
- CLASSIFY ACVP protocol envelope | libacvp request bundle | libacvp response bundle | session-resume file | registration | bare vector set | disposition.
- RECORD producer/version, exact algorithm/mode/revision, request versus response direction, online/offline/generic path, expected number of vector sets, and whether credentials or implementation secrets may be present.
- READ
references/file-shapes.mdbefore defining the root Kotlin type. Treat libacvp repository fixtures as parser evidence; use the current NIST base and exact algorithm specification as the wire authority. - ROUTE ACVP source selection, validation semantics, or server operation to
nist-cavp. ROUTE general kotlinx.serialization setup/custom serializer work tokotlinx-serialization. - STOP if the artifact provenance or request/response role is unknown; the same JSON keys have different obligations by role and algorithm revision.
Completion: one artifact kind, producer revision, algorithm tuple, direction, trust boundary, and secret-handling policy are explicit.
Step 2: Inspect representative files without exposing values
RUN on local artifact samples:
python3 scripts/inspect-acvp-json.py path/to/file.json --json