Mnemosyne emits structured JSON logs through src/observability/logger.ts and operation metrics through src/observability/metrics.ts.
recall_startquery — original caller queryscope — requested memory scopeintent — resolved recall intentlayer_querylayer — queried memory layerscope — requested memory scopeduration_ms — elapsed time spent in the layer adapterok — whether the layer call returned a successful recall resultlayer_degradedlayer — degraded, skipped, or failed layerscope — requested memory scopereason — machine-readable degradation reasondetail — optional human-readable detailrecall_endduration_ms — elapsed recall operation timehit_count — returned hit count, or 0 for failed recallslayers_queried — layers reported as queried, or [] for pre-dispatch failuresscope — requested memory scopeintent — resolved recall intentok — whether recall succeedederror_code — present when recall failed with a codeerror_layer — present when recall failedremember_startscope — requested memory scopelayer — resolved target layercontent_hash — sha256 hash of the content textremember_endduration_ms — elapsed remember operation timelayer — resolved target layerscope — requested memory scopeok — whether remember succeededrecall_duration_ms — histogram recorded once per recall() call.remember_duration_ms — histogram recorded once per remember() call.layer_degraded_total — counter incremented for each detected degradation, skipped layer, or layer failure.