Skip to content

Milestone 14 time vectorization - #21

Open
bmeyers wants to merge 28 commits into
mainfrom
m14-time-vectorization
Open

Milestone 14 time vectorization#21
bmeyers wants to merge 28 commits into
mainfrom
m14-time-vectorization

Conversation

@bmeyers

@bmeyers bmeyers commented Aug 26, 2026

Copy link
Copy Markdown
Member

No description provided.

bmeyers added 24 commits August 25, 2026 18:42
Add the reproducible project-update deck and revise the annual-study narrative to report the S4 memory boundary and M14 time-vectorization dependency.
Promote time-axis vectorization to the next blocking milestone, preserve formulation and result compatibility gates, and define the lossy-DC annual resumption boundary.
Expand the M14 plan around permanent stepwise/CPP and vectorized/SCIPY assembly modes, time-last tensor semantics, static-data broadcasting, formulation-specific leaf-bound qualification, and scaling gates. Define representation-aware and nonunique-optimum equivalence, and allow the first accepted annual run to serve as both the M14 qualification and authoritative S4 result.
Add the explicit stepwise/vectorized temporal-assembly selector while preserving the existing stepwise default. Introduce immutable source-graph and CLARABEL canonicalization characterizations, with exact three-formulation schema and dimension regressions to anchor later vectorized equivalence.
Freeze feasible, infeasible, and full-component baselines across all three formulations with independent physical audits. Add isolated timing and RSS measurements, source-bound supervision, explicit timeouts, and immutable hashed artifacts for the legacy scaling ladder.
Freeze the formulation-specific legacy scaling ladders and add independent reconstruction of structural, numerical, performance, and provenance evidence. Require matched execution environments, clean analysis provenance, and consistent worker classifications before promoting the consolidated M14a baseline.
Record parameter names, shapes, and duplicate multiplicity in source-graph characterization, and strengthen the frozen core and full-component regressions against parameter-schema drift.
- frame CVXOPF as a multi-fidelity resilience modeling framework
- distinguish implemented capabilities from future uncertainty studies
- document the PyPSA/CVXOPF modeling comparison
- add rare-event uncertainty and nonconvex load-group research plans
- refresh developer guidance for the M16+/M17 architecture
Allow a narrowly scoped review exception for non-execution worktree changes while preserving clean source and launch provenance. Keep ladder completeness independent from the exception, record dirty worker evidence, and add focused regressions for valid, invalid, and incomplete reviewed executions.
Promote the independently reconstructed Case9 and Case118 ladder results. The record preserves execution and analysis provenance, documents the reviewed non-execution worktree exception, and authorizes advancement to M14b.
Record the frozen ladder execution commit, clean analyzer commit, and promoted result hash. Mark M14b as the next stage while keeping the Case118 annual solve paused behind the remaining vectorization gates.
Compare explicit inequalities with CVXPY leaf bounds using isolated static and time-varying Case9 fixtures. Qualify tested lossy-DC and single-node boxes with SCIPY/CLARABEL, retain explicit AC bounds pending production-structure evidence, and add independent physical audits, active-face probes, fresh-process execution, provenance, and focused tests.
Add the standard AGENTS.md discovery file as a short pointer to the authoritative CLAUDE.md guide, avoiding duplicated instructions that could drift.
Promote the authoritative fresh-process M14a.1 result and record its formulation-specific decisions. Lossy DC and single-node DC select their qualified leaf boxes, while AC retains explicit inequalities pending production-structure evidence.
Freeze the M14a.1 representation decisions and record focused qualification gates for storage, nondispatchable, HVDC, and load-shedding boxes before component leaf-bound migration.
Add typed time-last schemas, mixed-temporality box normalization, frozen representation decisions, and one-call component hooks with shape, convexity, and DCP validation. Preserve the stepwise path and explicitly cover boundary states and multistep T=1 behavior.
Integrate component costs and contributions once per horizon, publish time-last variables and expressions without rebuilding per-step objects, and bind convex vectorized solves to explicit SCIPY canonicalization provenance.
Preserve vectorized variable, expression, boundary-state, and integrated-cost schemas through assembly and project time-last values back to the existing public result contract. Validate required sources and dimensions even without a primal while leaving stepwise extraction unchanged.
Compare explicit inequalities with leaf bounds for storage, nondispatchable
generation, load shedding, and lossy-DC HVDC using shared CLARABEL/SCIPY
probes. Retain binding behavior, complete public results, independent audits,
canonical structure, solver failures, pair-local fallback decisions, and clean
fresh-process provenance for the authoritative run.
@codecov-commenter

codecov-commenter commented Aug 28, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 89.87584% with 106 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.08%. Comparing base (f7a120c) to head (0ef895b).

Files with missing lines Patch % Lines
src/cvxopf/_temporal_assembly.py 85.95% 17 Missing and 17 partials ⚠️
src/cvxopf/_component_assembly.py 82.12% 16 Missing and 16 partials ⚠️
src/cvxopf/_component_adapters.py 94.79% 5 Missing and 5 partials ⚠️
src/cvxopf/_component_adapter.py 85.24% 4 Missing and 5 partials ⚠️
src/cvxopf/dc_problem.py 90.90% 3 Missing and 3 partials ⚠️
src/cvxopf/results.py 93.25% 3 Missing and 3 partials ⚠️
src/cvxopf/hvdc.py 82.60% 2 Missing and 2 partials ⚠️
src/cvxopf/characterization.py 97.64% 1 Missing and 1 partial ⚠️
src/cvxopf/generator.py 71.42% 1 Missing and 1 partial ⚠️
src/cvxopf/problem.py 98.90% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
- Coverage   94.08%   93.08%   -1.01%     
==========================================
  Files          30       32       +2     
  Lines        4514     5379     +865     
  Branches      839      985     +146     
==========================================
+ Hits         4247     5007     +760     
- Misses        140      192      +52     
- Partials      127      180      +53     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Promote the authoritative SCIPY/CLARABEL comparison and bind its execution commit and artifact hash. Record all nine tested lossy-DC and single-node component-box decisions as leaf-qualified, close the M14b gate, and hand the frozen assembly contract to M14c without extending the result to AC or making runtime/RSS claims.
Bind the authoritative execution and promoted result, freeze all nine tested lossy-DC and single-node leaf-bound decisions, and mark M14b complete with M14c next. Preserve explicit AC boxes and make no runtime or RSS claim.
Promote the M14b-qualified component boxes into the typed leaf-bound registry and freeze M14c’s objective, tolerances, resource limits, execution sequence, equivalence boundaries, and big-experiment integration gate.
Implement the explicit time-last lossy-DC path with typed component bindings, qualified leaf bounds, SCIPY canonicalization, stable result and failure schemas, and static-input broadcasting without horizon-sized Python copies.

Preserve the stepwise default and qualify the new path through T=1, short-horizon, full-component, physical-audit, failure-schema, and full-suite regression gates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants