# MarvelPBX 12.5.4 protocol provenance

The runtime baseline and historical source provenance remain documented in SOURCE_PROVENANCE.md.

Version 12.5.4 retains the diagnostic-only throwable telemetry introduced in 12.5.2 and fixes Apache/web-SAPI compatibility for the temporary TLS-verification warning by replacing direct STDERR output with error_log(). Diagnostic logging remains restricted to the numeric record ID, fixed event and stage identifiers, exception class, source-file basename, and source line. Exception messages and request, API, credential, identifier, URL, and recording-path values are never logged. User-facing results remain unchanged.

Version 12.5.1 changes only recording discovery derived from confirmed Grandstream UCM6xxx CDR and REC API behavior and the controlled UCM6301 diagnostic evidence. Authenticated JSON action=recapi without filedir or filename returned a bounded root CSV containing server-authoritative relative directories. CDR/getRecordInfosByCall metadata can reference a directory absent from that REC-visible root.

The package therefore validates and preserves the exact metadata directory and WAV basename, requires the directory exactly once in root discovery, then requires the basename exactly once in that directory listing. It never substitutes monitor, guesses a path, enumerates an unconfirmed directory, or passes a complete path as filename.

Directory or file absence maps to not_found. Duplicate entries fail unavailable. Malformed metadata and REC listings fail closed; authenticated transport, HTTP, JSON, MIME, or CSV failures remain transport errors.

All implementation tests are offline and use fake transports and in-memory streams. The package contains no credentials, environment-specific endpoints, or dependency on the DEV repository.
