{
  "catalog": {
    "uuid": "8d174b39-0678-5871-bb03-40a9244f65ec",
    "metadata": {
      "title": "dsubstrate Failure-Mode Catalog",
      "last-modified": "2026-05-01T22:54:15.687027+00:00",
      "version": "0.1.0",
      "oscal-version": "1.1.2",
      "remarks": "Catalog of dsubstrate-tracked failure modes.  Each row in the failure_modes table maps to one control.  The detector_fn column supplies the assessment method that evaluates the control.  v0 \u2014 v1 will introduce groups (by pillar) + profiles."
    },
    "controls": [
      {
        "id": "dsubstrate.persona_drift",
        "class": "dsubstrate-failure-mode",
        "title": "Persona Drift",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.persona_drift"
          },
          {
            "name": "detector-fn",
            "value": "ahe.detectors.persona_drift"
          },
          {
            "name": "first-seen",
            "value": "2026-04-30T21:57:06.767351-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.persona_drift_smt",
            "name": "statement",
            "prose": "The agent self-identifies as a different model or assistant in user-facing responses."
          },
          {
            "id": "dsubstrate.persona_drift_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'persona_drift'.  Method: invoke `ahe.detectors.persona_drift` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      },
      {
        "id": "dsubstrate.persona_fabrication",
        "class": "dsubstrate-failure-mode",
        "title": "Persona Fabrication",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.persona_fabrication"
          },
          {
            "name": "detector-fn",
            "value": "ahe.detectors.persona_fabrication"
          },
          {
            "name": "first-seen",
            "value": "2026-04-30T21:57:06.767351-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.persona_fabrication_smt",
            "name": "statement",
            "prose": "The agent emits a message prefixed with an unauthorized persona, impersonating an identity it is not."
          },
          {
            "id": "dsubstrate.persona_fabrication_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'persona_fabrication'.  Method: invoke `ahe.detectors.persona_fabrication` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      },
      {
        "id": "dsubstrate.noisy_immediate_text_ack",
        "class": "dsubstrate-failure-mode",
        "title": "Noisy Immediate Text Ack",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.noisy_immediate_text_ack"
          },
          {
            "name": "detector-fn",
            "value": "ahe.detectors.noisy_immediate_text_ack"
          },
          {
            "name": "first-seen",
            "value": "2026-04-30T21:57:06.767351-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.noisy_immediate_text_ack_smt",
            "name": "statement",
            "prose": "The agent sends explicit \"on it\"/\"working on it\" filler text instead of using a typing-indicator side channel."
          },
          {
            "id": "dsubstrate.noisy_immediate_text_ack_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'noisy_immediate_text_ack'.  Method: invoke `ahe.detectors.noisy_immediate_text_ack` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      },
      {
        "id": "dsubstrate.json_dump",
        "class": "dsubstrate-failure-mode",
        "title": "Json Dump",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.json_dump"
          },
          {
            "name": "detector-fn",
            "value": "ahe.detectors.json_dump"
          },
          {
            "name": "first-seen",
            "value": "2026-04-30T21:57:06.767351-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.json_dump_smt",
            "name": "statement",
            "prose": "Raw JSON tool-call payload leaks to the user instead of a rendered text reply."
          },
          {
            "id": "dsubstrate.json_dump_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'json_dump'.  Method: invoke `ahe.detectors.json_dump` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      },
      {
        "id": "dsubstrate.no_ack",
        "class": "dsubstrate-failure-mode",
        "title": "No Ack",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.no_ack"
          },
          {
            "name": "detector-fn",
            "value": "ahe.detectors.no_ack"
          },
          {
            "name": "first-seen",
            "value": "2026-04-30T21:57:06.767351-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.no_ack_smt",
            "name": "statement",
            "prose": "Operator DM goes more than 5 seconds with no signal of life (no typing indicator, no acknowledgment)."
          },
          {
            "id": "dsubstrate.no_ack_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'no_ack'.  Method: invoke `ahe.detectors.no_ack` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      },
      {
        "id": "dsubstrate.max_turn_cap_hit",
        "class": "dsubstrate-failure-mode",
        "title": "Max Turn Cap Hit",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.max_turn_cap_hit"
          },
          {
            "name": "detector-fn",
            "value": "ahe.detectors.max_turn_cap_hit"
          },
          {
            "name": "first-seen",
            "value": "2026-04-30T21:57:06.767351-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.max_turn_cap_hit_smt",
            "name": "statement",
            "prose": "Max-iterations cap hit mid-loop, leaving the agent unable to complete the task it started."
          },
          {
            "id": "dsubstrate.max_turn_cap_hit_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'max_turn_cap_hit'.  Method: invoke `ahe.detectors.max_turn_cap_hit` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      },
      {
        "id": "dsubstrate.tool_call_failure",
        "class": "dsubstrate-failure-mode",
        "title": "Tool Call Failure",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.tool_call_failure"
          },
          {
            "name": "detector-fn",
            "value": "ahe.detectors.tool_call_failure"
          },
          {
            "name": "first-seen",
            "value": "2026-04-30T21:57:06.767351-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.tool_call_failure_smt",
            "name": "statement",
            "prose": "A tool call (identity, messaging, or helper) failed silently or with an unhandled error."
          },
          {
            "id": "dsubstrate.tool_call_failure_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'tool_call_failure'.  Method: invoke `ahe.detectors.tool_call_failure` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      },
      {
        "id": "dsubstrate.vision_inference_event",
        "class": "dsubstrate-failure-mode",
        "title": "Vision Inference Event",
        "props": [
          {
            "name": "label",
            "value": "dsubstrate.vision_inference_event"
          },
          {
            "name": "detector-fn",
            "value": "ahe.observability.vision_tick"
          },
          {
            "name": "first-seen",
            "value": "2026-05-01T17:39:21.989652-04:00"
          }
        ],
        "parts": [
          {
            "id": "dsubstrate.vision_inference_event_smt",
            "name": "statement",
            "prose": "Observability event: a vision-inference tick (capture \u2192 openvino \u2192 detection) ran and produced a result. Non-failure: the substrate records every tick to allow per-device latency tracking, model-drift monitoring over time, and edge-vs-cloud inference comparison."
          },
          {
            "id": "dsubstrate.vision_inference_event_obj",
            "name": "assessment-objective",
            "prose": "Confirm that the agent's runtime behavior does NOT exhibit the failure mode 'vision_inference_event'.  Method: invoke `ahe.observability.vision_tick` on relevant trajectories; control is satisfied when zero matches in the assessment window."
          }
        ]
      }
    ]
  }
}