{
 "atlas_url": "https://stockql.ai/atlas/wave-002/forward-commitment-integrity.json",
 "current_url": "https://stockql.ai/atlas/forward-commitment-integrity.json",
 "wave": "wave-002",
 "published_spec_sha256": "cc5c5aab095d48a89586697cd4da4e33ddff0aebd8234c1884feb3b9b6b8792e",
 "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-v2",
  "policy_version": "registry-policy-v1",
  "registry_wave_id": "wave-002",
  "family": {
   "family_id": "forward-commitment-integrity",
   "family_title": "Forward-Commitment Integrity: how management resolves prior guidance and operating milestones",
   "owner": "Temperance",
   "independent_reviewer": "Hermit",
   "source_bead": "cst-5cr5.11.32",
   "spec_version": 1,
   "supersedes_spec_sha256": null,
   "claimed_at_utc": "2026-10-26T14:21:29Z",
   "shared_extraction": {
    "input_unit": "issuer quarterly sequence ending at the current call: the current and immediately preceding quarterly call for FCI-1, FCI-2, FCI-3, and FCI-5; the current and two immediately preceding quarterly calls for FCI-4",
    "input_binding": "prepared remarks and management answer-turns from transcript-alpha splitter-ok calls; the immediately preceding analyst question may accompany a management answer as local context but cannot create or resolve an issuer commitment; fiscal identity and call sequence are used outside the scorer only to bind adjacent same-issuer quarterly calls. A COMPLETE CURRENT-CALL SEARCH MANIFEST is one canonical JSON array ordered by section order then turn_index with exactly one entry for every splitter-emitted management prepared-remark turn and management answer turn, each entry {section, turn_index, normalized_text_sha256, extractor_status: extracted|no-commitment}; analyst questions never receive entries. Duplicate or missing indices, parse/schema errors, truncated text, or any status outside that terminal enum make current_search_manifest_complete=false. current_search_manifest_sha256 is the SHA-256 of those canonical bytes. This single definition governs every exhaustive/complete-search reference in FCI-3, FCI-4, and FCI-5.",
    "output_contract": "typed commitment rows {commitment_id, source_call_slot: prior-2|prior|current, topic_key, metric_key, quantity_shape: point|closed-range|lower-bound|upper-bound|directional-only|absent, horizon_bucket: due|next-quarter|two-to-four-quarters|beyond-four-quarters|event-bounded|unbounded|absent, commitment_kind: quantitative-guidance|named-operating-milestone, evidence_section, evidence_char_offsets, evidence_sha256, confidence}; typed cross-call rows {prior_commitment_id, current_commitment_id|null, transition: new|reiterated|narrowed|widened|completed|delayed|withdrawn|acknowledged-miss|silent-drop|unresolved, specificity_change: preserved|lost-quantity|lost-horizon|lost-both|gained|not-comparable, explicit_acknowledgment, replacement_plan, perimeter_break, prior_horizon_bucket, current_horizon_bucket|null, match_confidence, current_search_manifest_complete, current_search_manifest_sha256}; ambiguous matches, non-comparable revisions, incomplete manifests, and perimeter breaks emit unresolved rather than an imputed class. NORMATIVE VOCABULARY: point is one finite numeric target, closed-range has finite lower and upper endpoints, lower-bound and upper-bound are one-sided finite bounds, directional-only states increase/decrease without a number, and absent contains no quantity; 'quantitative metric or bound' in FCI-2 and FCI-4 means point|closed-range|lower-bound|upper-bound only. Horizon buckets are normalized against the current-call anchor: due = finite deadline on or before the current call; next-quarter = after current through the next quarterly boundary; two-to-four-quarters = after that through four quarterly boundaries; beyond-four-quarters = a later finite deadline; event-bounded = an explicit named non-calendar event; unbounded = horizon language such as medium term, eventually, or over time without a finite deadline or named event; absent = no horizon language. due < next-quarter < two-to-four-quarters < beyond-four-quarters is the only later/earlier order; event-bounded is comparable only to the same normalized event. A bounded horizon is any of the first five buckets. Less-bounded means a prior bounded bucket becomes unbounded or absent; other cross-kind changes are not-comparable. For specificity_change, quantity loss is quantitative to directional-only|absent and horizon loss is bounded to unbounded|absent; lost-both means both, lost-quantity or lost-horizon means exactly one, gained means no loss and at least one reverse gain, preserved means both field-presence classes are unchanged, and all other cases are not-comparable.",
    "model_or_algorithm": "two-stage return-blind pipeline: local Qwen3.8-Flash-Next (vllm serving name, FP8 weights snapshot 970c569adaca6b35532111fd6b27351b2baefe50), temperature 0, enable_thinking:false, fixed JSON schema and max_tokens 4000 extracts commitments one masked management turn at a time; a second fixed-schema pass matches the complete candidate sets across adjacent calls and assigns dispositions, with deterministic normalization of quantities, metric aliases, and relative horizon buckets before matching. NUMERIC EQUALITY after common-unit normalization is abs(a-b) <= max(1e-9, 0.01 * max(abs(a), abs(b))); the same tolerance applies to endpoints, midpoints, and widths. TRANSITION RULES: a perimeter break, non-unique match, incomparable evidence, conflicting terminal states, or failed complete-search requirement is unresolved. On a unique match, completed requires an explicit management assertion that the promised target, action, or milestone was achieved (a reported actual alone is insufficient); withdrawn requires explicit cancellation, abandonment, or a statement that the target is no longer pursued; acknowledged-miss requires explicit acknowledgment that the prior target or deadline was not met; delayed requires explicit postponement or movement of the same target to a later ordered finite horizon. If none applies, narrowed or widened requires closed-range on both legs with the same normalized metric and unit, the same midpoint within numeric equality, the same horizon bucket, and a width decrease or increase outside numeric equality; reiterated requires the same commitment kind, topic/metric identity, quantity shape and normalized value(s) within numeric equality, and the same horizon bucket. A changed point value or a closed-range midpoint shift outside numeric equality is a directional revision and is deliberately out of scope for FCI-1: absent another defined terminal state it is unresolved, even if range width also changes. A prior row with no plausible current match is silent-drop only when current_search_manifest_complete=true and perimeter_break=false; otherwise unresolved. A current commitment with no plausible prior match is new. These rules are mutually exclusive; any remaining case is unresolved.",
    "prompt_or_code_artifact_sha256": null,
    "scorer_blinded_to_returns": true,
    "scorer_blinded_to_future_transcripts": true
   },
   "hypotheses": [
    {
     "hypothesis_id": "FCI-1",
     "title": "Adverse commitment dispositions predict negative abnormal return",
     "statement": "Calls with a higher adverse-disposition balance among explicitly matched prior commitments \u2014 delayed, withdrawn, or widened versus reiterated, narrowed, or completed \u2014 earn lower +2..+60-session SPY-relative abnormal returns.",
     "direction": "negative",
     "unit_of_analysis": "adjacent same-issuer quarterly call pair, outcome aligned to the current call",
     "cost_class": "llm-judgment",
     "primary_feature": {
      "name": "fci_adverse_disposition_balance",
      "definition": "(count(delayed|withdrawn|widened) - count(reiterated|narrowed|completed)) / count(delayed|withdrawn|widened|reiterated|narrowed|completed) over explicitly matched prior commitments; new, acknowledged-miss, silent-drop, unresolved, and perimeter-break rows do not enter either numerator or denominator",
      "aggregation": "one scalar in [-1,1] per adjacent pair; defined only with at least three eligible explicit matched dispositions",
      "comparison": "cross-sectional level within current-call calendar quarter, high-minus-low quintile spread"
     },
     "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 current 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 Atlas entries 1-4; two-sided primary p-value per registry-policy-v1, with the preregistered sign required for a directional verdict",
     "universe": "all current calls in the frozen wave-002 Research Snapshot passing settled liquidity and price gates and splitter verdict ok, with an adjacent previous quarterly call that also has splitter verdict ok under the settled pairing rules",
     "exclusions": [
      "ordered exclusive funnel, first matching reason wins: either call has splitter verdict not ok",
      "missing previous call, nonadjacent fiscal identity, or nonquarterly gap under settled pairing rules",
      "current call is below settled liquidity or price gates",
      "current call lacks a mature +60-session return at the frozen price cutoff",
      "fewer than three eligible explicit matched dispositions after unresolved and perimeter-break rows are removed"
     ],
     "missingness_rule": "complete-case pair only; unresolved rows and perimeter breaks are excluded from the feature, no transition or pair value is imputed, and a denominator below three excludes the pair",
     "support_gate": "minimum 300 eligible pairs, 120 distinct issuers, 6 current-call calendar quarters, at least 60 observations in each extreme quintile, and at least 40 pairs with balance above zero and 40 below zero; a calibrated construct that misses this gate receives support-failed",
     "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": "120 deterministic return-blind adjacent pairs stratified by sector, commitment count, horizon form, and candidate disposition; a non-owner exhaustively labels commitment spans, matches, and dispositions, then the sample extends deterministically up to 300 pairs until each of delayed, withdrawn, widened, reiterated, narrowed, and completed has at least 25 adjudicated rows",
      "metrics": [
       "commitment-candidate precision and recall",
       "cross-call match precision and recall",
       "per-class transition precision and recall with confusion matrix",
       "macro-F1 across the six FCI-1 transition classes",
       "evidence-span validity rate",
       "unresolved and perimeter-break rates"
      ],
      "minimum_thresholds": "candidate precision >=0.85 and recall >=0.80; match precision >=0.85 and recall >=0.80; precision and recall >=0.75 for each of the six used transition classes; macro-F1 >=0.80; evidence-span validity >=0.95; each used class has >=25 adjudicated rows by the 300-pair cap",
      "disagreement_review": "publish class supports and confusion matrix; list every disagreement by licensed evidence hash plus paraphrase, never transcript text; reviewer signs the full disagreement and unresolved/perimeter list",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-002-primary",
     "holdout_rule": "common-wave-002",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "masked prior and current management prepared-remark or answer-turn text, scored one turn at a time",
       "preceding masked analyst question solely as local context for its management answer",
       "speaker role and section tag",
       "relative call slot prior or current",
       "normalized relative horizon bucket and quantity shape derived from the visible claim"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata"
      ],
      "identifier_handling": "stripped",
      "date_handling": "coarsened",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "mask company, ticker, person, product, geography, absolute date, and fiscal-period identifiers; restrict each extraction prompt to one local turn and each matching prompt to extracted rows; famous-event recognition from substantive wording remains an irreducible declared risk",
      "rationale": "commitment meaning, quantity shape, and relative horizon are required to match and classify dispositions; issuer identity and absolute chronology are not. Pairing happens outside the scorer. Absolute dates are normalized to relative horizon buckets anchored to the calls before model input."
     },
     "overlap_boundary": "Distinct from settled evasion-proxy because FCI-1 scores cross-call issuer commitment disposition rather than answer responsiveness; distinct from tone-delta and Attribution Asymmetry because it uses neither sentiment nor causal-attribution locus; leadership change is not the treatment, separating it from New-Speaker Regime. FCI-5 owns the silent-drop versus acknowledged-miss-with-replacement-plan accountability contrast; those classes are deliberately excluded from FCI-1 rather than omitted.",
     "secondary_analyses": []
    },
    {
     "hypothesis_id": "FCI-2",
     "title": "Loss of commitment specificity predicts negative abnormal return",
     "statement": "Calls with a higher share of matched prior commitments whose current restatement loses a quantitative bound and/or named horizon without completion earn lower +2..+60-session SPY-relative abnormal returns.",
     "direction": "negative",
     "unit_of_analysis": "adjacent same-issuer quarterly call pair, outcome aligned to the current call",
     "cost_class": "llm-judgment",
     "primary_feature": {
      "name": "fci_specificity_loss_share",
      "definition": "count of explicitly matched prior commitments that originally contain both a quantitative metric or bound and a bounded horizon, are not resolved as completed, and have current specificity_change lost-quantity|lost-horizon|lost-both, divided by all explicitly matched prior commitments that originally contain both fields and have a comparable current restatement",
      "aggregation": "one proportion in [0,1] per adjacent pair; defined only with at least three eligible matched originally-specific commitments",
      "comparison": "cross-sectional level within current-call calendar quarter, high-minus-low quintile spread"
     },
     "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 current 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 Atlas entries 1-4; two-sided primary p-value per registry-policy-v1, with the preregistered sign required for a directional verdict",
     "universe": "FCI-1 universe restricted to pairs with at least three matched prior commitments that each originally carried both a quantitative metric or bound and a bounded horizon",
     "exclusions": [
      "ordered exclusive funnel, first matching reason wins: any FCI-1 exclusion before its denominator rule",
      "fewer than three matched originally-specific commitments with comparable current restatements",
      "all eligible current restatements have specificity_change not-comparable or unresolved"
     ],
     "missingness_rule": "complete-case over comparable matched commitments; completed, unresolved, perimeter-break, and not-comparable rows do not enter the numerator or denominator; no lost field is inferred from truncated or missing text",
     "support_gate": "minimum 250 eligible pairs, 100 distinct issuers, 6 current-call calendar quarters, nondegenerate quarter-specific quintile cutpoints, at least 50 pairs with positive specificity loss and 50 with zero loss, and at least 50 observations in each extreme quintile; a calibrated construct that misses this gate receives support-failed",
     "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": "inherits the return-blind FCI-1 pair sample and extends deterministically up to 300 pairs until preserved, lost-quantity, lost-horizon, and lost-both each have at least 25 adjudicated comparable restatements; humans label the prior and current quantity and horizon fields before seeing model output",
      "metrics": [
       "FCI-1 candidate and match metrics",
       "per-class precision and recall for preserved, lost-quantity, lost-horizon, and lost-both",
       "specificity-change confusion matrix",
       "evidence-span validity rate"
      ],
      "minimum_thresholds": "FCI-1 candidate and match thresholds pass; precision and recall >=0.75 for every specificity-change class; macro-F1 >=0.80; evidence-span validity >=0.95; each used class has >=25 adjudicated rows by the 300-pair cap",
      "disagreement_review": "report field-level disagreements separately for quantity and horizon, with supports and licensed evidence hashes plus paraphrases; reviewer signs every not-comparable ruling",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-002-primary",
     "holdout_rule": "common-wave-002",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "FCI-1 allowed fields for each pair leg",
       "normalized quantitative-bound presence and relative horizon bucket derived from the visible claim"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata"
      ],
      "identifier_handling": "stripped",
      "date_handling": "coarsened",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "same masking and local-context restriction as FCI-1; matching operates on extracted rows rather than raw full-call text",
      "rationale": "the construct needs only the matched claim's quantitative-bound presence and relative horizon in each call; identity, absolute dates, and market outcomes are unnecessary."
     },
     "overlap_boundary": "Distinct from Star's concurrent quantitative-specificity family: FCI-2 requires the same issuer commitment to be explicitly matched across adjacent calls and measures loss of its frozen quantity/horizon fields. It does not score overall number density, vague quantifiers, guidance-range precision, or unmatched call-level language.",
     "secondary_analyses": []
    },
    {
     "hypothesis_id": "FCI-3",
     "title": "Commitment horizon slippage predicts negative abnormal return",
     "statement": "Calls with a higher share of prior commitments due by the current call that are moved to a later or less bounded horizon without completion earn lower +2..+60-session SPY-relative abnormal returns.",
     "direction": "negative",
     "unit_of_analysis": "adjacent same-issuer quarterly call pair, outcome aligned to the current call",
     "cost_class": "llm-judgment",
     "primary_feature": {
      "name": "fci_horizon_slippage_share",
      "definition": "count of explicitly matched prior commitments due no later than the current call whose current disposition is delayed or whose current horizon bucket is later or less bounded, with no completion, divided by all explicitly matched prior commitments due no later than the current call and not marked perimeter-break or unresolved",
      "aggregation": "one proportion in [0,1] per adjacent pair; defined only with at least two eligible due commitments",
      "comparison": "cross-sectional level within current-call calendar quarter, high-minus-low quintile spread"
     },
     "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 current 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 Atlas entries 1-4; two-sided primary p-value per registry-policy-v1, with the preregistered sign required for a directional verdict",
     "universe": "FCI-1 universe restricted to adjacent pairs with at least two prior commitments whose normalized horizon is due no later than the current call",
     "exclusions": [
      "ordered exclusive funnel, first matching reason wins: any FCI-1 exclusion before its denominator rule",
      "fewer than two comparable matched prior commitments due no later than the current call",
      "current call does not contain enough text to complete the frozen exhaustive search manifest"
     ],
     "missingness_rule": "due status or current horizon ambiguity emits unresolved and leaves the row out; no due date, delay, or completion is imputed; a denominator below two excludes the pair",
     "support_gate": "minimum 200 eligible pairs, 100 distinct issuers, 6 current-call calendar quarters, at least 300 eligible due commitments in aggregate, at least 50 pairs with positive slippage and 50 with zero slippage, and nondegenerate extreme quintiles; a calibrated construct that misses this gate receives support-failed",
     "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": "inherits the FCI-1 pair sample and adds a deterministic horizon-stratified extension up to 250 pairs; humans label due-by-current status, completion, and earlier|same|later|less-bounded current horizon, targeting at least 30 adjudicated slippage rows and 30 adjudicated nonslippage due rows",
      "metrics": [
       "FCI-1 candidate and match metrics",
       "precision and recall for due-by-current classification",
       "precision and recall for slippage classification",
       "horizon-bucket confusion matrix",
       "evidence-span validity rate"
      ],
      "minimum_thresholds": "FCI-1 candidate and match thresholds pass; due-by-current precision and recall >=0.80; slippage precision and recall >=0.80; macro-F1 across horizon buckets >=0.80; evidence-span validity >=0.95; at least 30 adjudicated rows in each slippage/nonslippage class",
      "disagreement_review": "report every horizon normalization and due-status disagreement by evidence hash plus paraphrase; reviewer signs all less-bounded versus later rulings",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-002-primary",
     "holdout_rule": "common-wave-002",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "FCI-1 allowed fields for each pair leg",
       "relative call slot prior or current",
       "normalized relative horizon bucket derived before model matching"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata"
      ],
      "identifier_handling": "stripped",
      "date_handling": "coarsened",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "absolute dates and fiscal labels are converted to relative buckets before scoring; issuer and person identifiers remain masked; each prompt is local to the pair's extracted claims",
      "rationale": "relative deadline ordering is necessary to decide whether a commitment was due and slipped; absolute calendar identity and market information are not."
     },
     "overlap_boundary": "Distinct from FCI-2 because FCI-3 is restricted to commitments already due by the current call and tests temporal slippage; FCI-2 tests loss of quantity or boundedness in any comparable restatement. Distinct from call-scheduling hypotheses because the feature is a claim deadline, not the date of the earnings call.",
     "secondary_analyses": []
    },
    {
     "hypothesis_id": "FCI-4",
     "title": "Unresolved KPI substitution predicts negative abnormal return",
     "statement": "Calls where a quantitative KPI emphasized in both preceding quarterly calls disappears unresolved while management introduces a non-comparable replacement metric earn lower +2..+60-session SPY-relative abnormal returns than calls without substitution.",
     "direction": "negative",
     "unit_of_analysis": "three-call same-issuer quarterly sequence ending at the current call",
     "cost_class": "llm-judgment",
     "primary_feature": {
      "name": "fci_metric_substitution_exposure",
      "definition": "1 when at least one metric_key with a quantitative value or bound appears as a matched forward commitment in both prior-2 and prior, has no completed or otherwise resolved current match, and a new non-comparable metric_key in the same topic is introduced in current management speech; 0 when at least one repeated prior KPI is eligible and every such KPI is continued, completed, or resolved without non-comparable replacement; unresolved otherwise",
      "aggregation": "one binary exposure per three-call sequence",
      "comparison": "within-current-quarter exposed minus unexposed abnormal-return spread"
     },
     "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 current call_date through close of session +60"
     },
     "estimator": "quarterly exposed-minus-unexposed mean spread computed only for current-call calendar quarters containing at least one eligible exposed sequence and at least one eligible unexposed sequence; a quarter missing either class is omitted, never assigned a zero spread, before Newey-West lag-1 on quarterly spreads; ticker-cluster bootstrap as in settled Atlas entries 1-4; two-sided primary p-value per registry-policy-v1, with the preregistered sign required for a directional verdict",
     "universe": "all current calls in the frozen wave-002 Research Snapshot passing settled liquidity, price, and splitter gates, with two adjacent previous quarterly calls that also have splitter verdict ok under settled pairing rules",
     "exclusions": [
      "ordered exclusive funnel, first matching reason wins: any of the three calls has splitter verdict not ok",
      "missing prior or prior-2 call, nonadjacent fiscal identity, or nonquarterly gap under settled pairing rules",
      "current call is below settled liquidity or price gates",
      "current call lacks a mature +60-session return at the frozen price cutoff",
      "no quantitative KPI commitment is matched across both prior-2 and prior",
      "any candidate substitution is unresolved because of metric alias ambiguity, acquisition/divestiture perimeter change, or incomplete current-call search manifest"
     ],
     "missingness_rule": "a sequence is exposed or unexposed only when at least one repeated prior KPI is eligible and every candidate substitution is resolved; mixed or perimeter-broken cases are unresolved and excluded, never coded zero",
     "support_gate": "minimum 75 exposed sequences, 150 unexposed sequences, 75 distinct issuers, and 6 current-call calendar quarters with both classes represented; a calibrated construct that misses this gate receives support-failed",
     "smallest_effect_size_of_interest": "0.01 (one percentage point) quarterly exposed-minus-unexposed spread in abnormal_60_winsor units",
     "power_target": 0.8,
     "calibration_gate": {
      "blind_to_returns": true,
      "labeled_sample_design": "150 deterministic return-blind three-call sequences stratified by sector and model candidate exposure, oversampling candidate substitutions; humans exhaustively label repeated KPI identity, comparability, current resolution, replacement-metric topic, and perimeter breaks; extend deterministically up to 400 sequences to obtain at least 30 adjudicated substitutions and 60 adjudicated non-substitutions",
      "metrics": [
       "repeated-KPI match precision and recall",
       "substitution precision and recall",
       "metric-comparability confusion matrix",
       "perimeter-break precision and recall",
       "evidence-span validity rate"
      ],
      "minimum_thresholds": "repeated-KPI match precision and recall >=0.85; substitution precision and recall >=0.80; perimeter-break precision and recall >=0.80; evidence-span validity >=0.95; at least 30 adjudicated substitutions and 60 non-substitutions by the 400-sequence cap",
      "disagreement_review": "report every metric-alias, comparability, replacement-topic, and perimeter disagreement by licensed evidence hash plus paraphrase; reviewer signs the complete positive-exposure list",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-002-primary",
     "holdout_rule": "common-wave-002",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "masked prior-2, prior, and current management prepared-remark or answer-turn text, scored one turn at a time",
       "preceding masked analyst question solely as local context for its management answer",
       "speaker role and section tag",
       "relative call slot prior-2, prior, or current",
       "normalized metric_key, topic_key, quantity shape, and horizon bucket derived from visible claims"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata"
      ],
      "identifier_handling": "stripped",
      "date_handling": "coarsened",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "same masking as FCI-1 across all three legs; matching sees extracted rows only; residual recognizability of distinctive KPIs is declared irreducible",
      "rationale": "three relative call slots and normalized KPI/topic fields are required to establish repeated emphasis and non-comparable replacement; issuer identity, absolute dates, and market outcomes are not."
     },
     "overlap_boundary": "Distinct from quantitative-specificity because the treatment is disappearance of a repeatedly matched KPI plus a non-comparable replacement, not number density or range precision. Distinct from evasion because the current call may answer every analyst question; the feature concerns continuity of issuer-defined metrics across calls.",
     "secondary_analyses": []
    },
    {
     "hypothesis_id": "FCI-5",
     "title": "Silent drops underperform acknowledged misses with replacement plans",
     "statement": "Calls with more silent drops and fewer explicit acknowledgments of missed commitments accompanied by replacement plans earn lower +2..+60-session SPY-relative abnormal returns.",
     "direction": "negative",
     "unit_of_analysis": "adjacent same-issuer quarterly call pair, outcome aligned to the current call",
     "cost_class": "llm-judgment",
     "primary_feature": {
      "name": "fci_noncompletion_accountability_gap",
      "definition": "(count(silent-drop) - count(acknowledged-miss with replacement_plan=true)) / count(silent-drop|acknowledged-miss with replacement_plan=true) among prior commitments due by the current call and not completed; acknowledged misses without a replacement plan, explicit delays, withdrawals, unresolved rows, and perimeter breaks do not enter either numerator or denominator",
      "aggregation": "one scalar in [-1,1] per adjacent pair; defined only with at least two eligible due noncompletion rows",
      "comparison": "cross-sectional level within current-call calendar quarter, high-minus-low quintile spread"
     },
     "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 current 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 Atlas entries 1-4; two-sided primary p-value per registry-policy-v1, with the preregistered sign required for a directional verdict",
     "universe": "FCI-1 universe restricted to pairs with at least two prior commitments due by the current call that are either silent drops or explicitly acknowledged misses with replacement plans",
     "exclusions": [
      "ordered exclusive funnel, first matching reason wins: any FCI-1 exclusion before its denominator rule",
      "current-call search manifest does not cover every management prepared-remark and answer turn",
      "fewer than two due noncompletion rows classified silent-drop or acknowledged-miss with replacement plan after unresolved and perimeter-break rows are removed"
     ],
     "missingness_rule": "silent-drop requires a complete current-call search manifest and no plausible current match; otherwise unresolved. Replacement_plan is true only for an explicit remedial action carrying a named actor, operating milestone, or bounded horizon. No absence or plan is imputed.",
     "support_gate": "minimum 150 eligible pairs, 75 distinct issuers, 6 current-call calendar quarters, at least 50 pairs containing a silent drop, at least 50 containing an acknowledged miss with replacement plan, and nondegenerate extreme quintiles; a calibrated construct that misses this gate receives support-failed",
     "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": "inherits the horizon-stratified FCI-3 sample and oversamples model candidate silent drops and acknowledged misses; humans exhaustively search current management speech for resolutions before labeling absence, then label acknowledgment and replacement-plan fields; extend deterministically up to 350 pairs for at least 40 adjudicated silent drops and 40 acknowledged misses with plans",
      "metrics": [
       "FCI-3 due-by-current metrics",
       "silent-drop precision and recall",
       "acknowledged-miss precision and recall",
       "replacement-plan precision and recall",
       "noncompletion confusion matrix",
       "current-call search-manifest completeness"
      ],
      "minimum_thresholds": "FCI-3 due-by-current thresholds pass; silent-drop precision >=0.85 and recall >=0.75; acknowledged-miss precision and recall >=0.80; replacement-plan precision and recall >=0.80; search-manifest completeness =1.00; at least 40 adjudicated rows in each primary contrast class by the 350-pair cap",
      "disagreement_review": "report every candidate silent drop with the full search-manifest hash and every acknowledgment/plan disagreement by licensed evidence hash plus paraphrase; reviewer independently re-searches all false positives and a deterministic 20% of true positives",
      "failure_verdict": "construct-rejected"
     },
     "multiplicity_family": "wave-002-primary",
     "holdout_rule": "common-wave-002",
     "primary_p_value_count": 1,
     "leakage_boundary": {
      "allowed_fields": [
       "FCI-1 allowed fields for each pair leg",
       "complete masked current-call management candidate set and its deterministic search-manifest hash",
       "relative due-by-current horizon label derived from the prior visible claim"
      ],
      "forbidden_fields": [
       "return_fields",
       "price_fields",
       "outcome_labels",
       "future_transcripts",
       "post_endpoint_metadata"
      ],
      "identifier_handling": "stripped",
      "date_handling": "coarsened",
      "future_text_handling": "forbidden",
      "pretraining_risk_mitigation": "same masking as FCI-1; absence is decided only against the complete current management candidate set, not model memory; residual recognition from distinctive commitment language is declared irreducible",
      "rationale": "the complete current management candidate set is necessary to distinguish silence from a missed match; relative due status and local plan text are necessary for the contrast, while identity and market data are not."
     },
     "overlap_boundary": "Sun is credited for the silent-drop versus acknowledged-miss contrast. Distinct from settled evasion because silence is defined across calls against a previously registered issuer commitment, not as failure to answer an analyst question. Distinct from FCI-1 because silent drops and acknowledged misses are excluded from FCI-1's explicit-disposition denominator.",
     "secondary_analyses": []
    }
   ],
   "preregistration_notes": "Boundary: FCI measures cross-call disposition of issuer forward commitments; it does not score generic tone, attribution locus, answer responsiveness, call mechanics, or overall quantitative density. Independence: Temperance owns the family; Sun contributed FCI-5 and is not independent; Hermit accepted independent review on cst-5cr5.11.32 and must derive probes from this spec text rather than owner fixtures. Review changelog: v1 initial draft filed on cst-5cr5.11.32; reviewer reassigned Chariot to Hermit before review because Chariot was unreachable, with author != reviewer preserved; round 1 (Hermit, 2026-10-26, R1-R5) froze the transition semantics and numeric tolerance, explicitly excluded directional revisions from FCI-1, enumerated quantity and horizon vocabularies and ordering, defined one shared complete-search manifest, specified zero-class quarter handling for FCI-4, and cross-referenced FCI-5 from FCI-1. Owner exactness pass additionally made every directional primary p-value two-sided with its preregistered sign required by registry-policy-v1. Known risks/gates: cross-call metric aliasing, absence-based silent-drop inference, acquisition/divestiture perimeter changes, and sparse substitution/acknowledgment classes; each hypothesis has separate calibration and population-support gates. Process archaeology and any dropped-construct reasoning remain on cst-5cr5.11.32."
  },
  "freeze": {
   "state": "frozen",
   "frozen_at_utc": "2026-10-26T15:50:53Z",
   "spec_sha256": "cc5c5aab095d48a89586697cd4da4e33ddff0aebd8234c1884feb3b9b6b8792e"
  },
  "execution": {
   "state": "not-started",
   "candidate_snapshot_sha256": "7598552efaaf54966426c6a240f3a9a8508d1cf45a349459b7d3ec23c6439d1a",
   "extractor_artifact_sha256": null,
   "calibration_artifact_sha256": null,
   "exclusion_funnel_sha256": null,
   "engine_job_manifest_sha256": null,
   "compute": {
    "jobs": null,
    "tokens": null,
    "model": null,
    "code_revision": null
   }
  },
  "results": {
   "state": "not-opened",
   "discovery_artifact_sha256": null,
   "holdout_artifact_sha256": null,
   "multiplicity_artifact_sha256": null,
   "raw_primary_p_value": null,
   "effect_interval": null,
   "hypothesis_results": {
    "FCI-1": {
     "adjusted_primary_q_value": null,
     "verdict": "not-evaluated"
    },
    "FCI-2": {
     "adjusted_primary_q_value": null,
     "verdict": "not-evaluated"
    },
    "FCI-3": {
     "adjusted_primary_q_value": null,
     "verdict": "not-evaluated"
    },
    "FCI-4": {
     "adjusted_primary_q_value": null,
     "verdict": "not-evaluated"
    },
    "FCI-5": {
     "adjusted_primary_q_value": null,
     "verdict": "not-evaluated"
    }
   },
   "verdict": "not-evaluated",
   "second_seat_review_bead": null
  }
 }
}
