Machine-Readable Residual-Status Publication
- Name: machine-readable residual-status publication
- Category: lifecycle reference / downstream-policy-distribution note / residual-service metadata checklist / decommissioning companion
- Summary: A legacy system that is truly
withdraw onlyshould not make routers, collateral engines, venue rankings, dashboards, bridge registries, or governance monitors infer that fact from prose. Residual state should be published as one canonical machine-readable policy object that downstream systems can consume directly. This note exists to preserve the narrower design question that sits between status messaging and balance-sheet hygiene: once a surface is exit-only, how should operators publish that status so route selection, collateral admission, venue discovery, and risk systems stop treating the old surface as ordinary production infrastructure by default? - Why this note exists:
- exit-only-status-signaling-and-downstream-de-recognition already preserves the communication-side question: how should humans and downstream integrators be told that a surface is
withdraw only, still monitored? - residual-liquidity-segregation-and-active-tvl-hygiene already preserves the accounting-side question: how should the balances left behind stop counting as active TVL, healthy venue depth, or fresh collateral support?
- What still deserves its own note is the policy-distribution layer between those two. A residual path can be labeled correctly and still be quietly re-normalized if every downstream consumer must parse blog posts, governance forum language, or UI banners instead of ingesting one structured residual-status record.
- The analytical win is to separate
we said this was legacyfromdownstream systems had one canonical object telling them exactly which actions remained allowed, which fresh dependencies were forbidden, and how long that residual state was expected to survive.
- exit-only-status-signaling-and-downstream-de-recognition already preserves the communication-side question: how should humans and downstream integrators be told that a surface is
The core design rule
Residual state should be published once as structured policy, not rediscovered piecemeal from prose, screenshots, and social memory.
Healthy operators should not let these remain equivalent:
we announced the old surface is legacyrouters, risk engines, dashboards, and governance tooling can safely enforce residual treatment
The main separations healthy residual-status publication should preserve
-
Human warning versus machine-consumable policy
- A banner or post can warn users, but downstream systems need a structured object they can consume without guessing.
- Healthy publication treats human-readable messaging and machine-readable policy as siblings, not substitutes.
-
Exact residual identity versus vague product branding
Old bridge,legacy vault, ordeprecated marketis too vague for policy enforcement.- Healthy publication identifies the exact chain, contracts, wrappers, route ids, bridge lanes, market ids, or governance modules whose status changed.
-
Allowed legacy actions versus forbidden fresh actions
- A residual surface may still permit withdrawal, redemption, or bounded settlement while forbidding new deposit, new routing, new collateral recognition, new bridging, or new incentives.
- Healthy publication says both sides explicitly.
-
Current residual state versus cached historical assumptions
- Downstream systems need versioning, timestamps, and terminal-state updates so
temporarily residualdoes not decay into stale local guesses. - Healthy publication keeps residual policy fresh, reviewable, and revocable.
- Downstream systems need versioning, timestamps, and terminal-state updates so
-
Residual availability versus fail-open consumption
- If a router or risk engine cannot fetch the current policy object, the safe default should usually be to avoid fresh dependence rather than assume the old surface is healthy.
- Healthy publication therefore includes consumer guidance for stale or missing metadata.
What sound design looks like
1. Publish one canonical residual-policy object
- There should be one authoritative machine-readable record that downstream systems can reference.
- The record should answer at minimum:
- what exact surface is residual
- what version of the policy is current
- when it became residual
- who publishes or signs the status
- what terminal event ends the residual state
- The key question is not
did we mention it somewhere?butcan every consumer resolve the same status object?
2. Identify the affected surface precisely
- Residual policy should point to exact technical identifiers, not just a brand label.
- Useful fields often include:
- chain / domain id
- contract or module addresses
- market ids, pool ids, wrapper ids, bridge lane ids, route ids, or registry keys
- aliases or successor replacements when relevant
- If consumers cannot tell which exact object is residual, the status object is too vague to enforce.
3. Encode allowed and forbidden actions explicitly
- Healthy residual publication should distinguish at least:
allowed: withdraw, redeem, settle pending exits, claim legacy balancesforbidden: new deposit, new mint, default routing, collateral admission, incentive eligibility, governance dependence, new migration certification
- This matters because
legacywithout action semantics still leaves downstream policy up to local interpretation.
4. Encode downstream policy hints, not just descriptive labels
- A strong residual-policy object should help consumers answer:
- should route discovery exclude this surface by default?
- should venue rankings down-rank it?
- should collateral engines reject it?
- should dashboards classify balances as residual instead of active TVL?
- should wallets suppress it from ordinary default flows?
- Healthy metadata turns
withdraw onlyinto operational policy rather than mere narration.
5. Include publisher identity, review clock, and expiry semantics
- Residual state is dangerous when it becomes timeless folklore.
- Healthy publication includes:
- publisher / signer / governance source
- publication time and last review time
- next review time or expiry behavior
- terminal event or successor state
- Consumers should be able to tell whether they are enforcing fresh policy or stale memory.
6. Give consumers a safe stale-data rule
- Downstream systems need a deterministic answer for
what if this policy object is missing, expired, or cannot be fetched? - Healthy defaults often look like:
- no new routing
- no fresh collateral recognition
- keep already-owed exits only if the local system directly owns that responsibility
- alert operators instead of silently failing open
- A residual-policy object is incomplete if it does not imply safe behavior under metadata failure.
What sound residual-status publication should prove
A strong residual-policy regime should be able to answer:
- Where is the canonical machine-readable residual-status record published?
- Which exact contracts, markets, wrappers, lanes, or routes does it cover?
- Which actions remain allowed only for legacy users, and which fresh actions are forbidden?
- Which downstream systems consume the policy for routing, collateral, dashboard classification, or governance monitoring?
- What timestamp, version, signer, or governance source makes the record authoritative?
- What safe default applies when the status object is stale, missing, or contradictory?
- What terminal event retires the residual state completely?
Failure-prevention checklist
- Publish one canonical residual-policy object per affected surface, with one authoritative source URL, contract registry entry, attestation stream, or governance-published metadata endpoint that every downstream system can resolve.
- Identify the affected object precisely. The policy should enumerate the exact chains, contracts, wrappers, route ids, bridge lanes, pool or market ids, and known aliases that inherit the residual state instead of relying on brand-level labels.
- Encode action semantics directly. Allowed legacy verbs such as withdraw, redeem, claim, or settle pending exits should be separate from forbidden fresh verbs such as deposit, mint, route-by-default, collateralize, incentivize, or certify as a healthy successor.
- Include policy-consumption hints for downstream systems. Route exclusion, venue down-ranking, residual-TVL classification, collateral rejection, wallet suppression, and monitoring priority should be expressed as first-class fields or unambiguous policy semantics, not left to local guesswork.
- Version and timestamp the object. Publisher identity, publication time, last-review time, next-review or expiry time, and policy version should make it possible to tell fresh residual policy from stale copied metadata.
- Sign or anchor the publication through an authority the ecosystem already recognizes. Governance records, signed metadata, canonical docs registries, or attested feeds should make it obvious who is allowed to define residual treatment and when that authority changed.
- Define safe stale-data behavior. If the object is missing, expired, contradictory, or unreachable, consumers should default to
no new dependenceand alert operators rather than silently restoring normal route or collateral treatment. - Tie the policy object to a terminal event. Claim-window closure, wrapper burn completion, bridge-lane retirement, sweep finalization, or another explicit end state should retire the residual record rather than leaving consumers to carry it forever.
- Propagate residual policy across successor labels deliberately. Aliases, wrappers, migration helpers, and partly independent successors should either inherit the old residual treatment automatically or carry an explicit graded-policy override proving why some permissions returned.
- Test consumer behavior, not just publication. A residual-status object is incomplete if routers, dashboards, collateral engines, and wallet defaults can ingest it syntactically but still behave as if the venue were active.
Audit prompts
- What exact machine-readable object currently defines residual treatment for this surface, and where is the authoritative copy published?
- Which identifiers does the object bind: chain ids, contract addresses, route ids, market ids, wrapper ids, bridge lanes, aliases, or successor references?
- Does the policy distinguish allowed legacy actions from forbidden fresh actions explicitly enough that two downstream consumers would reach the same enforcement result?
- Which systems actually consume this object today for routing, collateral policy, dashboard classification, wallet defaults, governance monitoring, or incident response?
- How does the ecosystem know the object is current and authoritative: signer, governance source, attestation path, version, review clock, expiry semantics, or monotonic sequence number?
- What happens if the object is missing, stale, contradictory across mirrors, or temporarily unreachable? Which systems fail closed, and which still fail open?
- Could a renamed wrapper, migration helper, bridge alias, or successor market escape the residual policy because the identifier coverage is too narrow?
- Does the object encode operational hints strongly enough to stop residual balances from reappearing as active TVL, healthy venue depth, or collateral support elsewhere?
- What explicit event or state transition removes the residual object entirely, and how do consumers learn that the terminal event really occurred?
- Has anyone tested a full end-to-end residual-policy flip in staging or production to prove that downstream consumers actually stop fresh dependence when the object changes?
Lessons that should already be standard
- Prose is not policy. If routers, collateral engines, and dashboards have to scrape forum posts or UI text to learn a surface is residual, the system is still failing open.
- Residual metadata is part of the safety boundary. A correct technical winddown can still be undone socially and operationally if the structured policy layer is missing or ambiguous.
- Identity precision matters more than branding.
Legacy bridgeis not a usable policy target; exact lanes, contracts, wrappers, and aliases are. - Allowed legacy actions and forbidden fresh actions are separate questions. A good residual object says both, because downstream systems need to know what remains possible and what must stay impossible.
- Stale-data behavior is a first-class security decision. The absence of fresh metadata should usually shut new dependence down, not silently restore normal trust assumptions.
- Versioning and signer identity are not paperwork. Without them, residual treatment becomes rumor and local cache state instead of shared policy.
- Alias and successor handling is where residual policy often breaks. If the same old risk object can come back under a new name, structured publication has to carry that inheritance explicitly.
- Publication without consumer enforcement is theater. The real test is whether route selection, venue ranking, collateral admission, dashboards, and governance monitors all change behavior when the residual object changes.
High-signal contrast cases
- exit-only-status-signaling-and-downstream-de-recognition is the broader communication companion when the key question is how the residual state should be presented to humans and downstream integrators.
- residual-liquidity-segregation-and-active-tvl-hygiene is the accounting companion when the next question becomes how balances classified by that policy should stop counting as active TVL or healthy venue depth.
- Aztec Connect shows why vague
deprecated but still withdrawabletreatment is too weak when a residual path still controls meaningful value. - Aztec 2.0 shows the escape-hatch cousin where residual withdrawal rights needed to stay legible as a live policy boundary after the main product had moved on.
- Moonwell Moonriver shows the governance-side cousin where a sleepy deployment still needed machine-legible downstream treatment, not just social awareness that the market was effectively legacy.
Red flags that usually mean machine-readable residual publication is fake
deprecatedorlegacyappears only in prose- a UI banner exists, but route registries and collateral engines still have no structured status input
- no one can name the exact contract, lane, or wrapper set covered by the residual state
- no timestamp, version, review clock, or signer identity exists for the status record
- downstream systems fail open when metadata is missing
- users and integrators must scrape governance posts or support replies to learn whether fresh deposits are forbidden
How to use this note with the exploit corpus
- Start here when the sharper question is
once a surface is truly exit-only, what exact machine-readable object should downstream systems consume so they stop treating it as ordinary production infrastructure by default? - Pair with exit-only-status-signaling-and-downstream-de-recognition when the sharper question is the human-facing and integration-facing status wording.
- Pair with residual-status-inheritance-across-aliases-and-successors when the sharper question becomes how that canonical status object should propagate across wrappers, route ids, migration helpers, bridge aliases, and successor labels.
- Pair with partial-successor-independence-and-graduated-residual-policy-lifting when the sharper question becomes how that same status object should express graded route, treasury, collateral, and discovery permissions for successors that are only partly independent from the residual surface.
- Pair with incentive-and-market-making-quarantine-for-partially-independent-successors when the sharper question becomes how that same status object should publish whether a partly independent successor is still ineligible for liquidity mining, MM support, treasury inventory seeding, or other growth programs.
- Pair with residual-liquidity-segregation-and-active-tvl-hygiene when the sharper question becomes what dashboards, route scorers, and collateral engines should do with balances classified by that status object.
- Pair with exit-only-residual-surface-discipline when the sharper question is the technical narrowing of the residual service itself before publication and downstream consumption.
- Pair with decommissioning-authority-extinguishment-discipline when the broader retirement question is still
what powers should have been extinguished before any residual state remained at all? - Pair with deprecation-without-deauthorization when the main question is still the exploit family rather than the healthy metadata and policy-distribution pattern.
Internal linkages
- Communication-side companion: exit-only-status-signaling-and-downstream-de-recognition.
- Alias-propagation companion: residual-status-inheritance-across-aliases-and-successors.
- Successor-graduation companion: partial-successor-independence-and-graduated-residual-policy-lifting.
- Subsidy-policy companion: incentive-and-market-making-quarantine-for-partially-independent-successors.
- Residual-liquidity accounting companion: residual-liquidity-segregation-and-active-tvl-hygiene.
- Technical residual-service companion: exit-only-residual-surface-discipline.
- Broader retirement companion: decommissioning-authority-extinguishment-discipline.
- Failure-pattern companion: deprecation-without-deauthorization.
- Best current contrast cases: Aztec Connect, Aztec 2.0, Moonwell Moonriver.
Control surface
-
The decisive control surface is the boundary between
residual status is known sociallyandresidual status is enforceable operationally across routing, collateral, dashboard, and governance systems. -
Healthy systems make that boundary explicit by publishing one canonical structured residual-policy object with exact surface identity, action semantics, versioning, review clocks, and safe stale-data defaults.
-
Unsafe systems outsource residual treatment to human memory, scraped announcements, or fail-open local heuristics.
-
Sources:
- exit-only-status-signaling-and-downstream-de-recognition
- residual-status-inheritance-across-aliases-and-successors
- partial-successor-independence-and-graduated-residual-policy-lifting
- incentive-and-market-making-quarantine-for-partially-independent-successors
- residual-liquidity-segregation-and-active-tvl-hygiene
- exit-only-residual-surface-discipline
- decommissioning-authority-extinguishment-discipline
- deprecation-without-deauthorization
- aztec-connect-processrollup-numrealtxs-proof-settlement-boundary-drain-2026-06-14
- aztec-2-escapehatch-old-data-root-decoupling-unsound-proof-withdrawal-2026-06-17
- moonwell-moonriver-mfam-low-float-governance-capture-attempt-2026-03-24
-
Last reviewed: 2026-07-15 UTC