# `degrade`: The Degradation Engine (capability-driven lowering, annotate + report) ```{py:currentmodule} myform.degrade ``` `lower_with_enclaves` immutably rewrites every non-native node through the declarative `REGISTRY` until the target writer sees only native semantic nodes. Exact target rules override target-neutral fallbacks; instance preflights refine nominally-native capability entries; every approximation, replacement, drop, and verified enclosure produces a path/span-addressed `ConversionReport` entry. A `ConversionArtifact` binds each enclosed report row to one exact source-occurrence carrier and a writer-recovered final typed marker link; legacy `lower` raises rather than discard a real carrier. Provenance comments are target-native and remain beside the affected flow construct when structurally legal. Extensions receive the same process-wide `REGISTRY`: use `REGISTRY.register`, `REGISTRY.register_preflight`, and `REGISTRY.register_comment` to extend policy without changing the traversal mechanism. ```{eval-rst} .. automodule:: myform.degrade :members: :imported-members: ```