{"version":"2.1.232","anchor":"one-shot-warnings-share-a-single-claim-registry","canonical_anchor":"one-shot-warnings-share-a-single-claim-registry","heading":"One-shot warnings share a single claim registry","tier":"internal","area":"Diagnostics","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232\/e\/one-shot-warnings-share-a-single-claim-registry","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.232","markdown":"### One-shot warnings share a single claim registry\n\nWarnings that should appear once per run now share one registry instead of each tracking itself.\n\n**What**\n\nWarnings that should only be logged once per run no longer each keep their own boolean; they take a named key from a shared registry that returns false after the first use. Behaviour is unchanged, but the keys are now namespaced and inspectable.\n\n**Details**\n\n- Keys include voice init gating, a left-arrow rejection, a bad cron extra-tasks load, a color-diff emitter shape error, and a malformed precompute arm table.\n- The same mechanism already backed the MCP tree tripwire and frontmatter shadow warnings.\n\n**Evidence**\n\n`cA.claim(\"cron_extra_tasks_load_bad\")`, `cA.claim(\"precompute_arm_table_malformed\")`\n\n- Area: Diagnostics\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}