{
  "product": "datadel",
  "displayName": "DataDeletion",
  "classification": "PUBLIC SYNTHETIC DATA ONLY",
  "execution": "Recorded actual local gateway/engine results; no external calls/network/database or private credential use",
  "localStatus": "Passed",
  "localCalls": 5,
  "operationsCovered": 3,
  "tools": [
    "datadel_computeRetainedAt",
    "datadel_checkEligibility",
    "datadel_buildPlan"
  ],
  "claudeFormalHostSelfTest": "Not established by these local fixtures",
  "openaiFormalHostSelfTest": "Not established by these local fixtures",
  "limitation": "Supplied retention/eligibility checks and repository deletion plans; no actual erasure, independent plan eligibility inference or legal approval.",
  "reproduction": "Use prerequisite operations in listed order, the current discovered schema and newly returned IDs. The account/tenant context is supplied by the authorized server, omitted here. Local result IDs are examples from one isolated run. These records are not production data or a production-host test.",
  "cases": [
    {
      "tool": "datadel_computeRetainedAt",
      "arguments": [
        {
          "objectId": "obj_de777fac-2fd3-437e-b40d-389a287b75bd",
          "source": "SYNTHETIC",
          "ownerKey": "synthetic-owner",
          "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
          "retention": {
            "kind": "retention_days",
            "createdAt": "2026-10-01T00:00:00.000Z",
            "retentionDays": 10
          },
          "exempt": false
        }
      ],
      "expected": "2026-10-11T00:00:00.000Z",
      "actual": "2026-10-11T00:00:00.000Z",
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "datadel_checkEligibility",
      "arguments": [
        {
          "objectId": "obj_de777fac-2fd3-437e-b40d-389a287b75bd",
          "source": "SYNTHETIC",
          "ownerKey": "synthetic-owner",
          "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
          "retention": {
            "kind": "retention_days",
            "createdAt": "2026-10-01T00:00:00.000Z",
            "retentionDays": 10
          },
          "exempt": false
        },
        "2026-10-19T00:00:00.000Z"
      ],
      "expected": "ELIGIBLE",
      "actual": "ELIGIBLE",
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "datadel_checkEligibility",
      "arguments": [
        {
          "objectId": "obj_de777fac-2fd3-437e-b40d-389a287b75bd",
          "source": "SYNTHETIC",
          "ownerKey": "synthetic-owner",
          "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
          "retention": {
            "kind": "retention_days",
            "createdAt": "2026-10-01T00:00:00.000Z",
            "retentionDays": 10
          },
          "exempt": true
        },
        "2026-10-19T00:00:00.000Z"
      ],
      "expected": "EXEMPT",
      "actual": "EXEMPT",
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "datadel_checkEligibility",
      "arguments": [
        {
          "objectId": "obj_de777fac-2fd3-437e-b40d-389a287b75bd",
          "source": "SYNTHETIC",
          "ownerKey": "synthetic-owner",
          "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
          "retention": {
            "kind": "legal_hold",
            "createdAt": "2026-10-01T00:00:00.000Z",
            "retentionDays": 10
          },
          "exempt": false
        },
        "2026-10-19T00:00:00.000Z"
      ],
      "expected": "RETAINED",
      "actual": "RETAINED",
      "dependencies": [],
      "localStatus": "Passed"
    },
    {
      "tool": "datadel_buildPlan",
      "arguments": [
        [
          {
            "repo": "blob",
            "steps": [
              {
                "kind": "hard_delete",
                "scope": "synthetic"
              }
            ],
            "dependsOn": [
              "vector"
            ]
          },
          {
            "repo": "vector",
            "steps": [
              {
                "kind": "hard_delete",
                "scope": "synthetic"
              }
            ],
            "dependsOn": []
          }
        ],
        "obj_de777fac-2fd3-437e-b40d-389a287b75bd",
        "2026-10-19T00:00:00.000Z"
      ],
      "expected": "vector before blob; no deletion",
      "actual": [
        {
          "repo": "vector",
          "stepKind": "hard_delete",
          "scope": "synthetic",
          "order": 0
        },
        {
          "repo": "blob",
          "stepKind": "hard_delete",
          "scope": "synthetic",
          "order": 1
        }
      ],
      "dependencies": [],
      "localStatus": "Passed"
    }
  ],
  "hostConversationCases": {
    "positive": [
      {
        "prompt": "Using the supplied synthetic fixture inputs, calculate a supplied object's retention deadline. Explain the returned evidence and limits.",
        "tools_triggered": "datadel_computeRetainedAt",
        "expected_behavior": "datadel_computeRetainedAt: 2026-10-11T00:00:00.000Z"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, check a supplied object's deletion eligibility. Explain the returned evidence and limits.",
        "tools_triggered": "datadel_checkEligibility",
        "expected_behavior": "datadel_checkEligibility: ELIGIBLE"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, check a supplied object's deletion eligibility. Explain the returned evidence and limits.",
        "tools_triggered": "datadel_checkEligibility",
        "expected_behavior": "datadel_checkEligibility: EXEMPT"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, check a supplied object's deletion eligibility. Explain the returned evidence and limits.",
        "tools_triggered": "datadel_checkEligibility",
        "expected_behavior": "datadel_checkEligibility: RETAINED"
      },
      {
        "prompt": "Using the supplied synthetic fixture inputs, order supplied deletion pipeline steps. Explain the returned evidence and limits.",
        "tools_triggered": "datadel_buildPlan",
        "expected_behavior": "datadel_buildPlan: vector before blob; no deletion"
      }
    ],
    "negative": [
      {
        "prompt": "Delete all production database objects now."
      },
      {
        "prompt": "Give legal approval to destroy this held document."
      },
      {
        "prompt": "Verify the remote deletion has completed."
      }
    ]
  },
  "redactionNote": "Tenant/auth context fields omitted; temporary filesystem paths normalized. Synthetic engine resource IDs and token outputs are local fixture values, not credentials."
}
