Milestone
M2 - Production Evidence
Priority
P1
Problem
Provider and adapter maturity should be based on evidence, not a manually maintained label. Croco needs a machine-readable certification record that says which contract, runtime, conformance suite, diagnostics, redaction tests, and live smoke evidence a provider has.
Scope
Define croco.certification.json or equivalent package metadata.
Candidate shape
{
"package": "@croco/storage-r2",
"contract": "@croco/storage-core/StorageProvider",
"adapterCategory": "provider",
"runtimes": ["node", "lambda"],
"state": "candidate",
"evidence": {
"conformance": "pnpm --filter @croco/storage-r2 test",
"noCredentialSmoke": "pnpm smoke:storage-r2:no-credentials",
"liveSmoke": "pnpm smoke:storage-r2:live",
"diagnostics": true,
"redactionTests": true
},
"knownGaps": []
}
Acceptance criteria
- A JSON schema or typed schema validates certification records.
- Certification records link to package catalog entries.
- Docs can render certification state from records.
- Certification is scoped to package, contract, runtime, and version/evidence.
- Missing evidence is represented explicitly rather than hidden in prose.
Milestone
M2 - Production Evidence
Priority
P1
Problem
Provider and adapter maturity should be based on evidence, not a manually maintained label. Croco needs a machine-readable certification record that says which contract, runtime, conformance suite, diagnostics, redaction tests, and live smoke evidence a provider has.
Scope
Define
croco.certification.jsonor equivalent package metadata.Candidate shape
{ "package": "@croco/storage-r2", "contract": "@croco/storage-core/StorageProvider", "adapterCategory": "provider", "runtimes": ["node", "lambda"], "state": "candidate", "evidence": { "conformance": "pnpm --filter @croco/storage-r2 test", "noCredentialSmoke": "pnpm smoke:storage-r2:no-credentials", "liveSmoke": "pnpm smoke:storage-r2:live", "diagnostics": true, "redactionTests": true }, "knownGaps": [] }Acceptance criteria