R187 final Comet Analyzer integration

R187 is the historical cumulative baseline for the completed Analyzer/Comparison merger remediation. It added no scientific calculation or user-data transformation; it qualified the one-workspace architecture that later Theta releases continue to build on.

R515 structural note: This page preserves feature/release contracts, but any flat-root Python filenames cited as implementation evidence are historical pre-convergence names. Current implementation ownership is canonical under src/kopr/; use the current package/API policy for imports and extension work.

Historical integration authority

one Comet Analyzer tab
→ one WLightCurves implementation
→ one WLIGHTCURVES_POLICY identity
→ immutable typed targets and datasets
→ one 1..N workspace

The historical merger gate retains release = R144 for traceability and adds qualified_through = R187.

1..N state ownership

  • returns and formula documents are target-scoped;
  • channel visibility and Fit Groups are global workspace policy;
  • Independent fit is valid for 1..N targets;
  • Shared n is available only for two or more compatible targets;
  • formula editors navigate the active target while validation commits all selected target documents atomically.

Current range policy over the historical integration baseline

The historical integration established observation-owned automatic X and cached Auto range. Current behavior preserves that AUTO rule while adding explicit USER-X model extrapolation bounded to the selected apparition. X and Y edit intent are independent; manual X with untouched Y can derive Y from observations and prepared model points in the requested interval, while explicit manual Y remains authoritative.

Light Curve Scenario boundary

R183 defines one portable .kopr-lc.json scenario for 1..N targets. R184 requires transactional GUI/runtime restore: validation completes before the restored workspace replaces the committed state.

The scenario path reuses the current typed target, formula, channel and fit architecture; it is not a legacy Comparison runtime.

Typed-target cleanup

Current target loading is typed and immutable. The active production route does not use type_codes or an active self.script. This prevents historical script-shaped state from becoming a parallel source of target identity or behavior.

Compatibility and migration

wanalyzer.py and wcomparison.py are deprecated aliases to the canonical implementation. legacy_comparison_import.py is a one-way migration-only parser and must remain isolated from current runtime state, scenario loading and release identity.

R187 release gate

r187_comet_analyzer_final_integration_release_gate.py composes the current R181–R186 component gates and checks the cutover, automatic Y envelope, Auto range, scenario contract and restore, 1..N unification, typed-target cleanup and current terminology.

ComponentSource-reported result
Cumulative cutoverPASS
R181 automatic Y envelopePASS
R182 Auto rangePASS
R183 scenario contractPASS
R184 scenario GUI/runtimePASS
R185 1..N unificationPASS
R186 typed-target cleanupPASS
R187 final integrationPASS

Qualification boundary

The R187 baseline regression suite reported 384 passed, 3 skipped and 0 failed. The skipped modules were the real PyQt5 gates from R154, R161 and R179. R187 therefore qualified as PASS_HEADLESS, not as a complete native GUI qualification.

R135–R187 behavioral gates are historical baseline evidence. Later Theta behavior is documented by its own focused source reports and must not be inferred from the R187 gate alone.

Current follow-up status

  • The Marcus d_90 GUI unit error is resolved: d_90 is dimensionless and no deg suffix is shown.
  • Current Formulae parameter rows align with the formula/comet identity rather than using child indentation.
  • The current sidebar/Settings organization is the post-localization layout documented in the user guide; the superseded intermediate GUI layout is not a current contract.

Other historical deferred design questions remain historical evidence unless separately implemented and documented.

Evidence

R187 final integration report · Compact reference · Scenario user guide