You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The roadmap now governs datasets, feature schemas, preprocessing, models, decision policies, evaluation, deployment, rollback and retraining. Those components are individually versioned, but there is still no single canonical experiment envelope binding the exact combination used for a scientific result.
Without one immutable experiment identity, a reported metric such as Sharpe, calibration error, domain distance, or challenger delta can become unreproducible because the dataset version, split policy, preprocessing artifact, feature projection, model weights, decision policy, execution assumptions, environment or code revision changed independently.
Issue comments and ad hoc filenames are not sufficient provenance for a scientific experiment.
Canonical ExperimentBundleV1
Define an immutable, content-addressed ExperimentBundleV1 that binds at least:
experiment ID/version/hash;
research question / hypothesis ID;
repository commit/tree identity and branch only as descriptive metadata;
The canonical bundle hash must be a deterministic function of canonical scientific inputs, not mutable labels such as branch name or human display title.
Identity math
Let the canonical ordered scientific component identities be
C = (d, s, f, p, y, u, m, c, q, e, v)
for dataset, split, feature schema, preprocessing, label, uncertainty/scenario policy, model, calibration, decision policy, execution/risk policy, and environment/code identity.
For a valid one-factor ablation, require the declared manipulated factor(s) to equal the observed component identity differences. Unexpected differences invalidate the causal attribution.
Examples:
X versus X + strategy.* should differ in feature projection/schema and downstream trained model identity, while split/evaluation policy remains identical;
same scientific components with dictionary/key insertion order changed => identical experiment hash;
one changed decision threshold/policy hash => different experiment hash;
changed display title only => unchanged scientific hash;
exact retry under same stochastic semantic namespace and deterministic replay class => same scientific identity, while separate run-attempt/receipt IDs may differ.
Run attempts versus experiment identity
Separate the scientific experiment from execution attempts.
Define ExperimentAttemptV1 with:
experiment ID;
attempt ID;
start/end times;
runtime/worker identities;
logs/checkpoints;
resource envelope;
failure/retry reason;
produced artifact hashes.
Retries do not automatically create a new scientific experiment if every scientific input remains identical. A retry that changes batch size in a numerically material way, code, environment, seed namespace, preprocessing or any scientific component creates a successor experiment identity.
Metric registry
Every durable evaluation metric must have a stable semantic identity including:
formula/version;
directionality;
units;
weighting/evidence-mass treatment;
missing/censored handling;
aggregation across pairs/regimes/members;
confidence/uncertainty method where applicable.
Do not reuse sharpe, accuracy, drawdown, brier, domain_distance, etc. for materially different formulas under one metric identity.
Protected evaluation and search lineage
#698 search-budget governance must attach every explored candidate to an experiment identity, including failed/unfavorable candidates. A promoted/champion result must resolve to the complete ancestor search graph.
A protected holdout that was inspected and then used to redesign any component creates a successor research cycle; the original experiment receipt remains immutable.
Reproducible report generation
Human reports, tables and plots must be generated from the experiment/result registry rather than manually copied metric values. A report manifest must enumerate the exact result IDs it cites.
Thus a statement such as 'challenger improves post-cost utility by 1.4%' can be traced to:
the two experiment IDs;
metric identity;
evaluation stratum;
component difference set;
exact result artifacts.
Deployment linkage
#716 promotion receipts must reference the exact qualifying experiment bundle(s). A live deployment cannot cite a generic model file as qualification evidence without the experiment/split/metric context that justified promotion.
#717 challenger comparisons must themselves be immutable comparison artifacts referencing champion/challenger experiment IDs.
Invalidated / superseded experiments
If a later audit discovers leakage, schema corruption, incorrect units, bad source provenance, or another scientific defect, mark the experiment invalidated with reason and successor link. Do not delete or rewrite the original result.
Downstream reports/deployments that depend on an invalidated experiment must become discoverable through reverse lineage.
Negative controls
Certification must detect:
same experiment ID after dataset/split/feature/preprocessing/model/decision-policy change;
different experiment ID caused only by JSON key order or display title;
manually reported metric not tied to a result artifact;
Parents: #605 #698 #714 #716 #717
Related: #637–#646 #681 #689 #693 #697 #699 #709 #710 #712 #713
Problem
The roadmap now governs datasets, feature schemas, preprocessing, models, decision policies, evaluation, deployment, rollback and retraining. Those components are individually versioned, but there is still no single canonical experiment envelope binding the exact combination used for a scientific result.
Without one immutable experiment identity, a reported metric such as Sharpe, calibration error, domain distance, or challenger delta can become unreproducible because the dataset version, split policy, preprocessing artifact, feature projection, model weights, decision policy, execution assumptions, environment or code revision changed independently.
Issue comments and ad hoc filenames are not sufficient provenance for a scientific experiment.
Canonical ExperimentBundleV1
Define an immutable, content-addressed
ExperimentBundleV1that binds at least:ModelDecisionPolicyV1identity (design(v2.10+): freeze ML score-to-action policy, thresholding, sizing, abstention, and execution handoff #714) when evaluating trading actions;The canonical bundle hash must be a deterministic function of canonical scientific inputs, not mutable labels such as branch name or human display title.
Identity math
Let the canonical ordered scientific component identities be
C = (d, s, f, p, y, u, m, c, q, e, v)for dataset, split, feature schema, preprocessing, label, uncertainty/scenario policy, model, calibration, decision policy, execution/risk policy, and environment/code identity.
Define
experiment_id = SHA256(canonical(C, metric_registry, hypothesis_id, fit_policy)).If any scientifically material component changes, the experiment identity must change.
Changing only non-scientific display metadata must not change the scientific experiment identity.
Result identity
For result artifact
Rproduced by experimentE, bindresult_id = SHA256(experiment_id || canonical(metric_id, stratum_id, output_payload_hash)).A metric value without its experiment/result identity is not sufficient release evidence.
Comparison / ablation contract
An ablation comparing experiment A and B must explicitly state the controlled-difference set
Delta(A,B) = {component fields whose identities differ}.For a valid one-factor ablation, require the declared manipulated factor(s) to equal the observed component identity differences. Unexpected differences invalidate the causal attribution.
Examples:
XversusX + strategy.*should differ in feature projection/schema and downstream trained model identity, while split/evaluation policy remains identical;Container/reference fixture
Reference canonicalization fixture should prove:
Run attempts versus experiment identity
Separate the scientific experiment from execution attempts.
Define
ExperimentAttemptV1with:Retries do not automatically create a new scientific experiment if every scientific input remains identical. A retry that changes batch size in a numerically material way, code, environment, seed namespace, preprocessing or any scientific component creates a successor experiment identity.
Metric registry
Every durable evaluation metric must have a stable semantic identity including:
Do not reuse
sharpe,accuracy,drawdown,brier,domain_distance, etc. for materially different formulas under one metric identity.Protected evaluation and search lineage
#698 search-budget governance must attach every explored candidate to an experiment identity, including failed/unfavorable candidates. A promoted/champion result must resolve to the complete ancestor search graph.
A protected holdout that was inspected and then used to redesign any component creates a successor research cycle; the original experiment receipt remains immutable.
Reproducible report generation
Human reports, tables and plots must be generated from the experiment/result registry rather than manually copied metric values. A report manifest must enumerate the exact result IDs it cites.
Thus a statement such as 'challenger improves post-cost utility by 1.4%' can be traced to:
Deployment linkage
#716 promotion receipts must reference the exact qualifying experiment bundle(s). A live deployment cannot cite a generic model file as qualification evidence without the experiment/split/metric context that justified promotion.
#717 challenger comparisons must themselves be immutable comparison artifacts referencing champion/challenger experiment IDs.
Invalidated / superseded experiments
If a later audit discovers leakage, schema corruption, incorrect units, bad source provenance, or another scientific defect, mark the experiment
invalidatedwith reason and successor link. Do not delete or rewrite the original result.Downstream reports/deployments that depend on an invalidated experiment must become discoverable through reverse lineage.
Negative controls
Certification must detect:
Acceptance
ExperimentBundleV1,ExperimentAttemptV1, metric registry and comparison/ablation schema exist;