{
  "study": "Temporal persistence and ideal cyclic storage capacity in finalized RTE actuals",
  "version": "2.0",
  "committed_before_data_outcomes_utc": "2026-10-30T17:14:14.348736+00:00",
  "source_file": "/Users/tobymikle/Documents/Codex/2026-10-30/sta/work/original-theories-vol8-20261030-source-freeze/theories/storage-sizing-variance.html",
  "source_sha256": "7185686abf3c5a758c28a9cfbff3d2ba60ec7f32127dc5dac4808e240d8d5fe2",
  "source_public_url": "https://incoprea.com/research-library/original-theories-vol8-20261030/theories/storage-sizing-variance.html",
  "scope": "Nominal-calendar chronology-sensitivity diagnostic based on RTE-reported profiles. Neither physical UTC chronology, actual French energy/capacity requirements, nor refutation of the source duration-aware mechanism. No novelty claim.",
  "data": {
    "provider": "RTE via ODRE OpenDataSoft",
    "dataset": "eco2mix-national-cons-def",
    "metadata_url": "https://odre.opendatasoft.com/api/explore/v2.1/catalog/datasets/eco2mix-national-cons-def",
    "dataset_url": "https://odre.opendatasoft.com/explore/dataset/eco2mix-national-cons-def/information/",
    "export_endpoint": "https://odre.opendatasoft.com/api/explore/v2.1/catalog/datasets/eco2mix-national-cons-def/exports/csv",
    "columns": [
      "date_heure",
      "date",
      "heure",
      "nature",
      "consommation",
      "eolien",
      "solaire"
    ],
    "years": [
      2015,
      2016,
      2017,
      2018,
      2019,
      2020,
      2021,
      2022,
      2023,
      2024
    ],
    "calendar": "Use the unique supplied(date,heure) labels ordered lexicographically in2015\u20132024,48actual00/30minute labels per nominal civil date. Preserve date_heure unchanged in raw files but do not treat its non-injective DST mapping as a physical chronology.",
    "range_utc_inclusive": "2014-12-31T23:00:00+00:00",
    "range_utc_exclusive": "2024-12-31T23:00:00+00:00",
    "units": "Source values are integer MW. The model assigns0.5 nominal-hour weight to every actual source slot; energy is reported as nominal MWh-equivalent and normalized mean-demand nominal hours, not validated historical physical French MWh.",
    "eligibility": "Every finalized definitive source(date,heure)actual label at00/30minutes is required; quarter-hour forecast-only labels are excluded explicitly. Signed wind/solar values are retained unchanged in the primary and mixture/DST sensitivities.",
    "acquisition": "Official metadata plus ten annual selected-column CSV exports; preserve exact downloaded bytes, URL, HTTP metadata and SHA-256. Requests bounded with timeout and at most2 retries; no data values interpreted as capacity before review/preflight.",
    "license_gate": "Record official metadata license/attribution and retain terms evidence before redistributing raw files; if terms unclear, retain raw privately and publish hashes/official download instructions rather than unlicensed copies."
  },
  "preflight_abort_rules": [
    "Any missing, extra or duplicate nominal(date,heure)actual label: abort all capacity outcomes. Every source date must have48actual00/30minute labels and every source year17520or17568according to leap year. No interpolation, timestamp inference, deduplication or filling.",
    "Every raw CSV hash must match its saved acquisition receipt, and required actual fields must be present and parse as finite exact integer MW. Consumption must be positive and annual wind/solar sums positive.",
    "Nature labels must be definitive and official field metadata integer MW. Consolidated/unfinalized input or unexpected units trigger review.",
    "Source UTC timestamp anomalies remain documented in the v1failed preflight; do not claim the nominal gate validates the physical timeline. Every original date_heure string is retained in raw input.",
    "No primary sign clipping: signed reported renewable values retained as supplied. Their physical/accounting cause is not inferred. A separately labelled nonnegative-generation sensitivity uses max(0,W) and max(0,S) before scenario normalization.",
    "No storage outcome until this revised plan is sealed, nominal-grid preflight passes and independent Codex code/design review approves. Further revisions require preserved reasons and hashes before outcomes."
  ],
  "model": {
    "purpose": "Hypothetical closed nominal-profile balancing scenario, not reconstruction of physically elapsed-time French operation",
    "primary_wind_solar_annual_energy_shares": [
      70,
      30
    ],
    "mixture_rule": "Fixed70%wind/30%solar annual energy shares chosen as a scenario, not fit to results. Independently rescale wind and solar shapes within each year so total hypothetical generation equals that year demand energy.",
    "formula": "G[t] = sumL * (a/b * W[t]/sumW + (b-a)/b * S[t]/sumS), where a/b is declared wind share; sums are annual half-hour MW sample sums.",
    "exact_residual_numerator": "N[t] = b*sumW*sumS*L[t] - sumL*(a*sumS*W[t] + (b-a)*sumW*S[t]); denominatorD=b*sumW*sumS; residual MW=N[t]/D.",
    "annual_balance": "Sum N[t] must equal exactly0 with integer arithmetic for every year/scenario. No floating drift subtraction, detrending or residual energy correction.",
    "capacity": "C_nominal_MWh_equivalent=(max inclusive cumulative N-min inclusive cumulative N)/(2*D), including0; exact annual nominal-slot energy balance; unlimited power and lossless storage.",
    "units_and_outputs": "Primary comparison is dimensionless original/permutation-median ratio; also nominal GWh-equivalent and equivalent hours of that profile mean demand. These are scenario-accounting units, not verified French physical capacity needs.",
    "counterfactual_limits": [
      "renewables scaling is hypothetical, not actual installed capacity",
      "100% round-trip efficiency",
      "unlimited power and infinite rate changes",
      "no imports, dispatchable supply, transmission or curtailment",
      "cyclic boundary within each separate year, not interannual storage",
      "source nominal48-slot/day grid is not a validated physical UTC chronology, so historical energy interpretation is unavailable"
    ]
  },
  "controls": {
    "deterministic_residual_MW": [
      [
        1,
        1,
        -1,
        -1
      ],
      [
        1,
        -1,
        1,
        -1
      ]
    ],
    "interval_hours": "1/2",
    "expected_capacity_MWh": [
      "1",
      "1/2"
    ],
    "invariants": "Both residual sequences have zero total, marginal variance1 and positive peak1; cumulative range differs. Established storage accounting, not new theorem."
  },
  "permutation_design": {
    "primary": "For each year, permute complete48-slot source date blocks within their supplied calendar month; all twelve months remain in original order. Within-day matched demand/wind/solar profiles and all nominal0.5h weights are preserved. This is a nominal source-label chronology, not reassigned physical timestamps.",
    "replicates_per_year_scenario": 999,
    "seed_rule": "first8 SHA-256 bytes, unsigned big-endian, of incoprea-storage-v2|year=<YYYY>|scenario=<scenarioID>|replicate=<0..998>; separate random.Random instance and standard shuffle; month orderJanuary\u2013December fixed.",
    "preserved_invariants": [
      "same retained-sample residual multiset and therefore marginal mean, variance, positive/absolute peak",
      "same month membership and monthly net sums",
      "same within-day48-slot reported profiles",
      "same nominal0.5h weights and exact zero cycle energy balance"
    ],
    "changed_feature": "Between-day chronology/persistence within each month; not all temporal structure or seasonal persistence.",
    "efficient_exact_evaluation": "Exact day net/min-prefix/max-prefix integer summaries; validate concatenation against direct slot-by-slot prefix computation for original and first permutation in every year/scenario.",
    "interpretation": "Permutation distribution is a conditional chronology sensitivity reference, not a randomized-treatment causal effect or evidence that days are exchangeable."
  },
  "scenarios": [
    {
      "id": "primary_70_30",
      "wind_share_percent": 70,
      "scheme": "month",
      "negative_policy": "reported_signed",
      "date_policy": "all_nominal_dates"
    },
    {
      "id": "sensitivity_50_50",
      "wind_share_percent": 50,
      "scheme": "month",
      "negative_policy": "reported_signed",
      "date_policy": "all_nominal_dates"
    },
    {
      "id": "sensitivity_90_10",
      "wind_share_percent": 90,
      "scheme": "month",
      "negative_policy": "reported_signed",
      "date_policy": "all_nominal_dates"
    },
    {
      "id": "sensitivity_remove_DST_dates",
      "wind_share_percent": 70,
      "scheme": "month",
      "negative_policy": "reported_signed",
      "date_policy": "exclude_both_Paris_DST_transition_dates"
    },
    {
      "id": "sensitivity_nonnegative_generation",
      "wind_share_percent": 70,
      "scheme": "month",
      "negative_policy": "max_zero_W_and_S_before_normalization",
      "date_policy": "all_nominal_dates"
    }
  ],
  "sensitivity_DST_rule": "Identify the two Europe/Paris civil dates whose physical midnight-to-midnight UTC durations differ from24h, using zoneinfo alone. Exclude all48reported slots on both dates in every year, renormalize supply within remaining363/364date profiles, and permute retained blocks within month. Label this reduced-profile synthetic sensitivity, not a complete physical year. The v1same-length scheme is retired before outcomes because all reported nominal blocks have48slots.",
  "planned_summaries": {
    "per_year_scenario": [
      "original chronological capacity",
      "999 permutation capacities and seeds",
      "permutation median, empirical2.5th/97.5th percentiles (linear interpolation), min and max",
      "original/median ratio",
      "absolute nominal GWh-equivalent and equivalent-mean-demand nominal-hour differences original minus permutation median",
      "upper/lower empirical rank of original with plus-one correction: (1+number permuted>=original)/1000 and (1+number permuted<=original)/1000; ties counted inclusively"
    ],
    "primary_across_years": [
      "median and range of original/median capacity ratios across all10years",
      "number of years above/below permutation median and outside central95% reference interval",
      "paired year-level log(original/median) summaries; no IID half-hour standard errors",
      "no primary global p-value; years are not assumed independent randomized replicates"
    ],
    "multiple_comparisons": "If exploratory year-specific extremeness is discussed, report all10primary year ranks, not a selected year; apply Holm to the two-sided rank quantities min(1,2*min(upper,lower)) only as descriptive adjusted reference ranks, not calibrated causal/randomization p-values. Sensitivity sets fully tabulated, not cherry-picked.",
    "figures": [
      "original versus999within-month day-order capacity reference by year for all5scenarios",
      "primary original/median ratio by year",
      "deterministic same-marginal cumulative excursion control"
    ],
    "claims_allowed": "Different model capacities at identical marginal residual mean/variance/peaks show these summaries do not uniquely determine capacity in the declared nominal-profile balancing model. Compatible with source mechanism that already includes duration; not French physical sizing.",
    "no_forced_support": "Null/negative/inconclusive outcomes and all exclusions are retained. No original-theory proof or actual-France storage requirement claim."
  },
  "execution_gate": "Execute only after v2plan hash, saved original raw hashes, nominal preflight PASS and separate Codex design/code review approval; retain v1physical-timeline ABORT evidence and do not describe physical completeness.",
  "authorship": "Source hypothesis from DeepSeek-prepared collection; experiment, code and report by Codex; separate Codex agent internal review is not external peer review.",
  "revision": {
    "replaces_for_execution": "v1.0, whose physical timeline preflight aborted",
    "previous_plan_sha256": "6f3df8f2d36d2ac74216174df51430a6c679daa80a40e04ede8b136a7cb41b14",
    "reason": "Before any storage outcome, complete official exports were found to use48actual source clock labels per nominal day, not valid46/50-slot Europe/Paris elapsed-time days; derived UTC contains spring duplicates/autumn omissions. Source solar includes negative reported MW. No physical timeline was repaired.",
    "capacity_outcomes_seen_before_revision": false,
    "scope_changed": true,
    "new_scope": "Conditional chronology diagnostic on the complete reported nominal date/hour profiles, not a physically complete French UTC chronology.",
    "primary_source_calendar_evidence": "RTE June2025 file specification, section3.1 fixed96quarter-hour source rows/day and consolidated/definitive actuals at half-hour labels.",
    "specification_url": "https://assets.rte-france.com/prod/public/2025-06/Eco2mix%20-%20Sp%C3%A9cifications%20des%20fichiers%20en%20puissance.pdf"
  }
}
