{
  "version": 1,
  "translation_policy": {
    "canonical_terms": "do_not_translate",
    "canonical_codes": [
      "PAT",
      "LEN"
    ],
    "canonical_titles": "do_not_translate",
    "canonical_slugs": "do_not_translate",
    "localized_explanations": "v2_optional_overlay",
    "note": "Canonical Pattern and Lens codes, slugs, and titles must remain unchanged. Localized explanations may be provided separately, but they do not replace canonical ontology terms."
  },
  "routes": {
    "root": "/workbench/",
    "check_input": "/workbench/check-input/",
    "gap_explorer": "/workbench/gap-explorer/",
    "search": "/workbench/search/",
    "issues": "/workbench/issues/",
    "patterns": "/workbench/patterns/",
    "lenses": "/workbench/lenses/",
    "categories": "/workbench/categories/",
    "ai_adj_issues": "/workbench/ai-adj-issues/",
    "examples": "/workbench/examples/",
    "field_notes": "/workbench/field-notes/",
    "articles": "/workbench/articles/",
    "videos": "/workbench/videos/",
    "internal": "/workbench/_internal/"
  },
  "resolver": {
    "divu": "https://divu.app/wb/[slug]",
    "resolves": [
      "patterns",
      "lenses"
    ],
    "does_not_resolve": [
      "issues"
    ]
  },
  "matrix": {
    "asymmetric-structure": {
      "primary": [
        "convergence-lens",
        "variance-entropy-lens"
      ],
      "secondary": [
        "compression-lens"
      ]
    },
    "authority-collision": {
      "primary": [
        "conflict-lens",
        "authority-overlay-lens"
      ],
      "secondary": [
        "reconciliation-lens",
        "invariant-lens"
      ]
    },
    "authority-merge-conflict": {
      "primary": [
        "conflict-lens",
        "reconciliation-lens"
      ],
      "secondary": [
        "authority-overlay-lens"
      ]
    },
    "authority-shadowing": {
      "primary": [
        "authority-overlay-lens"
      ],
      "secondary": [
        "conflict-lens",
        "reconciliation-lens"
      ]
    },
    "authority-state-mismatch": {
      "primary": [
        "reconciliation-lens"
      ],
      "secondary": [
        "convergence-lens",
        "reference-stability-lens"
      ]
    },
    "boundary-leakage": {
      "primary": [
        "isolation-boundary-lens",
        "propagation-lens"
      ],
      "secondary": [
        "boundary-compliance-lens"
      ]
    },
    "circular-dependency": {
      "primary": [
        "conflict-lens",
        "propagation-lens"
      ],
      "secondary": [
        "normalization-lens"
      ]
    },
    "compatibility-violation": {
      "primary": [
        "compatibility-envelope-lens"
      ],
      "secondary": [
        "boundary-compliance-lens"
      ]
    },
    "constraints-underspecified": {
      "primary": [
        "constraint-sufficiency-lens"
      ],
      "secondary": [
        "determinism-lens",
        "variance-entropy-lens"
      ]
    },
    "contract-drift": {
      "primary": [
        "reconciliation-lens",
        "convergence-lens"
      ],
      "secondary": [
        "determinism-lens"
      ]
    },
    "convergence-failure": {
      "primary": [
        "convergence-lens"
      ],
      "secondary": [
        "variance-entropy-lens",
        "reconciliation-lens"
      ]
    },
    "cross-layer-escalation": {
      "primary": [
        "propagation-lens",
        "isolation-boundary-lens"
      ],
      "secondary": [
        "escalation-gradient-lens"
      ]
    },
    "density-spike": {
      "primary": [
        "compression-lens",
        "variance-entropy-lens"
      ],
      "secondary": [
        "escalation-gradient-lens"
      ]
    },
    "density-vacuum": {
      "primary": [
        "absence-lens",
        "compression-lens"
      ],
      "secondary": [
        "constraint-sufficiency-lens"
      ]
    },
    "divergent-outputs": {
      "primary": [
        "convergence-lens",
        "variance-entropy-lens"
      ],
      "secondary": [
        "determinism-lens",
        "compression-lens"
      ]
    },
    "escalation-growth": {
      "primary": [
        "escalation-gradient-lens",
        "variance-entropy-lens"
      ],
      "secondary": [
        "propagation-lens"
      ]
    },
    "incomplete-declaration": {
      "primary": [
        "absence-lens",
        "constraint-sufficiency-lens"
      ],
      "secondary": [
        "interface-contract-lens"
      ]
    },
    "interface-mismatch": {
      "primary": [
        "interface-contract-lens"
      ],
      "secondary": [
        "normalization-lens"
      ]
    },
    "invariant-breakage": {
      "primary": [
        "invariant-lens",
        "conflict-lens"
      ],
      "secondary": [
        "interface-contract-lens"
      ]
    },
    "missing-authority": {
      "primary": [
        "authority-overlay-lens",
        "absence-lens"
      ],
      "secondary": [
        "conflict-lens",
        "reconciliation-lens"
      ]
    },
    "non-deterministic-execution": {
      "primary": [
        "determinism-lens",
        "variance-entropy-lens"
      ],
      "secondary": [
        "convergence-lens",
        "reference-stability-lens"
      ]
    },
    "orphaned-structure": {
      "primary": [
        "absence-lens"
      ],
      "secondary": [
        "propagation-lens"
      ]
    },
    "overreach": {
      "primary": [
        "overreach-lens",
        "boundary-compliance-lens"
      ],
      "secondary": [
        "propagation-lens"
      ]
    },
    "persistence-instability": {
      "primary": [
        "reference-stability-lens"
      ],
      "secondary": [
        "determinism-lens"
      ]
    },
    "propagation-amplification": {
      "primary": [
        "propagation-lens",
        "escalation-gradient-lens"
      ],
      "secondary": [
        "variance-entropy-lens"
      ]
    },
    "redundant-declaration": {
      "primary": [
        "normalization-lens",
        "conflict-lens"
      ],
      "secondary": [
        "compression-lens"
      ]
    },
    "reference-instability": {
      "primary": [
        "reference-stability-lens"
      ],
      "secondary": [
        "determinism-lens"
      ]
    },
    "schema-breakage": {
      "primary": [
        "interface-contract-lens",
        "invariant-lens"
      ],
      "secondary": [
        "conflict-lens"
      ]
    },
    "silent-mutation": {
      "primary": [
        "reference-stability-lens",
        "determinism-lens"
      ],
      "secondary": [
        "provenance-trace-lens"
      ]
    },
    "threshold-breach": {
      "primary": [
        "invariant-lens"
      ],
      "secondary": [
        "boundary-compliance-lens"
      ]
    },
    "unbounded-scope": {
      "primary": [
        "isolation-boundary-lens",
        "constraint-sufficiency-lens"
      ],
      "secondary": [
        "escalation-gradient-lens"
      ]
    },
    "unconstrained-expansion": {
      "primary": [
        "escalation-gradient-lens",
        "compression-lens"
      ],
      "secondary": [
        "variance-entropy-lens"
      ]
    },
    "undeclared-side-effect": {
      "primary": [
        "overreach-lens",
        "propagation-lens"
      ],
      "secondary": [
        "isolation-boundary-lens"
      ]
    }
  },
  "issues": [
    {
      "slug": "action-changed-something-else-too",
      "ontology_slug": "action-changed-something-else-too",
      "code": "ISS-0046",
      "title": "Action Changed Something Else Too",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An AI or agent action makes the requested change but also changes another object, field, file, state, rule, or workflow element that was not supposed to change.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "undeclared-side-effect",
      "patterns": [
        "undeclared-side-effect",
        "propagation-amplification",
        "boundary-leakage"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "generated-output-changed-hidden-metadata",
        "tool-call-caused-hidden-downstream-change",
        "tool-effect-crosses-target-boundary"
      ],
      "search_intents": [
        "action changed something else too",
        "AI changed unrelated thing too",
        "agent side effect",
        "fix changed other file",
        "AI action had unintended side effect",
        "requested change affected something else"
      ],
      "url": "/workbench/issues/action-changed-something-else-too/",
      "markdown_url": "/workbench/issues/action-changed-something-else-too.md"
    },
    {
      "slug": "action-triggered-by-confidence-score",
      "ontology_slug": "action-triggered-by-confidence-score",
      "code": "ISS-0064",
      "title": "Action Triggered by Confidence Score",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A confidence score, certainty label, risk level, or probability-like value triggers an action without enough approval, calibration, or authority control.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0110"
      ],
      "primary_pattern": "threshold-breach",
      "patterns": [
        "threshold-breach",
        "missing-authority",
        "escalation-growth"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "escalation-gradient-lens",
          "invariant-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "propagation-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "action triggered by confidence score",
        "AI confidence score triggered action",
        "confidence threshold caused workflow action",
        "AI score started automation",
        "model confidence caused escalation",
        "action based on AI confidence"
      ],
      "url": "/workbench/issues/action-triggered-by-confidence-score/",
      "markdown_url": "/workbench/issues/action-triggered-by-confidence-score.md"
    },
    {
      "slug": "actual-policy-differs-from-declared-policy",
      "ontology_slug": "actual-policy-differs-from-declared-policy",
      "code": "ISS-0040",
      "title": "Actual Policy Differs From Declared Policy",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The policy the AI or workflow actually follows differs from the policy that is documented, declared, displayed, or expected.",
      "category": "rules-and-policies",
      "category_title": "Rules & Policies",
      "primary_cat_code": "CAT-0060",
      "secondary_cat_codes": [
        "CAT-0080"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "authority-state-mismatch",
        "silent-mutation"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "determinism-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "provenance-trace-lens"
        ]
      },
      "related_ai_adj_issues": [
        "documented-field-not-available-at-runtime",
        "guardrail-applies-to-one-model-path-only",
        "low-level-configuration-overrides-workflow-policy",
        "permission-change-not-applied",
        "runtime-behavior-does-not-match-docs"
      ],
      "search_intents": [
        "actual policy differs from declared policy",
        "AI behavior does not match policy",
        "documented policy differs from actual behavior",
        "policy says one thing AI does another",
        "declared policy not followed",
        "runtime policy differs from docs"
      ],
      "url": "/workbench/issues/actual-policy-differs-from-declared-policy/",
      "markdown_url": "/workbench/issues/actual-policy-differs-from-declared-policy.md"
    },
    {
      "slug": "agent-cannot-choose-tool-without-tool-result",
      "ontology_slug": "agent-cannot-choose-tool-without-tool-result",
      "code": "ISS-0087",
      "title": "Agent Cannot Choose Tool Without Tool Result",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The agent needs a tool result to choose the right tool, but cannot obtain that result without choosing a tool first.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0040"
      ],
      "primary_pattern": "circular-dependency",
      "patterns": [
        "circular-dependency",
        "missing-authority",
        "interface-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "conflict-lens",
          "interface-contract-lens",
          "propagation-lens"
        ],
        "secondary": [
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-not-supported-in-this-mode"
      ],
      "search_intents": [
        "agent cannot choose tool without tool result",
        "AI needs tool result to pick tool",
        "tool choice circular dependency",
        "agent stuck choosing tool",
        "AI cannot decide tool without data",
        "MCP tool selection loop"
      ],
      "url": "/workbench/issues/agent-cannot-choose-tool-without-tool-result/",
      "markdown_url": "/workbench/issues/agent-cannot-choose-tool-without-tool-result.md"
    },
    {
      "slug": "agent-gets-conflicting-tool-authority",
      "ontology_slug": "agent-gets-conflicting-tool-authority",
      "code": "ISS-0115",
      "title": "Agent Gets Conflicting Tool Authority",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An agent receives conflicting authority signals about whether, when, or how it may use a tool, connector, function, or integration.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0040"
      ],
      "primary_pattern": "authority-collision",
      "patterns": [
        "authority-collision",
        "interface-mismatch",
        "authority-shadowing"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "interface-contract-lens"
        ],
        "secondary": [
          "invariant-lens",
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "agent gets conflicting tool authority",
        "AI agent tool authority conflict",
        "tool permission conflicts with prompt",
        "agent allowed and blocked from tool",
        "conflicting MCP tool authority",
        "agent tool access rules conflict"
      ],
      "url": "/workbench/issues/agent-gets-conflicting-tool-authority/",
      "markdown_url": "/workbench/issues/agent-gets-conflicting-tool-authority.md"
    },
    {
      "slug": "agent-keeps-expanding-the-task",
      "ontology_slug": "agent-keeps-expanding-the-task",
      "code": "ISS-0008",
      "title": "Agent Keeps Expanding the Task",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The agent repeatedly expands the task, plan, scope, or next-step list instead of completing the declared work.",
      "category": "agents",
      "category_title": "Agents",
      "primary_cat_code": "CAT-0030",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "unconstrained-expansion",
      "patterns": [
        "unconstrained-expansion",
        "overreach",
        "convergence-failure"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "compression-lens",
          "convergence-lens",
          "escalation-gradient-lens",
          "overreach-lens"
        ],
        "secondary": [
          "propagation-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-keeps-adding-tool-dependencies"
      ],
      "search_intents": [
        "agent keeps expanding the task",
        "AI keeps adding more steps",
        "agent keeps making the plan bigger",
        "AI keeps adding follow up work",
        "agent expands task on each pass",
        "diagnosis keeps expanding"
      ],
      "url": "/workbench/issues/agent-keeps-expanding-the-task/",
      "markdown_url": "/workbench/issues/agent-keeps-expanding-the-task.md"
    },
    {
      "slug": "agent-modified-unrelated-state",
      "ontology_slug": "agent-modified-unrelated-state",
      "code": "ISS-0113",
      "title": "Agent Modified Unrelated State",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An agent changes state outside the requested task, target, file, record, workflow, or authorized scope.",
      "category": "scope-and-boundaries",
      "category_title": "Scope & Boundaries",
      "primary_cat_code": "CAT-0100",
      "secondary_cat_codes": [
        "CAT-0030"
      ],
      "primary_pattern": "boundary-leakage",
      "patterns": [
        "boundary-leakage",
        "undeclared-side-effect",
        "overreach"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": []
      },
      "related_ai_adj_issues": [
        "one-workspace-affects-another",
        "tool-effect-crosses-target-boundary"
      ],
      "search_intents": [
        "agent modified unrelated state",
        "AI agent changed unrelated state",
        "agent changed something outside task",
        "AI modified unrelated file",
        "agent side effect changed state",
        "AI action affected unrelated workflow"
      ],
      "url": "/workbench/issues/agent-modified-unrelated-state/",
      "markdown_url": "/workbench/issues/agent-modified-unrelated-state.md"
    },
    {
      "slug": "agent-never-settles-on-final-answer",
      "ontology_slug": "agent-never-settles-on-final-answer",
      "code": "ISS-0082",
      "title": "Agent Never Settles on Final Answer",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The agent keeps revising, rechecking, planning, or branching instead of converging on a final answer or completed result.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0030"
      ],
      "primary_pattern": "convergence-failure",
      "patterns": [
        "convergence-failure",
        "circular-dependency",
        "unconstrained-expansion"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "convergence-lens",
          "escalation-gradient-lens",
          "propagation-lens"
        ],
        "secondary": [
          "normalization-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-keeps-adding-tool-dependencies"
      ],
      "search_intents": [
        "agent never settles on final answer",
        "AI agent will not finish",
        "agent keeps revising instead of answering",
        "AI keeps checking and never completes",
        "agent cannot finalize response",
        "agent loops without final answer"
      ],
      "url": "/workbench/issues/agent-never-settles-on-final-answer/",
      "markdown_url": "/workbench/issues/agent-never-settles-on-final-answer.md"
    },
    {
      "slug": "agent-permission-expands-over-steps",
      "ontology_slug": "agent-permission-expands-over-steps",
      "code": "ISS-0099",
      "title": "Agent Permission Expands Over Steps",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An agent begins with limited permission but gains, assumes, or exercises broader authority as the workflow continues.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "escalation-growth",
      "patterns": [
        "escalation-growth",
        "missing-authority",
        "overreach"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "boundary-compliance-lens",
          "escalation-gradient-lens",
          "overreach-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "conflict-lens",
          "propagation-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "agent permission expands over steps",
        "AI agent permission grew over time",
        "agent authority expanded during task",
        "AI agent got more access across steps",
        "agent permission creep",
        "agent acts with broader permission later"
      ],
      "url": "/workbench/issues/agent-permission-expands-over-steps/",
      "markdown_url": "/workbench/issues/agent-permission-expands-over-steps.md"
    },
    {
      "slug": "ai-adds-work-not-requested",
      "ontology_slug": "ai-adds-work-not-requested",
      "code": "ISS-0009",
      "title": "AI Adds Work Not Requested",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI adds tasks, steps, analysis, checks, changes, or follow-up work that the user did not ask for.",
      "category": "agents",
      "category_title": "Agents",
      "primary_cat_code": "CAT-0030",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "overreach",
      "patterns": [
        "overreach",
        "unbounded-scope",
        "undeclared-side-effect"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "constraint-sufficiency-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "AI adds work not requested",
        "AI did extra work I did not ask for",
        "agent added unnecessary tasks",
        "AI changed more than requested",
        "AI keeps adding follow up work",
        "agent expanded beyond the request"
      ],
      "url": "/workbench/issues/ai-adds-work-not-requested/",
      "markdown_url": "/workbench/issues/ai-adds-work-not-requested.md"
    },
    {
      "slug": "ai-forgets-earlier-constraints",
      "ontology_slug": "ai-forgets-earlier-constraints",
      "code": "ISS-0029",
      "title": "AI Forgets Earlier Constraints",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A constraint, instruction, preference, or decision that should persist through the task stops affecting later output.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [],
      "primary_pattern": "persistence-instability",
      "patterns": [
        "persistence-instability",
        "constraints-underspecified",
        "contract-drift"
      ],
      "derived_lenses": {
        "primary": [
          "constraint-sufficiency-lens",
          "convergence-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "AI forgets earlier constraints",
        "ChatGPT forgot instructions",
        "AI ignored earlier requirement",
        "model forgot previous constraint",
        "instruction stopped applying later",
        "AI lost context rule"
      ],
      "url": "/workbench/issues/ai-forgets-earlier-constraints/",
      "markdown_url": "/workbench/issues/ai-forgets-earlier-constraints.md"
    },
    {
      "slug": "ai-memory-has-no-governance",
      "ontology_slug": "ai-memory-has-no-governance",
      "code": "ISS-0109",
      "title": "AI Memory Has No Governance",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Saved or persistent AI memory affects output without clear rules for ownership, scope, review, update, expiry, or removal.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "missing-authority",
      "patterns": [
        "missing-authority",
        "persistence-instability",
        "boundary-leakage"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "isolation-boundary-lens",
          "propagation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "determinism-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "AI memory has no governance",
        "ChatGPT memory no governance",
        "AI memory not controlled",
        "saved memory lacks approval",
        "AI memory scope unclear",
        "persistent memory affects output without rules"
      ],
      "url": "/workbench/issues/ai-memory-has-no-governance/",
      "markdown_url": "/workbench/issues/ai-memory-has-no-governance.md"
    },
    {
      "slug": "ai-memory-updated-without-asking",
      "ontology_slug": "ai-memory-updated-without-asking",
      "code": "ISS-0114",
      "title": "AI Memory Updated Without Asking",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "AI memory, saved context, preference, or durable state is updated without the user clearly asking for or approving that update.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "missing-authority",
      "patterns": [
        "missing-authority",
        "persistence-instability",
        "boundary-leakage"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "isolation-boundary-lens",
          "propagation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "determinism-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "AI memory updated without asking",
        "ChatGPT memory changed without permission",
        "AI saved memory without approval",
        "memory updated unexpectedly",
        "AI remembered something I did not ask it to",
        "persistent memory changed without consent"
      ],
      "url": "/workbench/issues/ai-memory-updated-without-asking/",
      "markdown_url": "/workbench/issues/ai-memory-updated-without-asking.md"
    },
    {
      "slug": "ai-output-breaks-parser",
      "ontology_slug": "ai-output-breaks-parser",
      "code": "ISS-0026",
      "title": "AI Output Breaks Parser",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI output causes a parser, validator, importer, or structured-output consumer to fail.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [
        "CAT-0040"
      ],
      "primary_pattern": "schema-breakage",
      "patterns": [
        "schema-breakage",
        "interface-mismatch",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "AI output breaks parser",
        "parser fails on AI output",
        "AI response cannot be parsed",
        "structured output parser error",
        "AI output breaks importer",
        "parser rejects LLM output"
      ],
      "url": "/workbench/issues/ai-output-breaks-parser/",
      "markdown_url": "/workbench/issues/ai-output-breaks-parser.md"
    },
    {
      "slug": "ai-touches-unrelated-scope",
      "ontology_slug": "ai-touches-unrelated-scope",
      "code": "ISS-0045",
      "title": "AI Touches Unrelated Scope",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI affects, edits, analyzes, changes, or reasons over material outside the scope of the requested task.",
      "category": "scope-and-boundaries",
      "category_title": "Scope & Boundaries",
      "primary_cat_code": "CAT-0100",
      "secondary_cat_codes": [
        "CAT-0030"
      ],
      "primary_pattern": "overreach",
      "patterns": [
        "overreach",
        "boundary-leakage",
        "unbounded-scope"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "constraint-sufficiency-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [
        "one-workspace-affects-another",
        "tool-effect-crosses-target-boundary"
      ],
      "search_intents": [
        "AI touches unrelated scope",
        "AI changed unrelated content",
        "agent edited files not requested",
        "AI affected something outside task",
        "AI included unrelated scope",
        "agent went outside requested area"
      ],
      "url": "/workbench/issues/ai-touches-unrelated-scope/",
      "markdown_url": "/workbench/issues/ai-touches-unrelated-scope.md"
    },
    {
      "slug": "ai-uses-external-information-when-forbidden",
      "ontology_slug": "ai-uses-external-information-when-forbidden",
      "code": "ISS-0044",
      "title": "AI Uses External Information When Forbidden",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI uses outside knowledge, sources, tools, memory, or assumptions after the task forbids external information or limits the allowed source set.",
      "category": "scope-and-boundaries",
      "category_title": "Scope & Boundaries",
      "primary_cat_code": "CAT-0100",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "boundary-leakage",
      "patterns": [
        "boundary-leakage",
        "overreach",
        "undeclared-side-effect"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": []
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "AI uses external information when forbidden",
        "AI used outside sources",
        "ChatGPT used outside knowledge when told not to",
        "AI ignored source boundary",
        "answer uses information not in provided file",
        "AI used external context"
      ],
      "url": "/workbench/issues/ai-uses-external-information-when-forbidden/",
      "markdown_url": "/workbench/issues/ai-uses-external-information-when-forbidden.md"
    },
    {
      "slug": "answer-has-no-traceable-source-link",
      "ontology_slug": "answer-has-no-traceable-source-link",
      "code": "ISS-0002",
      "title": "Answer Has No Traceable Source Link",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The answer makes a claim, recommendation, citation, or factual statement without a source link or trace path that allows the user to verify where it came from.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "incomplete-declaration",
      "patterns": [
        "incomplete-declaration",
        "reference-instability",
        "density-vacuum"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "constraint-sufficiency-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "answer has no traceable source link",
        "AI answer has no source",
        "AI gave claim without citation",
        "cannot verify where answer came from",
        "missing source link in AI response",
        "answer has no evidence trail"
      ],
      "url": "/workbench/issues/answer-has-no-traceable-source-link/",
      "markdown_url": "/workbench/issues/answer-has-no-traceable-source-link.md"
    },
    {
      "slug": "answer-has-too-many-paths",
      "ontology_slug": "answer-has-too-many-paths",
      "code": "ISS-0010",
      "title": "Answer Has Too Many Paths",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The answer presents too many possible paths, interpretations, options, or next steps without enough structure to choose among them.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "density-spike",
      "patterns": [
        "density-spike",
        "unbounded-scope",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "constraint-sufficiency-lens",
          "isolation-boundary-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "determinism-lens",
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "answer has too many paths",
        "AI gave too many options",
        "AI answer is overwhelming",
        "too many next steps from AI",
        "AI response has too many directions",
        "answer does not choose a path"
      ],
      "url": "/workbench/issues/answer-has-too-many-paths/",
      "markdown_url": "/workbench/issues/answer-has-too-many-paths.md"
    },
    {
      "slug": "approval-depends-on-output-that-needs-approval",
      "ontology_slug": "approval-depends-on-output-that-needs-approval",
      "code": "ISS-0088",
      "title": "Approval Depends on Output That Needs Approval",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A required approval depends on an AI output or workflow result that itself cannot be produced or trusted until approval is granted.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "circular-dependency",
      "patterns": [
        "circular-dependency",
        "missing-authority",
        "authority-collision"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "conflict-lens",
          "propagation-lens"
        ],
        "secondary": [
          "invariant-lens",
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "approval depends on output that needs approval",
        "AI approval circular dependency",
        "output needs approval before approval can happen",
        "approval loop AI workflow",
        "cannot approve because output not approved",
        "workflow approval depends on itself"
      ],
      "url": "/workbench/issues/approval-depends-on-output-that-needs-approval/",
      "markdown_url": "/workbench/issues/approval-depends-on-output-that-needs-approval.md"
    },
    {
      "slug": "automation-skips-required-approval",
      "ontology_slug": "automation-skips-required-approval",
      "code": "ISS-0111",
      "title": "Automation Skips Required Approval",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An automated AI or workflow step proceeds past an approval gate that should have been required before action.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "missing-authority",
      "patterns": [
        "missing-authority",
        "undeclared-side-effect",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "compatibility-envelope-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "isolation-boundary-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "automation skips required approval",
        "AI automation bypassed approval",
        "workflow skipped approval gate",
        "agent acted without required approval",
        "approval gate bypassed",
        "automated action skipped review"
      ],
      "url": "/workbench/issues/automation-skips-required-approval/",
      "markdown_url": "/workbench/issues/automation-skips-required-approval.md"
    },
    {
      "slug": "behavior-does-not-match-declared-role",
      "ontology_slug": "behavior-does-not-match-declared-role",
      "code": "ISS-0043",
      "title": "Behavior Does Not Match Declared Role",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI or agent behaves outside, below, or differently from the role, authority, responsibility, or permission posture declared for it.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "authority-state-mismatch",
      "patterns": [
        "authority-state-mismatch",
        "overreach",
        "authority-shadowing"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "boundary-compliance-lens",
          "overreach-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "conflict-lens",
          "convergence-lens",
          "propagation-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [
        "low-level-configuration-overrides-workflow-policy",
        "permission-change-not-applied"
      ],
      "search_intents": [
        "behavior does not match declared role",
        "AI does not act like assigned role",
        "agent role mismatch",
        "AI role says one thing behavior another",
        "declared role not followed",
        "agent exceeds declared role"
      ],
      "url": "/workbench/issues/behavior-does-not-match-declared-role/",
      "markdown_url": "/workbench/issues/behavior-does-not-match-declared-role.md"
    },
    {
      "slug": "cannot-identify-authoritative-state",
      "ontology_slug": "cannot-identify-authoritative-state",
      "code": "ISS-0085",
      "title": "Cannot Identify Authoritative State",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The user or workflow cannot tell which state, version, review result, decision, source, or output is currently authoritative.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "authority-state-mismatch",
      "patterns": [
        "authority-state-mismatch",
        "missing-authority",
        "reference-instability"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "conflict-lens",
          "convergence-lens",
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "cannot identify authoritative state",
        "AI cannot tell which version is final",
        "authoritative output unclear",
        "which decision is current",
        "workflow state not authoritative",
        "AI review state unclear"
      ],
      "url": "/workbench/issues/cannot-identify-authoritative-state/",
      "markdown_url": "/workbench/issues/cannot-identify-authoritative-state.md"
    },
    {
      "slug": "citation-points-to-wrong-source",
      "ontology_slug": "citation-points-to-wrong-source",
      "code": "ISS-0003",
      "title": "Citation Points to Wrong Source",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A citation, reference, link, or source pointer is present, but it points to the wrong source, wrong passage, wrong document, or unsupported evidence.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "reference-instability",
      "patterns": [
        "reference-instability",
        "interface-mismatch",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "interface-contract-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "citation points to wrong source",
        "AI citation is wrong",
        "source does not support the answer",
        "citation link goes to wrong document",
        "AI cited the wrong passage",
        "reference points to unrelated source"
      ],
      "url": "/workbench/issues/citation-points-to-wrong-source/",
      "markdown_url": "/workbench/issues/citation-points-to-wrong-source.md"
    },
    {
      "slug": "conflicting-instructions-from-different-authorities",
      "ontology_slug": "conflicting-instructions-from-different-authorities",
      "code": "ISS-0035",
      "title": "Conflicting Instructions From Different Authorities",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Instructions from different sources, roles, policies, prompts, tools, or workflow authorities conflict without a clear rule for which one governs.",
      "category": "rules-and-policies",
      "category_title": "Rules & Policies",
      "primary_cat_code": "CAT-0060",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "authority-collision",
      "patterns": [
        "authority-collision",
        "authority-shadowing",
        "authority-merge-conflict"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "invariant-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "conflicting instructions from different authorities",
        "AI got conflicting instructions",
        "system and user instructions conflict",
        "policy conflicts with prompt",
        "tool rule conflicts with user request",
        "different authorities give different instructions"
      ],
      "url": "/workbench/issues/conflicting-instructions-from-different-authorities/",
      "markdown_url": "/workbench/issues/conflicting-instructions-from-different-authorities.md"
    },
    {
      "slug": "context-changes-after-restore",
      "ontology_slug": "context-changes-after-restore",
      "code": "ISS-0031",
      "title": "Context Changes After Restore",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Restoring, reopening, resuming, or reloading a task changes the context that the AI uses to continue the work.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [
        "CAT-0080"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "persistence-instability",
        "silent-mutation"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "determinism-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "provenance-trace-lens"
        ]
      },
      "related_ai_adj_issues": [
        "ai-works-in-one-environment-not-another"
      ],
      "search_intents": [
        "context changes after restore",
        "restored chat has different context",
        "AI context changed after reload",
        "resume changed AI behavior",
        "restored task lost context",
        "AI uses different context after reopening"
      ],
      "url": "/workbench/issues/context-changes-after-restore/",
      "markdown_url": "/workbench/issues/context-changes-after-restore.md"
    },
    {
      "slug": "context-leaks-between-tasks",
      "ontology_slug": "context-leaks-between-tasks",
      "code": "ISS-0032",
      "title": "Context Leaks Between Tasks",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Context, assumptions, constraints, examples, files, or decisions from one task affect another task where they should not apply.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "boundary-leakage",
      "patterns": [
        "boundary-leakage",
        "propagation-amplification",
        "persistence-instability"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "isolation-boundary-lens",
          "propagation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "one-workspace-affects-another"
      ],
      "search_intents": [
        "context leaks between tasks",
        "AI uses context from another task",
        "ChatGPT carries over wrong context",
        "previous task affects new task",
        "AI mixes separate tasks",
        "context bleed between conversations"
      ],
      "url": "/workbench/issues/context-leaks-between-tasks/",
      "markdown_url": "/workbench/issues/context-leaks-between-tasks.md"
    },
    {
      "slug": "declared-owner-cannot-control-outcome",
      "ontology_slug": "declared-owner-cannot-control-outcome",
      "code": "ISS-0015",
      "title": "Declared Owner Cannot Control Outcome",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A person, role, system, or policy is declared responsible for an outcome but does not have the actual authority or control needed to govern it.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "authority-state-mismatch",
      "patterns": [
        "authority-state-mismatch",
        "missing-authority",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "compatibility-envelope-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "convergence-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [
        "permission-change-not-applied"
      ],
      "search_intents": [
        "declared owner cannot control outcome",
        "owner is responsible but cannot change result",
        "AI assigns responsibility without authority",
        "approval owner lacks control",
        "accountable person cannot govern outcome",
        "declared owner has no real authority"
      ],
      "url": "/workbench/issues/declared-owner-cannot-control-outcome/",
      "markdown_url": "/workbench/issues/declared-owner-cannot-control-outcome.md"
    },
    {
      "slug": "diagnostic-area-has-no-coverage",
      "ontology_slug": "diagnostic-area-has-no-coverage",
      "code": "ISS-0077",
      "title": "Diagnostic Area Has No Coverage",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A known diagnostic area, failure mode, requirement, or review dimension has no Issue, check, rubric item, or workflow coverage.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [],
      "primary_pattern": "density-vacuum",
      "patterns": [
        "density-vacuum",
        "incomplete-declaration",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "category-has-too-few-issues-to-be-useful"
      ],
      "search_intents": [
        "diagnostic area has no coverage",
        "missing diagnostic coverage",
        "no check for this AI issue",
        "workflow does not cover failure mode",
        "review has coverage gap",
        "AI diagnosis missing area"
      ],
      "url": "/workbench/issues/diagnostic-area-has-no-coverage/",
      "markdown_url": "/workbench/issues/diagnostic-area-has-no-coverage.md"
    },
    {
      "slug": "downstream-steps-magnify-hallucinated-claim",
      "ontology_slug": "downstream-steps-magnify-hallucinated-claim",
      "code": "ISS-0097",
      "title": "Downstream Steps Magnify Hallucinated Claim",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A hallucinated or unsupported claim from an AI output is reused by later workflow steps until it becomes more influential than the evidence supports.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "escalation-growth",
        "schema-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "interface-contract-lens",
          "invariant-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "conflict-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-call-caused-hidden-downstream-change"
      ],
      "search_intents": [
        "downstream steps magnify hallucinated claim",
        "AI hallucination spread downstream",
        "unsupported claim became bigger issue",
        "hallucinated claim used by workflow",
        "AI false claim propagated",
        "downstream workflow amplified hallucination"
      ],
      "url": "/workbench/issues/downstream-steps-magnify-hallucinated-claim/",
      "markdown_url": "/workbench/issues/downstream-steps-magnify-hallucinated-claim.md"
    },
    {
      "slug": "duplicate-fields-with-same-meaning",
      "ontology_slug": "duplicate-fields-with-same-meaning",
      "code": "ISS-0027",
      "title": "Duplicate Fields With Same Meaning",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI returns multiple fields, labels, sections, or structured elements that carry the same meaning and create ambiguity about which one should be used.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "redundant-declaration",
      "patterns": [
        "redundant-declaration",
        "density-spike",
        "schema-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "interface-contract-lens",
          "invariant-lens",
          "normalization-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "duplicate fields with same meaning",
        "AI output has duplicate fields",
        "same meaning in multiple JSON keys",
        "duplicate structured output fields",
        "AI returned redundant fields",
        "output has overlapping fields"
      ],
      "url": "/workbench/issues/duplicate-fields-with-same-meaning/",
      "markdown_url": "/workbench/issues/duplicate-fields-with-same-meaning.md"
    },
    {
      "slug": "duplicate-output-sections",
      "ontology_slug": "duplicate-output-sections",
      "code": "ISS-0066",
      "title": "Duplicate Output Sections",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI repeats sections, headings, blocks, or output areas in a way that creates redundancy, confusion, or downstream handling problems.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "redundant-declaration",
      "patterns": [
        "redundant-declaration",
        "density-spike",
        "schema-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "interface-contract-lens",
          "invariant-lens",
          "normalization-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "duplicate output sections",
        "AI repeated sections",
        "ChatGPT duplicated headings",
        "output has duplicate blocks",
        "AI response repeated same section",
        "duplicate structured output sections"
      ],
      "url": "/workbench/issues/duplicate-output-sections/",
      "markdown_url": "/workbench/issues/duplicate-output-sections.md"
    },
    {
      "slug": "early-model-output-gets-overweighted-downstream",
      "ontology_slug": "early-model-output-gets-overweighted-downstream",
      "code": "ISS-0094",
      "title": "Early Model Output Gets Overweighted Downstream",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An early AI output receives too much authority in later workflow steps, decisions, reviews, or generated artifacts.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "authority-state-mismatch",
        "contract-drift"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "escalation-gradient-lens",
          "propagation-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "determinism-lens",
          "reference-stability-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "early model output gets overweighted downstream",
        "AI first answer influences too much",
        "early model output overtrusted",
        "downstream workflow overweights AI output",
        "initial AI result affects later decisions",
        "early AI classification becomes authority"
      ],
      "url": "/workbench/issues/early-model-output-gets-overweighted-downstream/",
      "markdown_url": "/workbench/issues/early-model-output-gets-overweighted-downstream.md"
    },
    {
      "slug": "evaluation-rubric-has-coverage-gap",
      "ontology_slug": "evaluation-rubric-has-coverage-gap",
      "code": "ISS-0081",
      "title": "Evaluation Rubric Has Coverage Gap",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An evaluation rubric, grading standard, or review checklist leaves part of the required evaluation space uncovered.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "density-vacuum",
      "patterns": [
        "density-vacuum",
        "incomplete-declaration",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "category-has-too-few-issues-to-be-useful"
      ],
      "search_intents": [
        "evaluation rubric has coverage gap",
        "AI evaluation rubric missing coverage",
        "review rubric has gap",
        "grading checklist incomplete",
        "evaluation misses required area",
        "AI review criteria coverage gap"
      ],
      "url": "/workbench/issues/evaluation-rubric-has-coverage-gap/",
      "markdown_url": "/workbench/issues/evaluation-rubric-has-coverage-gap.md"
    },
    {
      "slug": "fallback-authority-is-missing",
      "ontology_slug": "fallback-authority-is-missing",
      "code": "ISS-0014",
      "title": "Fallback Authority Is Missing",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The system does not declare who or what has authority when the primary owner, rule, tool, source, or decision path is unavailable or inconclusive.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "missing-authority",
      "patterns": [
        "missing-authority",
        "incomplete-declaration",
        "circular-dependency"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "conflict-lens",
          "constraint-sufficiency-lens",
          "propagation-lens"
        ],
        "secondary": [
          "interface-contract-lens",
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "fallback authority is missing",
        "no fallback approver",
        "AI does not know who decides if primary fails",
        "missing escalation authority",
        "no backup decision owner",
        "workflow has no fallback authority"
      ],
      "url": "/workbench/issues/fallback-authority-is-missing/",
      "markdown_url": "/workbench/issues/fallback-authority-is-missing.md"
    },
    {
      "slug": "file-bounded-task-uses-outside-content",
      "ontology_slug": "file-bounded-task-uses-outside-content",
      "code": "ISS-0048",
      "title": "File-Bounded Task Uses Outside Content",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI is asked to work only from a specific file or document but uses content, assumptions, or sources outside that file.",
      "category": "scope-and-boundaries",
      "category_title": "Scope & Boundaries",
      "primary_cat_code": "CAT-0100",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "boundary-leakage",
      "patterns": [
        "boundary-leakage",
        "reference-instability",
        "overreach"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-effect-crosses-target-boundary"
      ],
      "search_intents": [
        "file bounded task uses outside content",
        "AI used content outside file",
        "summarize only this file but AI used other info",
        "AI answer not limited to document",
        "AI used outside context in file task",
        "document bounded task violated"
      ],
      "url": "/workbench/issues/file-bounded-task-uses-outside-content/",
      "markdown_url": "/workbench/issues/file-bounded-task-uses-outside-content.md"
    },
    {
      "slug": "format-rule-too-weak",
      "ontology_slug": "format-rule-too-weak",
      "code": "ISS-0028",
      "title": "Format Rule Too Weak",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The format instruction is too vague, incomplete, or optional to reliably produce output that satisfies the expected structure.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "constraints-underspecified",
      "patterns": [
        "constraints-underspecified",
        "incomplete-declaration",
        "schema-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "constraint-sufficiency-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "conflict-lens",
          "determinism-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "format rule too weak",
        "AI did not follow output format",
        "prompt format instructions too vague",
        "output format not strict enough",
        "AI ignores format rule",
        "structured output rule incomplete"
      ],
      "url": "/workbench/issues/format-rule-too-weak/",
      "markdown_url": "/workbench/issues/format-rule-too-weak.md"
    },
    {
      "slug": "hallucinated-fields",
      "ontology_slug": "hallucinated-fields",
      "code": "ISS-0023",
      "title": "Hallucinated Fields",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI adds fields, keys, attributes, columns, or structured elements that were not declared, requested, or allowed by the expected schema.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "overreach",
      "patterns": [
        "overreach",
        "schema-breakage",
        "unbounded-scope"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "constraint-sufficiency-lens",
          "interface-contract-lens",
          "invariant-lens",
          "isolation-boundary-lens",
          "overreach-lens"
        ],
        "secondary": [
          "conflict-lens",
          "escalation-gradient-lens",
          "propagation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "hallucinated fields",
        "AI added extra JSON fields",
        "structured output has extra keys",
        "AI invented fields",
        "schema has unexpected fields",
        "output includes fields not requested"
      ],
      "url": "/workbench/issues/hallucinated-fields/",
      "markdown_url": "/workbench/issues/hallucinated-fields.md"
    },
    {
      "slug": "hidden-rule-overrides-visible-instruction",
      "ontology_slug": "hidden-rule-overrides-visible-instruction",
      "code": "ISS-0039",
      "title": "Hidden Rule Overrides Visible Instruction",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A hidden, upstream, system, policy, tool, or product rule changes or overrides the visible instruction the user expects the AI to follow.",
      "category": "rules-and-policies",
      "category_title": "Rules & Policies",
      "primary_cat_code": "CAT-0060",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "authority-shadowing",
      "patterns": [
        "authority-shadowing",
        "authority-collision",
        "boundary-leakage"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "isolation-boundary-lens",
          "propagation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "invariant-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "low-level-configuration-overrides-workflow-policy"
      ],
      "search_intents": [
        "hidden rule overrides visible instruction",
        "AI ignored prompt because hidden rule",
        "system rule overrides user instruction",
        "invisible policy changed AI behavior",
        "hidden instruction affected output",
        "AI follows rule I cannot see"
      ],
      "url": "/workbench/issues/hidden-rule-overrides-visible-instruction/",
      "markdown_url": "/workbench/issues/hidden-rule-overrides-visible-instruction.md"
    },
    {
      "slug": "human-review-and-automation-disagree",
      "ontology_slug": "human-review-and-automation-disagree",
      "code": "ISS-0036",
      "title": "Human Review and Automation Disagree",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A human review result and an automated AI or workflow result disagree without a declared rule for resolving the difference.",
      "category": "workflow-and-handoffs",
      "category_title": "Workflow & Handoffs",
      "primary_cat_code": "CAT-0070",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "authority-collision",
      "patterns": [
        "authority-collision",
        "convergence-failure",
        "authority-state-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "convergence-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "invariant-lens",
          "reference-stability-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-failure-escalates-into-policy-decision"
      ],
      "search_intents": [
        "human review and automation disagree",
        "human and AI review disagree",
        "automated decision conflicts with reviewer",
        "AI says pass human says fail",
        "workflow review disagreement",
        "no rule for human AI disagreement"
      ],
      "url": "/workbench/issues/human-review-and-automation-disagree/",
      "markdown_url": "/workbench/issues/human-review-and-automation-disagree.md"
    },
    {
      "slug": "invalid-json-output",
      "ontology_slug": "invalid-json-output",
      "code": "ISS-0021",
      "title": "Invalid JSON Output",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI returns malformed JSON or structured output that cannot be parsed.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [],
      "primary_pattern": "schema-breakage",
      "patterns": [
        "schema-breakage",
        "interface-mismatch",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "constraint-sufficiency-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "conflict-lens",
          "determinism-lens",
          "normalization-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "AI invalid JSON",
        "ChatGPT malformed JSON",
        "JSON parse error AI output",
        "LLM output invalid JSON",
        "AI gave JSON that will not parse",
        "malformed structured output"
      ],
      "url": "/workbench/issues/invalid-json-output/",
      "markdown_url": "/workbench/issues/invalid-json-output.md"
    },
    {
      "slug": "local-exception-grows-into-policy",
      "ontology_slug": "local-exception-grows-into-policy",
      "code": "ISS-0101",
      "title": "Local Exception Grows Into Policy",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A local exception, special case, or one-off allowance begins to function like a general policy.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "boundary-leakage",
        "authority-state-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "isolation-boundary-lens",
          "propagation-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "convergence-lens",
          "reference-stability-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "local exception grows into policy",
        "exception became policy",
        "AI treats special case as rule",
        "local allowance became general policy",
        "one off exception applied broadly",
        "AI generalized exception into rule"
      ],
      "url": "/workbench/issues/local-exception-grows-into-policy/",
      "markdown_url": "/workbench/issues/local-exception-grows-into-policy.md"
    },
    {
      "slug": "local-rule-spreads-to-broader-cases",
      "ontology_slug": "local-rule-spreads-to-broader-cases",
      "code": "ISS-0096",
      "title": "Local Rule Spreads to Broader Cases",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A rule intended for one local case, file, context, user, workflow, or exception begins affecting broader cases.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "boundary-leakage",
        "overreach"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "escalation-gradient-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "one-workspace-affects-another"
      ],
      "search_intents": [
        "local rule spreads to broader cases",
        "AI applies local rule too broadly",
        "local instruction became global",
        "rule from one case affects others",
        "AI overgeneralized local rule",
        "local policy spread too far"
      ],
      "url": "/workbench/issues/local-rule-spreads-to-broader-cases/",
      "markdown_url": "/workbench/issues/local-rule-spreads-to-broader-cases.md"
    },
    {
      "slug": "merge-step-leaves-unresolved-differences",
      "ontology_slug": "merge-step-leaves-unresolved-differences",
      "code": "ISS-0084",
      "title": "Merge Step Leaves Unresolved Differences",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A merge, reconciliation, or consolidation step combines outputs or reviews but leaves important differences unresolved.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "convergence-failure",
      "patterns": [
        "convergence-failure",
        "authority-merge-conflict",
        "orphaned-structure"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "conflict-lens",
          "convergence-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "authority-overlay-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "merge step leaves unresolved differences",
        "AI merge did not resolve differences",
        "review merge left conflicts",
        "consolidated answer still has contradictions",
        "merge step failed to reconcile",
        "unresolved differences after merge"
      ],
      "url": "/workbench/issues/merge-step-leaves-unresolved-differences/",
      "markdown_url": "/workbench/issues/merge-step-leaves-unresolved-differences.md"
    },
    {
      "slug": "missing-fallback-for-unavailable-information",
      "ontology_slug": "missing-fallback-for-unavailable-information",
      "code": "ISS-0074",
      "title": "Missing Fallback for Unavailable Information",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The task does not declare what the AI should do when required information, sources, tools, fields, or evidence are unavailable.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "incomplete-declaration",
      "patterns": [
        "incomplete-declaration",
        "missing-authority",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "conflict-lens",
          "determinism-lens",
          "interface-contract-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "missing fallback for unavailable information",
        "AI does not know what to do when information missing",
        "no fallback when source unavailable",
        "missing information fallback",
        "AI guesses when information unavailable",
        "no rule for unavailable evidence"
      ],
      "url": "/workbench/issues/missing-fallback-for-unavailable-information/",
      "markdown_url": "/workbench/issues/missing-fallback-for-unavailable-information.md"
    },
    {
      "slug": "missing-required-fields",
      "ontology_slug": "missing-required-fields",
      "code": "ISS-0022",
      "title": "Missing Required Fields",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI returns structured output that omits fields required by the schema, workflow, parser, form, or downstream consumer.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "incomplete-declaration",
      "patterns": [
        "incomplete-declaration",
        "schema-breakage",
        "density-vacuum"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "constraint-sufficiency-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "conflict-lens"
        ]
      },
      "related_ai_adj_issues": [
        "documented-field-not-available-at-runtime"
      ],
      "search_intents": [
        "missing required fields",
        "AI output missing fields",
        "structured output missing required field",
        "JSON missing required keys",
        "AI skipped required fields",
        "schema validation missing fields"
      ],
      "url": "/workbench/issues/missing-required-fields/",
      "markdown_url": "/workbench/issues/missing-required-fields.md"
    },
    {
      "slug": "model-and-workflow-disagree-on-next-step",
      "ontology_slug": "model-and-workflow-disagree-on-next-step",
      "code": "ISS-0038",
      "title": "Model and Workflow Disagree on Next Step",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI model recommends or selects a next step that conflicts with the workflow state, required handoff, routing rule, or process sequence.",
      "category": "workflow-and-handoffs",
      "category_title": "Workflow & Handoffs",
      "primary_cat_code": "CAT-0070",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "authority-state-mismatch",
      "patterns": [
        "authority-state-mismatch",
        "interface-mismatch",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "interface-contract-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "convergence-lens",
          "normalization-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "model and workflow disagree on next step",
        "AI chose wrong workflow step",
        "model says one thing workflow says another",
        "AI next step conflicts with process",
        "workflow state disagrees with AI recommendation",
        "AI routing conflicts with workflow"
      ],
      "url": "/workbench/issues/model-and-workflow-disagree-on-next-step/",
      "markdown_url": "/workbench/issues/model-and-workflow-disagree-on-next-step.md"
    },
    {
      "slug": "model-output-triggers-unapproved-action",
      "ontology_slug": "model-output-triggers-unapproved-action",
      "code": "ISS-0050",
      "title": "Model Output Triggers Unapproved Action",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "AI output causes, recommends, or triggers an action that has not passed the required approval, permission, or authority check.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0110"
      ],
      "primary_pattern": "undeclared-side-effect",
      "patterns": [
        "undeclared-side-effect",
        "missing-authority",
        "escalation-growth"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "escalation-gradient-lens",
          "overreach-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "conflict-lens",
          "isolation-boundary-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-failure-escalates-into-policy-decision"
      ],
      "search_intents": [
        "model output triggers unapproved action",
        "AI triggered action without approval",
        "model output caused unauthorized action",
        "AI recommendation started workflow without permission",
        "unapproved action from AI output",
        "AI output bypassed approval"
      ],
      "url": "/workbench/issues/model-output-triggers-unapproved-action/",
      "markdown_url": "/workbench/issues/model-output-triggers-unapproved-action.md"
    },
    {
      "slug": "multiple-policies-say-the-same-thing",
      "ontology_slug": "multiple-policies-say-the-same-thing",
      "code": "ISS-0070",
      "title": "Multiple Policies Say the Same Thing",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Multiple policies, rules, or guidance documents express the same requirement, creating redundancy and uncertainty about which one governs.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "redundant-declaration",
      "patterns": [
        "redundant-declaration",
        "authority-merge-conflict",
        "density-spike"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "normalization-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "authority-overlay-lens",
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "multiple policies say the same thing",
        "duplicate policies",
        "redundant policy rules",
        "AI sees multiple policies with same rule",
        "same requirement in multiple policies",
        "policy duplication causes confusion"
      ],
      "url": "/workbench/issues/multiple-policies-say-the-same-thing/",
      "markdown_url": "/workbench/issues/multiple-policies-say-the-same-thing.md"
    },
    {
      "slug": "nested-fields-do-not-match",
      "ontology_slug": "nested-fields-do-not-match",
      "code": "ISS-0025",
      "title": "Nested Fields Do Not Match",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI returns nested structured fields whose internal shape, hierarchy, parent-child relationship, or contained values do not match the expected structure.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [],
      "primary_pattern": "schema-breakage",
      "patterns": [
        "schema-breakage",
        "interface-mismatch",
        "invariant-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "conflict-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "nested fields do not match",
        "AI output nested fields wrong",
        "JSON nested object wrong shape",
        "nested schema mismatch",
        "AI returned wrong nested structure",
        "child fields do not match parent field"
      ],
      "url": "/workbench/issues/nested-fields-do-not-match/",
      "markdown_url": "/workbench/issues/nested-fields-do-not-match.md"
    },
    {
      "slug": "no-owner-for-agent-action",
      "ontology_slug": "no-owner-for-agent-action",
      "code": "ISS-0012",
      "title": "No Owner for Agent Action",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An agent action can affect the system without a declared responsible owner, authority, or accountable decision path.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0030"
      ],
      "primary_pattern": "missing-authority",
      "patterns": [
        "missing-authority",
        "undeclared-side-effect",
        "authority-state-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "overreach-lens",
          "propagation-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "conflict-lens",
          "convergence-lens",
          "isolation-boundary-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "no owner for agent action",
        "AI agent acted without owner",
        "agent action has no accountable person",
        "who approved the agent action",
        "agent changed something without responsibility",
        "AI action has no decision owner"
      ],
      "url": "/workbench/issues/no-owner-for-agent-action/",
      "markdown_url": "/workbench/issues/no-owner-for-agent-action.md"
    },
    {
      "slug": "old-output-expectations-survive-migration",
      "ontology_slug": "old-output-expectations-survive-migration",
      "code": "ISS-0056",
      "title": "Old Output Expectations Survive Migration",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Expectations from a prior model, prompt, schema, tool, or workflow survive a migration and continue shaping review or downstream handling after they should be replaced.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "persistence-instability",
        "redundant-declaration"
      ],
      "derived_lenses": {
        "primary": [
          "conflict-lens",
          "convergence-lens",
          "normalization-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "compression-lens",
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "old output expectations survive migration",
        "old AI output format still expected",
        "migration kept old output assumptions",
        "workflow expects old model output",
        "old schema expectations remain after migration",
        "legacy output rules survived update"
      ],
      "url": "/workbench/issues/old-output-expectations-survive-migration/",
      "markdown_url": "/workbench/issues/old-output-expectations-survive-migration.md"
    },
    {
      "slug": "one-prompt-carries-too-many-meanings",
      "ontology_slug": "one-prompt-carries-too-many-meanings",
      "code": "ISS-0104",
      "title": "One Prompt Carries Too Many Meanings",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A single prompt carries too many meanings, goals, roles, constraints, or implied tasks for the AI to interpret consistently.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "density-spike",
      "patterns": [
        "density-spike",
        "constraints-underspecified",
        "divergent-outputs"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "constraint-sufficiency-lens",
          "convergence-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "determinism-lens",
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "one prompt carries too many meanings",
        "AI prompt has too many meanings",
        "prompt is overloaded",
        "one prompt asks too much",
        "prompt mixes too many goals",
        "AI confused by overloaded prompt"
      ],
      "url": "/workbench/issues/one-prompt-carries-too-many-meanings/",
      "markdown_url": "/workbench/issues/one-prompt-carries-too-many-meanings.md"
    },
    {
      "slug": "output-breaks-after-model-change",
      "ontology_slug": "output-breaks-after-model-change",
      "code": "ISS-0052",
      "title": "Output Breaks After Model Change",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Output that previously worked begins failing after a model, mode, runtime, or product behavior changes.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "compatibility-violation",
      "patterns": [
        "compatibility-violation",
        "contract-drift",
        "divergent-outputs"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "convergence-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "compression-lens",
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [
        "ai-works-in-one-environment-not-another",
        "guardrail-applies-to-one-model-path-only"
      ],
      "search_intents": [
        "output breaks after model change",
        "AI output changed after model update",
        "model change broke output format",
        "prompt worked before model update",
        "output no longer works after upgrade",
        "model version changed output"
      ],
      "url": "/workbench/issues/output-breaks-after-model-change/",
      "markdown_url": "/workbench/issues/output-breaks-after-model-change.md"
    },
    {
      "slug": "output-breaks-the-next-step",
      "ontology_slug": "output-breaks-the-next-step",
      "code": "ISS-0018",
      "title": "Output Breaks the Next Step",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI output looks acceptable by itself but cannot be used by the next tool, workflow step, parser, reviewer, or downstream consumer.",
      "category": "mcp-tools-and-integrations",
      "category_title": "MCP, Tools & Integrations",
      "primary_cat_code": "CAT-0040",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "compatibility-violation",
      "patterns": [
        "compatibility-violation",
        "interface-mismatch",
        "schema-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-uses-old-tool-schema",
        "generated-output-changed-hidden-metadata",
        "too-many-workflows-depend-on-one-tool",
        "tool-call-caused-hidden-downstream-change"
      ],
      "search_intents": [
        "output breaks the next step",
        "AI output fails downstream",
        "response cannot be used by next tool",
        "AI output breaks workflow",
        "output looks right but next step fails",
        "downstream parser rejects AI output"
      ],
      "url": "/workbench/issues/output-breaks-the-next-step/",
      "markdown_url": "/workbench/issues/output-breaks-the-next-step.md"
    },
    {
      "slug": "output-changed-without-declared-change",
      "ontology_slug": "output-changed-without-declared-change",
      "code": "ISS-0059",
      "title": "Output Changed Without Declared Change",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Output shape, content, format, fields, or behavior changes without a declared change to the prompt, schema, model, workflow, or governing rule.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "silent-mutation",
      "patterns": [
        "silent-mutation",
        "contract-drift",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "convergence-lens",
          "determinism-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "provenance-trace-lens"
        ]
      },
      "related_ai_adj_issues": [
        "generated-output-changed-hidden-metadata",
        "runtime-behavior-does-not-match-docs"
      ],
      "search_intents": [
        "output changed without declared change",
        "AI output changed without update",
        "output format changed silently",
        "structured output changed no version change",
        "AI response changed unexpectedly",
        "output changed but prompt did not"
      ],
      "url": "/workbench/issues/output-changed-without-declared-change/",
      "markdown_url": "/workbench/issues/output-changed-without-declared-change.md"
    },
    {
      "slug": "output-exceeds-length-limit",
      "ontology_slug": "output-exceeds-length-limit",
      "code": "ISS-0060",
      "title": "Output Exceeds Length Limit",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI output exceeds a declared length, token, word, character, section, field, or size limit.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [],
      "primary_pattern": "threshold-breach",
      "patterns": [
        "threshold-breach",
        "constraints-underspecified",
        "density-spike"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "constraint-sufficiency-lens",
          "invariant-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens",
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "output exceeds length limit",
        "AI response too long",
        "ChatGPT ignored word limit",
        "output over character limit",
        "AI exceeded token budget",
        "answer longer than requested"
      ],
      "url": "/workbench/issues/output-exceeds-length-limit/",
      "markdown_url": "/workbench/issues/output-exceeds-length-limit.md"
    },
    {
      "slug": "parallel-reviews-never-agree",
      "ontology_slug": "parallel-reviews-never-agree",
      "code": "ISS-0083",
      "title": "Parallel Reviews Never Agree",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Parallel AI, human, workflow, or tool reviews keep producing different results without resolving into a shared decision state.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "convergence-failure",
      "patterns": [
        "convergence-failure",
        "divergent-outputs",
        "authority-collision"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "convergence-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens",
          "determinism-lens",
          "invariant-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "parallel reviews never agree",
        "AI reviews do not converge",
        "reviewers keep disagreeing",
        "parallel review results conflict",
        "multiple reviews never resolve",
        "AI review loop disagreement"
      ],
      "url": "/workbench/issues/parallel-reviews-never-agree/",
      "markdown_url": "/workbench/issues/parallel-reviews-never-agree.md"
    },
    {
      "slug": "permissions-conflict-after-being-combined",
      "ontology_slug": "permissions-conflict-after-being-combined",
      "code": "ISS-0016",
      "title": "Permissions Conflict After Being Combined",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Permissions, approvals, roles, policies, or authority rules that seem valid separately conflict when combined in the same workflow or AI action.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "authority-collision",
      "patterns": [
        "authority-collision",
        "authority-merge-conflict",
        "authority-shadowing"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "invariant-lens"
        ]
      },
      "related_ai_adj_issues": [
        "low-level-configuration-overrides-workflow-policy"
      ],
      "search_intents": [
        "permissions conflict after being combined",
        "AI permissions conflict",
        "approvals conflict in workflow",
        "combined rules create permission problem",
        "roles conflict after merge",
        "authority rules contradict each other"
      ],
      "url": "/workbench/issues/permissions-conflict-after-being-combined/",
      "markdown_url": "/workbench/issues/permissions-conflict-after-being-combined.md"
    },
    {
      "slug": "policy-area-has-no-examples",
      "ontology_slug": "policy-area-has-no-examples",
      "code": "ISS-0079",
      "title": "Policy Area Has No Examples",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A policy, rule, standard, or guidance area has no examples showing how it should apply to real cases.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "density-vacuum",
      "patterns": [
        "density-vacuum",
        "incomplete-declaration",
        "reference-instability"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "constraint-sufficiency-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "policy area has no examples",
        "AI policy lacks examples",
        "no examples for policy rule",
        "policy guidance has no cases",
        "missing examples for AI review",
        "policy hard to apply without examples"
      ],
      "url": "/workbench/issues/policy-area-has-no-examples/",
      "markdown_url": "/workbench/issues/policy-area-has-no-examples.md"
    },
    {
      "slug": "policy-decision-depends-on-itself",
      "ontology_slug": "policy-decision-depends-on-itself",
      "code": "ISS-0090",
      "title": "Policy Decision Depends on Itself",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A policy decision requires the outcome of the same policy decision before it can be made.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "circular-dependency",
      "patterns": [
        "circular-dependency",
        "authority-collision",
        "incomplete-declaration"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "conflict-lens",
          "constraint-sufficiency-lens",
          "propagation-lens"
        ],
        "secondary": [
          "interface-contract-lens",
          "invariant-lens",
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "policy decision depends on itself",
        "AI policy circular dependency",
        "policy needs its own decision",
        "policy rule loops back on itself",
        "AI cannot decide policy because decision depends on decision",
        "circular policy decision"
      ],
      "url": "/workbench/issues/policy-decision-depends-on-itself/",
      "markdown_url": "/workbench/issues/policy-decision-depends-on-itself.md"
    },
    {
      "slug": "policy-exception-spreads-too-far",
      "ontology_slug": "policy-exception-spreads-too-far",
      "code": "ISS-0049",
      "title": "Policy Exception Spreads Too Far",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A narrow policy exception, allowance, or special case spreads beyond its intended scope and begins governing broader cases.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "boundary-leakage",
        "overreach"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "escalation-gradient-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "policy exception spreads too far",
        "AI applies exception too broadly",
        "policy exception used for other cases",
        "exception becomes general rule",
        "AI over-applies exception",
        "special case spreads into policy"
      ],
      "url": "/workbench/issues/policy-exception-spreads-too-far/",
      "markdown_url": "/workbench/issues/policy-exception-spreads-too-far.md"
    },
    {
      "slug": "policy-update-not-reflected-in-output",
      "ontology_slug": "policy-update-not-reflected-in-output",
      "code": "ISS-0042",
      "title": "Policy Update Not Reflected in Output",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A policy, rule, standard, or instruction has been updated, but the AI output still follows the older version.",
      "category": "rules-and-policies",
      "category_title": "Rules & Policies",
      "primary_cat_code": "CAT-0060",
      "secondary_cat_codes": [
        "CAT-0080"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "reference-instability",
        "persistence-instability"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [
        "permission-change-not-applied"
      ],
      "search_intents": [
        "policy update not reflected in output",
        "AI used old policy",
        "policy changed but AI output did not",
        "updated rule not applied",
        "AI follows outdated policy",
        "new policy not reflected in response"
      ],
      "url": "/workbench/issues/policy-update-not-reflected-in-output/",
      "markdown_url": "/workbench/issues/policy-update-not-reflected-in-output.md"
    },
    {
      "slug": "prompt-behavior-changed-without-version-change",
      "ontology_slug": "prompt-behavior-changed-without-version-change",
      "code": "ISS-0058",
      "title": "Prompt Behavior Changed Without Version Change",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A prompt begins producing different behavior even though no prompt version, model version, workflow version, or declared dependency change is recorded.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0090"
      ],
      "primary_pattern": "silent-mutation",
      "patterns": [
        "silent-mutation",
        "contract-drift",
        "divergent-outputs"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "determinism-lens",
          "reconciliation-lens",
          "reference-stability-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens",
          "provenance-trace-lens"
        ]
      },
      "related_ai_adj_issues": [
        "ai-works-in-one-environment-not-another",
        "guardrail-applies-to-one-model-path-only",
        "runtime-behavior-does-not-match-docs"
      ],
      "search_intents": [
        "prompt behavior changed without version change",
        "prompt changed behavior but version same",
        "AI prompt started acting different",
        "same prompt different behavior no update",
        "prompt drift without version change",
        "AI behavior changed silently"
      ],
      "url": "/workbench/issues/prompt-behavior-changed-without-version-change/",
      "markdown_url": "/workbench/issues/prompt-behavior-changed-without-version-change.md"
    },
    {
      "slug": "prompt-changed-but-workflow-did-not",
      "ontology_slug": "prompt-changed-but-workflow-did-not",
      "code": "ISS-0054",
      "title": "Prompt Changed but Workflow Did Not",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A prompt changes but the workflow, parser, review step, routing rule, or downstream expectation still assumes the old prompt behavior.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "interface-mismatch",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "convergence-lens",
          "interface-contract-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-uses-old-tool-schema"
      ],
      "search_intents": [
        "prompt changed but workflow did not",
        "prompt update broke workflow",
        "workflow still expects old prompt",
        "AI prompt changed downstream did not",
        "updated prompt incompatible with workflow",
        "prompt changed parser still old"
      ],
      "url": "/workbench/issues/prompt-changed-but-workflow-did-not/",
      "markdown_url": "/workbench/issues/prompt-changed-but-workflow-did-not.md"
    },
    {
      "slug": "prompt-does-not-say-what-to-exclude",
      "ontology_slug": "prompt-does-not-say-what-to-exclude",
      "code": "ISS-0076",
      "title": "Prompt Does Not Say What to Exclude",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The prompt declares what to include but does not declare what should be excluded, allowing unwanted scope, sources, content, or actions into the result.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "constraints-underspecified",
      "patterns": [
        "constraints-underspecified",
        "boundary-leakage",
        "unbounded-scope"
      ],
      "derived_lenses": {
        "primary": [
          "constraint-sufficiency-lens",
          "isolation-boundary-lens",
          "propagation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens",
          "escalation-gradient-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "prompt does not say what to exclude",
        "AI included things I did not want",
        "missing exclusion rule",
        "prompt only says what to include",
        "AI used unwanted content",
        "need to tell AI what not to include"
      ],
      "url": "/workbench/issues/prompt-does-not-say-what-to-exclude/",
      "markdown_url": "/workbench/issues/prompt-does-not-say-what-to-exclude.md"
    },
    {
      "slug": "prompt-has-too-many-valid-interpretations",
      "ontology_slug": "prompt-has-too-many-valid-interpretations",
      "code": "ISS-0071",
      "title": "Prompt Has Too Many Valid Interpretations",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The prompt allows too many reasonable interpretations, causing the AI to choose among valid paths without enough guidance.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0090"
      ],
      "primary_pattern": "constraints-underspecified",
      "patterns": [
        "constraints-underspecified",
        "divergent-outputs",
        "density-spike"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "constraint-sufficiency-lens",
          "convergence-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "determinism-lens",
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "prompt has too many valid interpretations",
        "AI prompt is ambiguous",
        "prompt allows too many meanings",
        "same prompt can mean different things",
        "AI chose wrong interpretation",
        "prompt needs clearer criteria"
      ],
      "url": "/workbench/issues/prompt-has-too-many-valid-interpretations/",
      "markdown_url": "/workbench/issues/prompt-has-too-many-valid-interpretations.md"
    },
    {
      "slug": "prompt-only-works-after-retry",
      "ontology_slug": "prompt-only-works-after-retry",
      "code": "ISS-0005",
      "title": "Prompt Only Works After Retry",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The prompt fails, misroutes, or produces an unusable response on one attempt but works after retry without a meaningful change to the input.",
      "category": "inconsistent-behavior",
      "category_title": "Inconsistent Behavior",
      "primary_cat_code": "CAT-0090",
      "secondary_cat_codes": [],
      "primary_pattern": "non-deterministic-execution",
      "patterns": [
        "non-deterministic-execution",
        "divergent-outputs",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "constraint-sufficiency-lens",
          "convergence-lens",
          "determinism-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "prompt only works after retry",
        "AI only works when I try again",
        "same prompt works on second try",
        "retry fixes AI answer",
        "prompt fails randomly",
        "AI response changes after retry"
      ],
      "url": "/workbench/issues/prompt-only-works-after-retry/",
      "markdown_url": "/workbench/issues/prompt-only-works-after-retry.md"
    },
    {
      "slug": "relationship-map-has-missing-links",
      "ontology_slug": "relationship-map-has-missing-links",
      "code": "ISS-0080",
      "title": "Relationship Map Has Missing Links",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A map of related Issues, rules, patterns, cases, fields, tools, or workflow steps is missing links needed to navigate or reason over the structure.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "incomplete-declaration",
      "patterns": [
        "incomplete-declaration",
        "orphaned-structure",
        "reference-instability"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "constraint-sufficiency-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens",
          "propagation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "category-has-too-few-issues-to-be-useful"
      ],
      "search_intents": [
        "relationship map has missing links",
        "missing links in issue map",
        "AI relationship map incomplete",
        "related items not connected",
        "workflow map missing relationships",
        "ontology links missing"
      ],
      "url": "/workbench/issues/relationship-map-has-missing-links/",
      "markdown_url": "/workbench/issues/relationship-map-has-missing-links.md"
    },
    {
      "slug": "repair-step-created-new-breakage",
      "ontology_slug": "repair-step-created-new-breakage",
      "code": "ISS-0047",
      "title": "Repair Step Created New Breakage",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A repair, correction, retry, or fix step addresses one problem but introduces a new failure elsewhere.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "escalation-growth",
        "undeclared-side-effect"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "overreach-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "isolation-boundary-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "repair step created new breakage",
        "AI fix broke something else",
        "repair introduced new error",
        "correction caused new failure",
        "fix made another part wrong",
        "AI patch created new problem"
      ],
      "url": "/workbench/issues/repair-step-created-new-breakage/",
      "markdown_url": "/workbench/issues/repair-step-created-new-breakage.md"
    },
    {
      "slug": "repeated-constraints-create-confusion",
      "ontology_slug": "repeated-constraints-create-confusion",
      "code": "ISS-0068",
      "title": "Repeated Constraints Create Confusion",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Repeated constraints, instructions, limits, or exclusions make the task harder to interpret instead of clearer.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "redundant-declaration",
      "patterns": [
        "redundant-declaration",
        "density-spike",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "constraint-sufficiency-lens",
          "normalization-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "determinism-lens",
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "repeated constraints create confusion",
        "AI confused by repeated constraints",
        "too many repeated instructions",
        "repeated prompt constraints conflict",
        "duplicated limits confuse output",
        "repeated exclusions make task unclear"
      ],
      "url": "/workbench/issues/repeated-constraints-create-confusion/",
      "markdown_url": "/workbench/issues/repeated-constraints-create-confusion.md"
    },
    {
      "slug": "results-vary-too-much",
      "ontology_slug": "results-vary-too-much",
      "code": "ISS-0063",
      "title": "Results Vary Too Much",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Repeated or comparable runs produce outputs that vary more than the task, workflow, or user can tolerate.",
      "category": "inconsistent-behavior",
      "category_title": "Inconsistent Behavior",
      "primary_cat_code": "CAT-0090",
      "secondary_cat_codes": [],
      "primary_pattern": "divergent-outputs",
      "patterns": [
        "divergent-outputs",
        "non-deterministic-execution",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "constraint-sufficiency-lens",
          "convergence-lens",
          "determinism-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [
        "ai-works-in-one-environment-not-another",
        "guardrail-applies-to-one-model-path-only"
      ],
      "search_intents": [
        "results vary too much",
        "AI results inconsistent",
        "same prompt gives very different answers",
        "output varies too much",
        "AI answer changes too much",
        "model results are unstable"
      ],
      "url": "/workbench/issues/results-vary-too-much/",
      "markdown_url": "/workbench/issues/results-vary-too-much.md"
    },
    {
      "slug": "retrieval-exceeds-evidence-limit",
      "ontology_slug": "retrieval-exceeds-evidence-limit",
      "code": "ISS-0062",
      "title": "Retrieval Exceeds Evidence Limit",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI retrieves, uses, cites, or considers more evidence than the task permits or more than the review surface can support.",
      "category": "scope-and-boundaries",
      "category_title": "Scope & Boundaries",
      "primary_cat_code": "CAT-0100",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "boundary-leakage",
      "patterns": [
        "boundary-leakage",
        "density-spike",
        "overreach"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "compression-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "retrieval exceeds evidence limit",
        "AI used too many sources",
        "evidence limit exceeded",
        "AI retrieved outside allowed evidence",
        "too much retrieved evidence",
        "answer uses more sources than allowed"
      ],
      "url": "/workbench/issues/retrieval-exceeds-evidence-limit/",
      "markdown_url": "/workbench/issues/retrieval-exceeds-evidence-limit.md"
    },
    {
      "slug": "retry-makes-the-problem-worse",
      "ontology_slug": "retry-makes-the-problem-worse",
      "code": "ISS-0007",
      "title": "Retry Makes the Problem Worse",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A retry, repair attempt, regeneration, or follow-up instruction increases the error, expands the failure, or creates additional breakage instead of narrowing the problem.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0090"
      ],
      "primary_pattern": "escalation-growth",
      "patterns": [
        "escalation-growth",
        "propagation-amplification",
        "silent-mutation"
      ],
      "derived_lenses": {
        "primary": [
          "determinism-lens",
          "escalation-gradient-lens",
          "propagation-lens",
          "reference-stability-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "provenance-trace-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "retry makes the problem worse",
        "AI gets worse after retry",
        "regeneration created more errors",
        "fix attempt broke more things",
        "retry expanded the problem",
        "AI repair made new mistakes"
      ],
      "url": "/workbench/issues/retry-makes-the-problem-worse/",
      "markdown_url": "/workbench/issues/retry-makes-the-problem-worse.md"
    },
    {
      "slug": "review-escalates-without-stop-condition",
      "ontology_slug": "review-escalates-without-stop-condition",
      "code": "ISS-0100",
      "title": "Review Escalates Without Stop Condition",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A review process keeps escalating, re-reviewing, or adding scrutiny without a declared condition for stopping.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "escalation-growth",
      "patterns": [
        "escalation-growth",
        "circular-dependency",
        "convergence-failure"
      ],
      "derived_lenses": {
        "primary": [
          "conflict-lens",
          "convergence-lens",
          "escalation-gradient-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "review escalates without stop condition",
        "AI review keeps escalating",
        "review has no stop rule",
        "escalation loop in review",
        "workflow keeps adding review",
        "AI review never stops escalating"
      ],
      "url": "/workbench/issues/review-escalates-without-stop-condition/",
      "markdown_url": "/workbench/issues/review-escalates-without-stop-condition.md"
    },
    {
      "slug": "review-outcome-changes-unrelated-environment",
      "ontology_slug": "review-outcome-changes-unrelated-environment",
      "code": "ISS-0051",
      "title": "Review Outcome Changes Unrelated Environment",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A review result, approval, rejection, or classification changes state outside the environment, case, file, or workflow it was meant to govern.",
      "category": "workflow-and-handoffs",
      "category_title": "Workflow & Handoffs",
      "primary_cat_code": "CAT-0070",
      "secondary_cat_codes": [
        "CAT-0110"
      ],
      "primary_pattern": "boundary-leakage",
      "patterns": [
        "boundary-leakage",
        "undeclared-side-effect",
        "propagation-amplification"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "one-workspace-affects-another"
      ],
      "search_intents": [
        "review outcome changes unrelated environment",
        "AI review affected other environment",
        "approval changed unrelated workflow",
        "review result caused side effect",
        "AI classification affected another case",
        "review outcome propagated too far"
      ],
      "url": "/workbench/issues/review-outcome-changes-unrelated-environment/",
      "markdown_url": "/workbench/issues/review-outcome-changes-unrelated-environment.md"
    },
    {
      "slug": "review-queue-becomes-bottleneck",
      "ontology_slug": "review-queue-becomes-bottleneck",
      "code": "ISS-0105",
      "title": "Review Queue Becomes Bottleneck",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A review queue, approval path, or validation stage accumulates too much work and begins blocking the workflow.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "density-spike",
      "patterns": [
        "density-spike",
        "orphaned-structure",
        "convergence-failure"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "convergence-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "escalation-gradient-lens",
          "propagation-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "too-many-workflows-depend-on-one-tool"
      ],
      "search_intents": [
        "review queue becomes bottleneck",
        "AI review queue bottleneck",
        "workflow stuck in review queue",
        "review backlog blocks AI workflow",
        "approval queue overloaded",
        "too many items waiting for review"
      ],
      "url": "/workbench/issues/review-queue-becomes-bottleneck/",
      "markdown_url": "/workbench/issues/review-queue-becomes-bottleneck.md"
    },
    {
      "slug": "review-rubric-missing-required-criteria",
      "ontology_slug": "review-rubric-missing-required-criteria",
      "code": "ISS-0075",
      "title": "Review Rubric Missing Required Criteria",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A review rubric, grading rule, evaluation checklist, or classification standard lacks criteria required to make the review reliable.",
      "category": "coverage-and-guidance",
      "category_title": "Coverage & Guidance",
      "primary_cat_code": "CAT-0120",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "incomplete-declaration",
      "patterns": [
        "incomplete-declaration",
        "density-vacuum",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "category-has-too-few-issues-to-be-useful"
      ],
      "search_intents": [
        "review rubric missing required criteria",
        "AI rubric missing criteria",
        "review checklist incomplete",
        "grading criteria missing",
        "evaluation rubric not complete",
        "AI review lacks required criteria"
      ],
      "url": "/workbench/issues/review-rubric-missing-required-criteria/",
      "markdown_url": "/workbench/issues/review-rubric-missing-required-criteria.md"
    },
    {
      "slug": "revoked-approval-still-treated-as-active",
      "ontology_slug": "revoked-approval-still-treated-as-active",
      "code": "ISS-0041",
      "title": "Revoked Approval Still Treated as Active",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An approval, permission, exception, or authorization that was revoked continues to affect AI behavior or workflow decisions as if it were still active.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0080"
      ],
      "primary_pattern": "authority-state-mismatch",
      "patterns": [
        "authority-state-mismatch",
        "contract-drift",
        "persistence-instability"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [
        "permission-change-not-applied"
      ],
      "search_intents": [
        "revoked approval still treated as active",
        "AI still uses revoked approval",
        "old permission still active",
        "revoked authorization ignored",
        "approval removed but workflow still uses it",
        "AI treats expired approval as valid"
      ],
      "url": "/workbench/issues/revoked-approval-still-treated-as-active/",
      "markdown_url": "/workbench/issues/revoked-approval-still-treated-as-active.md"
    },
    {
      "slug": "risk-score-triggers-wrong-escalation",
      "ontology_slug": "risk-score-triggers-wrong-escalation",
      "code": "ISS-0065",
      "title": "Risk Score Triggers Wrong Escalation",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A risk score, severity label, confidence value, or threshold result triggers the wrong escalation path.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "escalation-growth",
      "patterns": [
        "escalation-growth",
        "threshold-breach",
        "missing-authority"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "escalation-gradient-lens",
          "invariant-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "propagation-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "risk score triggers wrong escalation",
        "AI risk score escalated wrong case",
        "wrong escalation from model score",
        "risk threshold caused wrong workflow",
        "AI severity score triggered escalation",
        "confidence score sent case to wrong review"
      ],
      "url": "/workbench/issues/risk-score-triggers-wrong-escalation/",
      "markdown_url": "/workbench/issues/risk-score-triggers-wrong-escalation.md"
    },
    {
      "slug": "risk-signal-escalates-beyond-evidence",
      "ontology_slug": "risk-signal-escalates-beyond-evidence",
      "code": "ISS-0095",
      "title": "Risk Signal Escalates Beyond Evidence",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A risk signal, warning, score, or concern escalates farther than the available evidence supports.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "escalation-growth",
      "patterns": [
        "escalation-growth",
        "threshold-breach",
        "missing-authority"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "escalation-gradient-lens",
          "invariant-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "propagation-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-failure-escalates-into-policy-decision"
      ],
      "search_intents": [
        "risk signal escalates beyond evidence",
        "AI risk warning went too far",
        "risk score escalated without evidence",
        "AI concern escalated too much",
        "escalation beyond evidence",
        "risk signal over-escalation"
      ],
      "url": "/workbench/issues/risk-signal-escalates-beyond-evidence/",
      "markdown_url": "/workbench/issues/risk-signal-escalates-beyond-evidence.md"
    },
    {
      "slug": "routing-overrides-task-intent",
      "ontology_slug": "routing-overrides-task-intent",
      "code": "ISS-0112",
      "title": "Routing Overrides Task Intent",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Routing, mode selection, agent behavior, or workflow classification sends the task down a path that overrides what the user was trying to accomplish.",
      "category": "agents",
      "category_title": "Agents",
      "primary_cat_code": "CAT-0030",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "overreach",
      "patterns": [
        "overreach",
        "authority-state-mismatch",
        "boundary-leakage"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "propagation-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "convergence-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "routing overrides task intent",
        "AI routed task wrong",
        "agent routing ignored user intent",
        "workflow classification overrode request",
        "AI mode selection changed task",
        "task intent overridden by routing"
      ],
      "url": "/workbench/issues/routing-overrides-task-intent/",
      "markdown_url": "/workbench/issues/routing-overrides-task-intent.md"
    },
    {
      "slug": "routing-path-cycles-back-to-start",
      "ontology_slug": "routing-path-cycles-back-to-start",
      "code": "ISS-0092",
      "title": "Routing Path Cycles Back to Start",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A routing path sends the case back to the starting point or an earlier step without resolving the condition that caused the route.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "circular-dependency",
      "patterns": [
        "circular-dependency",
        "convergence-failure",
        "escalation-growth"
      ],
      "derived_lenses": {
        "primary": [
          "conflict-lens",
          "convergence-lens",
          "escalation-gradient-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "routing path cycles back to start",
        "AI routing loop",
        "workflow routes back to beginning",
        "case cycles through same route",
        "routing path never resolves",
        "AI workflow sends case back to start"
      ],
      "url": "/workbench/issues/routing-path-cycles-back-to-start/",
      "markdown_url": "/workbench/issues/routing-path-cycles-back-to-start.md"
    },
    {
      "slug": "rubric-changed-but-results-did-not",
      "ontology_slug": "rubric-changed-but-results-did-not",
      "code": "ISS-0055",
      "title": "Rubric Changed but Results Did Not",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A review rubric, scoring rule, evaluation standard, or classification criterion changes, but AI results continue to reflect the old rubric.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "persistence-instability",
        "authority-state-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "rubric changed but results did not",
        "AI still uses old rubric",
        "evaluation rubric changed but output same",
        "scoring rule update not reflected",
        "AI review ignores new criteria",
        "classification criteria changed but result did not"
      ],
      "url": "/workbench/issues/rubric-changed-but-results-did-not/",
      "markdown_url": "/workbench/issues/rubric-changed-but-results-did-not.md"
    },
    {
      "slug": "same-case-has-conflicting-policies",
      "ontology_slug": "same-case-has-conflicting-policies",
      "code": "ISS-0037",
      "title": "Same Case Has Conflicting Policies",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The same case appears to be governed by multiple policies, rules, or standards that point to incompatible outcomes.",
      "category": "rules-and-policies",
      "category_title": "Rules & Policies",
      "primary_cat_code": "CAT-0060",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "authority-collision",
      "patterns": [
        "authority-collision",
        "authority-merge-conflict",
        "authority-shadowing"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "invariant-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-failure-escalates-into-policy-decision"
      ],
      "search_intents": [
        "same case has conflicting policies",
        "AI sees policy conflict",
        "policies disagree for same case",
        "same case allowed and blocked",
        "conflicting rules apply to one case",
        "policy conflict in AI decision"
      ],
      "url": "/workbench/issues/same-case-has-conflicting-policies/",
      "markdown_url": "/workbench/issues/same-case-has-conflicting-policies.md"
    },
    {
      "slug": "same-contract-name-has-different-meanings",
      "ontology_slug": "same-contract-name-has-different-meanings",
      "code": "ISS-0057",
      "title": "Same Contract Name Has Different Meanings",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The same prompt, schema, field, policy, tool, or workflow contract name is used in different places with different meanings.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "reference-instability",
        "interface-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "interface-contract-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-uses-old-tool-schema",
        "documented-field-not-available-at-runtime",
        "generated-output-changed-hidden-metadata",
        "runtime-behavior-does-not-match-docs"
      ],
      "search_intents": [
        "same contract name has different meanings",
        "same schema name different meaning",
        "prompt contract changed meaning",
        "same field name means different things",
        "AI workflow contract mismatch",
        "policy name reused with different meaning"
      ],
      "url": "/workbench/issues/same-contract-name-has-different-meanings/",
      "markdown_url": "/workbench/issues/same-contract-name-has-different-meanings.md"
    },
    {
      "slug": "same-instructions-allow-different-outputs",
      "ontology_slug": "same-instructions-allow-different-outputs",
      "code": "ISS-0072",
      "title": "Same Instructions Allow Different Outputs",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The same instructions are broad or underspecified enough to allow materially different outputs that all appear compliant.",
      "category": "inconsistent-behavior",
      "category_title": "Inconsistent Behavior",
      "primary_cat_code": "CAT-0090",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "divergent-outputs",
      "patterns": [
        "divergent-outputs",
        "non-deterministic-execution",
        "constraints-underspecified"
      ],
      "derived_lenses": {
        "primary": [
          "constraint-sufficiency-lens",
          "convergence-lens",
          "determinism-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "same instructions allow different outputs",
        "same prompt allows different answers",
        "AI outputs differ but follow instructions",
        "instructions too broad for stable output",
        "different compliant outputs from same prompt",
        "prompt allows too much variation"
      ],
      "url": "/workbench/issues/same-instructions-allow-different-outputs/",
      "markdown_url": "/workbench/issues/same-instructions-allow-different-outputs.md"
    },
    {
      "slug": "same-rule-declared-in-multiple-places",
      "ontology_slug": "same-rule-declared-in-multiple-places",
      "code": "ISS-0067",
      "title": "Same Rule Declared in Multiple Places",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The same rule, constraint, instruction, or policy appears in multiple places, creating redundancy and possible drift.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0060"
      ],
      "primary_pattern": "redundant-declaration",
      "patterns": [
        "redundant-declaration",
        "contract-drift",
        "density-spike"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "convergence-lens",
          "normalization-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "determinism-lens",
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "same rule declared in multiple places",
        "duplicate AI rules",
        "same instruction appears twice",
        "policy duplicated in multiple places",
        "repeated rule creates confusion",
        "same constraint declared more than once"
      ],
      "url": "/workbench/issues/same-rule-declared-in-multiple-places/",
      "markdown_url": "/workbench/issues/same-rule-declared-in-multiple-places.md"
    },
    {
      "slug": "same-workflow-check-happens-twice",
      "ontology_slug": "same-workflow-check-happens-twice",
      "code": "ISS-0069",
      "title": "Same Workflow Check Happens Twice",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The same review, validation, approval, routing, or safety check occurs more than once in the workflow without a clear reason.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "redundant-declaration",
      "patterns": [
        "redundant-declaration",
        "density-spike",
        "convergence-failure"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "convergence-lens",
          "normalization-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "escalation-gradient-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "same workflow check happens twice",
        "duplicate workflow check",
        "AI workflow repeats validation",
        "same review step runs twice",
        "duplicate approval check",
        "repeated workflow gate"
      ],
      "url": "/workbench/issues/same-workflow-check-happens-twice/",
      "markdown_url": "/workbench/issues/same-workflow-check-happens-twice.md"
    },
    {
      "slug": "saved-memory-not-used",
      "ontology_slug": "saved-memory-not-used",
      "code": "ISS-0033",
      "title": "Saved Memory Not Used",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A saved memory, preference, instruction, or durable context item exists but does not affect the AI output when it should.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "persistence-instability",
      "patterns": [
        "persistence-instability",
        "incomplete-declaration",
        "reference-instability"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "constraint-sufficiency-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "saved memory not used",
        "AI ignored saved memory",
        "ChatGPT did not use memory",
        "saved preference not applied",
        "AI forgot saved instruction",
        "memory exists but output ignores it"
      ],
      "url": "/workbench/issues/saved-memory-not-used/",
      "markdown_url": "/workbench/issues/saved-memory-not-used.md"
    },
    {
      "slug": "saved-reference-no-longer-works",
      "ontology_slug": "saved-reference-no-longer-works",
      "code": "ISS-0004",
      "title": "Saved Reference No Longer Works",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A saved source, citation, file reference, prompt reference, or workflow pointer previously worked but no longer resolves to the expected object or meaning.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "reference-instability",
      "patterns": [
        "reference-instability",
        "contract-drift",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "convergence-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [
        "generated-output-changed-hidden-metadata"
      ],
      "search_intents": [
        "saved reference no longer works",
        "old AI citation link broke",
        "saved source link stopped working",
        "previous reference cannot be opened",
        "reference worked before but not now",
        "saved prompt reference changed"
      ],
      "url": "/workbench/issues/saved-reference-no-longer-works/",
      "markdown_url": "/workbench/issues/saved-reference-no-longer-works.md"
    },
    {
      "slug": "schema-reference-loops-without-base-case",
      "ontology_slug": "schema-reference-loops-without-base-case",
      "code": "ISS-0091",
      "title": "Schema Reference Loops Without Base Case",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A schema, field, type, object, or structured reference points through a loop without a base case that allows validation or interpretation to resolve.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "circular-dependency",
      "patterns": [
        "circular-dependency",
        "schema-breakage",
        "reference-instability"
      ],
      "derived_lenses": {
        "primary": [
          "conflict-lens",
          "interface-contract-lens",
          "invariant-lens",
          "propagation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "schema reference loops without base case",
        "recursive schema no base case",
        "AI schema reference loop",
        "structured output schema loops",
        "JSON schema circular reference",
        "schema cannot resolve reference"
      ],
      "url": "/workbench/issues/schema-reference-loops-without-base-case/",
      "markdown_url": "/workbench/issues/schema-reference-loops-without-base-case.md"
    },
    {
      "slug": "severity-increases-without-new-evidence",
      "ontology_slug": "severity-increases-without-new-evidence",
      "code": "ISS-0102",
      "title": "Severity Increases Without New Evidence",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The severity, risk, confidence, or escalation level increases even though no new evidence has been added.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "escalation-growth",
      "patterns": [
        "escalation-growth",
        "threshold-breach",
        "missing-authority"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "escalation-gradient-lens",
          "invariant-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "propagation-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "severity increases without new evidence",
        "AI severity went up without evidence",
        "risk level increased without new information",
        "escalation increased without evidence",
        "AI made issue more severe",
        "severity drift in AI review"
      ],
      "url": "/workbench/issues/severity-increases-without-new-evidence/",
      "markdown_url": "/workbench/issues/severity-increases-without-new-evidence.md"
    },
    {
      "slug": "similar-cases-route-to-different-outcomes",
      "ontology_slug": "similar-cases-route-to-different-outcomes",
      "code": "ISS-0001",
      "title": "Similar Cases Route to Different Outcomes",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Similar inputs, cases, prompts, or workflow states are routed to different outcomes without a declared difference that explains the split.",
      "category": "inconsistent-behavior",
      "category_title": "Inconsistent Behavior",
      "primary_cat_code": "CAT-0090",
      "secondary_cat_codes": [],
      "primary_pattern": "non-deterministic-execution",
      "patterns": [
        "non-deterministic-execution",
        "divergent-outputs",
        "authority-state-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "determinism-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [
        "guardrail-applies-to-one-model-path-only"
      ],
      "search_intents": [
        "similar cases route to different outcomes",
        "same case gets different result",
        "AI routes similar requests differently",
        "similar prompts produce different decisions",
        "same workflow state gets different outcome",
        "AI decision path is inconsistent"
      ],
      "url": "/workbench/issues/similar-cases-route-to-different-outcomes/",
      "markdown_url": "/workbench/issues/similar-cases-route-to-different-outcomes.md"
    },
    {
      "slug": "single-field-carries-too-many-obligations",
      "ontology_slug": "single-field-carries-too-many-obligations",
      "code": "ISS-0107",
      "title": "Single Field Carries Too Many Obligations",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "One field, label, score, status, or structured value is expected to carry too many meanings, decisions, or workflow obligations.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "density-spike",
      "patterns": [
        "density-spike",
        "redundant-declaration",
        "schema-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "compression-lens",
          "conflict-lens",
          "interface-contract-lens",
          "invariant-lens",
          "normalization-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "single field carries too many obligations",
        "AI field overloaded",
        "one field has too many meanings",
        "structured output field carries too much",
        "status field overloaded",
        "AI output field used for too many decisions"
      ],
      "url": "/workbench/issues/single-field-carries-too-many-obligations/",
      "markdown_url": "/workbench/issues/single-field-carries-too-many-obligations.md"
    },
    {
      "slug": "single-step-carries-too-many-decisions",
      "ontology_slug": "single-step-carries-too-many-decisions",
      "code": "ISS-0103",
      "title": "Single Step Carries Too Many Decisions",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "One prompt, workflow step, review stage, or agent action carries too many decisions for the system or user to evaluate cleanly.",
      "category": "duplication-and-overload",
      "category_title": "Duplication & Overload",
      "primary_cat_code": "CAT-0140",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "density-spike",
      "patterns": [
        "density-spike",
        "unbounded-scope",
        "missing-authority"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "compression-lens",
          "constraint-sufficiency-lens",
          "isolation-boundary-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "conflict-lens",
          "escalation-gradient-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "single step carries too many decisions",
        "AI workflow step overloaded",
        "one step has too many decisions",
        "prompt asks for too many decisions",
        "review step overloaded",
        "AI step carries too much responsibility"
      ],
      "url": "/workbench/issues/single-step-carries-too-many-decisions/",
      "markdown_url": "/workbench/issues/single-step-carries-too-many-decisions.md"
    },
    {
      "slug": "small-change-produces-large-downstream-effects",
      "ontology_slug": "small-change-produces-large-downstream-effects",
      "code": "ISS-0106",
      "title": "Small Change Produces Large Downstream Effects",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A small prompt, schema, policy, output, or workflow change creates unexpectedly large effects in downstream steps.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0080"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "contract-drift",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "convergence-lens",
          "escalation-gradient-lens",
          "propagation-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "too-many-workflows-depend-on-one-tool",
        "tool-call-caused-hidden-downstream-change"
      ],
      "search_intents": [
        "small change produces large downstream effects",
        "small AI change caused big workflow impact",
        "prompt change had large downstream effect",
        "minor schema change broke workflow",
        "small update caused major AI behavior change",
        "downstream effects from small change"
      ],
      "url": "/workbench/issues/small-change-produces-large-downstream-effects/",
      "markdown_url": "/workbench/issues/small-change-produces-large-downstream-effects.md"
    },
    {
      "slug": "small-error-spreads-into-large-failure",
      "ontology_slug": "small-error-spreads-into-large-failure",
      "code": "ISS-0093",
      "title": "Small Error Spreads Into Large Failure",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A small AI, output, routing, or workflow error propagates through later steps until it becomes a larger failure.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "propagation-amplification",
      "patterns": [
        "propagation-amplification",
        "escalation-growth",
        "undeclared-side-effect"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "overreach-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "isolation-boundary-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "small error spreads into large failure",
        "AI small mistake became big problem",
        "small output error propagated downstream",
        "AI error spread through workflow",
        "minor mistake caused major failure",
        "small issue escalated into bigger failure"
      ],
      "url": "/workbench/issues/small-error-spreads-into-large-failure/",
      "markdown_url": "/workbench/issues/small-error-spreads-into-large-failure.md"
    },
    {
      "slug": "small-issue-keeps-escalating",
      "ontology_slug": "small-issue-keeps-escalating",
      "code": "ISS-0098",
      "title": "Small Issue Keeps Escalating",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A small issue, warning, uncertainty, or correction keeps increasing in severity, scope, or workflow impact across later steps.",
      "category": "spread-and-escalation",
      "category_title": "Spread & Escalation",
      "primary_cat_code": "CAT-0110",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "escalation-growth",
      "patterns": [
        "escalation-growth",
        "propagation-amplification",
        "threshold-breach"
      ],
      "derived_lenses": {
        "primary": [
          "escalation-gradient-lens",
          "invariant-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "boundary-compliance-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-failure-escalates-into-policy-decision"
      ],
      "search_intents": [
        "small issue keeps escalating",
        "AI issue keeps getting bigger",
        "minor problem escalates repeatedly",
        "small warning becomes major escalation",
        "AI workflow over escalates issue",
        "issue grows across workflow steps"
      ],
      "url": "/workbench/issues/small-issue-keeps-escalating/",
      "markdown_url": "/workbench/issues/small-issue-keeps-escalating.md"
    },
    {
      "slug": "stale-context-affects-output",
      "ontology_slug": "stale-context-affects-output",
      "code": "ISS-0034",
      "title": "Stale Context Affects Output",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Old context, prior instructions, outdated references, or earlier task state continue to affect output after they should no longer apply.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [
        "CAT-0080"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "persistence-instability",
        "silent-mutation"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "determinism-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "provenance-trace-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "stale context affects output",
        "AI used old context",
        "outdated context changed answer",
        "AI keeps using previous instruction",
        "old information affects new output",
        "stale memory changed response"
      ],
      "url": "/workbench/issues/stale-context-affects-output/",
      "markdown_url": "/workbench/issues/stale-context-affects-output.md"
    },
    {
      "slug": "task-has-no-clear-limit",
      "ontology_slug": "task-has-no-clear-limit",
      "code": "ISS-0011",
      "title": "Task Has No Clear Limit",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The task does not declare where the AI should stop, what is out of scope, or what counts as enough work.",
      "category": "scope-and-boundaries",
      "category_title": "Scope & Boundaries",
      "primary_cat_code": "CAT-0100",
      "secondary_cat_codes": [],
      "primary_pattern": "unbounded-scope",
      "patterns": [
        "unbounded-scope",
        "constraints-underspecified",
        "incomplete-declaration"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "constraint-sufficiency-lens",
          "isolation-boundary-lens"
        ],
        "secondary": [
          "determinism-lens",
          "escalation-gradient-lens",
          "interface-contract-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-keeps-adding-tool-dependencies"
      ],
      "search_intents": [
        "task has no clear limit",
        "AI does not know where to stop",
        "prompt has no stopping point",
        "task scope is too open",
        "AI keeps going because limits are unclear",
        "no done condition in prompt"
      ],
      "url": "/workbench/issues/task-has-no-clear-limit/",
      "markdown_url": "/workbench/issues/task-has-no-clear-limit.md"
    },
    {
      "slug": "task-progress-is-lost-midway",
      "ontology_slug": "task-progress-is-lost-midway",
      "code": "ISS-0030",
      "title": "Task Progress Is Lost Midway",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI loses track of completed work, prior decisions, current position, or remaining steps before the task is finished.",
      "category": "memory-and-context",
      "category_title": "Memory & Context",
      "primary_cat_code": "CAT-0020",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "persistence-instability",
      "patterns": [
        "persistence-instability",
        "orphaned-structure",
        "convergence-failure"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "convergence-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens",
          "propagation-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "task progress is lost midway",
        "AI lost track of progress",
        "ChatGPT forgot where we were",
        "AI restarted task midway",
        "progress lost during AI workflow",
        "AI forgot completed steps"
      ],
      "url": "/workbench/issues/task-progress-is-lost-midway/",
      "markdown_url": "/workbench/issues/task-progress-is-lost-midway.md"
    },
    {
      "slug": "too-many-tool-calls",
      "ontology_slug": "too-many-tool-calls",
      "code": "ISS-0061",
      "title": "Too Many Tool Calls",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI or agent makes more tool calls, searches, retrievals, API calls, or integration actions than the task requires or permits.",
      "category": "mcp-tools-and-integrations",
      "category_title": "MCP, Tools & Integrations",
      "primary_cat_code": "CAT-0040",
      "secondary_cat_codes": [
        "CAT-0100"
      ],
      "primary_pattern": "unbounded-scope",
      "patterns": [
        "unbounded-scope",
        "escalation-growth",
        "overreach"
      ],
      "derived_lenses": {
        "primary": [
          "boundary-compliance-lens",
          "constraint-sufficiency-lens",
          "escalation-gradient-lens",
          "isolation-boundary-lens",
          "overreach-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "propagation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-keeps-adding-tool-dependencies"
      ],
      "search_intents": [
        "too many tool calls",
        "AI called tools too many times",
        "agent keeps calling tools",
        "excessive MCP tool calls",
        "AI overuses search tools",
        "tool loop too many calls"
      ],
      "url": "/workbench/issues/too-many-tool-calls/",
      "markdown_url": "/workbench/issues/too-many-tool-calls.md"
    },
    {
      "slug": "tool-call-contract-mismatch",
      "ontology_slug": "tool-call-contract-mismatch",
      "code": "ISS-0017",
      "title": "Tool Call Contract Mismatch",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI or agent calls a tool with names, arguments, types, modes, or shapes that do not match the declared tool interface.",
      "category": "mcp-tools-and-integrations",
      "category_title": "MCP, Tools & Integrations",
      "primary_cat_code": "CAT-0040",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "interface-mismatch",
      "patterns": [
        "interface-mismatch",
        "schema-breakage",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-uses-old-tool-schema",
        "documented-field-not-available-at-runtime",
        "runtime-behavior-does-not-match-docs",
        "tool-not-supported-in-this-mode"
      ],
      "search_intents": [
        "AI tool call wrong arguments",
        "tool call contract mismatch",
        "function call invalid arguments",
        "AI called tool with wrong schema",
        "agent used wrong tool parameters",
        "tool choice is underspecified"
      ],
      "url": "/workbench/issues/tool-call-contract-mismatch/",
      "markdown_url": "/workbench/issues/tool-call-contract-mismatch.md"
    },
    {
      "slug": "tool-can-act-without-responsible-authority",
      "ontology_slug": "tool-can-act-without-responsible-authority",
      "code": "ISS-0108",
      "title": "Tool Can Act Without Responsible Authority",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A tool, connector, function, or integration can perform an action without a declared responsible authority for that action.",
      "category": "permissions-and-approvals",
      "category_title": "Permissions & Approvals",
      "primary_cat_code": "CAT-0050",
      "secondary_cat_codes": [
        "CAT-0040"
      ],
      "primary_pattern": "missing-authority",
      "patterns": [
        "missing-authority",
        "undeclared-side-effect",
        "interface-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "interface-contract-lens",
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "conflict-lens",
          "isolation-boundary-lens",
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "too-many-workflows-depend-on-one-tool",
        "tool-effect-crosses-target-boundary"
      ],
      "search_intents": [
        "tool can act without responsible authority",
        "AI tool has no responsible authority",
        "tool action lacks owner",
        "MCP tool can act without approval",
        "connector action has no authority",
        "tool permission without responsibility"
      ],
      "url": "/workbench/issues/tool-can-act-without-responsible-authority/",
      "markdown_url": "/workbench/issues/tool-can-act-without-responsible-authority.md"
    },
    {
      "slug": "tool-exists-but-required-inputs-are-missing",
      "ontology_slug": "tool-exists-but-required-inputs-are-missing",
      "code": "ISS-0020",
      "title": "Tool Exists but Required Inputs Are Missing",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A usable tool or integration exists, but the AI or agent does not have the required inputs, permissions, fields, identifiers, or context needed to call it correctly.",
      "category": "mcp-tools-and-integrations",
      "category_title": "MCP, Tools & Integrations",
      "primary_cat_code": "CAT-0040",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "incomplete-declaration",
      "patterns": [
        "incomplete-declaration",
        "constraints-underspecified",
        "interface-mismatch"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "constraint-sufficiency-lens",
          "interface-contract-lens"
        ],
        "secondary": [
          "determinism-lens",
          "normalization-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-keeps-adding-tool-dependencies",
        "tool-not-supported-in-this-mode"
      ],
      "search_intents": [
        "tool exists but required inputs are missing",
        "AI cannot call tool missing inputs",
        "agent needs required tool fields",
        "tool available but not enough information",
        "missing inputs for MCP tool",
        "AI tool call lacks required parameters"
      ],
      "url": "/workbench/issues/tool-exists-but-required-inputs-are-missing/",
      "markdown_url": "/workbench/issues/tool-exists-but-required-inputs-are-missing.md"
    },
    {
      "slug": "tool-result-not-integrated-correctly",
      "ontology_slug": "tool-result-not-integrated-correctly",
      "code": "ISS-0019",
      "title": "Tool Result Not Integrated Correctly",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI receives a tool result but misreads, ignores, overwrites, misplaces, or fails to incorporate it correctly into the final output or workflow state.",
      "category": "mcp-tools-and-integrations",
      "category_title": "MCP, Tools & Integrations",
      "primary_cat_code": "CAT-0040",
      "secondary_cat_codes": [
        "CAT-0070",
        "CAT-0010"
      ],
      "primary_pattern": "orphaned-structure",
      "patterns": [
        "orphaned-structure",
        "interface-mismatch",
        "contract-drift"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "convergence-lens",
          "interface-contract-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "determinism-lens",
          "normalization-lens",
          "propagation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "tool-call-caused-hidden-downstream-change"
      ],
      "search_intents": [
        "tool result not integrated correctly",
        "AI ignored tool result",
        "agent misread tool output",
        "tool result missing from final answer",
        "AI overwrote tool response",
        "tool output not reflected in answer"
      ],
      "url": "/workbench/issues/tool-result-not-integrated-correctly/",
      "markdown_url": "/workbench/issues/tool-result-not-integrated-correctly.md"
    },
    {
      "slug": "tool-rules-and-prompt-rules-conflict",
      "ontology_slug": "tool-rules-and-prompt-rules-conflict",
      "code": "ISS-0110",
      "title": "Tool Rules and Prompt Rules Conflict",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Tool, connector, function, or MCP rules conflict with prompt instructions, causing the AI or agent to face incompatible requirements.",
      "category": "rules-and-policies",
      "category_title": "Rules & Policies",
      "primary_cat_code": "CAT-0060",
      "secondary_cat_codes": [
        "CAT-0040"
      ],
      "primary_pattern": "authority-collision",
      "patterns": [
        "authority-collision",
        "interface-mismatch",
        "authority-shadowing"
      ],
      "derived_lenses": {
        "primary": [
          "authority-overlay-lens",
          "conflict-lens",
          "interface-contract-lens"
        ],
        "secondary": [
          "invariant-lens",
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [
        "low-level-configuration-overrides-workflow-policy"
      ],
      "search_intents": [
        "tool rules and prompt rules conflict",
        "MCP tool rules conflict with prompt",
        "tool schema conflicts with instruction",
        "AI prompt conflicts with tool requirement",
        "function rules contradict prompt",
        "agent tool instructions conflict"
      ],
      "url": "/workbench/issues/tool-rules-and-prompt-rules-conflict/",
      "markdown_url": "/workbench/issues/tool-rules-and-prompt-rules-conflict.md"
    },
    {
      "slug": "validation-result-changes-on-retry",
      "ontology_slug": "validation-result-changes-on-retry",
      "code": "ISS-0006",
      "title": "Validation Result Changes on Retry",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A validation, grading, review, classification, or pass/fail result changes after retry even though the input and declared validation rules did not change.",
      "category": "inconsistent-behavior",
      "category_title": "Inconsistent Behavior",
      "primary_cat_code": "CAT-0090",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "non-deterministic-execution",
      "patterns": [
        "non-deterministic-execution",
        "divergent-outputs",
        "schema-breakage"
      ],
      "derived_lenses": {
        "primary": [
          "convergence-lens",
          "determinism-lens",
          "interface-contract-lens",
          "invariant-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens",
          "conflict-lens",
          "reference-stability-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "validation result changes on retry",
        "AI validation changes each time",
        "same input gets different pass fail result",
        "AI grader changes after retry",
        "review result is inconsistent",
        "validation output is not stable"
      ],
      "url": "/workbench/issues/validation-result-changes-on-retry/",
      "markdown_url": "/workbench/issues/validation-result-changes-on-retry.md"
    },
    {
      "slug": "version-change-breaks-existing-prompt",
      "ontology_slug": "version-change-breaks-existing-prompt",
      "code": "ISS-0053",
      "title": "Version Change Breaks Existing Prompt",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A prompt that previously produced usable results stops working after a version change in the model, tool, policy, schema, product surface, or workflow.",
      "category": "changes-and-versions",
      "category_title": "Changes & Versions",
      "primary_cat_code": "CAT-0080",
      "secondary_cat_codes": [
        "CAT-0010"
      ],
      "primary_pattern": "contract-drift",
      "patterns": [
        "contract-drift",
        "compatibility-violation",
        "reference-instability"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "convergence-lens",
          "reconciliation-lens",
          "reference-stability-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "determinism-lens"
        ]
      },
      "related_ai_adj_issues": [
        "agent-uses-old-tool-schema",
        "ai-works-in-one-environment-not-another"
      ],
      "search_intents": [
        "version change breaks existing prompt",
        "prompt broke after version change",
        "old prompt stopped working",
        "AI prompt no longer works after update",
        "version update changed prompt behavior",
        "prompt incompatible with new version"
      ],
      "url": "/workbench/issues/version-change-breaks-existing-prompt/",
      "markdown_url": "/workbench/issues/version-change-breaks-existing-prompt.md"
    },
    {
      "slug": "workflow-loops-through-review-without-resolution",
      "ontology_slug": "workflow-loops-through-review-without-resolution",
      "code": "ISS-0086",
      "title": "Workflow Loops Through Review Without Resolution",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A workflow repeatedly sends work through review, repair, or escalation without reaching an approved, rejected, or otherwise resolved state.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "circular-dependency",
      "patterns": [
        "circular-dependency",
        "convergence-failure",
        "escalation-growth"
      ],
      "derived_lenses": {
        "primary": [
          "conflict-lens",
          "convergence-lens",
          "escalation-gradient-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "normalization-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "workflow loops through review without resolution",
        "AI review loop never ends",
        "workflow keeps sending back for review",
        "review repair loop",
        "approval loop no resolution",
        "AI workflow stuck in review"
      ],
      "url": "/workbench/issues/workflow-loops-through-review-without-resolution/",
      "markdown_url": "/workbench/issues/workflow-loops-through-review-without-resolution.md"
    },
    {
      "slug": "workflow-stage-has-too-few-checks",
      "ontology_slug": "workflow-stage-has-too-few-checks",
      "code": "ISS-0078",
      "title": "Workflow Stage Has Too Few Checks",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A workflow stage lacks enough checks, gates, criteria, or review conditions to safely support the work it controls.",
      "category": "workflow-and-handoffs",
      "category_title": "Workflow & Handoffs",
      "primary_cat_code": "CAT-0070",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "density-vacuum",
      "patterns": [
        "density-vacuum",
        "incomplete-declaration",
        "orphaned-structure"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "compression-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "interface-contract-lens",
          "propagation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "workflow stage has too few checks",
        "AI workflow missing checks",
        "workflow gate too weak",
        "not enough review checks",
        "stage lacks validation",
        "workflow stage underchecked"
      ],
      "url": "/workbench/issues/workflow-stage-has-too-few-checks/",
      "markdown_url": "/workbench/issues/workflow-stage-has-too-few-checks.md"
    },
    {
      "slug": "workflow-step-has-no-decision-owner",
      "ontology_slug": "workflow-step-has-no-decision-owner",
      "code": "ISS-0013",
      "title": "Workflow Step Has No Decision Owner",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A workflow step requires a decision, approval, judgment, or routing choice, but no owner is declared for making it.",
      "category": "workflow-and-handoffs",
      "category_title": "Workflow & Handoffs",
      "primary_cat_code": "CAT-0070",
      "secondary_cat_codes": [
        "CAT-0050"
      ],
      "primary_pattern": "missing-authority",
      "patterns": [
        "missing-authority",
        "orphaned-structure",
        "incomplete-declaration"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "authority-overlay-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "conflict-lens",
          "interface-contract-lens",
          "propagation-lens",
          "reconciliation-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "workflow step has no decision owner",
        "no one owns the workflow decision",
        "AI workflow has no approver",
        "handoff has no decision owner",
        "workflow step needs approval but owner missing",
        "unclear who decides next step"
      ],
      "url": "/workbench/issues/workflow-step-has-no-decision-owner/",
      "markdown_url": "/workbench/issues/workflow-step-has-no-decision-owner.md"
    },
    {
      "slug": "workflow-step-lacks-required-conditions",
      "ontology_slug": "workflow-step-lacks-required-conditions",
      "code": "ISS-0073",
      "title": "Workflow Step Lacks Required Conditions",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A workflow step can run, route, approve, reject, or continue without the required conditions being declared or checked.",
      "category": "workflow-and-handoffs",
      "category_title": "Workflow & Handoffs",
      "primary_cat_code": "CAT-0070",
      "secondary_cat_codes": [
        "CAT-0120"
      ],
      "primary_pattern": "incomplete-declaration",
      "patterns": [
        "incomplete-declaration",
        "constraints-underspecified",
        "orphaned-structure"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "determinism-lens",
          "interface-contract-lens",
          "propagation-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [
        "too-many-workflows-depend-on-one-tool"
      ],
      "search_intents": [
        "workflow step lacks required conditions",
        "AI workflow missing required conditions",
        "step runs without checks",
        "workflow condition missing",
        "AI workflow skipped required condition",
        "required conditions not declared"
      ],
      "url": "/workbench/issues/workflow-step-lacks-required-conditions/",
      "markdown_url": "/workbench/issues/workflow-step-lacks-required-conditions.md"
    },
    {
      "slug": "workflow-waits-on-step-that-waits-back",
      "ontology_slug": "workflow-waits-on-step-that-waits-back",
      "code": "ISS-0089",
      "title": "Workflow Waits on Step That Waits Back",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A workflow step waits for another step that also waits on the first step, creating a blocking loop.",
      "category": "loops-and-resolution",
      "category_title": "Loops & Resolution",
      "primary_cat_code": "CAT-0130",
      "secondary_cat_codes": [
        "CAT-0070"
      ],
      "primary_pattern": "circular-dependency",
      "patterns": [
        "circular-dependency",
        "convergence-failure",
        "orphaned-structure"
      ],
      "derived_lenses": {
        "primary": [
          "absence-lens",
          "conflict-lens",
          "convergence-lens",
          "propagation-lens"
        ],
        "secondary": [
          "normalization-lens",
          "reconciliation-lens",
          "variance-entropy-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "workflow waits on step that waits back",
        "AI workflow circular wait",
        "workflow steps wait on each other",
        "handoff blocked by previous step",
        "AI process stuck waiting",
        "workflow dependency loop"
      ],
      "url": "/workbench/issues/workflow-waits-on-step-that-waits-back/",
      "markdown_url": "/workbench/issues/workflow-waits-on-step-that-waits-back.md"
    },
    {
      "slug": "wrong-field-types",
      "ontology_slug": "wrong-field-types",
      "code": "ISS-0024",
      "title": "Wrong Field Types",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The AI returns fields with values whose types do not match the expected schema, such as strings where numbers, booleans, arrays, objects, or enums are required.",
      "category": "output",
      "category_title": "Output",
      "primary_cat_code": "CAT-0010",
      "secondary_cat_codes": [],
      "primary_pattern": "schema-breakage",
      "patterns": [
        "schema-breakage",
        "interface-mismatch",
        "compatibility-violation"
      ],
      "derived_lenses": {
        "primary": [
          "compatibility-envelope-lens",
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "boundary-compliance-lens",
          "conflict-lens",
          "normalization-lens"
        ]
      },
      "related_ai_adj_issues": [],
      "search_intents": [
        "wrong field types",
        "AI output wrong JSON types",
        "schema expected number got string",
        "field type mismatch",
        "structured output type error",
        "AI returned wrong data type"
      ],
      "url": "/workbench/issues/wrong-field-types/",
      "markdown_url": "/workbench/issues/wrong-field-types.md"
    }
  ],
  "ai_adj_issues": [
    {
      "slug": "agent-keeps-adding-tool-dependencies",
      "ontology_slug": "agent-keeps-adding-tool-dependencies",
      "code": "ADJ-0006",
      "title": "Agent Keeps Adding Tool Dependencies",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An agent keeps adding required tools, connectors, searches, files, APIs, or integrations instead of completing the task with the available surface.",
      "related_issues": [
        "agent-keeps-expanding-the-task",
        "too-many-tool-calls",
        "task-has-no-clear-limit",
        "tool-exists-but-required-inputs-are-missing",
        "agent-never-settles-on-final-answer"
      ],
      "search_intents": [
        "agent keeps adding tool dependencies",
        "AI agent says it needs more tools",
        "agent keeps asking for integrations",
        "AI task keeps requiring more tools",
        "agent will not finish without another tool",
        "tool dependency keeps growing"
      ],
      "url": "/workbench/ai-adj-issues/agent-keeps-adding-tool-dependencies/",
      "markdown_url": "/workbench/ai-adj-issues/agent-keeps-adding-tool-dependencies.md"
    },
    {
      "slug": "agent-uses-old-tool-schema",
      "ontology_slug": "agent-uses-old-tool-schema",
      "code": "ADJ-0004",
      "title": "Agent Uses Old Tool Schema",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "An agent, prompt, workflow, or integration continues using an older tool schema after the tool contract has changed.",
      "related_issues": [
        "tool-call-contract-mismatch",
        "version-change-breaks-existing-prompt",
        "prompt-changed-but-workflow-did-not",
        "same-contract-name-has-different-meanings",
        "output-breaks-the-next-step"
      ],
      "search_intents": [
        "agent uses old tool schema",
        "AI agent using outdated tool schema",
        "MCP schema changed agent still old",
        "tool schema version mismatch",
        "agent calls deprecated tool fields",
        "old function schema still used"
      ],
      "url": "/workbench/ai-adj-issues/agent-uses-old-tool-schema/",
      "markdown_url": "/workbench/ai-adj-issues/agent-uses-old-tool-schema.md"
    },
    {
      "slug": "ai-works-in-one-environment-not-another",
      "ontology_slug": "ai-works-in-one-environment-not-another",
      "code": "ADJ-0002",
      "title": "AI Works in One Environment Not Another",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "The same AI task appears to work in one app, mode, model, account, workspace, or runtime but fails or behaves differently in another.",
      "related_issues": [
        "output-breaks-after-model-change",
        "version-change-breaks-existing-prompt",
        "prompt-behavior-changed-without-version-change",
        "results-vary-too-much",
        "context-changes-after-restore"
      ],
      "search_intents": [
        "AI works in one environment not another",
        "same prompt works in one app but not another",
        "AI works on one account but not another",
        "agent works locally but not in production",
        "ChatGPT behaves differently in another workspace",
        "same AI task fails in different mode"
      ],
      "url": "/workbench/ai-adj-issues/ai-works-in-one-environment-not-another/",
      "markdown_url": "/workbench/ai-adj-issues/ai-works-in-one-environment-not-another.md"
    },
    {
      "slug": "category-has-too-few-issues-to-be-useful",
      "ontology_slug": "category-has-too-few-issues-to-be-useful",
      "code": "ADJ-0009",
      "title": "Category Has Too Few Issues to Be Useful",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A category, diagnostic area, or intake bucket has too few Issues, examples, or checks to support useful diagnosis or routing.",
      "related_issues": [
        "diagnostic-area-has-no-coverage",
        "evaluation-rubric-has-coverage-gap",
        "relationship-map-has-missing-links",
        "review-rubric-missing-required-criteria"
      ],
      "search_intents": [
        "category has too few issues to be useful",
        "AI issue category has no coverage",
        "diagnostic category too thin",
        "not enough issues in category",
        "category needs more examples",
        "ontology category coverage gap"
      ],
      "url": "/workbench/ai-adj-issues/category-has-too-few-issues-to-be-useful/",
      "markdown_url": "/workbench/ai-adj-issues/category-has-too-few-issues-to-be-useful.md"
    },
    {
      "slug": "documented-field-not-available-at-runtime",
      "ontology_slug": "documented-field-not-available-at-runtime",
      "code": "ADJ-0003",
      "title": "Documented Field Not Available at Runtime",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A documented field, option, parameter, property, or capability is expected by the user or agent but is not available in the actual runtime.",
      "related_issues": [
        "missing-required-fields",
        "tool-call-contract-mismatch",
        "actual-policy-differs-from-declared-policy",
        "same-contract-name-has-different-meanings"
      ],
      "search_intents": [
        "documented field not available at runtime",
        "field in docs missing at runtime",
        "API field not available",
        "tool schema field missing",
        "documented option not supported",
        "runtime missing documented parameter"
      ],
      "url": "/workbench/ai-adj-issues/documented-field-not-available-at-runtime/",
      "markdown_url": "/workbench/ai-adj-issues/documented-field-not-available-at-runtime.md"
    },
    {
      "slug": "generated-output-changed-hidden-metadata",
      "ontology_slug": "generated-output-changed-hidden-metadata",
      "code": "ADJ-0013",
      "title": "Generated Output Changed Hidden Metadata",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Generated output changes hidden metadata, identifiers, references, state, or system fields that affect later behavior but are not obvious in the visible output.",
      "related_issues": [
        "output-changed-without-declared-change",
        "action-changed-something-else-too",
        "output-breaks-the-next-step",
        "saved-reference-no-longer-works",
        "same-contract-name-has-different-meanings"
      ],
      "search_intents": [
        "generated output changed hidden metadata",
        "AI output changed metadata",
        "generated file changed hidden fields",
        "AI changed invisible state",
        "output changed hidden identifiers",
        "generated content affected metadata"
      ],
      "url": "/workbench/ai-adj-issues/generated-output-changed-hidden-metadata/",
      "markdown_url": "/workbench/ai-adj-issues/generated-output-changed-hidden-metadata.md"
    },
    {
      "slug": "guardrail-applies-to-one-model-path-only",
      "ontology_slug": "guardrail-applies-to-one-model-path-only",
      "code": "ADJ-0016",
      "title": "Guardrail Applies to One Model Path Only",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A guardrail, policy, validation rule, safety check, or workflow constraint applies to one model path, mode, runtime, or route but not another.",
      "related_issues": [
        "output-breaks-after-model-change",
        "actual-policy-differs-from-declared-policy",
        "prompt-behavior-changed-without-version-change",
        "similar-cases-route-to-different-outcomes",
        "results-vary-too-much"
      ],
      "search_intents": [
        "guardrail applies to one model path only",
        "AI guardrail works in one path not another",
        "policy applies to one model but not another",
        "safety check missing in one route",
        "model path bypasses guardrail",
        "workflow guardrail inconsistent across modes"
      ],
      "url": "/workbench/ai-adj-issues/guardrail-applies-to-one-model-path-only/",
      "markdown_url": "/workbench/ai-adj-issues/guardrail-applies-to-one-model-path-only.md"
    },
    {
      "slug": "low-level-configuration-overrides-workflow-policy",
      "ontology_slug": "low-level-configuration-overrides-workflow-policy",
      "code": "ADJ-0015",
      "title": "Low-Level Configuration Overrides Workflow Policy",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A low-level configuration, product setting, connector rule, runtime option, or environment flag overrides the workflow policy the user expects to govern the task.",
      "related_issues": [
        "hidden-rule-overrides-visible-instruction",
        "actual-policy-differs-from-declared-policy",
        "tool-rules-and-prompt-rules-conflict",
        "behavior-does-not-match-declared-role",
        "permissions-conflict-after-being-combined"
      ],
      "search_intents": [
        "low level configuration overrides workflow policy",
        "configuration overrides AI policy",
        "product setting overrides workflow rule",
        "connector setting overrides prompt",
        "runtime config changes AI behavior",
        "hidden configuration overrides visible policy"
      ],
      "url": "/workbench/ai-adj-issues/low-level-configuration-overrides-workflow-policy/",
      "markdown_url": "/workbench/ai-adj-issues/low-level-configuration-overrides-workflow-policy.md"
    },
    {
      "slug": "one-workspace-affects-another",
      "ontology_slug": "one-workspace-affects-another",
      "code": "ADJ-0008",
      "title": "One Workspace Affects Another",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "State, memory, files, permissions, settings, tools, or workflow effects from one workspace affect another workspace where they should not apply.",
      "related_issues": [
        "context-leaks-between-tasks",
        "local-rule-spreads-to-broader-cases",
        "review-outcome-changes-unrelated-environment",
        "ai-touches-unrelated-scope",
        "agent-modified-unrelated-state"
      ],
      "search_intents": [
        "one workspace affects another",
        "AI workspace context leaks",
        "ChatGPT workspace affects another workspace",
        "agent changed another workspace",
        "memory from one workspace affects another",
        "workspace isolation problem AI"
      ],
      "url": "/workbench/ai-adj-issues/one-workspace-affects-another/",
      "markdown_url": "/workbench/ai-adj-issues/one-workspace-affects-another.md"
    },
    {
      "slug": "permission-change-not-applied",
      "ontology_slug": "permission-change-not-applied",
      "code": "ADJ-0010",
      "title": "Permission Change Not Applied",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A permission, approval, role, policy, or access change is made but the AI, agent, tool, or workflow continues behaving as if the old permission state still applies.",
      "related_issues": [
        "revoked-approval-still-treated-as-active",
        "policy-update-not-reflected-in-output",
        "actual-policy-differs-from-declared-policy",
        "behavior-does-not-match-declared-role",
        "declared-owner-cannot-control-outcome"
      ],
      "search_intents": [
        "permission change not applied",
        "AI still uses old permission",
        "permission update not reflected",
        "role change not applied to agent",
        "approval change not active",
        "access change not reflected in AI workflow"
      ],
      "url": "/workbench/ai-adj-issues/permission-change-not-applied/",
      "markdown_url": "/workbench/ai-adj-issues/permission-change-not-applied.md"
    },
    {
      "slug": "runtime-behavior-does-not-match-docs",
      "ontology_slug": "runtime-behavior-does-not-match-docs",
      "code": "ADJ-0005",
      "title": "Runtime Behavior Does Not Match Docs",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Documented behavior, fields, tool schemas, permissions, or runtime capabilities do not match what actually happens during use.",
      "related_issues": [
        "actual-policy-differs-from-declared-policy",
        "output-changed-without-declared-change",
        "prompt-behavior-changed-without-version-change",
        "same-contract-name-has-different-meanings",
        "tool-call-contract-mismatch"
      ],
      "search_intents": [
        "runtime behavior does not match docs",
        "AI behavior does not match documentation",
        "tool docs do not match runtime",
        "documented behavior differs from actual behavior",
        "API docs wrong at runtime",
        "product docs do not match AI behavior"
      ],
      "url": "/workbench/ai-adj-issues/runtime-behavior-does-not-match-docs/",
      "markdown_url": "/workbench/ai-adj-issues/runtime-behavior-does-not-match-docs.md"
    },
    {
      "slug": "too-many-workflows-depend-on-one-tool",
      "ontology_slug": "too-many-workflows-depend-on-one-tool",
      "code": "ADJ-0007",
      "title": "Too Many Workflows Depend on One Tool",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Many workflows, agents, checks, or downstream paths depend on one tool, connector, API, or integration, creating a shared point of failure.",
      "related_issues": [
        "review-queue-becomes-bottleneck",
        "tool-can-act-without-responsible-authority",
        "workflow-step-lacks-required-conditions",
        "output-breaks-the-next-step",
        "small-change-produces-large-downstream-effects"
      ],
      "search_intents": [
        "too many workflows depend on one tool",
        "AI workflows depend on same tool",
        "one connector blocks many workflows",
        "shared AI tool became bottleneck",
        "tool outage breaks multiple agents",
        "too many agents depend on one integration"
      ],
      "url": "/workbench/ai-adj-issues/too-many-workflows-depend-on-one-tool/",
      "markdown_url": "/workbench/ai-adj-issues/too-many-workflows-depend-on-one-tool.md"
    },
    {
      "slug": "tool-call-caused-hidden-downstream-change",
      "ontology_slug": "tool-call-caused-hidden-downstream-change",
      "code": "ADJ-0012",
      "title": "Tool Call Caused Hidden Downstream Change",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A tool call causes a downstream state, workflow, metadata, record, or integration change that is not visible at the point of action.",
      "related_issues": [
        "action-changed-something-else-too",
        "small-change-produces-large-downstream-effects",
        "output-breaks-the-next-step",
        "tool-result-not-integrated-correctly",
        "downstream-steps-magnify-hallucinated-claim"
      ],
      "search_intents": [
        "tool call caused hidden downstream change",
        "AI tool call changed downstream state",
        "connector caused hidden side effect",
        "tool call changed metadata",
        "integration action affected later workflow",
        "hidden downstream change from AI tool"
      ],
      "url": "/workbench/ai-adj-issues/tool-call-caused-hidden-downstream-change/",
      "markdown_url": "/workbench/ai-adj-issues/tool-call-caused-hidden-downstream-change.md"
    },
    {
      "slug": "tool-effect-crosses-target-boundary",
      "ontology_slug": "tool-effect-crosses-target-boundary",
      "code": "ADJ-0011",
      "title": "Tool Effect Crosses Target Boundary",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A tool, connector, function, or integration affects an object, file, record, workspace, or state surface beyond the intended target.",
      "related_issues": [
        "action-changed-something-else-too",
        "ai-touches-unrelated-scope",
        "agent-modified-unrelated-state",
        "tool-can-act-without-responsible-authority",
        "file-bounded-task-uses-outside-content"
      ],
      "search_intents": [
        "tool effect crosses target boundary",
        "AI tool changed wrong target",
        "connector affected unrelated record",
        "tool action crossed scope boundary",
        "agent tool modified another file",
        "integration side effect outside target"
      ],
      "url": "/workbench/ai-adj-issues/tool-effect-crosses-target-boundary/",
      "markdown_url": "/workbench/ai-adj-issues/tool-effect-crosses-target-boundary.md"
    },
    {
      "slug": "tool-failure-escalates-into-policy-decision",
      "ontology_slug": "tool-failure-escalates-into-policy-decision",
      "code": "ADJ-0014",
      "title": "Tool Failure Escalates Into Policy Decision",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A tool, connector, API, or integration failure is treated as a policy, safety, approval, or governance decision instead of a runtime failure.",
      "related_issues": [
        "risk-signal-escalates-beyond-evidence",
        "small-issue-keeps-escalating",
        "model-output-triggers-unapproved-action",
        "human-review-and-automation-disagree",
        "same-case-has-conflicting-policies"
      ],
      "search_intents": [
        "tool failure escalates into policy decision",
        "AI tool error became policy refusal",
        "connector failure treated as safety issue",
        "API failure escalated to governance decision",
        "tool outage caused policy block",
        "runtime failure became approval issue"
      ],
      "url": "/workbench/ai-adj-issues/tool-failure-escalates-into-policy-decision/",
      "markdown_url": "/workbench/ai-adj-issues/tool-failure-escalates-into-policy-decision.md"
    },
    {
      "slug": "tool-not-supported-in-this-mode",
      "ontology_slug": "tool-not-supported-in-this-mode",
      "code": "ADJ-0001",
      "title": "Tool Not Supported in This Mode",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A tool or capability appears unavailable in the current mode, environment, product surface, or runtime context.",
      "related_issues": [
        "tool-call-contract-mismatch",
        "tool-exists-but-required-inputs-are-missing",
        "agent-cannot-choose-tool-without-tool-result"
      ],
      "search_intents": [
        "tool not supported in this mode",
        "AI tool not available",
        "agent cannot use tool",
        "MCP tool not showing up",
        "connector not available in this mode",
        "ChatGPT cannot use tool here"
      ],
      "url": "/workbench/ai-adj-issues/tool-not-supported-in-this-mode/",
      "markdown_url": "/workbench/ai-adj-issues/tool-not-supported-in-this-mode.md"
    }
  ],
  "patterns": [
    {
      "slug": "asymmetric-structure",
      "ontology_slug": "asymmetric-structure",
      "code": "PAT-0110",
      "title": "Asymmetric Structure",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where comparable regions receive unequal rule, constraint, or authority application without a declared differentiation rule.",
      "lenses": {
        "primary": [
          "convergence-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "compression-lens"
        ]
      },
      "issues": {
        "primary": [],
        "supporting": []
      },
      "url": "/workbench/patterns/asymmetric-structure/",
      "markdown_url": "/workbench/patterns/asymmetric-structure.md"
    },
    {
      "slug": "authority-collision",
      "ontology_slug": "authority-collision",
      "code": "PAT-0100",
      "title": "Authority Collision",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where multiple authorities claim governance over the same region without a declared precedence or resolution rule.",
      "lenses": {
        "primary": [
          "conflict-lens",
          "authority-overlay-lens"
        ],
        "secondary": [
          "reconciliation-lens",
          "invariant-lens"
        ]
      },
      "issues": {
        "primary": [
          "agent-gets-conflicting-tool-authority",
          "conflicting-instructions-from-different-authorities",
          "human-review-and-automation-disagree",
          "permissions-conflict-after-being-combined",
          "same-case-has-conflicting-policies",
          "tool-rules-and-prompt-rules-conflict"
        ],
        "supporting": [
          "approval-depends-on-output-that-needs-approval",
          "hidden-rule-overrides-visible-instruction",
          "parallel-reviews-never-agree",
          "policy-decision-depends-on-itself"
        ]
      },
      "url": "/workbench/patterns/authority-collision/",
      "markdown_url": "/workbench/patterns/authority-collision.md"
    },
    {
      "slug": "authority-merge-conflict",
      "ontology_slug": "authority-merge-conflict",
      "code": "PAT-0220",
      "title": "Authority Merge Conflict",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where multiple authority states are combined over a shared scope without a declared merge, precedence, or reconciliation rule.",
      "lenses": {
        "primary": [
          "conflict-lens",
          "reconciliation-lens"
        ],
        "secondary": [
          "authority-overlay-lens"
        ]
      },
      "issues": {
        "primary": [],
        "supporting": [
          "conflicting-instructions-from-different-authorities",
          "merge-step-leaves-unresolved-differences",
          "multiple-policies-say-the-same-thing",
          "permissions-conflict-after-being-combined",
          "same-case-has-conflicting-policies"
        ]
      },
      "url": "/workbench/patterns/authority-merge-conflict/",
      "markdown_url": "/workbench/patterns/authority-merge-conflict.md"
    },
    {
      "slug": "authority-shadowing",
      "ontology_slug": "authority-shadowing",
      "code": "PAT-0230",
      "title": "Authority Shadowing",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a declared authority is functionally overridden by another authority without an explicit override rule.",
      "lenses": {
        "primary": [
          "authority-overlay-lens"
        ],
        "secondary": [
          "conflict-lens",
          "reconciliation-lens"
        ]
      },
      "issues": {
        "primary": [
          "hidden-rule-overrides-visible-instruction"
        ],
        "supporting": [
          "agent-gets-conflicting-tool-authority",
          "behavior-does-not-match-declared-role",
          "conflicting-instructions-from-different-authorities",
          "permissions-conflict-after-being-combined",
          "same-case-has-conflicting-policies",
          "tool-rules-and-prompt-rules-conflict"
        ]
      },
      "url": "/workbench/patterns/authority-shadowing/",
      "markdown_url": "/workbench/patterns/authority-shadowing.md"
    },
    {
      "slug": "authority-state-mismatch",
      "ontology_slug": "authority-state-mismatch",
      "code": "PAT-0240",
      "title": "Authority-State Mismatch",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where observed system state no longer aligns with the declared authority state that is supposed to govern it.",
      "lenses": {
        "primary": [
          "reconciliation-lens"
        ],
        "secondary": [
          "convergence-lens",
          "reference-stability-lens"
        ]
      },
      "issues": {
        "primary": [
          "behavior-does-not-match-declared-role",
          "cannot-identify-authoritative-state",
          "declared-owner-cannot-control-outcome",
          "model-and-workflow-disagree-on-next-step",
          "revoked-approval-still-treated-as-active"
        ],
        "supporting": [
          "actual-policy-differs-from-declared-policy",
          "early-model-output-gets-overweighted-downstream",
          "human-review-and-automation-disagree",
          "local-exception-grows-into-policy",
          "no-owner-for-agent-action",
          "routing-overrides-task-intent",
          "rubric-changed-but-results-did-not",
          "similar-cases-route-to-different-outcomes"
        ]
      },
      "url": "/workbench/patterns/authority-state-mismatch/",
      "markdown_url": "/workbench/patterns/authority-state-mismatch.md"
    },
    {
      "slug": "boundary-leakage",
      "ontology_slug": "boundary-leakage",
      "code": "PAT-0140",
      "title": "Boundary Leakage",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where effects, permissions, state, data, or authority cross a declared boundary without an authorized exception.",
      "lenses": {
        "primary": [
          "isolation-boundary-lens",
          "propagation-lens"
        ],
        "secondary": [
          "boundary-compliance-lens"
        ]
      },
      "issues": {
        "primary": [
          "agent-modified-unrelated-state",
          "ai-uses-external-information-when-forbidden",
          "context-leaks-between-tasks",
          "file-bounded-task-uses-outside-content",
          "retrieval-exceeds-evidence-limit",
          "review-outcome-changes-unrelated-environment"
        ],
        "supporting": [
          "action-changed-something-else-too",
          "ai-memory-has-no-governance",
          "ai-memory-updated-without-asking",
          "ai-touches-unrelated-scope",
          "hidden-rule-overrides-visible-instruction",
          "local-exception-grows-into-policy",
          "local-rule-spreads-to-broader-cases",
          "policy-exception-spreads-too-far",
          "prompt-does-not-say-what-to-exclude",
          "routing-overrides-task-intent"
        ]
      },
      "url": "/workbench/patterns/boundary-leakage/",
      "markdown_url": "/workbench/patterns/boundary-leakage.md"
    },
    {
      "slug": "circular-dependency",
      "ontology_slug": "circular-dependency",
      "code": "PAT-0250",
      "title": "Circular Dependency",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where two or more elements depend on each other in a closed loop without an independent base condition or declared resolution mechanism.",
      "lenses": {
        "primary": [
          "conflict-lens",
          "propagation-lens"
        ],
        "secondary": [
          "normalization-lens"
        ]
      },
      "issues": {
        "primary": [
          "agent-cannot-choose-tool-without-tool-result",
          "approval-depends-on-output-that-needs-approval",
          "policy-decision-depends-on-itself",
          "routing-path-cycles-back-to-start",
          "schema-reference-loops-without-base-case",
          "workflow-loops-through-review-without-resolution",
          "workflow-waits-on-step-that-waits-back"
        ],
        "supporting": [
          "agent-never-settles-on-final-answer",
          "fallback-authority-is-missing",
          "review-escalates-without-stop-condition"
        ]
      },
      "url": "/workbench/patterns/circular-dependency/",
      "markdown_url": "/workbench/patterns/circular-dependency.md"
    },
    {
      "slug": "compatibility-violation",
      "ontology_slug": "compatibility-violation",
      "code": "PAT-0180",
      "title": "Compatibility Violation",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a graph, object, behavior, or runtime state exceeds a declared compatibility envelope without an authorized exception.",
      "lenses": {
        "primary": [
          "compatibility-envelope-lens"
        ],
        "secondary": [
          "boundary-compliance-lens"
        ]
      },
      "issues": {
        "primary": [
          "output-breaks-after-model-change",
          "output-breaks-the-next-step"
        ],
        "supporting": [
          "ai-output-breaks-parser",
          "automation-skips-required-approval",
          "citation-points-to-wrong-source",
          "declared-owner-cannot-control-outcome",
          "model-and-workflow-disagree-on-next-step",
          "output-changed-without-declared-change",
          "prompt-changed-but-workflow-did-not",
          "saved-reference-no-longer-works",
          "small-change-produces-large-downstream-effects",
          "tool-call-contract-mismatch",
          "version-change-breaks-existing-prompt",
          "wrong-field-types"
        ]
      },
      "url": "/workbench/patterns/compatibility-violation/",
      "markdown_url": "/workbench/patterns/compatibility-violation.md"
    },
    {
      "slug": "constraints-underspecified",
      "ontology_slug": "constraints-underspecified",
      "code": "PAT-0170",
      "title": "Constraints Underspecified",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where declared constraints are insufficient to eliminate ambiguity or multiple admissible states.",
      "lenses": {
        "primary": [
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "determinism-lens",
          "variance-entropy-lens"
        ]
      },
      "issues": {
        "primary": [
          "format-rule-too-weak",
          "prompt-does-not-say-what-to-exclude",
          "prompt-has-too-many-valid-interpretations"
        ],
        "supporting": [
          "ai-forgets-earlier-constraints",
          "answer-has-too-many-paths",
          "diagnostic-area-has-no-coverage",
          "evaluation-rubric-has-coverage-gap",
          "invalid-json-output",
          "missing-fallback-for-unavailable-information",
          "one-prompt-carries-too-many-meanings",
          "output-exceeds-length-limit",
          "prompt-only-works-after-retry",
          "repeated-constraints-create-confusion",
          "results-vary-too-much",
          "review-rubric-missing-required-criteria",
          "same-instructions-allow-different-outputs",
          "task-has-no-clear-limit",
          "tool-exists-but-required-inputs-are-missing",
          "workflow-step-lacks-required-conditions"
        ]
      },
      "url": "/workbench/patterns/constraints-underspecified/",
      "markdown_url": "/workbench/patterns/constraints-underspecified.md"
    },
    {
      "slug": "contract-drift",
      "ontology_slug": "contract-drift",
      "code": "PAT-0190",
      "title": "Contract Drift",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a declared contract changes but connected structures, implementations, consumers, or expectations do not update in sync.",
      "lenses": {
        "primary": [
          "reconciliation-lens",
          "convergence-lens"
        ],
        "secondary": [
          "determinism-lens"
        ]
      },
      "issues": {
        "primary": [
          "actual-policy-differs-from-declared-policy",
          "context-changes-after-restore",
          "old-output-expectations-survive-migration",
          "policy-update-not-reflected-in-output",
          "prompt-changed-but-workflow-did-not",
          "rubric-changed-but-results-did-not",
          "same-contract-name-has-different-meanings",
          "stale-context-affects-output",
          "version-change-breaks-existing-prompt"
        ],
        "supporting": [
          "ai-forgets-earlier-constraints",
          "early-model-output-gets-overweighted-downstream",
          "output-breaks-after-model-change",
          "output-changed-without-declared-change",
          "prompt-behavior-changed-without-version-change",
          "revoked-approval-still-treated-as-active",
          "same-rule-declared-in-multiple-places",
          "saved-reference-no-longer-works",
          "small-change-produces-large-downstream-effects",
          "tool-result-not-integrated-correctly"
        ]
      },
      "url": "/workbench/patterns/contract-drift/",
      "markdown_url": "/workbench/patterns/contract-drift.md"
    },
    {
      "slug": "convergence-failure",
      "ontology_slug": "convergence-failure",
      "code": "PAT-0320",
      "title": "Convergence Failure",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where sequential or parallel states fail to resolve into an equivalent or coherent structure under shared authority and constraints.",
      "lenses": {
        "primary": [
          "convergence-lens"
        ],
        "secondary": [
          "variance-entropy-lens",
          "reconciliation-lens"
        ]
      },
      "issues": {
        "primary": [
          "agent-never-settles-on-final-answer",
          "merge-step-leaves-unresolved-differences",
          "parallel-reviews-never-agree"
        ],
        "supporting": [
          "agent-keeps-expanding-the-task",
          "human-review-and-automation-disagree",
          "review-escalates-without-stop-condition",
          "review-queue-becomes-bottleneck",
          "routing-path-cycles-back-to-start",
          "same-workflow-check-happens-twice",
          "task-progress-is-lost-midway",
          "workflow-loops-through-review-without-resolution",
          "workflow-waits-on-step-that-waits-back"
        ]
      },
      "url": "/workbench/patterns/convergence-failure/",
      "markdown_url": "/workbench/patterns/convergence-failure.md"
    },
    {
      "slug": "cross-layer-escalation",
      "ontology_slug": "cross-layer-escalation",
      "code": "PAT-0260",
      "title": "Cross-Layer Escalation",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where escalation originating in one layer propagates into another authority, boundary, or control layer without explicit authorization.",
      "lenses": {
        "primary": [
          "propagation-lens",
          "isolation-boundary-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "issues": {
        "primary": [],
        "supporting": []
      },
      "url": "/workbench/patterns/cross-layer-escalation/",
      "markdown_url": "/workbench/patterns/cross-layer-escalation.md"
    },
    {
      "slug": "density-spike",
      "ontology_slug": "density-spike",
      "code": "PAT-0270",
      "title": "Density Spike",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where nodes, edges, dependencies, decisions, or effects concentrate sharply within a localized region beyond declared thresholds.",
      "lenses": {
        "primary": [
          "compression-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "issues": {
        "primary": [
          "answer-has-too-many-paths",
          "one-prompt-carries-too-many-meanings",
          "review-queue-becomes-bottleneck",
          "single-field-carries-too-many-obligations",
          "single-step-carries-too-many-decisions"
        ],
        "supporting": [
          "duplicate-fields-with-same-meaning",
          "duplicate-output-sections",
          "multiple-policies-say-the-same-thing",
          "output-exceeds-length-limit",
          "prompt-has-too-many-valid-interpretations",
          "repeated-constraints-create-confusion",
          "retrieval-exceeds-evidence-limit",
          "same-rule-declared-in-multiple-places",
          "same-workflow-check-happens-twice"
        ]
      },
      "url": "/workbench/patterns/density-spike/",
      "markdown_url": "/workbench/patterns/density-spike.md"
    },
    {
      "slug": "density-vacuum",
      "ontology_slug": "density-vacuum",
      "code": "PAT-0280",
      "title": "Density Vacuum",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a region expected to contain sufficient nodes, edges, coverage, or relationships falls below declared density thresholds.",
      "lenses": {
        "primary": [
          "absence-lens",
          "compression-lens"
        ],
        "secondary": [
          "constraint-sufficiency-lens"
        ]
      },
      "issues": {
        "primary": [
          "diagnostic-area-has-no-coverage",
          "evaluation-rubric-has-coverage-gap",
          "policy-area-has-no-examples",
          "workflow-stage-has-too-few-checks"
        ],
        "supporting": [
          "answer-has-no-traceable-source-link",
          "missing-required-fields",
          "review-rubric-missing-required-criteria"
        ]
      },
      "url": "/workbench/patterns/density-vacuum/",
      "markdown_url": "/workbench/patterns/density-vacuum.md"
    },
    {
      "slug": "divergent-outputs",
      "ontology_slug": "divergent-outputs",
      "code": "PAT-0290",
      "title": "Divergent Outputs",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where parallel evaluations under comparable scope and shared authority produce non-equivalent outputs.",
      "lenses": {
        "primary": [
          "convergence-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "determinism-lens",
          "compression-lens"
        ]
      },
      "issues": {
        "primary": [
          "results-vary-too-much",
          "same-instructions-allow-different-outputs"
        ],
        "supporting": [
          "one-prompt-carries-too-many-meanings",
          "output-breaks-after-model-change",
          "parallel-reviews-never-agree",
          "prompt-behavior-changed-without-version-change",
          "prompt-has-too-many-valid-interpretations",
          "prompt-only-works-after-retry",
          "similar-cases-route-to-different-outcomes",
          "validation-result-changes-on-retry"
        ]
      },
      "url": "/workbench/patterns/divergent-outputs/",
      "markdown_url": "/workbench/patterns/divergent-outputs.md"
    },
    {
      "slug": "escalation-growth",
      "ontology_slug": "escalation-growth",
      "code": "PAT-0300",
      "title": "Escalation Growth",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where impact, authority, scope, or consequence increases across sequential states without a declared limiting mechanism.",
      "lenses": {
        "primary": [
          "escalation-gradient-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "propagation-lens"
        ]
      },
      "issues": {
        "primary": [
          "agent-permission-expands-over-steps",
          "retry-makes-the-problem-worse",
          "review-escalates-without-stop-condition",
          "risk-score-triggers-wrong-escalation",
          "risk-signal-escalates-beyond-evidence",
          "severity-increases-without-new-evidence",
          "small-issue-keeps-escalating"
        ],
        "supporting": [
          "action-triggered-by-confidence-score",
          "downstream-steps-magnify-hallucinated-claim",
          "model-output-triggers-unapproved-action",
          "repair-step-created-new-breakage",
          "routing-path-cycles-back-to-start",
          "small-error-spreads-into-large-failure",
          "too-many-tool-calls",
          "workflow-loops-through-review-without-resolution"
        ]
      },
      "url": "/workbench/patterns/escalation-growth/",
      "markdown_url": "/workbench/patterns/escalation-growth.md"
    },
    {
      "slug": "incomplete-declaration",
      "ontology_slug": "incomplete-declaration",
      "code": "PAT-0130",
      "title": "Incomplete Declaration",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where an element is declared but required attributes, dependencies, or linked definitions are missing.",
      "lenses": {
        "primary": [
          "absence-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "interface-contract-lens"
        ]
      },
      "issues": {
        "primary": [
          "answer-has-no-traceable-source-link",
          "missing-fallback-for-unavailable-information",
          "missing-required-fields",
          "relationship-map-has-missing-links",
          "review-rubric-missing-required-criteria",
          "tool-exists-but-required-inputs-are-missing",
          "workflow-step-lacks-required-conditions"
        ],
        "supporting": [
          "diagnostic-area-has-no-coverage",
          "evaluation-rubric-has-coverage-gap",
          "fallback-authority-is-missing",
          "format-rule-too-weak",
          "policy-area-has-no-examples",
          "policy-decision-depends-on-itself",
          "saved-memory-not-used",
          "task-has-no-clear-limit",
          "workflow-stage-has-too-few-checks",
          "workflow-step-has-no-decision-owner"
        ]
      },
      "url": "/workbench/patterns/incomplete-declaration/",
      "markdown_url": "/workbench/patterns/incomplete-declaration.md"
    },
    {
      "slug": "interface-mismatch",
      "ontology_slug": "interface-mismatch",
      "code": "PAT-0150",
      "title": "Interface Mismatch",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where observed interface behavior, shape, or exchange differs from the declared interface contract.",
      "lenses": {
        "primary": [
          "interface-contract-lens"
        ],
        "secondary": [
          "normalization-lens"
        ]
      },
      "issues": {
        "primary": [
          "tool-call-contract-mismatch"
        ],
        "supporting": [
          "agent-cannot-choose-tool-without-tool-result",
          "agent-gets-conflicting-tool-authority",
          "ai-output-breaks-parser",
          "citation-points-to-wrong-source",
          "invalid-json-output",
          "model-and-workflow-disagree-on-next-step",
          "nested-fields-do-not-match",
          "output-breaks-the-next-step",
          "prompt-changed-but-workflow-did-not",
          "same-contract-name-has-different-meanings",
          "tool-can-act-without-responsible-authority",
          "tool-exists-but-required-inputs-are-missing",
          "tool-result-not-integrated-correctly",
          "tool-rules-and-prompt-rules-conflict",
          "wrong-field-types"
        ]
      },
      "url": "/workbench/patterns/interface-mismatch/",
      "markdown_url": "/workbench/patterns/interface-mismatch.md"
    },
    {
      "slug": "invariant-breakage",
      "ontology_slug": "invariant-breakage",
      "code": "PAT-0330",
      "title": "Invariant Breakage",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where an observed state violates a declared invariant that is supposed to remain true.",
      "lenses": {
        "primary": [
          "invariant-lens",
          "conflict-lens"
        ],
        "secondary": [
          "interface-contract-lens"
        ]
      },
      "issues": {
        "primary": [],
        "supporting": [
          "nested-fields-do-not-match"
        ]
      },
      "url": "/workbench/patterns/invariant-breakage/",
      "markdown_url": "/workbench/patterns/invariant-breakage.md"
    },
    {
      "slug": "missing-authority",
      "ontology_slug": "missing-authority",
      "code": "PAT-0120",
      "title": "Missing Authority",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a region, action, state, or decision path exists without a declared governing authority.",
      "lenses": {
        "primary": [
          "authority-overlay-lens",
          "absence-lens"
        ],
        "secondary": [
          "conflict-lens",
          "reconciliation-lens"
        ]
      },
      "issues": {
        "primary": [
          "ai-memory-has-no-governance",
          "ai-memory-updated-without-asking",
          "automation-skips-required-approval",
          "fallback-authority-is-missing",
          "no-owner-for-agent-action",
          "tool-can-act-without-responsible-authority",
          "workflow-step-has-no-decision-owner"
        ],
        "supporting": [
          "action-triggered-by-confidence-score",
          "agent-cannot-choose-tool-without-tool-result",
          "agent-permission-expands-over-steps",
          "approval-depends-on-output-that-needs-approval",
          "cannot-identify-authoritative-state",
          "declared-owner-cannot-control-outcome",
          "missing-fallback-for-unavailable-information",
          "model-output-triggers-unapproved-action",
          "risk-score-triggers-wrong-escalation",
          "risk-signal-escalates-beyond-evidence",
          "severity-increases-without-new-evidence",
          "single-step-carries-too-many-decisions"
        ]
      },
      "url": "/workbench/patterns/missing-authority/",
      "markdown_url": "/workbench/patterns/missing-authority.md"
    },
    {
      "slug": "non-deterministic-execution",
      "ontology_slug": "non-deterministic-execution",
      "code": "PAT-0210",
      "title": "Non-Deterministic Execution",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where equivalent inputs and declared constraints produce divergent outputs across executions.",
      "lenses": {
        "primary": [
          "determinism-lens",
          "variance-entropy-lens"
        ],
        "secondary": [
          "convergence-lens",
          "reference-stability-lens"
        ]
      },
      "issues": {
        "primary": [
          "prompt-only-works-after-retry",
          "similar-cases-route-to-different-outcomes",
          "validation-result-changes-on-retry"
        ],
        "supporting": [
          "results-vary-too-much",
          "same-instructions-allow-different-outputs"
        ]
      },
      "url": "/workbench/patterns/non-deterministic-execution/",
      "markdown_url": "/workbench/patterns/non-deterministic-execution.md"
    },
    {
      "slug": "orphaned-structure",
      "ontology_slug": "orphaned-structure",
      "code": "PAT-0310",
      "title": "Orphaned Structure",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a node, region, object, state, or declaration exists without linkage to the governing graph or integration pathway.",
      "lenses": {
        "primary": [
          "absence-lens"
        ],
        "secondary": [
          "propagation-lens"
        ]
      },
      "issues": {
        "primary": [
          "tool-result-not-integrated-correctly"
        ],
        "supporting": [
          "merge-step-leaves-unresolved-differences",
          "relationship-map-has-missing-links",
          "review-queue-becomes-bottleneck",
          "task-progress-is-lost-midway",
          "workflow-stage-has-too-few-checks",
          "workflow-step-has-no-decision-owner",
          "workflow-step-lacks-required-conditions",
          "workflow-waits-on-step-that-waits-back"
        ]
      },
      "url": "/workbench/patterns/orphaned-structure/",
      "markdown_url": "/workbench/patterns/orphaned-structure.md"
    },
    {
      "slug": "overreach",
      "ontology_slug": "overreach",
      "code": "PAT-0340",
      "title": "Overreach",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where actions, effects, authority, or modifications extend beyond declared scope without authorization.",
      "lenses": {
        "primary": [
          "overreach-lens",
          "boundary-compliance-lens"
        ],
        "secondary": [
          "propagation-lens"
        ]
      },
      "issues": {
        "primary": [
          "ai-adds-work-not-requested",
          "ai-touches-unrelated-scope",
          "hallucinated-fields",
          "routing-overrides-task-intent"
        ],
        "supporting": [
          "agent-keeps-expanding-the-task",
          "agent-modified-unrelated-state",
          "agent-permission-expands-over-steps",
          "ai-uses-external-information-when-forbidden",
          "behavior-does-not-match-declared-role",
          "file-bounded-task-uses-outside-content",
          "local-rule-spreads-to-broader-cases",
          "policy-exception-spreads-too-far",
          "retrieval-exceeds-evidence-limit",
          "too-many-tool-calls"
        ]
      },
      "url": "/workbench/patterns/overreach/",
      "markdown_url": "/workbench/patterns/overreach.md"
    },
    {
      "slug": "persistence-instability",
      "ontology_slug": "persistence-instability",
      "code": "PAT-0350",
      "title": "Persistence Instability",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where persisted state cannot be stored and restored into an equivalent structure without alteration.",
      "lenses": {
        "primary": [
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens"
        ]
      },
      "issues": {
        "primary": [
          "ai-forgets-earlier-constraints",
          "saved-memory-not-used",
          "task-progress-is-lost-midway"
        ],
        "supporting": [
          "ai-memory-has-no-governance",
          "ai-memory-updated-without-asking",
          "context-changes-after-restore",
          "context-leaks-between-tasks",
          "old-output-expectations-survive-migration",
          "policy-update-not-reflected-in-output",
          "revoked-approval-still-treated-as-active",
          "rubric-changed-but-results-did-not",
          "stale-context-affects-output"
        ]
      },
      "url": "/workbench/patterns/persistence-instability/",
      "markdown_url": "/workbench/patterns/persistence-instability.md"
    },
    {
      "slug": "propagation-amplification",
      "ontology_slug": "propagation-amplification",
      "code": "PAT-0360",
      "title": "Propagation Amplification",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where an effect, declaration, authority, constraint, or state increases in scope or intensity as it propagates beyond declared bounds.",
      "lenses": {
        "primary": [
          "propagation-lens",
          "escalation-gradient-lens"
        ],
        "secondary": [
          "variance-entropy-lens"
        ]
      },
      "issues": {
        "primary": [
          "downstream-steps-magnify-hallucinated-claim",
          "early-model-output-gets-overweighted-downstream",
          "local-exception-grows-into-policy",
          "local-rule-spreads-to-broader-cases",
          "policy-exception-spreads-too-far",
          "repair-step-created-new-breakage",
          "small-change-produces-large-downstream-effects",
          "small-error-spreads-into-large-failure"
        ],
        "supporting": [
          "action-changed-something-else-too",
          "context-leaks-between-tasks",
          "retry-makes-the-problem-worse",
          "review-outcome-changes-unrelated-environment",
          "small-issue-keeps-escalating"
        ]
      },
      "url": "/workbench/patterns/propagation-amplification/",
      "markdown_url": "/workbench/patterns/propagation-amplification.md"
    },
    {
      "slug": "redundant-declaration",
      "ontology_slug": "redundant-declaration",
      "code": "PAT-0370",
      "title": "Redundant Declaration",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where multiple declarations produce equivalent structural effect without semantic differentiation.",
      "lenses": {
        "primary": [
          "normalization-lens",
          "conflict-lens"
        ],
        "secondary": [
          "compression-lens"
        ]
      },
      "issues": {
        "primary": [
          "duplicate-fields-with-same-meaning",
          "duplicate-output-sections",
          "multiple-policies-say-the-same-thing",
          "repeated-constraints-create-confusion",
          "same-rule-declared-in-multiple-places",
          "same-workflow-check-happens-twice"
        ],
        "supporting": [
          "old-output-expectations-survive-migration",
          "single-field-carries-too-many-obligations"
        ]
      },
      "url": "/workbench/patterns/redundant-declaration/",
      "markdown_url": "/workbench/patterns/redundant-declaration.md"
    },
    {
      "slug": "reference-instability",
      "ontology_slug": "reference-instability",
      "code": "PAT-0200",
      "title": "Reference Instability",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where references, identifiers, links, or anchors change across equivalent evaluations without a declared cause.",
      "lenses": {
        "primary": [
          "reference-stability-lens"
        ],
        "secondary": [
          "determinism-lens"
        ]
      },
      "issues": {
        "primary": [
          "citation-points-to-wrong-source",
          "saved-reference-no-longer-works"
        ],
        "supporting": [
          "answer-has-no-traceable-source-link",
          "cannot-identify-authoritative-state",
          "file-bounded-task-uses-outside-content",
          "policy-area-has-no-examples",
          "policy-update-not-reflected-in-output",
          "relationship-map-has-missing-links",
          "same-contract-name-has-different-meanings",
          "saved-memory-not-used",
          "schema-reference-loops-without-base-case",
          "version-change-breaks-existing-prompt"
        ]
      },
      "url": "/workbench/patterns/reference-instability/",
      "markdown_url": "/workbench/patterns/reference-instability.md"
    },
    {
      "slug": "schema-breakage",
      "ontology_slug": "schema-breakage",
      "code": "PAT-0160",
      "title": "Schema Breakage",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where an instance, graph, payload, or object violates the type, shape, or rule requirements of a declared schema.",
      "lenses": {
        "primary": [
          "interface-contract-lens",
          "invariant-lens"
        ],
        "secondary": [
          "conflict-lens"
        ]
      },
      "issues": {
        "primary": [
          "ai-output-breaks-parser",
          "invalid-json-output",
          "nested-fields-do-not-match",
          "wrong-field-types"
        ],
        "supporting": [
          "downstream-steps-magnify-hallucinated-claim",
          "duplicate-fields-with-same-meaning",
          "duplicate-output-sections",
          "format-rule-too-weak",
          "hallucinated-fields",
          "missing-required-fields",
          "output-breaks-the-next-step",
          "schema-reference-loops-without-base-case",
          "single-field-carries-too-many-obligations",
          "tool-call-contract-mismatch",
          "validation-result-changes-on-retry"
        ]
      },
      "url": "/workbench/patterns/schema-breakage/",
      "markdown_url": "/workbench/patterns/schema-breakage.md"
    },
    {
      "slug": "silent-mutation",
      "ontology_slug": "silent-mutation",
      "code": "PAT-0380",
      "title": "Silent Mutation",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a change occurs without a corresponding declared update, authority update, or version change.",
      "lenses": {
        "primary": [
          "reference-stability-lens",
          "determinism-lens"
        ],
        "secondary": [
          "provenance-trace-lens"
        ]
      },
      "issues": {
        "primary": [
          "output-changed-without-declared-change",
          "prompt-behavior-changed-without-version-change"
        ],
        "supporting": [
          "actual-policy-differs-from-declared-policy",
          "context-changes-after-restore",
          "retry-makes-the-problem-worse",
          "stale-context-affects-output"
        ]
      },
      "url": "/workbench/patterns/silent-mutation/",
      "markdown_url": "/workbench/patterns/silent-mutation.md"
    },
    {
      "slug": "threshold-breach",
      "ontology_slug": "threshold-breach",
      "code": "PAT-0390",
      "title": "Threshold Breach",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where an observed metric, value, state, or condition exceeds a declared quantitative or qualitative threshold.",
      "lenses": {
        "primary": [
          "invariant-lens"
        ],
        "secondary": [
          "boundary-compliance-lens"
        ]
      },
      "issues": {
        "primary": [
          "action-triggered-by-confidence-score",
          "output-exceeds-length-limit"
        ],
        "supporting": [
          "risk-score-triggers-wrong-escalation",
          "risk-signal-escalates-beyond-evidence",
          "severity-increases-without-new-evidence",
          "small-issue-keeps-escalating"
        ]
      },
      "url": "/workbench/patterns/threshold-breach/",
      "markdown_url": "/workbench/patterns/threshold-breach.md"
    },
    {
      "slug": "unbounded-scope",
      "ontology_slug": "unbounded-scope",
      "code": "PAT-0400",
      "title": "Unbounded Scope",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where an operation, authority, rule, or expansion has no declared upper bound, boundary, or termination condition.",
      "lenses": {
        "primary": [
          "isolation-boundary-lens",
          "constraint-sufficiency-lens"
        ],
        "secondary": [
          "escalation-gradient-lens"
        ]
      },
      "issues": {
        "primary": [
          "task-has-no-clear-limit",
          "too-many-tool-calls"
        ],
        "supporting": [
          "ai-adds-work-not-requested",
          "ai-touches-unrelated-scope",
          "answer-has-too-many-paths",
          "hallucinated-fields",
          "prompt-does-not-say-what-to-exclude",
          "single-step-carries-too-many-decisions"
        ]
      },
      "url": "/workbench/patterns/unbounded-scope/",
      "markdown_url": "/workbench/patterns/unbounded-scope.md"
    },
    {
      "slug": "unconstrained-expansion",
      "ontology_slug": "unconstrained-expansion",
      "code": "PAT-0410",
      "title": "Unconstrained Expansion",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where a region, process, authority, or effect expands without governing constraints limiting growth.",
      "lenses": {
        "primary": [
          "escalation-gradient-lens",
          "compression-lens"
        ],
        "secondary": [
          "variance-entropy-lens"
        ]
      },
      "issues": {
        "primary": [
          "agent-keeps-expanding-the-task"
        ],
        "supporting": [
          "agent-never-settles-on-final-answer"
        ]
      },
      "url": "/workbench/patterns/unconstrained-expansion/",
      "markdown_url": "/workbench/patterns/unconstrained-expansion.md"
    },
    {
      "slug": "undeclared-side-effect",
      "ontology_slug": "undeclared-side-effect",
      "code": "PAT-0420",
      "title": "Undeclared Side Effect",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "A structural condition where an operation modifies regions outside its declared target scope without a declared propagation or side-effect rule.",
      "lenses": {
        "primary": [
          "overreach-lens",
          "propagation-lens"
        ],
        "secondary": [
          "isolation-boundary-lens"
        ]
      },
      "issues": {
        "primary": [
          "action-changed-something-else-too",
          "model-output-triggers-unapproved-action"
        ],
        "supporting": [
          "agent-modified-unrelated-state",
          "ai-adds-work-not-requested",
          "ai-uses-external-information-when-forbidden",
          "automation-skips-required-approval",
          "no-owner-for-agent-action",
          "repair-step-created-new-breakage",
          "review-outcome-changes-unrelated-environment",
          "small-error-spreads-into-large-failure",
          "tool-can-act-without-responsible-authority"
        ]
      },
      "url": "/workbench/patterns/undeclared-side-effect/",
      "markdown_url": "/workbench/patterns/undeclared-side-effect.md"
    }
  ],
  "lenses": [
    {
      "slug": "absence-lens",
      "ontology_slug": "absence-lens",
      "code": "LEN-0100",
      "title": "Absence Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Detects structurally required elements that are missing from the observed structure.",
      "patterns": {
        "primary": [
          "density-vacuum",
          "incomplete-declaration",
          "missing-authority",
          "orphaned-structure"
        ],
        "secondary": []
      },
      "issues": [
        "action-triggered-by-confidence-score",
        "agent-cannot-choose-tool-without-tool-result",
        "agent-permission-expands-over-steps",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "answer-has-no-traceable-source-link",
        "approval-depends-on-output-that-needs-approval",
        "automation-skips-required-approval",
        "cannot-identify-authoritative-state",
        "declared-owner-cannot-control-outcome",
        "diagnostic-area-has-no-coverage",
        "evaluation-rubric-has-coverage-gap",
        "fallback-authority-is-missing",
        "format-rule-too-weak",
        "merge-step-leaves-unresolved-differences",
        "missing-fallback-for-unavailable-information",
        "missing-required-fields",
        "model-output-triggers-unapproved-action",
        "no-owner-for-agent-action",
        "policy-area-has-no-examples",
        "policy-decision-depends-on-itself",
        "relationship-map-has-missing-links",
        "review-queue-becomes-bottleneck",
        "review-rubric-missing-required-criteria",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "saved-memory-not-used",
        "severity-increases-without-new-evidence",
        "single-step-carries-too-many-decisions",
        "task-has-no-clear-limit",
        "task-progress-is-lost-midway",
        "tool-can-act-without-responsible-authority",
        "tool-exists-but-required-inputs-are-missing",
        "tool-result-not-integrated-correctly",
        "workflow-stage-has-too-few-checks",
        "workflow-step-has-no-decision-owner",
        "workflow-step-lacks-required-conditions",
        "workflow-waits-on-step-that-waits-back"
      ],
      "url": "/workbench/lenses/absence-lens/",
      "markdown_url": "/workbench/lenses/absence-lens.md"
    },
    {
      "slug": "authority-overlay-lens",
      "ontology_slug": "authority-overlay-lens",
      "code": "LEN-0110",
      "title": "Authority Overlay Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Maps declared authority hierarchies onto observed structure to detect absence, override, or conflict.",
      "patterns": {
        "primary": [
          "authority-collision",
          "authority-shadowing",
          "missing-authority"
        ],
        "secondary": [
          "authority-merge-conflict"
        ]
      },
      "issues": [
        "action-triggered-by-confidence-score",
        "agent-cannot-choose-tool-without-tool-result",
        "agent-gets-conflicting-tool-authority",
        "agent-permission-expands-over-steps",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "approval-depends-on-output-that-needs-approval",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "cannot-identify-authoritative-state",
        "conflicting-instructions-from-different-authorities",
        "declared-owner-cannot-control-outcome",
        "fallback-authority-is-missing",
        "hidden-rule-overrides-visible-instruction",
        "human-review-and-automation-disagree",
        "merge-step-leaves-unresolved-differences",
        "missing-fallback-for-unavailable-information",
        "model-output-triggers-unapproved-action",
        "multiple-policies-say-the-same-thing",
        "no-owner-for-agent-action",
        "parallel-reviews-never-agree",
        "permissions-conflict-after-being-combined",
        "policy-decision-depends-on-itself",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "same-case-has-conflicting-policies",
        "severity-increases-without-new-evidence",
        "single-step-carries-too-many-decisions",
        "tool-can-act-without-responsible-authority",
        "tool-rules-and-prompt-rules-conflict",
        "workflow-step-has-no-decision-owner"
      ],
      "url": "/workbench/lenses/authority-overlay-lens/",
      "markdown_url": "/workbench/lenses/authority-overlay-lens.md"
    },
    {
      "slug": "boundary-compliance-lens",
      "ontology_slug": "boundary-compliance-lens",
      "code": "LEN-0120",
      "title": "Boundary Compliance Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Evaluates observed structure against declared boundary posture, including allow, block, and exception rules.",
      "patterns": {
        "primary": [
          "overreach"
        ],
        "secondary": [
          "boundary-leakage",
          "compatibility-violation",
          "threshold-breach"
        ]
      },
      "issues": [
        "action-changed-something-else-too",
        "action-triggered-by-confidence-score",
        "agent-keeps-expanding-the-task",
        "agent-modified-unrelated-state",
        "agent-permission-expands-over-steps",
        "ai-adds-work-not-requested",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "ai-output-breaks-parser",
        "ai-touches-unrelated-scope",
        "ai-uses-external-information-when-forbidden",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "citation-points-to-wrong-source",
        "context-leaks-between-tasks",
        "declared-owner-cannot-control-outcome",
        "file-bounded-task-uses-outside-content",
        "hallucinated-fields",
        "hidden-rule-overrides-visible-instruction",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "model-and-workflow-disagree-on-next-step",
        "output-breaks-after-model-change",
        "output-breaks-the-next-step",
        "output-changed-without-declared-change",
        "output-exceeds-length-limit",
        "policy-exception-spreads-too-far",
        "prompt-changed-but-workflow-did-not",
        "prompt-does-not-say-what-to-exclude",
        "retrieval-exceeds-evidence-limit",
        "review-outcome-changes-unrelated-environment",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "routing-overrides-task-intent",
        "saved-reference-no-longer-works",
        "severity-increases-without-new-evidence",
        "small-change-produces-large-downstream-effects",
        "small-issue-keeps-escalating",
        "too-many-tool-calls",
        "tool-call-contract-mismatch",
        "version-change-breaks-existing-prompt",
        "wrong-field-types"
      ],
      "url": "/workbench/lenses/boundary-compliance-lens/",
      "markdown_url": "/workbench/lenses/boundary-compliance-lens.md"
    },
    {
      "slug": "compatibility-envelope-lens",
      "ontology_slug": "compatibility-envelope-lens",
      "code": "LEN-0130",
      "title": "Compatibility Envelope Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Determines whether structure fits within declared runtime, platform, version, or support constraints.",
      "patterns": {
        "primary": [
          "compatibility-violation"
        ],
        "secondary": []
      },
      "issues": [
        "ai-output-breaks-parser",
        "automation-skips-required-approval",
        "citation-points-to-wrong-source",
        "declared-owner-cannot-control-outcome",
        "model-and-workflow-disagree-on-next-step",
        "output-breaks-after-model-change",
        "output-breaks-the-next-step",
        "output-changed-without-declared-change",
        "prompt-changed-but-workflow-did-not",
        "saved-reference-no-longer-works",
        "small-change-produces-large-downstream-effects",
        "tool-call-contract-mismatch",
        "version-change-breaks-existing-prompt",
        "wrong-field-types"
      ],
      "url": "/workbench/lenses/compatibility-envelope-lens/",
      "markdown_url": "/workbench/lenses/compatibility-envelope-lens.md"
    },
    {
      "slug": "compression-lens",
      "ontology_slug": "compression-lens",
      "code": "LEN-0140",
      "title": "Compression Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Reduces structural graphs into stable minimal representations for comparison, redundancy detection, and diffing.",
      "patterns": {
        "primary": [
          "density-spike",
          "density-vacuum",
          "unconstrained-expansion"
        ],
        "secondary": [
          "asymmetric-structure",
          "divergent-outputs",
          "redundant-declaration"
        ]
      },
      "issues": [
        "agent-keeps-expanding-the-task",
        "agent-never-settles-on-final-answer",
        "answer-has-no-traceable-source-link",
        "answer-has-too-many-paths",
        "diagnostic-area-has-no-coverage",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "evaluation-rubric-has-coverage-gap",
        "missing-required-fields",
        "multiple-policies-say-the-same-thing",
        "old-output-expectations-survive-migration",
        "one-prompt-carries-too-many-meanings",
        "output-breaks-after-model-change",
        "output-exceeds-length-limit",
        "parallel-reviews-never-agree",
        "policy-area-has-no-examples",
        "prompt-behavior-changed-without-version-change",
        "prompt-has-too-many-valid-interpretations",
        "prompt-only-works-after-retry",
        "repeated-constraints-create-confusion",
        "results-vary-too-much",
        "retrieval-exceeds-evidence-limit",
        "review-queue-becomes-bottleneck",
        "review-rubric-missing-required-criteria",
        "same-instructions-allow-different-outputs",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "similar-cases-route-to-different-outcomes",
        "single-field-carries-too-many-obligations",
        "single-step-carries-too-many-decisions",
        "validation-result-changes-on-retry",
        "workflow-stage-has-too-few-checks"
      ],
      "url": "/workbench/lenses/compression-lens/",
      "markdown_url": "/workbench/lenses/compression-lens.md"
    },
    {
      "slug": "conflict-lens",
      "ontology_slug": "conflict-lens",
      "code": "LEN-0150",
      "title": "Conflict Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Detects mutually incompatible constraints, claims, states, or declarations that cannot be simultaneously satisfied.",
      "patterns": {
        "primary": [
          "authority-collision",
          "authority-merge-conflict",
          "circular-dependency",
          "invariant-breakage",
          "redundant-declaration"
        ],
        "secondary": [
          "authority-shadowing",
          "missing-authority",
          "schema-breakage"
        ]
      },
      "issues": [
        "action-triggered-by-confidence-score",
        "agent-cannot-choose-tool-without-tool-result",
        "agent-gets-conflicting-tool-authority",
        "agent-never-settles-on-final-answer",
        "agent-permission-expands-over-steps",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "ai-output-breaks-parser",
        "approval-depends-on-output-that-needs-approval",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "cannot-identify-authoritative-state",
        "conflicting-instructions-from-different-authorities",
        "declared-owner-cannot-control-outcome",
        "downstream-steps-magnify-hallucinated-claim",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "fallback-authority-is-missing",
        "format-rule-too-weak",
        "hallucinated-fields",
        "hidden-rule-overrides-visible-instruction",
        "human-review-and-automation-disagree",
        "invalid-json-output",
        "merge-step-leaves-unresolved-differences",
        "missing-fallback-for-unavailable-information",
        "missing-required-fields",
        "model-output-triggers-unapproved-action",
        "multiple-policies-say-the-same-thing",
        "nested-fields-do-not-match",
        "no-owner-for-agent-action",
        "old-output-expectations-survive-migration",
        "output-breaks-the-next-step",
        "parallel-reviews-never-agree",
        "permissions-conflict-after-being-combined",
        "policy-decision-depends-on-itself",
        "repeated-constraints-create-confusion",
        "review-escalates-without-stop-condition",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "routing-path-cycles-back-to-start",
        "same-case-has-conflicting-policies",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "schema-reference-loops-without-base-case",
        "severity-increases-without-new-evidence",
        "single-field-carries-too-many-obligations",
        "single-step-carries-too-many-decisions",
        "tool-call-contract-mismatch",
        "tool-can-act-without-responsible-authority",
        "tool-rules-and-prompt-rules-conflict",
        "validation-result-changes-on-retry",
        "workflow-loops-through-review-without-resolution",
        "workflow-step-has-no-decision-owner",
        "workflow-waits-on-step-that-waits-back",
        "wrong-field-types"
      ],
      "url": "/workbench/lenses/conflict-lens/",
      "markdown_url": "/workbench/lenses/conflict-lens.md"
    },
    {
      "slug": "constraint-sufficiency-lens",
      "ontology_slug": "constraint-sufficiency-lens",
      "code": "LEN-0160",
      "title": "Constraint Sufficiency Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Evaluates whether declared constraints are sufficient to eliminate structural degrees of freedom.",
      "patterns": {
        "primary": [
          "constraints-underspecified",
          "incomplete-declaration",
          "unbounded-scope"
        ],
        "secondary": [
          "density-vacuum"
        ]
      },
      "issues": [
        "ai-adds-work-not-requested",
        "ai-forgets-earlier-constraints",
        "ai-touches-unrelated-scope",
        "answer-has-no-traceable-source-link",
        "answer-has-too-many-paths",
        "diagnostic-area-has-no-coverage",
        "evaluation-rubric-has-coverage-gap",
        "fallback-authority-is-missing",
        "format-rule-too-weak",
        "hallucinated-fields",
        "invalid-json-output",
        "missing-fallback-for-unavailable-information",
        "missing-required-fields",
        "one-prompt-carries-too-many-meanings",
        "output-exceeds-length-limit",
        "policy-area-has-no-examples",
        "policy-decision-depends-on-itself",
        "prompt-does-not-say-what-to-exclude",
        "prompt-has-too-many-valid-interpretations",
        "prompt-only-works-after-retry",
        "relationship-map-has-missing-links",
        "repeated-constraints-create-confusion",
        "results-vary-too-much",
        "review-rubric-missing-required-criteria",
        "same-instructions-allow-different-outputs",
        "saved-memory-not-used",
        "single-step-carries-too-many-decisions",
        "task-has-no-clear-limit",
        "too-many-tool-calls",
        "tool-exists-but-required-inputs-are-missing",
        "workflow-stage-has-too-few-checks",
        "workflow-step-has-no-decision-owner",
        "workflow-step-lacks-required-conditions"
      ],
      "url": "/workbench/lenses/constraint-sufficiency-lens/",
      "markdown_url": "/workbench/lenses/constraint-sufficiency-lens.md"
    },
    {
      "slug": "convergence-lens",
      "ontology_slug": "convergence-lens",
      "code": "LEN-0170",
      "title": "Convergence Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Compares parallel structural systems to determine whether they align under shared authority.",
      "patterns": {
        "primary": [
          "asymmetric-structure",
          "contract-drift",
          "convergence-failure",
          "divergent-outputs"
        ],
        "secondary": [
          "authority-state-mismatch",
          "non-deterministic-execution"
        ]
      },
      "issues": [
        "actual-policy-differs-from-declared-policy",
        "agent-keeps-expanding-the-task",
        "agent-never-settles-on-final-answer",
        "ai-forgets-earlier-constraints",
        "behavior-does-not-match-declared-role",
        "cannot-identify-authoritative-state",
        "context-changes-after-restore",
        "declared-owner-cannot-control-outcome",
        "early-model-output-gets-overweighted-downstream",
        "human-review-and-automation-disagree",
        "local-exception-grows-into-policy",
        "merge-step-leaves-unresolved-differences",
        "model-and-workflow-disagree-on-next-step",
        "no-owner-for-agent-action",
        "old-output-expectations-survive-migration",
        "one-prompt-carries-too-many-meanings",
        "output-breaks-after-model-change",
        "output-changed-without-declared-change",
        "parallel-reviews-never-agree",
        "policy-update-not-reflected-in-output",
        "prompt-behavior-changed-without-version-change",
        "prompt-changed-but-workflow-did-not",
        "prompt-has-too-many-valid-interpretations",
        "prompt-only-works-after-retry",
        "results-vary-too-much",
        "review-escalates-without-stop-condition",
        "review-queue-becomes-bottleneck",
        "revoked-approval-still-treated-as-active",
        "routing-overrides-task-intent",
        "routing-path-cycles-back-to-start",
        "rubric-changed-but-results-did-not",
        "same-contract-name-has-different-meanings",
        "same-instructions-allow-different-outputs",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "saved-reference-no-longer-works",
        "similar-cases-route-to-different-outcomes",
        "small-change-produces-large-downstream-effects",
        "stale-context-affects-output",
        "task-progress-is-lost-midway",
        "tool-result-not-integrated-correctly",
        "validation-result-changes-on-retry",
        "version-change-breaks-existing-prompt",
        "workflow-loops-through-review-without-resolution",
        "workflow-waits-on-step-that-waits-back"
      ],
      "url": "/workbench/lenses/convergence-lens/",
      "markdown_url": "/workbench/lenses/convergence-lens.md"
    },
    {
      "slug": "determinism-lens",
      "ontology_slug": "determinism-lens",
      "code": "LEN-0180",
      "title": "Determinism Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Evaluates whether identical structural inputs produce equivalent structural outputs across repeated executions.",
      "patterns": {
        "primary": [
          "non-deterministic-execution",
          "silent-mutation"
        ],
        "secondary": [
          "constraints-underspecified",
          "contract-drift",
          "divergent-outputs",
          "persistence-instability",
          "reference-instability"
        ]
      },
      "issues": [
        "actual-policy-differs-from-declared-policy",
        "ai-forgets-earlier-constraints",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "answer-has-no-traceable-source-link",
        "answer-has-too-many-paths",
        "cannot-identify-authoritative-state",
        "citation-points-to-wrong-source",
        "context-changes-after-restore",
        "context-leaks-between-tasks",
        "diagnostic-area-has-no-coverage",
        "early-model-output-gets-overweighted-downstream",
        "evaluation-rubric-has-coverage-gap",
        "file-bounded-task-uses-outside-content",
        "format-rule-too-weak",
        "invalid-json-output",
        "missing-fallback-for-unavailable-information",
        "old-output-expectations-survive-migration",
        "one-prompt-carries-too-many-meanings",
        "output-breaks-after-model-change",
        "output-changed-without-declared-change",
        "output-exceeds-length-limit",
        "parallel-reviews-never-agree",
        "policy-area-has-no-examples",
        "policy-update-not-reflected-in-output",
        "prompt-behavior-changed-without-version-change",
        "prompt-changed-but-workflow-did-not",
        "prompt-does-not-say-what-to-exclude",
        "prompt-has-too-many-valid-interpretations",
        "prompt-only-works-after-retry",
        "relationship-map-has-missing-links",
        "repeated-constraints-create-confusion",
        "results-vary-too-much",
        "retry-makes-the-problem-worse",
        "review-rubric-missing-required-criteria",
        "revoked-approval-still-treated-as-active",
        "rubric-changed-but-results-did-not",
        "same-contract-name-has-different-meanings",
        "same-instructions-allow-different-outputs",
        "same-rule-declared-in-multiple-places",
        "saved-memory-not-used",
        "saved-reference-no-longer-works",
        "schema-reference-loops-without-base-case",
        "similar-cases-route-to-different-outcomes",
        "small-change-produces-large-downstream-effects",
        "stale-context-affects-output",
        "task-has-no-clear-limit",
        "task-progress-is-lost-midway",
        "tool-exists-but-required-inputs-are-missing",
        "tool-result-not-integrated-correctly",
        "validation-result-changes-on-retry",
        "version-change-breaks-existing-prompt",
        "workflow-step-lacks-required-conditions"
      ],
      "url": "/workbench/lenses/determinism-lens/",
      "markdown_url": "/workbench/lenses/determinism-lens.md"
    },
    {
      "slug": "escalation-gradient-lens",
      "ontology_slug": "escalation-gradient-lens",
      "code": "LEN-0190",
      "title": "Escalation Gradient Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Measures structural growth or intensification across sequential executions, states, or transitions.",
      "patterns": {
        "primary": [
          "escalation-growth",
          "propagation-amplification",
          "unconstrained-expansion"
        ],
        "secondary": [
          "cross-layer-escalation",
          "density-spike",
          "unbounded-scope"
        ]
      },
      "issues": [
        "action-changed-something-else-too",
        "action-triggered-by-confidence-score",
        "agent-keeps-expanding-the-task",
        "agent-never-settles-on-final-answer",
        "agent-permission-expands-over-steps",
        "ai-adds-work-not-requested",
        "ai-touches-unrelated-scope",
        "answer-has-too-many-paths",
        "context-leaks-between-tasks",
        "downstream-steps-magnify-hallucinated-claim",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "early-model-output-gets-overweighted-downstream",
        "hallucinated-fields",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "model-output-triggers-unapproved-action",
        "multiple-policies-say-the-same-thing",
        "one-prompt-carries-too-many-meanings",
        "output-exceeds-length-limit",
        "policy-exception-spreads-too-far",
        "prompt-does-not-say-what-to-exclude",
        "prompt-has-too-many-valid-interpretations",
        "repair-step-created-new-breakage",
        "repeated-constraints-create-confusion",
        "retrieval-exceeds-evidence-limit",
        "retry-makes-the-problem-worse",
        "review-escalates-without-stop-condition",
        "review-outcome-changes-unrelated-environment",
        "review-queue-becomes-bottleneck",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "routing-path-cycles-back-to-start",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "severity-increases-without-new-evidence",
        "single-field-carries-too-many-obligations",
        "single-step-carries-too-many-decisions",
        "small-change-produces-large-downstream-effects",
        "small-error-spreads-into-large-failure",
        "small-issue-keeps-escalating",
        "task-has-no-clear-limit",
        "too-many-tool-calls",
        "workflow-loops-through-review-without-resolution"
      ],
      "url": "/workbench/lenses/escalation-gradient-lens/",
      "markdown_url": "/workbench/lenses/escalation-gradient-lens.md"
    },
    {
      "slug": "interface-contract-lens",
      "ontology_slug": "interface-contract-lens",
      "code": "LEN-0200",
      "title": "Interface Contract Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Compares declared interface structure to observed runtime structure to detect contract deviations.",
      "patterns": {
        "primary": [
          "interface-mismatch",
          "schema-breakage"
        ],
        "secondary": [
          "incomplete-declaration",
          "invariant-breakage"
        ]
      },
      "issues": [
        "agent-cannot-choose-tool-without-tool-result",
        "agent-gets-conflicting-tool-authority",
        "ai-output-breaks-parser",
        "answer-has-no-traceable-source-link",
        "citation-points-to-wrong-source",
        "diagnostic-area-has-no-coverage",
        "downstream-steps-magnify-hallucinated-claim",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "evaluation-rubric-has-coverage-gap",
        "fallback-authority-is-missing",
        "format-rule-too-weak",
        "hallucinated-fields",
        "invalid-json-output",
        "missing-fallback-for-unavailable-information",
        "missing-required-fields",
        "model-and-workflow-disagree-on-next-step",
        "nested-fields-do-not-match",
        "output-breaks-the-next-step",
        "policy-area-has-no-examples",
        "policy-decision-depends-on-itself",
        "prompt-changed-but-workflow-did-not",
        "relationship-map-has-missing-links",
        "review-rubric-missing-required-criteria",
        "same-contract-name-has-different-meanings",
        "saved-memory-not-used",
        "schema-reference-loops-without-base-case",
        "single-field-carries-too-many-obligations",
        "task-has-no-clear-limit",
        "tool-call-contract-mismatch",
        "tool-can-act-without-responsible-authority",
        "tool-exists-but-required-inputs-are-missing",
        "tool-result-not-integrated-correctly",
        "tool-rules-and-prompt-rules-conflict",
        "validation-result-changes-on-retry",
        "workflow-stage-has-too-few-checks",
        "workflow-step-has-no-decision-owner",
        "workflow-step-lacks-required-conditions",
        "wrong-field-types"
      ],
      "url": "/workbench/lenses/interface-contract-lens/",
      "markdown_url": "/workbench/lenses/interface-contract-lens.md"
    },
    {
      "slug": "invariant-lens",
      "ontology_slug": "invariant-lens",
      "code": "LEN-0210",
      "title": "Invariant Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Verifies that declared invariants are structurally enforceable and not contradicted by observed structure.",
      "patterns": {
        "primary": [
          "invariant-breakage",
          "schema-breakage",
          "threshold-breach"
        ],
        "secondary": [
          "authority-collision"
        ]
      },
      "issues": [
        "action-triggered-by-confidence-score",
        "agent-gets-conflicting-tool-authority",
        "ai-output-breaks-parser",
        "approval-depends-on-output-that-needs-approval",
        "conflicting-instructions-from-different-authorities",
        "downstream-steps-magnify-hallucinated-claim",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "format-rule-too-weak",
        "hallucinated-fields",
        "hidden-rule-overrides-visible-instruction",
        "human-review-and-automation-disagree",
        "invalid-json-output",
        "missing-required-fields",
        "nested-fields-do-not-match",
        "output-breaks-the-next-step",
        "output-exceeds-length-limit",
        "parallel-reviews-never-agree",
        "permissions-conflict-after-being-combined",
        "policy-decision-depends-on-itself",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "same-case-has-conflicting-policies",
        "schema-reference-loops-without-base-case",
        "severity-increases-without-new-evidence",
        "single-field-carries-too-many-obligations",
        "small-issue-keeps-escalating",
        "tool-call-contract-mismatch",
        "tool-rules-and-prompt-rules-conflict",
        "validation-result-changes-on-retry",
        "wrong-field-types"
      ],
      "url": "/workbench/lenses/invariant-lens/",
      "markdown_url": "/workbench/lenses/invariant-lens.md"
    },
    {
      "slug": "isolation-boundary-lens",
      "ontology_slug": "isolation-boundary-lens",
      "code": "LEN-0220",
      "title": "Isolation Boundary Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Evaluates whether structural constraints, effects, and regions remain contained within declared boundaries.",
      "patterns": {
        "primary": [
          "boundary-leakage",
          "cross-layer-escalation",
          "unbounded-scope"
        ],
        "secondary": [
          "undeclared-side-effect"
        ]
      },
      "issues": [
        "action-changed-something-else-too",
        "agent-modified-unrelated-state",
        "ai-adds-work-not-requested",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "ai-touches-unrelated-scope",
        "ai-uses-external-information-when-forbidden",
        "answer-has-too-many-paths",
        "automation-skips-required-approval",
        "context-leaks-between-tasks",
        "file-bounded-task-uses-outside-content",
        "hallucinated-fields",
        "hidden-rule-overrides-visible-instruction",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "model-output-triggers-unapproved-action",
        "no-owner-for-agent-action",
        "policy-exception-spreads-too-far",
        "prompt-does-not-say-what-to-exclude",
        "repair-step-created-new-breakage",
        "retrieval-exceeds-evidence-limit",
        "review-outcome-changes-unrelated-environment",
        "routing-overrides-task-intent",
        "single-step-carries-too-many-decisions",
        "small-error-spreads-into-large-failure",
        "task-has-no-clear-limit",
        "too-many-tool-calls",
        "tool-can-act-without-responsible-authority"
      ],
      "url": "/workbench/lenses/isolation-boundary-lens/",
      "markdown_url": "/workbench/lenses/isolation-boundary-lens.md"
    },
    {
      "slug": "normalization-lens",
      "ontology_slug": "normalization-lens",
      "code": "LEN-0230",
      "title": "Normalization Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Transforms structurally equivalent variants into a canonical form to prevent false divergence.",
      "patterns": {
        "primary": [
          "redundant-declaration"
        ],
        "secondary": [
          "circular-dependency",
          "interface-mismatch"
        ]
      },
      "issues": [
        "agent-cannot-choose-tool-without-tool-result",
        "agent-gets-conflicting-tool-authority",
        "agent-never-settles-on-final-answer",
        "ai-output-breaks-parser",
        "approval-depends-on-output-that-needs-approval",
        "citation-points-to-wrong-source",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "fallback-authority-is-missing",
        "invalid-json-output",
        "model-and-workflow-disagree-on-next-step",
        "multiple-policies-say-the-same-thing",
        "nested-fields-do-not-match",
        "old-output-expectations-survive-migration",
        "output-breaks-the-next-step",
        "policy-decision-depends-on-itself",
        "prompt-changed-but-workflow-did-not",
        "repeated-constraints-create-confusion",
        "review-escalates-without-stop-condition",
        "routing-path-cycles-back-to-start",
        "same-contract-name-has-different-meanings",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "schema-reference-loops-without-base-case",
        "single-field-carries-too-many-obligations",
        "tool-call-contract-mismatch",
        "tool-can-act-without-responsible-authority",
        "tool-exists-but-required-inputs-are-missing",
        "tool-result-not-integrated-correctly",
        "tool-rules-and-prompt-rules-conflict",
        "workflow-loops-through-review-without-resolution",
        "workflow-waits-on-step-that-waits-back",
        "wrong-field-types"
      ],
      "url": "/workbench/lenses/normalization-lens/",
      "markdown_url": "/workbench/lenses/normalization-lens.md"
    },
    {
      "slug": "overreach-lens",
      "ontology_slug": "overreach-lens",
      "code": "LEN-0240",
      "title": "Overreach Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Detects structure that exceeds declared scope or authority reach.",
      "patterns": {
        "primary": [
          "overreach",
          "undeclared-side-effect"
        ],
        "secondary": []
      },
      "issues": [
        "action-changed-something-else-too",
        "agent-keeps-expanding-the-task",
        "agent-modified-unrelated-state",
        "agent-permission-expands-over-steps",
        "ai-adds-work-not-requested",
        "ai-touches-unrelated-scope",
        "ai-uses-external-information-when-forbidden",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "file-bounded-task-uses-outside-content",
        "hallucinated-fields",
        "local-rule-spreads-to-broader-cases",
        "model-output-triggers-unapproved-action",
        "no-owner-for-agent-action",
        "policy-exception-spreads-too-far",
        "repair-step-created-new-breakage",
        "retrieval-exceeds-evidence-limit",
        "review-outcome-changes-unrelated-environment",
        "routing-overrides-task-intent",
        "small-error-spreads-into-large-failure",
        "too-many-tool-calls",
        "tool-can-act-without-responsible-authority"
      ],
      "url": "/workbench/lenses/overreach-lens/",
      "markdown_url": "/workbench/lenses/overreach-lens.md"
    },
    {
      "slug": "propagation-lens",
      "ontology_slug": "propagation-lens",
      "code": "LEN-0250",
      "title": "Propagation Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Traces how structural declarations, effects, or state changes propagate across boundaries or stages.",
      "patterns": {
        "primary": [
          "boundary-leakage",
          "circular-dependency",
          "cross-layer-escalation",
          "propagation-amplification",
          "undeclared-side-effect"
        ],
        "secondary": [
          "escalation-growth",
          "orphaned-structure",
          "overreach"
        ]
      },
      "issues": [
        "action-changed-something-else-too",
        "action-triggered-by-confidence-score",
        "agent-cannot-choose-tool-without-tool-result",
        "agent-keeps-expanding-the-task",
        "agent-modified-unrelated-state",
        "agent-never-settles-on-final-answer",
        "agent-permission-expands-over-steps",
        "ai-adds-work-not-requested",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "ai-touches-unrelated-scope",
        "ai-uses-external-information-when-forbidden",
        "approval-depends-on-output-that-needs-approval",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "context-leaks-between-tasks",
        "downstream-steps-magnify-hallucinated-claim",
        "early-model-output-gets-overweighted-downstream",
        "fallback-authority-is-missing",
        "file-bounded-task-uses-outside-content",
        "hallucinated-fields",
        "hidden-rule-overrides-visible-instruction",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "merge-step-leaves-unresolved-differences",
        "model-output-triggers-unapproved-action",
        "no-owner-for-agent-action",
        "policy-decision-depends-on-itself",
        "policy-exception-spreads-too-far",
        "prompt-does-not-say-what-to-exclude",
        "relationship-map-has-missing-links",
        "repair-step-created-new-breakage",
        "retrieval-exceeds-evidence-limit",
        "retry-makes-the-problem-worse",
        "review-escalates-without-stop-condition",
        "review-outcome-changes-unrelated-environment",
        "review-queue-becomes-bottleneck",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "routing-overrides-task-intent",
        "routing-path-cycles-back-to-start",
        "schema-reference-loops-without-base-case",
        "severity-increases-without-new-evidence",
        "small-change-produces-large-downstream-effects",
        "small-error-spreads-into-large-failure",
        "small-issue-keeps-escalating",
        "task-progress-is-lost-midway",
        "too-many-tool-calls",
        "tool-can-act-without-responsible-authority",
        "tool-result-not-integrated-correctly",
        "workflow-loops-through-review-without-resolution",
        "workflow-stage-has-too-few-checks",
        "workflow-step-has-no-decision-owner",
        "workflow-step-lacks-required-conditions",
        "workflow-waits-on-step-that-waits-back"
      ],
      "url": "/workbench/lenses/propagation-lens/",
      "markdown_url": "/workbench/lenses/propagation-lens.md"
    },
    {
      "slug": "provenance-trace-lens",
      "ontology_slug": "provenance-trace-lens",
      "code": "LEN-0260",
      "title": "Provenance Trace Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Attaches stable lineage to structural regions by mapping origin, reference history, and transformation path.",
      "patterns": {
        "primary": [],
        "secondary": [
          "silent-mutation"
        ]
      },
      "issues": [
        "actual-policy-differs-from-declared-policy",
        "context-changes-after-restore",
        "output-changed-without-declared-change",
        "prompt-behavior-changed-without-version-change",
        "retry-makes-the-problem-worse",
        "stale-context-affects-output"
      ],
      "url": "/workbench/lenses/provenance-trace-lens/",
      "markdown_url": "/workbench/lenses/provenance-trace-lens.md"
    },
    {
      "slug": "reconciliation-lens",
      "ontology_slug": "reconciliation-lens",
      "code": "LEN-0270",
      "title": "Reconciliation Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Evaluates whether structural changes align with declared authority updates, version changes, or reconciliation rules.",
      "patterns": {
        "primary": [
          "authority-merge-conflict",
          "authority-state-mismatch",
          "contract-drift"
        ],
        "secondary": [
          "authority-collision",
          "authority-shadowing",
          "convergence-failure",
          "missing-authority"
        ]
      },
      "issues": [
        "action-triggered-by-confidence-score",
        "actual-policy-differs-from-declared-policy",
        "agent-cannot-choose-tool-without-tool-result",
        "agent-gets-conflicting-tool-authority",
        "agent-keeps-expanding-the-task",
        "agent-never-settles-on-final-answer",
        "agent-permission-expands-over-steps",
        "ai-forgets-earlier-constraints",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "approval-depends-on-output-that-needs-approval",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "cannot-identify-authoritative-state",
        "conflicting-instructions-from-different-authorities",
        "context-changes-after-restore",
        "declared-owner-cannot-control-outcome",
        "early-model-output-gets-overweighted-downstream",
        "fallback-authority-is-missing",
        "hidden-rule-overrides-visible-instruction",
        "human-review-and-automation-disagree",
        "local-exception-grows-into-policy",
        "merge-step-leaves-unresolved-differences",
        "missing-fallback-for-unavailable-information",
        "model-and-workflow-disagree-on-next-step",
        "model-output-triggers-unapproved-action",
        "multiple-policies-say-the-same-thing",
        "no-owner-for-agent-action",
        "old-output-expectations-survive-migration",
        "output-breaks-after-model-change",
        "output-changed-without-declared-change",
        "parallel-reviews-never-agree",
        "permissions-conflict-after-being-combined",
        "policy-decision-depends-on-itself",
        "policy-update-not-reflected-in-output",
        "prompt-behavior-changed-without-version-change",
        "prompt-changed-but-workflow-did-not",
        "review-escalates-without-stop-condition",
        "review-queue-becomes-bottleneck",
        "revoked-approval-still-treated-as-active",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "routing-overrides-task-intent",
        "routing-path-cycles-back-to-start",
        "rubric-changed-but-results-did-not",
        "same-case-has-conflicting-policies",
        "same-contract-name-has-different-meanings",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "saved-reference-no-longer-works",
        "severity-increases-without-new-evidence",
        "similar-cases-route-to-different-outcomes",
        "single-step-carries-too-many-decisions",
        "small-change-produces-large-downstream-effects",
        "stale-context-affects-output",
        "task-progress-is-lost-midway",
        "tool-can-act-without-responsible-authority",
        "tool-result-not-integrated-correctly",
        "tool-rules-and-prompt-rules-conflict",
        "version-change-breaks-existing-prompt",
        "workflow-loops-through-review-without-resolution",
        "workflow-step-has-no-decision-owner",
        "workflow-waits-on-step-that-waits-back"
      ],
      "url": "/workbench/lenses/reconciliation-lens/",
      "markdown_url": "/workbench/lenses/reconciliation-lens.md"
    },
    {
      "slug": "reference-stability-lens",
      "ontology_slug": "reference-stability-lens",
      "code": "LEN-0280",
      "title": "Reference Stability Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Evaluates whether structural references, identifiers, nodes, and edges remain consistent across execution cycles or comparable states.",
      "patterns": {
        "primary": [
          "persistence-instability",
          "reference-instability",
          "silent-mutation"
        ],
        "secondary": [
          "authority-state-mismatch",
          "non-deterministic-execution"
        ]
      },
      "issues": [
        "actual-policy-differs-from-declared-policy",
        "ai-forgets-earlier-constraints",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "answer-has-no-traceable-source-link",
        "behavior-does-not-match-declared-role",
        "cannot-identify-authoritative-state",
        "citation-points-to-wrong-source",
        "context-changes-after-restore",
        "context-leaks-between-tasks",
        "declared-owner-cannot-control-outcome",
        "early-model-output-gets-overweighted-downstream",
        "file-bounded-task-uses-outside-content",
        "human-review-and-automation-disagree",
        "local-exception-grows-into-policy",
        "model-and-workflow-disagree-on-next-step",
        "no-owner-for-agent-action",
        "old-output-expectations-survive-migration",
        "output-changed-without-declared-change",
        "policy-area-has-no-examples",
        "policy-update-not-reflected-in-output",
        "prompt-behavior-changed-without-version-change",
        "prompt-only-works-after-retry",
        "relationship-map-has-missing-links",
        "results-vary-too-much",
        "retry-makes-the-problem-worse",
        "revoked-approval-still-treated-as-active",
        "routing-overrides-task-intent",
        "rubric-changed-but-results-did-not",
        "same-contract-name-has-different-meanings",
        "same-instructions-allow-different-outputs",
        "saved-memory-not-used",
        "saved-reference-no-longer-works",
        "schema-reference-loops-without-base-case",
        "similar-cases-route-to-different-outcomes",
        "stale-context-affects-output",
        "task-progress-is-lost-midway",
        "validation-result-changes-on-retry",
        "version-change-breaks-existing-prompt"
      ],
      "url": "/workbench/lenses/reference-stability-lens/",
      "markdown_url": "/workbench/lenses/reference-stability-lens.md"
    },
    {
      "slug": "variance-entropy-lens",
      "ontology_slug": "variance-entropy-lens",
      "code": "LEN-0290",
      "title": "Variance / Entropy Lens",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Measures structural variability across repeated or comparable evaluations and identifies divergence beyond expected bounds.",
      "patterns": {
        "primary": [
          "asymmetric-structure",
          "density-spike",
          "divergent-outputs",
          "escalation-growth",
          "non-deterministic-execution"
        ],
        "secondary": [
          "constraints-underspecified",
          "convergence-failure",
          "propagation-amplification",
          "unconstrained-expansion"
        ]
      },
      "issues": [
        "action-changed-something-else-too",
        "action-triggered-by-confidence-score",
        "agent-keeps-expanding-the-task",
        "agent-never-settles-on-final-answer",
        "agent-permission-expands-over-steps",
        "ai-forgets-earlier-constraints",
        "answer-has-too-many-paths",
        "context-leaks-between-tasks",
        "diagnostic-area-has-no-coverage",
        "downstream-steps-magnify-hallucinated-claim",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "early-model-output-gets-overweighted-downstream",
        "evaluation-rubric-has-coverage-gap",
        "format-rule-too-weak",
        "human-review-and-automation-disagree",
        "invalid-json-output",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "merge-step-leaves-unresolved-differences",
        "missing-fallback-for-unavailable-information",
        "model-output-triggers-unapproved-action",
        "multiple-policies-say-the-same-thing",
        "one-prompt-carries-too-many-meanings",
        "output-breaks-after-model-change",
        "output-exceeds-length-limit",
        "parallel-reviews-never-agree",
        "policy-exception-spreads-too-far",
        "prompt-behavior-changed-without-version-change",
        "prompt-does-not-say-what-to-exclude",
        "prompt-has-too-many-valid-interpretations",
        "prompt-only-works-after-retry",
        "repair-step-created-new-breakage",
        "repeated-constraints-create-confusion",
        "results-vary-too-much",
        "retrieval-exceeds-evidence-limit",
        "retry-makes-the-problem-worse",
        "review-escalates-without-stop-condition",
        "review-outcome-changes-unrelated-environment",
        "review-queue-becomes-bottleneck",
        "review-rubric-missing-required-criteria",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "routing-path-cycles-back-to-start",
        "same-instructions-allow-different-outputs",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "severity-increases-without-new-evidence",
        "similar-cases-route-to-different-outcomes",
        "single-field-carries-too-many-obligations",
        "single-step-carries-too-many-decisions",
        "small-change-produces-large-downstream-effects",
        "small-error-spreads-into-large-failure",
        "small-issue-keeps-escalating",
        "task-has-no-clear-limit",
        "task-progress-is-lost-midway",
        "too-many-tool-calls",
        "tool-exists-but-required-inputs-are-missing",
        "validation-result-changes-on-retry",
        "workflow-loops-through-review-without-resolution",
        "workflow-step-lacks-required-conditions",
        "workflow-waits-on-step-that-waits-back"
      ],
      "url": "/workbench/lenses/variance-entropy-lens/",
      "markdown_url": "/workbench/lenses/variance-entropy-lens.md"
    }
  ],
  "categories": [
    {
      "slug": "agents",
      "ontology_slug": "agents",
      "code": "CAT-0030",
      "title": "Agents",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Agent actions, tool choices, and multi-step behavior.",
      "issues": [
        "agent-keeps-expanding-the-task",
        "ai-adds-work-not-requested",
        "routing-overrides-task-intent"
      ],
      "primary_issues": [
        "agent-keeps-expanding-the-task",
        "ai-adds-work-not-requested",
        "routing-overrides-task-intent"
      ],
      "secondary_issues": [
        "agent-modified-unrelated-state",
        "agent-never-settles-on-final-answer",
        "ai-touches-unrelated-scope",
        "no-owner-for-agent-action"
      ],
      "url": "/workbench/categories/agents/"
    },
    {
      "slug": "changes-and-versions",
      "ontology_slug": "changes-and-versions",
      "code": "CAT-0080",
      "title": "Changes & Versions",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Breakage caused by mismatched versions or stale expectations.",
      "issues": [
        "old-output-expectations-survive-migration",
        "output-breaks-after-model-change",
        "output-changed-without-declared-change",
        "prompt-behavior-changed-without-version-change",
        "prompt-changed-but-workflow-did-not",
        "rubric-changed-but-results-did-not",
        "same-contract-name-has-different-meanings",
        "saved-reference-no-longer-works",
        "version-change-breaks-existing-prompt"
      ],
      "primary_issues": [
        "old-output-expectations-survive-migration",
        "output-breaks-after-model-change",
        "output-changed-without-declared-change",
        "prompt-behavior-changed-without-version-change",
        "prompt-changed-but-workflow-did-not",
        "rubric-changed-but-results-did-not",
        "same-contract-name-has-different-meanings",
        "saved-reference-no-longer-works",
        "version-change-breaks-existing-prompt"
      ],
      "secondary_issues": [
        "actual-policy-differs-from-declared-policy",
        "context-changes-after-restore",
        "policy-update-not-reflected-in-output",
        "revoked-approval-still-treated-as-active",
        "small-change-produces-large-downstream-effects",
        "stale-context-affects-output"
      ],
      "url": "/workbench/categories/changes-and-versions/"
    },
    {
      "slug": "coverage-and-guidance",
      "ontology_slug": "coverage-and-guidance",
      "code": "CAT-0120",
      "title": "Coverage & Guidance",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Missing instructions, examples, criteria, or fallback paths.",
      "issues": [
        "diagnostic-area-has-no-coverage",
        "evaluation-rubric-has-coverage-gap",
        "format-rule-too-weak",
        "missing-fallback-for-unavailable-information",
        "policy-area-has-no-examples",
        "prompt-does-not-say-what-to-exclude",
        "prompt-has-too-many-valid-interpretations",
        "relationship-map-has-missing-links",
        "review-rubric-missing-required-criteria"
      ],
      "primary_issues": [
        "diagnostic-area-has-no-coverage",
        "evaluation-rubric-has-coverage-gap",
        "format-rule-too-weak",
        "missing-fallback-for-unavailable-information",
        "policy-area-has-no-examples",
        "prompt-does-not-say-what-to-exclude",
        "prompt-has-too-many-valid-interpretations",
        "relationship-map-has-missing-links",
        "review-rubric-missing-required-criteria"
      ],
      "secondary_issues": [
        "answer-has-no-traceable-source-link",
        "citation-points-to-wrong-source",
        "missing-required-fields",
        "one-prompt-carries-too-many-meanings",
        "same-instructions-allow-different-outputs",
        "saved-memory-not-used",
        "tool-exists-but-required-inputs-are-missing",
        "workflow-stage-has-too-few-checks",
        "workflow-step-lacks-required-conditions"
      ],
      "url": "/workbench/categories/coverage-and-guidance/"
    },
    {
      "slug": "duplication-and-overload",
      "ontology_slug": "duplication-and-overload",
      "code": "CAT-0140",
      "title": "Duplication & Overload",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Repeated rules, overloaded fields, or steps doing too much.",
      "issues": [
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "multiple-policies-say-the-same-thing",
        "one-prompt-carries-too-many-meanings",
        "repeated-constraints-create-confusion",
        "review-queue-becomes-bottleneck",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "single-field-carries-too-many-obligations",
        "single-step-carries-too-many-decisions"
      ],
      "primary_issues": [
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "multiple-policies-say-the-same-thing",
        "one-prompt-carries-too-many-meanings",
        "repeated-constraints-create-confusion",
        "review-queue-becomes-bottleneck",
        "same-rule-declared-in-multiple-places",
        "same-workflow-check-happens-twice",
        "single-field-carries-too-many-obligations",
        "single-step-carries-too-many-decisions"
      ],
      "secondary_issues": [],
      "url": "/workbench/categories/duplication-and-overload/"
    },
    {
      "slug": "inconsistent-behavior",
      "ontology_slug": "inconsistent-behavior",
      "code": "CAT-0090",
      "title": "Inconsistent Behavior",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Similar cases producing different results.",
      "issues": [
        "prompt-only-works-after-retry",
        "results-vary-too-much",
        "same-instructions-allow-different-outputs",
        "similar-cases-route-to-different-outcomes",
        "validation-result-changes-on-retry"
      ],
      "primary_issues": [
        "prompt-only-works-after-retry",
        "results-vary-too-much",
        "same-instructions-allow-different-outputs",
        "similar-cases-route-to-different-outcomes",
        "validation-result-changes-on-retry"
      ],
      "secondary_issues": [
        "prompt-behavior-changed-without-version-change",
        "prompt-has-too-many-valid-interpretations",
        "retry-makes-the-problem-worse"
      ],
      "url": "/workbench/categories/inconsistent-behavior/"
    },
    {
      "slug": "loops-and-resolution",
      "ontology_slug": "loops-and-resolution",
      "code": "CAT-0130",
      "title": "Loops & Resolution",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Work that cycles, waits, retries, or never settles.",
      "issues": [
        "agent-cannot-choose-tool-without-tool-result",
        "agent-never-settles-on-final-answer",
        "approval-depends-on-output-that-needs-approval",
        "cannot-identify-authoritative-state",
        "merge-step-leaves-unresolved-differences",
        "parallel-reviews-never-agree",
        "policy-decision-depends-on-itself",
        "routing-path-cycles-back-to-start",
        "schema-reference-loops-without-base-case",
        "workflow-loops-through-review-without-resolution",
        "workflow-waits-on-step-that-waits-back"
      ],
      "primary_issues": [
        "agent-cannot-choose-tool-without-tool-result",
        "agent-never-settles-on-final-answer",
        "approval-depends-on-output-that-needs-approval",
        "cannot-identify-authoritative-state",
        "merge-step-leaves-unresolved-differences",
        "parallel-reviews-never-agree",
        "policy-decision-depends-on-itself",
        "routing-path-cycles-back-to-start",
        "schema-reference-loops-without-base-case",
        "workflow-loops-through-review-without-resolution",
        "workflow-waits-on-step-that-waits-back"
      ],
      "secondary_issues": [],
      "url": "/workbench/categories/loops-and-resolution/"
    },
    {
      "slug": "mcp-tools-and-integrations",
      "ontology_slug": "mcp-tools-and-integrations",
      "code": "CAT-0040",
      "title": "MCP, Tools & Integrations",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Tool calls, integration boundaries, and downstream systems.",
      "issues": [
        "output-breaks-the-next-step",
        "too-many-tool-calls",
        "tool-call-contract-mismatch",
        "tool-exists-but-required-inputs-are-missing",
        "tool-result-not-integrated-correctly"
      ],
      "primary_issues": [
        "output-breaks-the-next-step",
        "too-many-tool-calls",
        "tool-call-contract-mismatch",
        "tool-exists-but-required-inputs-are-missing",
        "tool-result-not-integrated-correctly"
      ],
      "secondary_issues": [
        "agent-cannot-choose-tool-without-tool-result",
        "agent-gets-conflicting-tool-authority",
        "ai-output-breaks-parser",
        "tool-can-act-without-responsible-authority",
        "tool-rules-and-prompt-rules-conflict"
      ],
      "url": "/workbench/categories/mcp-tools-and-integrations/"
    },
    {
      "slug": "memory-and-context",
      "ontology_slug": "memory-and-context",
      "code": "CAT-0020",
      "title": "Memory & Context",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Stale, missing, restored, or leaking context.",
      "issues": [
        "ai-forgets-earlier-constraints",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "context-changes-after-restore",
        "context-leaks-between-tasks",
        "saved-memory-not-used",
        "stale-context-affects-output",
        "task-progress-is-lost-midway"
      ],
      "primary_issues": [
        "ai-forgets-earlier-constraints",
        "ai-memory-has-no-governance",
        "ai-memory-updated-without-asking",
        "context-changes-after-restore",
        "context-leaks-between-tasks",
        "saved-memory-not-used",
        "stale-context-affects-output",
        "task-progress-is-lost-midway"
      ],
      "secondary_issues": [],
      "url": "/workbench/categories/memory-and-context/"
    },
    {
      "slug": "output",
      "ontology_slug": "output",
      "code": "CAT-0010",
      "title": "Output",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Generated results that are malformed, unusable, or hard to verify.",
      "issues": [
        "ai-output-breaks-parser",
        "answer-has-no-traceable-source-link",
        "answer-has-too-many-paths",
        "citation-points-to-wrong-source",
        "hallucinated-fields",
        "invalid-json-output",
        "missing-required-fields",
        "nested-fields-do-not-match",
        "output-exceeds-length-limit",
        "wrong-field-types"
      ],
      "primary_issues": [
        "ai-output-breaks-parser",
        "answer-has-no-traceable-source-link",
        "answer-has-too-many-paths",
        "citation-points-to-wrong-source",
        "hallucinated-fields",
        "invalid-json-output",
        "missing-required-fields",
        "nested-fields-do-not-match",
        "output-exceeds-length-limit",
        "wrong-field-types"
      ],
      "secondary_issues": [
        "downstream-steps-magnify-hallucinated-claim",
        "duplicate-fields-with-same-meaning",
        "duplicate-output-sections",
        "file-bounded-task-uses-outside-content",
        "format-rule-too-weak",
        "old-output-expectations-survive-migration",
        "output-breaks-after-model-change",
        "output-breaks-the-next-step",
        "output-changed-without-declared-change",
        "retrieval-exceeds-evidence-limit",
        "saved-reference-no-longer-works",
        "schema-reference-loops-without-base-case",
        "single-field-carries-too-many-obligations",
        "small-error-spreads-into-large-failure",
        "tool-call-contract-mismatch",
        "tool-result-not-integrated-correctly",
        "validation-result-changes-on-retry",
        "version-change-breaks-existing-prompt"
      ],
      "url": "/workbench/categories/output/"
    },
    {
      "slug": "permissions-and-approvals",
      "ontology_slug": "permissions-and-approvals",
      "code": "CAT-0050",
      "title": "Permissions & Approvals",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Authority, ownership, approval, and action-control issues.",
      "issues": [
        "action-triggered-by-confidence-score",
        "agent-gets-conflicting-tool-authority",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "declared-owner-cannot-control-outcome",
        "fallback-authority-is-missing",
        "model-output-triggers-unapproved-action",
        "no-owner-for-agent-action",
        "permissions-conflict-after-being-combined",
        "revoked-approval-still-treated-as-active",
        "tool-can-act-without-responsible-authority"
      ],
      "primary_issues": [
        "action-triggered-by-confidence-score",
        "agent-gets-conflicting-tool-authority",
        "automation-skips-required-approval",
        "behavior-does-not-match-declared-role",
        "declared-owner-cannot-control-outcome",
        "fallback-authority-is-missing",
        "model-output-triggers-unapproved-action",
        "no-owner-for-agent-action",
        "permissions-conflict-after-being-combined",
        "revoked-approval-still-treated-as-active",
        "tool-can-act-without-responsible-authority"
      ],
      "secondary_issues": [
        "agent-permission-expands-over-steps",
        "ai-memory-has-no-governance",
        "approval-depends-on-output-that-needs-approval",
        "cannot-identify-authoritative-state",
        "conflicting-instructions-from-different-authorities",
        "hidden-rule-overrides-visible-instruction",
        "human-review-and-automation-disagree",
        "missing-fallback-for-unavailable-information",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "same-case-has-conflicting-policies",
        "severity-increases-without-new-evidence",
        "workflow-step-has-no-decision-owner"
      ],
      "url": "/workbench/categories/permissions-and-approvals/"
    },
    {
      "slug": "rules-and-policies",
      "ontology_slug": "rules-and-policies",
      "code": "CAT-0060",
      "title": "Rules & Policies",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Conflicting rules, hidden instructions, or policy drift.",
      "issues": [
        "actual-policy-differs-from-declared-policy",
        "conflicting-instructions-from-different-authorities",
        "hidden-rule-overrides-visible-instruction",
        "policy-update-not-reflected-in-output",
        "same-case-has-conflicting-policies",
        "tool-rules-and-prompt-rules-conflict"
      ],
      "primary_issues": [
        "actual-policy-differs-from-declared-policy",
        "conflicting-instructions-from-different-authorities",
        "hidden-rule-overrides-visible-instruction",
        "policy-update-not-reflected-in-output",
        "same-case-has-conflicting-policies",
        "tool-rules-and-prompt-rules-conflict"
      ],
      "secondary_issues": [
        "ai-uses-external-information-when-forbidden",
        "behavior-does-not-match-declared-role",
        "declared-owner-cannot-control-outcome",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "model-and-workflow-disagree-on-next-step",
        "multiple-policies-say-the-same-thing",
        "permissions-conflict-after-being-combined",
        "policy-area-has-no-examples",
        "policy-decision-depends-on-itself",
        "policy-exception-spreads-too-far",
        "repeated-constraints-create-confusion",
        "same-contract-name-has-different-meanings",
        "same-rule-declared-in-multiple-places"
      ],
      "url": "/workbench/categories/rules-and-policies/"
    },
    {
      "slug": "scope-and-boundaries",
      "ontology_slug": "scope-and-boundaries",
      "code": "CAT-0100",
      "title": "Scope & Boundaries",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Work crossing task, file, context, permission, or action limits.",
      "issues": [
        "agent-modified-unrelated-state",
        "ai-touches-unrelated-scope",
        "ai-uses-external-information-when-forbidden",
        "file-bounded-task-uses-outside-content",
        "retrieval-exceeds-evidence-limit",
        "task-has-no-clear-limit"
      ],
      "primary_issues": [
        "agent-modified-unrelated-state",
        "ai-touches-unrelated-scope",
        "ai-uses-external-information-when-forbidden",
        "file-bounded-task-uses-outside-content",
        "retrieval-exceeds-evidence-limit",
        "task-has-no-clear-limit"
      ],
      "secondary_issues": [
        "action-changed-something-else-too",
        "agent-keeps-expanding-the-task",
        "ai-adds-work-not-requested",
        "ai-memory-updated-without-asking",
        "answer-has-too-many-paths",
        "context-leaks-between-tasks",
        "hallucinated-fields",
        "prompt-does-not-say-what-to-exclude",
        "too-many-tool-calls"
      ],
      "url": "/workbench/categories/scope-and-boundaries/"
    },
    {
      "slug": "spread-and-escalation",
      "ontology_slug": "spread-and-escalation",
      "code": "CAT-0110",
      "title": "Spread & Escalation",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Small issues growing into wider downstream consequences.",
      "issues": [
        "action-changed-something-else-too",
        "agent-permission-expands-over-steps",
        "downstream-steps-magnify-hallucinated-claim",
        "early-model-output-gets-overweighted-downstream",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "policy-exception-spreads-too-far",
        "repair-step-created-new-breakage",
        "retry-makes-the-problem-worse",
        "review-escalates-without-stop-condition",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "severity-increases-without-new-evidence",
        "small-change-produces-large-downstream-effects",
        "small-error-spreads-into-large-failure",
        "small-issue-keeps-escalating"
      ],
      "primary_issues": [
        "action-changed-something-else-too",
        "agent-permission-expands-over-steps",
        "downstream-steps-magnify-hallucinated-claim",
        "early-model-output-gets-overweighted-downstream",
        "local-exception-grows-into-policy",
        "local-rule-spreads-to-broader-cases",
        "policy-exception-spreads-too-far",
        "repair-step-created-new-breakage",
        "retry-makes-the-problem-worse",
        "review-escalates-without-stop-condition",
        "risk-score-triggers-wrong-escalation",
        "risk-signal-escalates-beyond-evidence",
        "severity-increases-without-new-evidence",
        "small-change-produces-large-downstream-effects",
        "small-error-spreads-into-large-failure",
        "small-issue-keeps-escalating"
      ],
      "secondary_issues": [
        "action-triggered-by-confidence-score",
        "model-output-triggers-unapproved-action",
        "review-outcome-changes-unrelated-environment"
      ],
      "url": "/workbench/categories/spread-and-escalation/"
    },
    {
      "slug": "workflow-and-handoffs",
      "ontology_slug": "workflow-and-handoffs",
      "code": "CAT-0070",
      "title": "Workflow & Handoffs",
      "status": "stable",
      "entry_version": "0.1.0",
      "updated_at": "2026-05-10T00:00:00Z",
      "summary": "Breakage between steps, owners, reviewers, or systems.",
      "issues": [
        "human-review-and-automation-disagree",
        "model-and-workflow-disagree-on-next-step",
        "review-outcome-changes-unrelated-environment",
        "workflow-stage-has-too-few-checks",
        "workflow-step-has-no-decision-owner",
        "workflow-step-lacks-required-conditions"
      ],
      "primary_issues": [
        "human-review-and-automation-disagree",
        "model-and-workflow-disagree-on-next-step",
        "review-outcome-changes-unrelated-environment",
        "workflow-stage-has-too-few-checks",
        "workflow-step-has-no-decision-owner",
        "workflow-step-lacks-required-conditions"
      ],
      "secondary_issues": [
        "automation-skips-required-approval",
        "early-model-output-gets-overweighted-downstream",
        "evaluation-rubric-has-coverage-gap",
        "fallback-authority-is-missing",
        "merge-step-leaves-unresolved-differences",
        "parallel-reviews-never-agree",
        "prompt-changed-but-workflow-did-not",
        "relationship-map-has-missing-links",
        "repair-step-created-new-breakage",
        "review-escalates-without-stop-condition",
        "review-queue-becomes-bottleneck",
        "review-rubric-missing-required-criteria",
        "routing-overrides-task-intent",
        "routing-path-cycles-back-to-start",
        "rubric-changed-but-results-did-not",
        "same-workflow-check-happens-twice",
        "single-step-carries-too-many-decisions",
        "small-issue-keeps-escalating",
        "task-progress-is-lost-midway",
        "tool-result-not-integrated-correctly",
        "workflow-loops-through-review-without-resolution",
        "workflow-waits-on-step-that-waits-back"
      ],
      "url": "/workbench/categories/workflow-and-handoffs/"
    }
  ],
  "lookups": {
    "patterns_by_code": {
      "PAT-0110": "asymmetric-structure",
      "PAT-0100": "authority-collision",
      "PAT-0220": "authority-merge-conflict",
      "PAT-0230": "authority-shadowing",
      "PAT-0240": "authority-state-mismatch",
      "PAT-0140": "boundary-leakage",
      "PAT-0250": "circular-dependency",
      "PAT-0180": "compatibility-violation",
      "PAT-0170": "constraints-underspecified",
      "PAT-0190": "contract-drift",
      "PAT-0320": "convergence-failure",
      "PAT-0260": "cross-layer-escalation",
      "PAT-0270": "density-spike",
      "PAT-0280": "density-vacuum",
      "PAT-0290": "divergent-outputs",
      "PAT-0300": "escalation-growth",
      "PAT-0130": "incomplete-declaration",
      "PAT-0150": "interface-mismatch",
      "PAT-0330": "invariant-breakage",
      "PAT-0120": "missing-authority",
      "PAT-0210": "non-deterministic-execution",
      "PAT-0310": "orphaned-structure",
      "PAT-0340": "overreach",
      "PAT-0350": "persistence-instability",
      "PAT-0360": "propagation-amplification",
      "PAT-0370": "redundant-declaration",
      "PAT-0200": "reference-instability",
      "PAT-0160": "schema-breakage",
      "PAT-0380": "silent-mutation",
      "PAT-0390": "threshold-breach",
      "PAT-0400": "unbounded-scope",
      "PAT-0410": "unconstrained-expansion",
      "PAT-0420": "undeclared-side-effect"
    },
    "lenses_by_code": {
      "LEN-0100": "absence-lens",
      "LEN-0110": "authority-overlay-lens",
      "LEN-0120": "boundary-compliance-lens",
      "LEN-0130": "compatibility-envelope-lens",
      "LEN-0140": "compression-lens",
      "LEN-0150": "conflict-lens",
      "LEN-0160": "constraint-sufficiency-lens",
      "LEN-0170": "convergence-lens",
      "LEN-0180": "determinism-lens",
      "LEN-0190": "escalation-gradient-lens",
      "LEN-0200": "interface-contract-lens",
      "LEN-0210": "invariant-lens",
      "LEN-0220": "isolation-boundary-lens",
      "LEN-0230": "normalization-lens",
      "LEN-0240": "overreach-lens",
      "LEN-0250": "propagation-lens",
      "LEN-0260": "provenance-trace-lens",
      "LEN-0270": "reconciliation-lens",
      "LEN-0280": "reference-stability-lens",
      "LEN-0290": "variance-entropy-lens"
    }
  }
}