Add shared serial collision checking against existing certificates and issuer revocations, reuse it for automatic serial allocation, and enforce it for user-supplied serials so duplicate serials no longer break the OCSP snapshot. make keep_serial renewal require replace_old, refuse keep_serial + revoke_old, and reject serials already revoked by the issuer so revoked serials cannot be inherited by renewed certificates.
kca-app
The deployable KCA application: environment-driven settings, kaya app assembly (sessions, OIDC, Tortoise, OpenAPI, CORS, optional OpenTelemetry), the HTTP API, Tortoise models, aerich migrations, and the SPA/PWA shell hosting.