{
 "atlas_url": "https://stockql.ai/atlas/wave-001/call-structure-logistics.json",
 "current_url": "https://stockql.ai/atlas/call-structure-logistics.json",
 "wave": "wave-001",
 "published_spec_sha256": "32c841a9d9c9d1470da7428518a717c91ed43ccb49d2547cf4b973d622bd6586",
 "verify_with": "freeze_registry.py verify (github: see /atlas/index.json tooling note)",
 "generated_utc": "2026-10-26T17:26:21Z",
 "frozen_entry": {
  "contract_version": "signal-atlas-registry-v1",
  "policy_version": "registry-policy-v1",
  "registry_wave_id": "wave-001",
  "family": {
   "family_id": "call-structure-logistics",
   "family_title": "Call Structure & Logistics: scheduling and transcript-shape metadata as return signals (zero/near-zero LLM cost)",
   "owner": "Hermit",
   "independent_reviewer": "Chariot",
   "source_bead": "cst-5cr5.11.5",
   "spec_version": 1,
   "supersedes_spec_sha256": null,
   "claimed_at_utc": "2026-10-20T23:55:00Z",
   "shared_extraction": {
    "input_unit": "single call, joined to the same issuer's prior quarterly calls' stored per-call metadata rows (never prior transcript text) for trailing baselines. Baseline rows MAY be read from calls preceding the discovery window (pre-2023-Q1), limited to the same deterministic per-call metadata (call_date, section token counts, turn-attribution aggregates) \u2014 never returns, never prices, never text beyond speaker labels; this is leakage-safe and preregistered here so early discovery-window quarters are scorable. Symmetrically, a holdout call's trailing baselines may reach back into the discovery window: baselines are issuer history metadata, not outcomes, and this direction is likewise declared.",
    "input_binding": "transcript-gate splitter output with verdict ok: prepared-remarks section, Q&A section, per-turn speaker labels and turn order; snapshot metadata limited to ticker, call_date, fiscal_quarter, fiscal_year, calendar_quarter, sector. CSL-5 additionally reads the raw text of the SAME call's prepared-remarks and Q&A sections. No other transcript text is read by any CSL feature.",
    "output_contract": "one typed metadata row per call: {transcript_id, inter_call_gap_days, prepared_tokens, qa_tokens, distinct_questioners, mgmt_speaker_token_shares (list), scripted_spill_share, per-field support counts, explicit null for any field whose inputs are absent}; evidence = the deterministic inputs themselves (turn indices, token counts, matched character offsets for CSL-5); no confidence field \u2014 the extractor is deterministic code, not a judgment",
    "model_or_algorithm": "deterministic algorithm: Python extractor over transcript-gate splitter output; whitespace tokenization; speaker labels normalized by case-fold and whitespace collapse; no model in the loop for any hypothesis; code artifact hashed before scoring per the pre-scoring gate",
    "prompt_or_code_artifact_sha256": null,
    "scorer_blinded_to_returns": true,
    "scorer_blinded_to_future_transcripts": true
   },
   "hypotheses": [
    {
     "hypothesis_id": "CSL-1",
     "title": "Scheduling delay versus issuer norm predicts negative abnormal return",
     "statement": "Calls held later than the issuer's own trailing scheduling norm \u2014 current inter-call gap in days minus the trailing median of the issuer's prior quarterly inter-call gaps \u2014 earn lower +2..+60 session SPY-relative abnormal returns than calls held on or ahead of the norm (delayed disclosure carries bad news; literature precedent on announcement-timing delay).",
     "direction": "negative",
     "unit_of_analysis": "one earnings call (issuer-quarter) with issuer trailing call-date history",
     "cost_class": "metadata-only",
     "primary_feature": {
      "name": "csl_sched_delay",
      "definition": "days between call_date and the same issuer's previous adjacent quarterly call_date (per settled tone-delta pairing rules: adjacent fiscal identity, quarterly call gap), minus the median of the issuer's prior IN-RANGE inter-call gaps (gaps within 60..130 days) computed over up to 4 immediately preceding adjacent pairs; out-of-range baseline gaps (fiscal-calendar change, special call, data error) are DROPPED from the baseline rather than poisoning the call, and at least 2 in-range baseline gaps must remain; defined on inter-call gaps rather than fiscal-period-end lag so no fiscal-calendar assumption is needed",
      "aggregation": "one scalar per call from call_date metadata only; no text read",
      "comparison": "cross-sectional level within calendar quarter, quintile sort high-minus-low, matching settled-entry portfolio convention"
     },
     "primary_endpoint": {
      "return_field": "abnormal_60_winsor",
      "window_start_session": 2,
      "window_end_session": 60,
      "benchmark": "cumulative stock return divided by SPY return, winsorized 1/99 percent, per transcript-alpha settled-entry convention",
      "price_timing": "close of first SPY session strictly after call_date through close of session +60"
     },
     "estimator": "quarterly high-minus-low quintile spread, Newey-West lag-1 on quarterly spreads, ticker-cluster bootstrap as in settled entries 1-4",
     "universe": "all calls in the wave-001 discovery Research Snapshot passing the settled liquidity gates (min pre-call close, min prior-60-session median dollar volume) and splitter verdict ok, with at least 3 prior adjacent quarterly calls' metadata rows available (1 for the current gap + 2 for the baseline median); per shared_extraction.input_unit, baseline metadata rows may precede the discovery window (pre-2023-Q1) so early discovery quarters remain scorable",
     "exclusions": [
      "splitter verdict not ok",
      "no previous adjacent quarterly call per settled pairing rules (missing transcript, nonadjacent fiscal identity, or nonquarterly gap)",
      "fewer than 2 in-range (60..130 day) baseline inter-call gaps remaining after dropping out-of-range gaps (out-of-range baseline gaps are dropped from the baseline median, not call-poisoning \u2014 one fiscal-year-end change must not disqualify the issuer's next four quarters; rule frozen here per reviewer item 4)",
      "current inter-call gap outside 60..130 days (fiscal-calendar change, special call, or data error on the scored call itself; bounds frozen here, never tuned at scoring time)",
      "below settled liquidity/price gates",
      "incomplete +60 session return horizon at frozen price cutoff"
     ],
     "missingness_rule": "calls failing the prior-history requirement are excluded (support), not imputed; call_date is never missing for a snapshot call by construction",
     "support_gate": "minimum 400 scored calls, 150 distinct issuers, 6 calendar quarters",
     "smallest_effect_size_of_interest": "0.01 (one percentage point) quarterly high-minus-low spread in abnormal_60_winsor units",
     "power_target": 0.8,
     "calibration_gate": {
      "blind_to_returns": true,
      "labeled_sample_design": "deterministic fixture plan: constructed issuer call-date sequences with known gaps (regular quarters, one delayed call, a fiscal-year shift, a missing quarter, a special mid-quarter call) where the correct csl_sched_delay and every exclusion firing is known by construction; plus a seeded deterministic draw of 30 real discovery-window issuer sequences whose extractor output is hand-recomputed from call_date metadata alone by a seat other than the owner",
      "metrics": [
       "deterministic exactness: extractor output equals hand-computed value on 100% of fixtures and sampled real sequences",
       "exclusion-rule firing matches construction on 100% of fixtures"
      ],
      "minimum_thresholds": "100% exactness on fixtures and sampled sequences; any mismatch fails the gate",
      "disagreement_review": "any extractor-vs-hand mismatch listed verbatim in the calibration artifact with the input rows; reviewer signs off on fixture coverage and the mismatch list (empty or not)",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-001-primary",
     "holdout_rule": "common-wave-001",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "call_date of the current call and the same issuer's prior snapshot calls",
       "fiscal_quarter, fiscal_year, calendar_quarter (pairing and adjacency only)",
       "ticker (issuer-baseline join key only; never enters the feature value)"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata",
       "all transcript text"
      ],
      "identifier_handling": "required-and-declared",
      "date_handling": "required-and-declared",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "no model in the loop \u2014 the extractor is deterministic code over dates, so pretraining leakage is structurally impossible for this hypothesis",
      "rationale": "the construct IS the issuer's scheduling behavior: ticker is required to join an issuer to its own history, and call_date is the sole raw input. Both are declared rather than stripped because stripping either destroys the feature; neither reaches any model."
     },
     "overlap_boundary": "No settled or concurrently registered Atlas hypothesis uses call scheduling. Distinct from Chariot's call-mechanics family, which instruments within-call delivery properties; CSL-1 reads no transcript content at all.",
     "secondary_analyses": []
    },
    {
     "hypothesis_id": "CSL-2",
     "title": "Q&A-to-prepared token ratio versus issuer norm is positively associated with abnormal return",
     "statement": "Calls whose Q&A-to-prepared-remarks token ratio falls below the issuer's own trailing norm earn lower +2..+60 session SPY-relative abnormal returns (management rationing analyst exposure precedes underperformance); equivalently, the issuer-baseline delta of the ratio is positively associated with abnormal return.",
     "direction": "positive",
     "unit_of_analysis": "one earnings call (issuer-quarter) with issuer trailing call history",
     "cost_class": "metadata-only",
     "primary_feature": {
      "name": "csl_qa_ratio_delta",
      "definition": "qa_tokens / prepared_tokens for the current call (whitespace tokens of each splitter section) minus the median of the same ratio over up to 4 immediately preceding adjacent quarterly calls (minimum 2 required)",
      "aggregation": "one scalar per call from splitter section token counts; no text content read",
      "comparison": "cross-sectional level within calendar quarter, quintile sort high-minus-low"
     },
     "primary_endpoint": {
      "return_field": "abnormal_60_winsor",
      "window_start_session": 2,
      "window_end_session": 60,
      "benchmark": "cumulative stock return divided by SPY return, winsorized 1/99 percent, per transcript-alpha settled-entry convention",
      "price_timing": "close of first SPY session strictly after call_date through close of session +60"
     },
     "estimator": "quarterly high-minus-low quintile spread, Newey-West lag-1 on quarterly spreads, ticker-cluster bootstrap as in settled entries 1-4",
     "universe": "CSL-1 universe (settled liquidity gates, splitter verdict ok, trailing history) with every baseline call also splitter-verdict ok",
     "exclusions": [
      "splitter verdict not ok on the current call",
      "fewer than 2 baseline calls with splitter verdict ok and both sections nonempty",
      "prepared_tokens < 500 or qa_tokens < 500 on the current call (degenerate sections; threshold matches the settled tone-delta --min-qa-tokens convention and is frozen here)",
      "baseline-call gaps or adjacency failing the CSL-1 pairing rules",
      "below settled liquidity/price gates",
      "incomplete +60 session return horizon at frozen price cutoff"
     ],
     "missingness_rule": "calls with a missing or empty section, or insufficient baseline, are excluded (support), not imputed",
     "support_gate": "minimum 400 scored calls, 150 distinct issuers, 6 calendar quarters",
     "smallest_effect_size_of_interest": "0.01 (one percentage point) quarterly high-minus-low spread in abnormal_60_winsor units",
     "power_target": 0.8,
     "calibration_gate": {
      "blind_to_returns": true,
      "labeled_sample_design": "deterministic fixture plan: constructed transcripts with known section token counts (including boundary cases: minimal Q&A, operator-only turns, tier-3/tier-4 boundary placements from the transcript-gate test suite) where the true ratio is known by construction; plus a seeded deterministic draw of 30 real discovery-window calls whose section token counts are hand-recomputed by a seat other than the owner",
      "metrics": [
       "deterministic exactness: extractor token counts and ratio equal hand-computed values on 100% of fixtures and sampled calls",
       "splitter-boundary sensitivity report: ratio recomputed under the gate's recorded boundary ambiguity (where the gate reports one) and the delta listed"
      ],
      "minimum_thresholds": "100% exactness on fixtures and sampled calls; boundary-sensitivity deltas reported, not thresholded (exclusion of not-ok verdicts is the gate)",
      "disagreement_review": "mismatches listed verbatim with turn indices; reviewer signs off on fixture coverage and the boundary-sensitivity report",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-001-primary",
     "holdout_rule": "common-wave-001",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "splitter section boundaries and per-section whitespace token counts (current and baseline calls)",
       "call_date, fiscal_quarter, fiscal_year (pairing only)",
       "ticker (issuer-baseline join key only)"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata",
       "transcript text content (only counts are read)"
      ],
      "identifier_handling": "required-and-declared",
      "date_handling": "required-and-declared",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "no model in the loop \u2014 deterministic token counting; pretraining leakage structurally impossible",
      "rationale": "ticker joins the issuer baseline; call_date/fiscal fields establish adjacency. Token counts are shape, not content; no text reaches any model."
     },
     "overlap_boundary": "Distinct from settled evasion-proxy (entry 4): evasion scored non-answer PHRASING within answers via a lexicon; CSL-2 reads zero text content and measures section duration shape only \u2014 a call can ration Q&A time without one evasive phrase, and vice versa. Distinct from Chariot's call-mechanics family per coordination on cst-5cr5.11: CSL takes section-level token-count ratios and turn attribution; Chariot's instruments are within-turn delivery mechanics. Reviewer (Chariot) polices this line from their side.",
     "secondary_analyses": []
    },
    {
     "hypothesis_id": "CSL-3",
     "title": "Analyst participation delta versus issuer norm is associated with abnormal return (two-sided)",
     "statement": "Calls with fewer distinct questioning analysts than the issuer's own trailing norm differ in +2..+60 session SPY-relative abnormal returns from calls at or above the norm; direction preregistered two-sided because fading institutional interest (negative) and the neglected-stock premium (positive) make opposite predictions.",
     "direction": "two-sided",
     "unit_of_analysis": "one earnings call (issuer-quarter) with issuer trailing call history",
     "cost_class": "metadata-only",
     "primary_feature": {
      "name": "csl_questioner_delta",
      "definition": "count of distinct non-management, non-operator speaker labels that hold at least one question turn in the Q&A section (labels normalized by case-fold and whitespace collapse; operator/host turns identified by the splitter's role tagging excluded), minus the median of the same count over up to 4 immediately preceding adjacent quarterly calls (minimum 2 required)",
      "aggregation": "one scalar per call from splitter turn attribution; no text content read beyond speaker labels",
      "comparison": "cross-sectional level within calendar quarter, quintile sort high-minus-low"
     },
     "primary_endpoint": {
      "return_field": "abnormal_60_winsor",
      "window_start_session": 2,
      "window_end_session": 60,
      "benchmark": "cumulative stock return divided by SPY return, winsorized 1/99 percent, per transcript-alpha settled-entry convention",
      "price_timing": "close of first SPY session strictly after call_date through close of session +60"
     },
     "estimator": "quarterly high-minus-low quintile spread, Newey-West lag-1 on quarterly spreads, ticker-cluster bootstrap as in settled entries 1-4; two-sided test on the spread",
     "universe": "CSL-2 universe (settled gates, splitter verdict ok on current and baseline calls, trailing history)",
     "exclusions": [
      "splitter verdict not ok on the current call",
      "fewer than 2 qualifying baseline calls",
      "zero identifiable questioner labels on the current call or any baseline call (hosted formats where analyst identity is absent from the transcript)",
      "baseline adjacency failing the CSL-1 pairing rules",
      "below settled liquidity/price gates",
      "incomplete +60 session return horizon at frozen price cutoff"
     ],
     "missingness_rule": "calls whose transcript format does not attribute questioners are excluded (support), not imputed; the exclusion funnel reports this count so format-driven selection is visible",
     "support_gate": "minimum 400 scored calls, 150 distinct issuers, 6 calendar quarters",
     "smallest_effect_size_of_interest": "0.01 (one percentage point) quarterly high-minus-low spread in abnormal_60_winsor units",
     "power_target": 0.8,
     "calibration_gate": {
      "blind_to_returns": true,
      "labeled_sample_design": "deterministic fixture plan: constructed Q&A sections with known questioner sets (duplicate names with case/spacing variants, operator interleaves, follow-up turns by the same analyst, management asking rhetorical questions) where the true distinct count is known by construction; plus a seeded deterministic draw of 30 real discovery-window calls whose questioner count is hand-tallied from speaker labels by a seat other than the owner",
      "metrics": [
       "deterministic exactness: extractor count equals hand tally on 100% of fixtures",
       "per-call agreement on the 30 sampled real calls with every disagreement itemized"
      ],
      "minimum_thresholds": "100% on fixtures; >= 27/30 exact agreement on sampled real calls (label-normalization edge cases surface here; threshold frozen before scoring)",
      "disagreement_review": "all disagreements listed verbatim with speaker labels and turn indices; reviewer signs off on the normalization rules as frozen",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-001-primary",
     "holdout_rule": "common-wave-001",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "Q&A turn structure: speaker labels, role tags, turn order (current and baseline calls)",
       "call_date, fiscal_quarter, fiscal_year (pairing only)",
       "ticker (issuer-baseline join key only)"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata",
       "turn body text"
      ],
      "identifier_handling": "required-and-declared",
      "date_handling": "required-and-declared",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "no model in the loop \u2014 deterministic label counting; pretraining leakage structurally impossible",
      "rationale": "speaker labels (analyst names) are the raw material of the count and cannot be stripped; they are declared, never sent to a model, and never enter the published feature beyond their cardinality"
     },
     "overlap_boundary": "Distinct from Sun's analyst-agenda-shift family (question-side CONTENT: what analysts ask); CSL-3 counts WHO shows up and reads no question text. Distinct from settled entries 1-4, none of which use participation structure.",
     "secondary_analyses": []
    },
    {
     "hypothesis_id": "CSL-4",
     "title": "Rising management answer concentration versus issuer norm predicts negative abnormal return",
     "statement": "Calls where Q&A answer tokens concentrate in fewer management speakers than the issuer's own trailing norm \u2014 Herfindahl index of management speakers' answer-token shares, issuer-baseline delta \u2014 earn lower +2..+60 session SPY-relative abnormal returns (key-person answer-hogging as an opacity signal).",
     "direction": "negative",
     "unit_of_analysis": "one earnings call (issuer-quarter) with issuer trailing call history",
     "cost_class": "metadata-only",
     "primary_feature": {
      "name": "csl_mgmt_hhi_delta",
      "definition": "sum of squared shares of Q&A answer tokens across distinct management speaker labels (management = splitter role tag; answer tokens = ALL tokens of every management turn inside the Q&A section after the first analyst question turn, so a second executive's 'let me add to that' turn counts toward its speaker \u2014 excluding only a trailing management closing turn where the splitter tags one; rule per reviewer item 1, shared verbatim with CSL-5's denominator) for the current call, minus the median of the same index over up to 4 immediately preceding adjacent quarterly calls (minimum 2 required)",
      "aggregation": "one scalar per call from splitter turn attribution and per-turn token counts; no text content read",
      "comparison": "cross-sectional level within calendar quarter, quintile sort high-minus-low"
     },
     "primary_endpoint": {
      "return_field": "abnormal_60_winsor",
      "window_start_session": 2,
      "window_end_session": 60,
      "benchmark": "cumulative stock return divided by SPY return, winsorized 1/99 percent, per transcript-alpha settled-entry convention",
      "price_timing": "close of first SPY session strictly after call_date through close of session +60"
     },
     "estimator": "quarterly high-minus-low quintile spread, Newey-West lag-1 on quarterly spreads, ticker-cluster bootstrap as in settled entries 1-4",
     "universe": "CSL-2 universe (settled gates, splitter verdict ok on current and baseline calls, trailing history)",
     "exclusions": [
      "splitter verdict not ok on the current call",
      "fewer than 2 distinct management speaker labels in Q&A on the current call or on any baseline call (HHI degenerates to 1 for solo-executive formats; the construct is undefined there)",
      "fewer than 10 management answer turns in Q&A on the current call",
      "fewer than 2 qualifying baseline calls",
      "baseline adjacency failing the CSL-1 pairing rules",
      "below settled liquidity/price gates",
      "incomplete +60 session return horizon at frozen price cutoff"
     ],
     "missingness_rule": "solo-executive and thin-Q&A calls are excluded (support), not imputed; the exclusion funnel reports the solo-format count",
     "support_gate": "minimum 400 scored calls, 150 distinct issuers, 6 calendar quarters",
     "smallest_effect_size_of_interest": "0.01 (one percentage point) quarterly high-minus-low spread in abnormal_60_winsor units",
     "power_target": 0.8,
     "calibration_gate": {
      "blind_to_returns": true,
      "labeled_sample_design": "deterministic fixture plan: constructed Q&A sections with known management token distributions (two-speaker even split, CEO-dominant, three-way, interleaved analyst turns, a management speaker with zero answer turns) where the true HHI is known by construction; plus a seeded deterministic draw of 30 real discovery-window calls whose HHI is hand-recomputed from turn attribution by a seat other than the owner",
      "metrics": [
       "deterministic exactness: extractor HHI equals hand-computed value on 100% of fixtures",
       "per-call agreement on the 30 sampled real calls with disagreements itemized"
      ],
      "minimum_thresholds": "100% on fixtures; >= 27/30 exact agreement on sampled real calls; threshold frozen before scoring",
      "disagreement_review": "all disagreements listed verbatim with turn indices and token counts; reviewer signs off on the management-role tagging rule as frozen",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-001-primary",
     "holdout_rule": "common-wave-001",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "Q&A turn structure: speaker labels, role tags, turn order, per-turn whitespace token counts (current and baseline calls)",
       "call_date, fiscal_quarter, fiscal_year (pairing only)",
       "ticker (issuer-baseline join key only)"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata",
       "turn body text"
      ],
      "identifier_handling": "required-and-declared",
      "date_handling": "required-and-declared",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "no model in the loop \u2014 deterministic share computation; pretraining leakage structurally impossible",
      "rationale": "management speaker labels and per-turn token counts are the raw material of the concentration index; declared, never modeled, never published beyond the index value"
     },
     "overlap_boundary": "Distinct from settled evasion-proxy (entry 4): evasion scored WHAT answers said (non-answer lexicon); CSL-4 scores WHO answers and at what length, reading no answer text. A CEO can hog every answer candidly (CSL-4 high, evasion low) or distribute evasive answers widely (CSL-4 low, evasion high). Distinct from Magician's attribution-asymmetry (answer content locus) and Temperance's FCI (commitment disposition) \u2014 CSL-4 reads no content. Known interaction with Magician's frozen new-speaker-regime family (reviewer item 6): a CEO/CFO change alters the management roster, so csl_mgmt_hhi_delta mechanically spikes on exactly the regime calls NS-1 flags; the descriptive secondary below reports the construct with NS-flagged regime calls excluded so readers can see whether the primary is roster turnover in costume.",
     "secondary_analyses": [
      "descriptive, no p-value: quarterly high-minus-low spread of csl_mgmt_hhi_delta recomputed excluding calls flagged as new-speaker regime calls under Magician's frozen NS-1 definition, reported alongside the primary for comparison only"
     ]
    },
    {
     "hypothesis_id": "CSL-5",
     "title": "Scripted spill \u2014 verbatim prepared-remarks reuse inside Q&A answers predicts negative abnormal return",
     "statement": "Calls where a high share of Q&A answer tokens is covered by verbatim long-n-gram matches to the same call's prepared remarks earn lower +2..+60 session SPY-relative abnormal returns (canned answers as an evasion-adjacent opacity signal measured by string identity, not judgment).",
     "direction": "negative",
     "unit_of_analysis": "one earnings call (issuer-quarter)",
     "cost_class": "string-match",
     "primary_feature": {
      "name": "csl_scripted_spill",
      "definition": "share of management Q&A answer tokens covered by maximal verbatim matches of length >= 10 whitespace tokens against the same call's prepared-remarks section, after case-folding, whitespace collapse, and punctuation stripping; overlapping matches counted once per covered token; safe-harbor boilerplate is NOT excluded (it lives in prepared remarks, and its verbatim reuse inside answers is exactly the construct); 'management Q&A answer tokens' uses the SAME definition as CSL-4 (reviewer item 1): all tokens of every management turn inside the Q&A section after the first analyst question turn, excluding only a splitter-tagged trailing management closing turn",
      "aggregation": "one scalar per call: covered answer tokens divided by total management answer tokens in Q&A (denominator definition shared verbatim with CSL-4)",
      "comparison": "cross-sectional level within calendar quarter, quintile sort high-minus-low"
     },
     "primary_endpoint": {
      "return_field": "abnormal_60_winsor",
      "window_start_session": 2,
      "window_end_session": 60,
      "benchmark": "cumulative stock return divided by SPY return, winsorized 1/99 percent, per transcript-alpha settled-entry convention",
      "price_timing": "close of first SPY session strictly after call_date through close of session +60"
     },
     "estimator": "quarterly high-minus-low quintile spread, Newey-West lag-1 on quarterly spreads, ticker-cluster bootstrap as in settled entries 1-4",
     "universe": "all calls in the wave-001 discovery Research Snapshot passing the settled liquidity gates and splitter verdict ok (no trailing-history requirement; CSL-5 is within-call)",
     "exclusions": [
      "splitter verdict not ok",
      "prepared_tokens < 500 or management Q&A answer tokens < 500 (degenerate sections; frozen threshold per the settled convention)",
      "fewer than 10 management answer turns in Q&A",
      "below settled liquidity/price gates",
      "incomplete +60 session return horizon at frozen price cutoff"
     ],
     "missingness_rule": "calls with a missing or degenerate section are excluded (support), not imputed",
     "support_gate": "minimum 400 scored calls, 150 distinct issuers, 6 calendar quarters, and nonzero csl_scripted_spill on at least 10% of scored calls (if verbatim 10-token reuse is rarer than that, the construct lacks variance to sort on and the gate fails)",
     "smallest_effect_size_of_interest": "0.01 (one percentage point) quarterly high-minus-low spread in abnormal_60_winsor units",
     "power_target": 0.8,
     "calibration_gate": {
      "blind_to_returns": true,
      "labeled_sample_design": "deterministic fixture plan: constructed transcripts with planted verbatim spans (exact 10-token boundary cases, 9-token near-misses, punctuation/case variants, overlapping spans, repeated spans) where coverage is known by construction; plus a return-blind seeded deterministic draw of 30 matched spans from real discovery-window calls, hand-verified as true verbatim prepared-remarks reuse by a seat other than the owner",
      "metrics": [
       "deterministic exactness: coverage share equals constructed truth on 100% of fixtures",
       "span precision on the 30 sampled real matches (a sampled span counts as correct if the hand check confirms verbatim identity under the frozen normalization)"
      ],
      "minimum_thresholds": "100% on fixtures; >= 28/30 confirmed spans (normalization bugs surface here); thresholds frozen before scoring",
      "disagreement_review": "every unconfirmed span listed verbatim with both source offsets; reviewer signs off on the normalization rules and the span list",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-001-primary",
     "holdout_rule": "common-wave-001",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "prepared-remarks section text and management Q&A answer-turn text of the SAME call (string matching only)",
       "speaker role tags (to identify management answer turns)"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata",
       "other calls' text"
      ],
      "identifier_handling": "required-and-declared",
      "date_handling": "required-and-declared",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "no model in the loop \u2014 exact string matching within one document; pretraining leakage structurally impossible. Identifiers AND dates inside the text are untouched because masking would break verbatim identity; they never reach a model.",
      "rationale": "both sections' raw text is the construct's raw material \u2014 verbatim identity cannot be computed on redacted text; the text is consumed only by deterministic matching code and the published feature is one coverage share. date_handling clarified per reviewer item 2: no snapshot metadata date is read by this feature at all, and dates appearing inside the transcript text are deliberately untouched (same rationale as identifiers) \u2014 there is no redaction step, declared rather than implied"
     },
     "overlap_boundary": "Distinct from settled evasion-proxy (entry 4), explicitly: evasion scored non-answer PHRASING against a frozen lexicon (refusals, deferrals) and settled null; CSL-5 uses no lexicon and no judgment \u2014 it measures verbatim self-plagiarism from the same call's script, which the evasion proxy could not see (a canned answer is fluent and on-topic, scoring zero on the evasion lexicon). The constructs can disagree in both directions. Distinct from tone-delta (entry 1): no sentiment or tone computation. Distinct from Magician's attribution-asymmetry and Temperance's FCI: no content classification of any kind.",
     "secondary_analyses": [
      "descriptive, no p-value (reviewer item 5): csl_scripted_spill residualized on log(prepared_tokens) within calendar quarter, quarterly high-minus-low spread of the residual reported alongside the primary \u2014 coverage share rises mechanically with script length, and this shows readers whether the spread is script length in costume"
     ]
    }
   ],
   "preregistration_notes": "Naming: this spec uses wave-001 per registry-policy-v1; cohort-A = wave-001 per the approved Atlas design synthesis (Conway sign-off recorded 2026-10-21 on cst-5cr5.11), and the AA and NS families froze with the same wave-001 wording. Spec revision 2026-10-21 incorporates Chariot's independent review (cst-5cr5.11.5 comment 2026-10-21 09:12): items 1-3 landed (CSL-4/5 shared answer-token definition, CSL-5 date_handling clarified, pre-window baseline metadata declared), items 4-7 all accepted (CSL-1 drop-not-poison baseline rule, CSL-5 script-length descriptive secondary, CSL-4 NS-regime boundary note + descriptive secondary, CSL-2 retitle). All issuer-baseline hypotheses (CSL-1..4) share the same trailing-baseline convention (up to 4 prior adjacent quarterly calls, minimum 2, settled tone-delta pairing rules) so one extractor pass serves the family. Token counts are whitespace tokens everywhere \u2014 model-tokenizer counts are never used. CSL-2/4/5 interaction with the settled evasion null is addressed per-hypothesis in overlap_boundary, honoring the owner's design-round commitment that none of these relaunch a settled null in costume. Reviewer choice: Chariot owns the adjacent call-mechanics family and is best placed to police the family boundary; if the spec owner prefers a non-adjacent reviewer, Star or Sun substitute without any change to the hypotheses."
  },
  "freeze": {
   "state": "frozen",
   "frozen_at_utc": "2026-10-21T09:22:42Z",
   "spec_sha256": "32c841a9d9c9d1470da7428518a717c91ed43ccb49d2547cf4b973d622bd6586"
  },
  "execution": {
   "state": "discovery-scored",
   "candidate_snapshot_sha256": "7598552efaaf54966426c6a240f3a9a8508d1cf45a349459b7d3ec23c6439d1a",
   "extractor_artifact_sha256": "589b3ff85c02afda1416e323317f1a0bb90ba8d08abefa53b51c4b074dc4fdf8",
   "calibration_artifact_sha256": null,
   "exclusion_funnel_sha256": null,
   "engine_job_manifest_sha256": "36050ce401de3e313b2916295c4c802311d28de992757f23d0443381fde7ccb7",
   "compute": {
    "jobs": null,
    "tokens": null,
    "model": null,
    "code_revision": null
   }
  },
  "results": {
   "state": "wave-001-final",
   "discovery_artifact_sha256": "4afce10969fc20a0160158f6427a75dafff876d0bed337cc0ea4968e4a294e87",
   "holdout_artifact_sha256": null,
   "raw_primary_p_value": {
    "CSL-1": 0.7277827705622235,
    "CSL-2": 0.3556716888753777,
    "CSL-3": 0.04735624421785178,
    "CSL-4": 0.0949778191614753,
    "CSL-5": null
   },
   "adjusted_primary_q_value": {
    "multiplicity_artifact_sha256": "f1c8eede54a89a7957fbfb5b55160609e4f7d533e91c6da6bd81de15a2213f9d",
    "CSL-1": {
     "q": 0.8436,
     "verdict": "inconclusive"
    },
    "CSL-2": {
     "q": 0.7352,
     "verdict": "inconclusive"
    },
    "CSL-3": {
     "q": 0.3788499537428142,
     "verdict": "bounded-null"
    },
    "CSL-4": {
     "q": 0.3799,
     "verdict": "bounded-null"
    },
    "CSL-5": {
     "q": null,
     "verdict": "construct-rejected"
    }
   },
   "effect_interval": {
    "note": "quarterly high-minus-low spreads in abnormal_60_winsor units; CSL-3 ticker-cluster bootstrap 95% CI (-0.0036, +0.0127) includes zero while NW rejects \u2014 fragility caveat of record (cst-5cr5.11.20, 2026-10-22)",
    "CSL-1": 0.00314,
    "CSL-2": 0.00249,
    "CSL-3": 0.00448,
    "CSL-4": -0.00434,
    "CSL-5": null
   },
   "verdict": "inconclusive",
   "second_seat_review_bead": null
  }
 }
}
