Skip to content

scientific(analysis): keep future-only CWC census metadata out of historical artifacts #593

Open

Description

@seonghobae

Scientific / temporal finding

longitudinal_cwc_v1 excluded rows with AvailableTime > knowledge_cutoff from numerical CWC fitting but still emitted excluded_after_cutoff_count in the digest-bound artifact. Adding evidence that did not exist at an earlier cutoff therefore changed the historical artifact digest and terminal result even though the cutoff-visible scientific population and slopes were identical.

The surviving Analysis Run vehicle #416 defines the stronger leakage-safe invariant: future-unavailable evidence must not enter the historical scientific census, duplicate/domain admission, counts, artifacts, or terminal scientific result. The exclusion counter violated that invariant and disclosed later corpus existence into an earlier replay.

Required / implemented repair

  • preserve the raw MAX_EVIDENCE_UNITS operational admission bound before cutoff filtering;
  • preserve per-row AvailableTime, snapshot provenance, cutoff-visible duplicate refusal, and CWC arithmetic ownership in psychometric_core;
  • prove that adding a future-unavailable row with a distinct identity does not change the historical artifact or terminal result;
  • prove the same for a future-unavailable row reusing a visible identity (scientific(analysis): preserve evidence identity in longitudinal CWC composition #592 interaction);
  • remove future-only census metadata from the digest-bound public artifact rather than emitting a false zero;
  • retain row_count and cluster_count as cutoff-visible scientific counts;
  • keep scientific: establish longitudinal CWC recovery acceptance evidence #501 recovery denominators/Monte Carlo evidence outside this runtime artifact; retrospective acceptance tooling may measure attempted/excluded conditions without changing a historical production result;
  • do not hide the change with source rewriting, tuple deduplication, or a compatibility field whose value depends on post-cutoff evidence.

Ordinary-forward lineage

  • scientific(analysis): preserve evidence identity in longitudinal CWC composition #592 supplemental RED bb8cb21ac40fc9f1a2d86612e8cbaaac5ccecb67 first required full historical invariance for a future-unavailable duplicate and exposed that the public exclusion count still changed the result.
  • 6b07a4eafa3c009e36299aeca6e87a5b45201d56 corrected identity-admission order but intentionally did not yet remove the leaking artifact field.
  • scientific(analysis): keep future-only CWC census metadata out of historical artifacts #593 RED 35a8f082b87c0f4e9fdd6e41f6f5fee4cd3f601b adds an independent future-unavailable distinct evidence row and requires exact artifact/terminal invariance.
  • causal repair 28509b74a7949fcfc8b40f479b7cbabdc76b89d1 removes excluded_after_cutoff_count from the public artifact and simplifies cutoff admission to return only the visible ClusteredScore population while retaining the raw size limit.
  • test migrations f1230ef23c51865aee6143d3cc7b1e4cb0db3240 and 4befe868eaf0d2384358c8fffc59432c96f1874b replace exclusion-count assertions with historical-output invariance and visible-count validation.
  • ADR currentization 98daaa73422f65fd8be9dfdb9e0cd0df50192617 and doctoring ac894bdc49ad622ecbe0c105cfb775299c2e6941 record the temporal/projection decision.

This is a temporal leakage/projection repair, not a new estimator. #501 continues to own true-parameter recovery acceptance. Keep this issue open until the complete delta and exact-head evidence survive the #416 consolidation vehicle or a verified successor.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions