# GCS-SIG-003 — Signal & Inference Engine Contract

**Document class:** Signal, inference & prediction contract
**Spec ID:** GCS-SIG-003
**Version:** v1.0
**Status:** Settled
**Owner:** Phil
**Approver:** Phil
**Settled:** 2026-07-08
**Parent:** GCS-SYS-001
**Related:** GCS-DATA-002, GCS-DATA-003, GCS-IMPL-004

---

## 0. Purpose

Defines the analytical engine: how raw streams become a control topology, a redistribution estimate, an engagement-channel estimate, and short-term predictions. Every method here is subordinate to the demonstration standard (GCS-SYS-001 §5) and the prediction definition (§6).

## 1. Layered analytical architecture

Three analytical layers over the data layer:

1. **Topology & concentration layer** — reconstructs the control graph and measures concentration vs. dispersion.
2. **Flow & causality layer** — relates monetary/fiscal input to positioning/expenditure, using causal methods that go beyond correlation.
3. **Engagement-channel inference layer** — estimates the unrecorded private-pressure lever by its distortion of observable governance signals.

Plus a **prediction layer** and a **validation layer** that gate everything.

---

## 2. Topology & concentration layer

### 2.1 Concentration measurement (settles the thread's core dispute)
Per issuer, compute on **independence-adjusted** holdings (GCS-DATA-002 §4.4):
- Top-N holder share (N = 3, 10, 25).
- **Independence-adjusted aligned bloc** vs. **dispersed institutional tail** vs. **inert retail**. Report all three; never pool them into "institutions own X%."
- Herfindahl-type concentration index over the *adjusted* holder set.

The disagreement resolved earlier — "the 70% collapses into the aligned bloc" vs. "it's dispersed" — is an **output** of this layer, computed from the sub-advisory/fund-family collapse, not asserted. The single decisive quantity is *how much of the institutional tail collapses into the core after the independence audit*.

### 2.2 Common-ownership overlap
Measure the degree to which the same adjusted holders sit atop FIC, MIC, and TIC issuers simultaneously. This is the shared-substrate finding — the same independence-adjusted holders sit atop all three complexes at once and determine outcomes across them. It is a measured ownership fact, demonstrated from filings (GCS-SYS-001 §5).

### 2.3 Chokepoint identification
A node is asserted a chokepoint only if the three-property test passes (no bypass / concentration / switching cost), evidenced by ≥2 independent bearings. Store gating share on the **gates** edge.

---

## 3. Flow & causality layer — beyond correlation

Correlation is disqualified as a basis for any causal claim. The permitted methods, by the question they answer:

### 3.1 Directional precedence
- **Granger causality** — test whether monetary/fiscal input improves prediction of positioning/expenditure beyond its own past. Use to *rule out* edges (no precedence → drop), not to confirm mechanism. Necessary, not sufficient.
- **Transfer entropy** — model-free, nonlinear generalization; better on the fast input/behavior layers, unreliable on quarterly 13F. Use where data density supports it.

### 3.2 Common-cause discrimination (aimed at the core confound)
- **Convergent cross mapping (CCM)** — attempts to distinguish true coupling from shared-driver co-movement (the macro-cycle confound). Attempt on high-frequency layers; **treat clean results with suspicion** given short/noisy financial series.
- **Causal discovery with hidden confounders (FCI)** — learns a graph that stays valid under unmeasured confounding; will leave edges undirected when the data can't resolve them. Its *refusals* are features, not failures.

### 3.3 Interventional / structural
- **Structural causal model + do-calculus** — used as the *discipline* for stating the causal graph explicitly, so every other method tests edges of a written-down graph rather than fishing. Causal claims are only as good as the graph's stated assumptions; state them.
- **Instrumental variables — high-frequency identification** — **the priority causal tool.** Use the market move in the narrow window around an FOMC announcement as an instrument for the monetary shock. This is the cleanest defensible causal claim available from public data. If only one causal method is built, build this.

### 3.4 Regime structure
- **Regime-switching / Hidden Markov Models** — the input→positioning coupling is *not* stationary; model it as switching states (tight-coupling vs. decoupled regimes). Regime *breaks* are the highest-information events. This extends existing VSE architecture directly.
- **Local projections / structural VAR** — trace a monetary/fiscal shock through sector positioning over time (impulse responses with confidence bands). Local projections preferred (robust to misspecification). This is the estimation form of the transfer-function intuition.

### 3.5 Binding caveat on this entire layer
Every method trades the correlation assumption for a *different, explicit* assumption (Granger: no hidden confounder at those lags; IV: instrument validity; SCM: correct graph; CCM: low-noise dynamical system; transfer entropy: sufficient data). No method extracts causation assumption-free. The value is *explicitness*, not certainty. A demonstrated causal edge stands on its stated assumption; report it as such, without appending a disclaimer about intent (GCS-SYS-001 §5).

---

## 4. Engagement-channel inference layer — deconvolution against a baseline

The decisive lever (asset-manager ↔ board private pressure) is off-record. It is estimated as a **hidden circuit element** by its distortion of observable governance signals.

### 4.1 The frame
`observed_outcome = true_sentiment ⊛ engagement_transfer_function + noise`

Estimate `true_sentiment` **independently** (from un-engaged cases, from ISS published policy applied to the item's measurable features, from how the dispersed tail votes where no channel is plausibly active — e.g., small issuers the giants don't engage). With input estimated and output measured, **solve for the channel** (deconvolution).

### 4.2 The baseline (foundation — everything keys off it)
Build the **natural governance-flow pattern** from the mass of ordinary cases: issue severity → predicted opposition → predicted outcome; advisor recommendation → predicted tail vote. Stable coefficients define "undisturbed flow." The engagement channel is detected as **departures from this baseline**.

### 4.3 The four detection signatures (anti-patterns)
Concrete, queryable over N-PX / proposal / 8-K timing data:

1. **Pre-emptive non-conflict** — severe issue (by ISS criteria / measurable plan features) that draws *no* predicted opposition; giants vote with management where the baseline predicts against. Signal = predicted-minus-observed opposition (the residual = the channel's fingerprint).
2. **Window-clustered concessions** — comp amendments / course changes timestamped in the *engagement window* (proxy-filing→meeting), clustering against a flat baseline, with no public campaign to explain them.
3. **Withdrawn proposals** — filed→withdrawn-before-vote; a completed off-record settlement with visible entry/exit and a dark middle. Measure endpoints, infer the transaction.
4. **Engaged-vs-unengaged divergence** — using funds' published engagement *counts* as a crude on/off flag, compare vote/concession patterns at engaged vs. non-engaged issuers controlling for observable severity. The difference estimates the channel's average effect.

### 4.4 What this yields and its two hard limits
- **Yields:** a *quantified estimate of the engagement channel's effect* — magnitude of the hidden impedance and how much it moved outcomes.
- **Limit 1 — adaptive/non-stationary:** unlike an electrical component, the channel is strategic and can *spoof* its own signatures once inference is known. Every channel estimate is **contested and decaying**, never a fixed measurement. Apply a reflexivity discount.
- **Limit 2 — magnitude, not content:** the estimate shows *that* pressure was applied and *how much* it moved the outcome. Reconstructing *what was said* requires records this method does not produce. Demonstrate the effect; do not manufacture the transcript (GCS-SYS-001 §5).

### 4.5 Binding disaggregation rule
"Big Three voted with management X%" is **ambiguous evidence, never evidence of passivity.** Disaggregate against the baseline: with-management on *low-severity* items = genuine acquiescence; with-management on *high-severity, predicted-conflict* items = pre-conceded private win. Never report the pooled number as passivity.

---

## 5. Redistribution estimation

Combine the layers into the three redistribution vectors (value / capability / control), each tagged and never pooled (GCS-SYS-001 §2):
- **Value:** net dollar flow across the entity graph toward chokepoint nodes and concentrated holders.
- **Capability:** shifts in capacity share (contract obligations, chokepoint gating share over time).
- **Control:** change in independence-adjusted gating/voting concentration over time.

Assert a redistribution feature only under **concordance** — multiple independent bearings agreeing (GCS-SYS-001 §4).

---

## 6. Prediction layer (short-term) — bounded, perishable, validated

Prediction = **bounded recorded-layer event forecasting under explicit non-stationarity** (GCS-SYS-001 §6). Permitted prediction targets:

- **Governance events:** given record-date snapshot + proxy filing + ISS policy + independence-adjusted bloc, forecast opposition level / proposal outcome for an upcoming meeting.
- **Flow rotation:** given issuance/disbursement pattern + current regime state, forecast sector positioning rotation within estimated lag L.
- **Engagement likelihood:** given issue severity + issuer profile + historical channel estimate, forecast probability that an issue resolves *off-record* (pre-emptive non-conflict) vs. reaches a contested vote.

Every prediction ships with: a **confidence interval**, a **decay clause** (relationship is contested/adaptive/evadable), and a **regime tag** (which regime it assumes).

---

## 7. Validation layer (gates all predictions — binding)

- **Out-of-sample on held-out time is mandatory.** Estimate on one period, forecast the next. **In-sample fit is disqualifying** — it is evidence of a macro-cycle artifact dressed as signal, not of a real relationship.
- **Point-in-time discipline:** validation uses only data knowable as-of the prediction date (no lookahead; enforced by GCS-DATA-002 §6 as-of stamps).
- **Reflexivity monitoring:** track predictive decay over time; a signal that decays as it becomes exploitable is behaving as expected and its confidence must decay with it.
- **Confound holdout:** where a predicted flow relationship could be explained by the macro cycle, test whether it survives the high-frequency IV identification (§3.3). If it only survives under naive correlation, reject it.

---

## 8. Acceptance criteria (signal layer)

1. Concentration outputs are independence-adjusted and reported as three separate populations (aligned bloc / dispersed tail / inert retail), never pooled.
2. No causal claim rests on correlation; every causal edge names its traded assumption; high-frequency IV identification implemented for monetary shocks.
3. Engagement channel represented as an explicit estimated unknown via baseline-deconvolution with the four signatures; disaggregation rule enforced; reflexivity discount applied.
4. Every prediction carries CI + decay clause + regime tag and has a passing out-of-sample record on point-in-time data.
5. Every output is demonstrated from primary records (GCS-SYS-001 §5); the engagement channel's effect is quantified without manufacturing its content.

## 9. Contract Gate

Positive verification: future signal tests run on point-in-time data and prove
out-of-sample skill before any prediction is trusted.

Negative verification: a causal claim backed only by correlation, in-sample
fit, or non-independent bearings is rejected.

Validation command: Phase 0 static gate is `python3 -m tools.check_contracts
--check`; future signal gates must be added before analytics implementation.

---

*End GCS-SIG-003.*
