dynamicsystemsarchitecture.org

Pipeline Front Gate

A real, reusable part registry and front gate, replacing hand-wired one-off pipeline scripts. Register available parts once — four-channel formulas, linear estimators, agreement functions, consolidation strategies — and the front gate decides which parts to use for a given task spec, then assembles and runs a real pipeline from that decision.

What it does

Four swappable part categories, each with real alternatives registered, not stubs: three four-channel formulas (linear, quadratic, symmetric), three linear estimators (Kalman, baseline, ensemble), three agreement functions (std-based, range-based, mean-absolute-deviation), three consolidation strategies (agreement-weighted, trimmed mean, median). A task spec — number of linear viewpoints needed, whether the data has real nonlinear structure — determines which parts get selected, and the reasoning is recorded explicitly rather than left implicit.

Verified by direct execution

Ran it myself with a real task spec (3 linear viewpoints, nonlinear structure flagged):

Front gate decision: {
  'four_channel_formula': 'schema_health_quadratic',
  'linear_viewpoints': ['kalman', 'baseline', 'ensemble'],
  'agreement_function': 'std_based',
  'consolidation_strategy': 'agreement_weighted',
  'reasoning': 'n_viewpoints=3, nonlinear=True -> formula=quadratic'
}

The specific bug fix, independently reverified

The code carries a comment describing a real bug: the ensemble estimator was never having fit() called before predict(). Kalman and baseline estimators have reasonable internal defaults, so this worked by accident for them — but ensemble requires fit() to populate its internal member list, and silently returned a hardcoded constant instead of failing loudly. Didn't take this claim on trust — isolated it and ran both paths directly:

WITHOUT fit() first: 0.0
WITH fit() first (the actual fix): 0.5744067519636624

Confirmed exactly as described: without the fix, ensemble silently returns precisely 0.0 — not an error, not a warning, just a wrong number indistinguishable from a real low score. That's a genuinely dangerous failure mode, and the fix (fit on the first point, then predict sequentially) closes it.