Expand description
2026-09-26: The kernel-resolution audit: every lookup the CUDA backend’s
GpuBackend::kernel(module, func) makes, whether it resolved, and the call
site that issued it; plus the boot gate’s seal.
A failed optional lookup (try_kernel returns handle 0) raises no error by
itself; the audit records it. The boot gate
(serve_phases::kernel_gate::audit_and_gate) prints
render_kernel_table and then calls seal. After the seal a failed
lookup aborts the process or, with
--dangerously-allow-unresolved-kernel-lookups, warns once per seal.
Owner: telemetry.
Invariants: between seal and unseal, every failed lookup passed to
record adds 1 to unresolved_lookups before anything else happens.
Structs§
- Audit
Row - 2026-09-26: One deduped kernel-resolution row.
- Failure
Split - 2026-09-26: The failed lookups, split by whether the operator must act.
The boot gate, its log table and the TUI kernel table all split through
split_failures.
Functions§
- audit_
rows - 2026-09-26: The resolution rows: one per
(module, func), sorted,loadedtrue if any lookup of that pair resolved. - classify_
failures - 2026-09-26: Split
audit_rows’s failures against a target’s[expected_absent]declaration (TargetPtxSet::expected_absent). - record
- 2026-09-26: Record one kernel lookup; the CUDA backend’s
GpuBackend::kernelcalls it. - render_
kernel_ table - 2026-09-26: Render the embedded kernel set (
embedded, the loaded target’sTargetPtxSet::modules) with each module’s resolution.set_hashismetrale_kernels::KERNEL_SET_HASH,shadowed_droppedfills the SHADOWED column, andexpected_absentselects the failures listed as expected (viasuper::split_failures). - seal
- 2026-09-26: Seal the audit for this run.
unresolvedis the gate’s count of failed lookups not declared expected-absent;allowis--dangerously-allow-unresolved-kernel-lookups. - split_
failures - 2026-09-26:
classify_failuresover rows the caller already has. - unresolved_
lookups - 2026-09-26: Unresolved kernel lookups for the live model.
/metricsexports it asmetrale_kernel_lookups_unresolved. - unresolved_
report - 2026-09-26: The unresolved-lookup report: the numbered list of
split.required, then the remediation paragraph once.allowedselects the closing paragraph: the offer to pass the allow flag, or, when it is already set, only the consequence. - unseal
- 2026-09-26: Re-open the audit for a new model load. Called from
crate::run_metrics::reset_for_new_run.