liboqs gathers implementations of post-quantum key encapsulation mechanisms (OQS_KEM) and signature schemes (OQS_SIG) behind one C API, and it is the engine of the Open Quantum Safe provider for OpenSSL 3. The facts here were checked on release 0.16.0 (commit 5a1a854b0dc9), built with the default CMake options, which use OpenSSL for the symmetric primitives. The README says, in capitals: "WE DO NOT CURRENTLY RECOMMEND RELYING ON THIS LIBRARY IN A PRODUCTION ENVIRONMENT OR TO PROTECT ANY SENSITIVE DATA." For production ML-KEM and ML-DSA, the OpenSSL, BoringSSL, AWS-LC and Bouncy Castle pages list what their main APIs ship.
The default build enabled 41 KEMs and 221 signature parameter sets, and one parameter set of every family completed a full round trip: the NIST standards ML-KEM, ML-DSA and SLH-DSA (156 SLH-DSA variants, pure and prehash), Falcon, the KEM candidates HQC, Classic McEliece, FrodoKEM, BIKE, NTRU and sntrup761, the pre-standard Kyber, and the additional signature candidates MAYO, CROSS, UOV, SNOVA and MQOM. Name ML-KEM-768, not Kyber768, in new code. No XMSS or LMS parameter set is enabled in the default build.
ML-DSA signing is hedged: two signatures of the same message with the same key differed, so tests must verify signatures rather than compare bytes. FIPS 204 context strings are supported through OQS_SIG_sign_with_ctx_str; a signature made under the context invoice-v1 failed under invoice-v2 and under plain OQS_SIG_verify, which uses the empty context, so both sides must agree on it. A truncated signature, a 3-byte blob and a valid signature over other data all returned the same OQS_ERROR.
ML-KEM decapsulation does not report a damaged ciphertext: with one bit flipped, OQS_KEM_decaps returned OQS_SUCCESS and a different shared secret, as FIPS 203's implicit rejection requires. The mismatch shows up only when the derived keys are used, for example as an AEAD decryption failure. The function also takes no ciphertext length and reads exactly length_ciphertext bytes, 1088 for ML-KEM-768. Try both schemes in the ML-KEM tool and the post-quantum signature tool.