{
  "measurement": "Provenance of every threshold that drives Aurora's turn assembly and per-word speaker ownership",
  "read_on": "2026-09-18",
  "app_repository_evidence": "Packages/AuroraTranscription/Sources/Contracts/TurnAssemblerTuning.swift, app commit 8c827033 (identical at that repository's HEAD on 2026-09-18)",
  "test_that_pins_it": "Packages/AuroraTranscription/Tests/Unit/TurnAssemblerTuningTests.swift asserts this table cannot drift from the typed constants it documents",
  "provenance_definitions": {
    "validated by a named eval fixture": "a named fixture or eval run demonstrably justified this value",
    "derived from a documented invariant": "the value follows from another documented contract (named in provenance_note)",
    "inherited, no recorded eval evidence": "the value predates the tuning table and no run proves it beats a neighbouring value"
  },
  "counts": {
    "total": 37,
    "validated_by_a_named_eval_fixture": 0,
    "derived_from_a_documented_invariant": 9,
    "inherited_no_recorded_eval_evidence": 28
  },
  "note": "Values in samples are on Aurora's 16 kHz capture clock: divide by 16000 for seconds.",
  "thresholds": [
    {
      "threshold": "samplesPerMillisecond",
      "value": "16",
      "unit": "count",
      "provenance": "derived from a documented invariant",
      "provenance_note": "pipeline capture rate contract (16 kHz)",
      "rationale": "16 kHz capture rate; converts millisecond-domain policy values to samples."
    },
    {
      "threshold": "minimumSpeakerIslandEvidenceSamples",
      "value": "12800",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "0.8 s of contiguous evidence before an extra speaker slot (speaker_2+) may win a word; suppresses phantom speakers from diarizer jitter."
    },
    {
      "threshold": "delayedFinalWindowToleranceSamples",
      "value": "80000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "5 s window in which a late diarization window may still relabel an unlabeled tail at a final endpoint."
    },
    {
      "threshold": "incompleteRunTailHoldbackSamples",
      "value": "80000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "5 s of frontier progress before an unterminated run commits without a sentence ending."
    },
    {
      "threshold": "lateSpeakerBoundarySnapSamples",
      "value": "64000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "4 s proximity required between a trailing fragment and the next speaker's first word for a tail move."
    },
    {
      "threshold": "maximumIntraTurnGapSamples",
      "value": "12800",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "0.8 s: word gaps up to this never split a turn regardless of speaker evidence."
    },
    {
      "threshold": "maximumSameSpeakerPauseSamples",
      "value": "64000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "4 s: a same-speaker pause continues the turn unless opposing evidence fills the gap; beyond it silence ends the turn."
    },
    {
      "threshold": "minimumOpposingEvidenceOverlapSamples",
      "value": "1600",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "0.1 s: opposing diarization windows shorter than this inside a gap are edge jitter, not a floor change."
    },
    {
      "threshold": "maximumUpcomingSpeakerAssignmentGapSamples",
      "value": "16000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "1 s: an unlabeled word may borrow the next window's speaker only within this gap."
    },
    {
      "threshold": "maximumUnknownSpeakerInheritanceSamples",
      "value": "16000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "1 s cap on UNKNOWN runs inheriting the previous speaker (same-speaker sandwiches inherit unconditionally)."
    },
    {
      "threshold": "confirmedBoundaryAlignmentToleranceSamples",
      "value": "16000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "1 s alignment between a stability-gate-confirmed SpeakerTurnEvent and the next run's first word for a mid-utterance short-run commit."
    },
    {
      "threshold": "maximumFinalRebuildOwnershipAnchorDistanceSamples",
      "value": "24000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "1.5 s: a committed word decision anchors a re-decoded word's ownership only within this distance."
    },
    {
      "threshold": "boundedStatePruneHorizonSamples",
      "value": "256000",
      "unit": "samples at 16 kHz",
      "provenance": "derived from a documented invariant",
      "provenance_note": "must exceed rebuild lookahead + delayedFinalWindowToleranceSamples",
      "rationale": "16 s retention of windows / turn events behind committedUntil."
    },
    {
      "threshold": "committedRetentionHorizonSamples",
      "value": "640000",
      "unit": "samples at 16 kHz",
      "provenance": "derived from a documented invariant",
      "provenance_note": "dominates every in-memory consumer's reach; derivation documented on TurnAssembler",
      "rationale": "40 s in-memory retention of committed blocks behind the persistence-acknowledged watermark."
    },
    {
      "threshold": "boundaryPhraseLookaheadSamples",
      "value": "48000",
      "unit": "samples at 16 kHz",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "3 s neighborhood scanned for previous-speaker fallback and following-phrase dominance around a short boundary phrase."
    },
    {
      "threshold": "maximumBoundaryPhraseWords",
      "value": "3",
      "unit": "words",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Canonical short-boundary-phrase size; a run/tail of at most this many words can be re-attributed by boundary evidence. Formerly a literal 3 copied across five repair rules."
    },
    {
      "threshold": "lateSpeakerBoundarySnapMaxWords",
      "value": "8",
      "unit": "words",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Upper bound on any tail moved across a late speaker boundary; question tails may exceed maximumBoundaryPhraseWords up to this."
    },
    {
      "threshold": "commitReadyMinimumRunWords",
      "value": "8",
      "unit": "words",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "A run with at least this many words is commit-ready without a sentence ending or trailing pause."
    },
    {
      "threshold": "minimumSpeakerMappingWordsPerSpeaker",
      "value": "3",
      "unit": "words",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Speaker-name mapping requires at least this many attributed words per speaker."
    },
    {
      "threshold": "boundaryZoneMs",
      "value": "500",
      "unit": "ms",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Half-width of the contested zone around a diarizer speaker change."
    },
    {
      "threshold": "previousTailPadMs",
      "value": "400",
      "unit": "ms",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Backward attachment pad: a word ending this soon after the previous window may trail into that speaker."
    },
    {
      "threshold": "nextLeadPadMs",
      "value": "125",
      "unit": "ms",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Forward attachment pad: a word starting this soon before the next window may lead into that speaker."
    },
    {
      "threshold": "strongRawOverlapThreshold",
      "value": "0.50",
      "unit": "ratio",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Overlap share at/above which raw diarizer evidence alone wins a word."
    },
    {
      "threshold": "strongRawConfidenceThreshold",
      "value": "0.50",
      "unit": "ratio",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Window confidence required alongside strong raw overlap."
    },
    {
      "threshold": "centerInsideConfidenceThreshold",
      "value": "0.50",
      "unit": "ratio",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Window confidence required for the word-center-inside assignment."
    },
    {
      "threshold": "strongCompetingOverlapThreshold",
      "value": "0.45",
      "unit": "ratio",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "A competitor holding this share of overlap blocks trailing-orphan attachment."
    },
    {
      "threshold": "lowMarginThreshold",
      "value": "0.15",
      "unit": "ratio",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Winner-minus-runner-up margin below which an assignment stays provisional (UNKNOWN inside a boundary zone)."
    },
    {
      "threshold": "maxSilenceForTrailingOrphanMs",
      "value": "350",
      "unit": "ms",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Maximum silence between the previous window's end and a trailing-orphan word."
    },
    {
      "threshold": "upcomingSpeakerMaxGapMs",
      "value": "1000",
      "unit": "ms",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Maximum gap to the next window for the upcoming-speaker fallback."
    },
    {
      "threshold": "boundaryDecisionScoreGate",
      "value": "1.0",
      "unit": "ratio",
      "provenance": "derived from a documented invariant",
      "provenance_note": "2026-08 boundary-decision consolidation: weights calibrated to reproduce the eval-proven cascade",
      "rationale": "Evidence score required for a boundary verdict to apply; required-evidence weights sum to exactly this, reproducing the proven boolean rules."
    },
    {
      "threshold": "correctorMaxCandidatesPerSession",
      "value": "device-class dependent (LLMBudgetAuthority)",
      "unit": "count",
      "provenance": "derived from a documented invariant",
      "provenance_note": "cost-budget design, 2026-08-24 corrector introduction",
      "rationale": "Hard cap on LLM-corrected boundaries per session; bounds total correction cost."
    },
    {
      "threshold": "correctorMaxSpanWords",
      "value": "device-class dependent (LLMBudgetAuthority)",
      "unit": "words",
      "provenance": "derived from a documented invariant",
      "provenance_note": "cost-budget design, 2026-08-24 corrector introduction",
      "rationale": "Spans longer than this keep the diarizer's label; conversational-flow correction only wins on short spans."
    },
    {
      "threshold": "correctorPerCallTimeoutSeconds",
      "value": "device-class dependent (LLMBudgetAuthority)",
      "unit": "count",
      "provenance": "derived from a documented invariant",
      "provenance_note": "cost-budget design, 2026-08-24 corrector introduction",
      "rationale": "Per-micro-prompt wall cap in seconds; slow calls are skipped fail-open."
    },
    {
      "threshold": "correctorTotalBudgetSeconds",
      "value": "device-class dependent (LLMBudgetAuthority)",
      "unit": "count",
      "provenance": "derived from a documented invariant",
      "provenance_note": "cost-budget design, 2026-08-24 corrector introduction",
      "rationale": "Whole-batch wall cap in seconds; exceeding it keeps remaining original attributions."
    },
    {
      "threshold": "correctorContextWordsPerSide",
      "value": "device-class dependent (LLMBudgetAuthority)",
      "unit": "words",
      "provenance": "derived from a documented invariant",
      "provenance_note": "cost-budget design, 2026-08-24 corrector introduction",
      "rationale": "Context per side of a candidate span; keeps micro-prompts well under ~500 tokens."
    },
    {
      "threshold": "maximumDiagnosticEvents",
      "value": "2000",
      "unit": "count",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Diagnostics ring-buffer capacity."
    },
    {
      "threshold": "maximumCommitLatencySamples",
      "value": "10000",
      "unit": "count",
      "provenance": "inherited, no recorded eval evidence",
      "provenance_note": "",
      "rationale": "Cap on retained commit-latency samples for percentile metrics."
    }
  ]
}
