Skip to content
← Back to The SDE inside CP3

Operator brief · 248

An empty cell is a finding. The engine refuses to grade immature data.

The key idea

The rule

Nothing is rendered until the window it claims to describe actually exists.

Each rolling and stability field names a period, and the engine treats that name as a promise. A twelve-week structural anchor computed over five weeks is not a twelve-week anchor, and calling it one in the only place its identity is recorded — the column header — is the problem. So the cell stays empty. The same holds through the stack: the fast, medium and structural lenses each come online only when their own history is complete, and the standard deviations follow the same discipline, with the twelve-week figure withheld until week twelve. The stated purpose is to avoid false confidence from partial-window calculations, and the phrase is precise about where the damage occurs. The partial figure is not merely imprecise; it invites a confidence that belongs to the mature version.

FigureWhat is available when — and what stays withheld until it is earned
weekfast lensstructural lensz-scoreverdict available
1 – 3blankblankblanknone
4 – 5liveblankblanknone
6 – 11liveblankblankdirectional only
12 +livelivelivefull stack

Every downstream layer inherits its inputs' maturity. Because normalisation divides by the structural standard deviation, no z-score exists before week twelve, and no verdict resting on one exists either.

Why partial is not early

A short window and a long window measure different things about the same series.

The intuition the rule guards against is that a five-week average is simply a noisier estimate of the twelve-week average, converging on it as data arrives. That is true only if the underlying behaviour is stationary, which is exactly the assumption the engine exists to test. When behaviour is changing — the case that matters — the short window is tracking the recent state and the long window is tracking the structural one, and they are supposed to disagree. Reading a partial window as a preview of the mature figure therefore does not merely add noise; it collapses the distinction the whole drift layer is built on. The relationship between windows is the diagnostic content, and that relationship cannot be evaluated before both windows exist. Until then there is one reading, not a comparison, and a comparison is what the engine is for.

The population choice

The series is treated as the whole population, not a sample of a larger one.

The workbook computes dispersion on the population convention rather than the sample one, and the reasoning is a statement about what is being studied. Each weekly series is the realised behaviour of this system — not a draw from some larger population of possible systems to be estimated. The question the engine asks is how much this account's expectancy has actually varied over these twelve weeks, which is a descriptive question with an exact answer, rather than an inferential question about a hypothetical distribution. The two conventions differ by a small correction that shrinks as the window grows, so the practical effect is minor. The reason to state the choice explicitly is that consistency matters more than the correction: every standard deviation in the stack must be computed the same way, or the ratios between them stop meaning anything.

The inheritance

Maturity propagates, so a single missing input silences everything downstream.

The layers are stacked, and each one's availability is bounded by its inputs. Drift compares rolling windows against each other and against the lifetime anchor, so a drift field cannot exist before both of its windows do. Normalisation divides drift by the structural standard deviation, so no normalised reading exists before the structural standard deviation does, which is week twelve. The interpretation layer consumes all of the above. This is why the maturity rule is enforced at the bottom rather than checked at the top: one blank in the stability table correctly empties the entire chain above it for that entity, and no interpretation is produced that could be mistaken for a verdict. The system's phrase for this is maturity-aware interpretation, and the mechanism is simply that immaturity is allowed to propagate instead of being filled in.

What it costs

A new account gets no structural diagnosis for a quarter, and that is correct.

The honest consequence is that an operator installing the system in January has no z-scores until late March and no drift comparison until the medium window fills. This is a real cost and it is worth stating rather than softening, because the alternative on offer everywhere else is a dashboard that produces confident diagnostics from week two. Those diagnostics are not early warnings; they are noise rendered in the visual grammar of a finding, and acting on them is worse than having nothing, because having nothing at least leaves the operator's own judgement in charge and appropriately uncertain. The governance layers — gate, brake, throttle — need no history and are fully operational from day one. It is the analytics layer that has to wait, and waiting is what makes its eventual output worth reading.

  • Governance works from week one; structural diagnostics need a quarter.
  • A blank is an accurate statement that the window does not yet exist.
  • Filling a partial window would produce noise wearing the costume of a finding.

The key idea

Refusing to answer is a capability, not a gap.

Most analytical tools are built so that every cell always contains something, because emptiness reads as incompleteness and incompleteness reads as a defect. The result is a class of systems that cannot distinguish between knowing an answer and having produced one. Building the withholding in — as a rule at the lowest layer, propagating upward, with no override — gives the engine a way to say that the question is not yet answerable. That is a strictly more informative state than a number, and it is available at exactly the moment an operator is most likely to want reassurance and least equipped to evaluate it.

Connected inside MARS

Every brief documents the same shipped system.

The complete MARS package — eleven workbooks, three TradingView indicators, the full manual library — $497.