{
  "meta": {
    "generatedAt": "2026-06-24T11:14:26.155Z",
    "count": 10,
    "permalink": "/mechanisms",
    "release": {
      "id": "2026.01",
      "label": "2026.01",
      "date": "2026-01-09",
      "permalink": "/api/v/2026.01"
    }
  },
  "antiPatterns": [
    {
      "id": "MEC-01-AP-1",
      "type": "anti-pattern",
      "title": "Logs without dissent",
      "failure": "Records the decision but omits rejected options and dissenting views.",
      "counterfactual": "Decision logs include rejected options, dissent, and a dated review owner.",
      "warning": "If no dissent exists, log the absence explicitly so future reviewers can see it was considered.",
      "mechanism_id": "MEC-01",
      "mechanism_href": "/mechanisms/patterns/decision-log",
      "related_mechanisms": [
        "MEC-01"
      ],
      "refs": [
        "MEC-01"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-01-AP-2",
      "type": "anti-pattern",
      "title": "Out-of-band records",
      "failure": "Keeps accountability logs in private documents that impacted teams cannot access.",
      "counterfactual": "Logs live in the canonical record with a shareable receipt link.",
      "warning": "Sensitive data can be redacted, but the receipt must remain referenceable.",
      "mechanism_id": "MEC-01",
      "mechanism_href": "/mechanisms/patterns/decision-log",
      "related_mechanisms": [
        "MEC-01"
      ],
      "refs": [
        "MEC-01"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-02-AP-1",
      "type": "anti-pattern",
      "title": "One-shot consent bundles",
      "failure": "Asks for every permission at once without explaining timing or scope.",
      "counterfactual": "Requests are staged with clear rationale, timing, and reversible defaults.",
      "warning": "Bundling can be acceptable if the scope is minimal and opt-outs are explicit.",
      "mechanism_id": "MEC-02",
      "mechanism_href": "/mechanisms/patterns/progressive-consent",
      "related_mechanisms": [
        "MEC-02"
      ],
      "refs": [
        "MEC-02"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-02-AP-2",
      "type": "anti-pattern",
      "title": "Opt-out that does not stick",
      "failure": "Offers a toggle but automation continues or re-enables without notice.",
      "counterfactual": "Opt-outs pause automation and are logged with a visible confirmation.",
      "warning": "Some baseline data use can remain if it is disclosed and required for service safety.",
      "mechanism_id": "MEC-02",
      "mechanism_href": "/mechanisms/patterns/progressive-consent",
      "related_mechanisms": [
        "MEC-02"
      ],
      "refs": [
        "MEC-02"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-03-AP-1",
      "type": "anti-pattern",
      "title": "Stewardship without owners",
      "failure": "Publishes a maintenance window without naming accountable owners or success criteria.",
      "counterfactual": "Each window has a named owner, success criteria, and rollback authority.",
      "warning": "Shared ownership is fine if responsibilities are explicit and visible.",
      "mechanism_id": "MEC-03",
      "mechanism_href": "/mechanisms/patterns/maintenance-windowing",
      "related_mechanisms": [
        "MEC-03"
      ],
      "refs": [
        "MEC-03"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-03-AP-2",
      "type": "anti-pattern",
      "title": "Silent maintenance",
      "failure": "Ships changes without comms or status updates, leaving users unaware of risks.",
      "counterfactual": "Comms are published by audience and risk tier, with fallback coverage noted.",
      "warning": "Emergency patches can shorten comms, but they still require an after-action log.",
      "mechanism_id": "MEC-03",
      "mechanism_href": "/mechanisms/patterns/maintenance-windowing",
      "related_mechanisms": [
        "MEC-03"
      ],
      "refs": [
        "MEC-03"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-05-AP-1",
      "type": "anti-pattern",
      "title": "Kill switch without rehearsal",
      "failure": "A halt path exists but no drills confirm that it works under pressure.",
      "counterfactual": "Teams rehearse halts and document restore steps with time-to-halt targets.",
      "warning": "Simulation is acceptable when production drills are risky, but it must be documented.",
      "mechanism_id": "MEC-05",
      "mechanism_href": "/mechanisms/patterns/kill-switch",
      "related_mechanisms": [
        "MEC-05"
      ],
      "refs": [
        "MEC-05"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-05-AP-2",
      "type": "anti-pattern",
      "title": "Single-point approval",
      "failure": "Only one person can trigger the halt, creating dead zones off-hours.",
      "counterfactual": "A pre-authorized roster can halt automation without retaliation risk.",
      "warning": "Small teams can assign a primary/secondary if coverage is explicit.",
      "mechanism_id": "MEC-05",
      "mechanism_href": "/mechanisms/patterns/kill-switch",
      "related_mechanisms": [
        "MEC-05"
      ],
      "refs": [
        "MEC-05"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-06-AP-1",
      "type": "anti-pattern",
      "title": "Appeal link buried",
      "failure": "Appeals exist but are hidden in help docs or separate portals far from the decision.",
      "counterfactual": "Appeal entry points sit next to the affected decision with visible timelines.",
      "warning": "Low-frequency contexts can use a help center if it is still clear and accessible.",
      "mechanism_id": "MEC-06",
      "mechanism_href": "/mechanisms/patterns/appeal-paths",
      "related_mechanisms": [
        "MEC-06"
      ],
      "refs": [
        "MEC-06"
      ],
      "deprecated_by": null,
      "supersedes": []
    },
    {
      "id": "MEC-06-AP-2",
      "type": "anti-pattern",
      "title": "Appeals without feedback",
      "failure": "Collects disputes but provides no receipt, timeline, or outcome signal.",
      "counterfactual": "Every appeal generates a receipt, timeline, and outcome log.",
      "warning": "Timelines can vary by case complexity if the variance is stated and tracked.",
      "mechanism_id": "MEC-06",
      "mechanism_href": "/mechanisms/patterns/appeal-paths",
      "related_mechanisms": [
        "MEC-06"
      ],
      "refs": [
        "MEC-06"
      ],
      "deprecated_by": null,
      "supersedes": []
    }
  ]
}