Repository navigation
Conversation
…le condition under `conditions:` rather than `masks:` Port to mathspec main (0f892c0): the program classes take their construct's name (#855), mathspec's private modules start with an underscore (#878), a condition is a condition rather than a predicate (#904, #907), and every expression node states its dims (#899). The PyPSA rungs, tables, ladder, gallery and construct pages and the walkthrough golden file are regenerated against mathspec main's corpus. prep supplies each component's `*_active_asset` flag, which #886 adds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EsnGSGGQso2HHaNdgWeAt6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EsnGSGGQso2HHaNdgWeAt6
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
This was referenced Oct 21, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
The following content was generated by AI.
specsolve builds the files of mathspec
mainat0f892c0, which will be released as 0.4.0.missing: neutralstays, becausemainstill has it. Every PyPSA rung matches again. The PR waits for mathspec 0.4.0 on PyPI.What changed
ParameterDeclarationisParameter, and the oldParameterisParameterReference.VariableandNamedExpressionswap the same way. The renames ran as one simultaneous mapping, so no name was renamed twice. Conditions replace predicates (energy-models/mathspec#904): for example,PredicateisConditionandNamedMaskisConditionReference, and the fieldsAssumption.holds,CountComparison.conditionandGivenTargets.conditionsfollow.mathspec.validationismathspec._validation(energy-models/mathspec#878).conditions:and writes it undercondition:(energy-models/mathspec#907).differential/pypsa/projection.pyreads both keys.dims=(energy-models/mathspec#899). Only tests build nodes by hand, so only tests changed.src/builds none.main. A corpus from 0.3.0 does not load under 0.4.0, because it writesmasks:.prep.standingsupplies each component's*_active_assetflag, which energy-models/mathspec#886 adds: PyPSA's staticactive, read from the first scenario.pypsa-parity.ymlchecks outv0.4.0.mathspec>=0.4.0,<0.5, and the floors environment pins==0.4.0.references.json; the ladder, gallery and construct pages; and the walkthrough golden file.docs/development/architecture.mdnames the renamed nodes.Verification
pixi run checkcannot solve until mathspec 0.4.0 is on PyPI. So the gates ran in the default pixi environment withpixi run --as-is, with mathspecmainat0f892c0built as a wheel stamped 0.4.0. On117c1f8;b15fafcadds only the changelog line:lint,format-check: pass.typecheck: 0 errors on both configurations.test: 5759 passed, 574 skipped, 4 xfailed.tests/test_changelog.pypasses again onb15fafc.differential/pypsa/parity.pyagainst mathspecmain's corpus, run the waypypsa-parity.ymlruns it: every rung matches, exit 0.Not run:
test-via-pyarrow,test-bench,docs-build,docs-test, and the floors environment.Coverage that moved
test_a_named_mask_builds_the_model_its_where_buildsis nowtest_a_named_condition_builds_the_model_its_condition_builds, and it writesconditions:.known_failing.yamldropsrung_63_modular_branches_and_storage, which matches on this corpus (energy-models/mathspec#883).untested.txt: 27 lines change only because the node text changed, for exampleNamedMask(toConditionReference(and the addeddims=. 16 lines are new gaps from chore(main): release 0.0.1-alpha.164 #886. On every rung, the*_active_assetconjunct is never false for Line, Transformer, StorageUnit and Store.Not done
missing: neutralis not dropped. fluxopt/specsolve#2054 does that, and it waits on energy-models/mathspec#894. After this PR merges, feat!: specsolve requires mathspec 0.4.0, wheremissing: neutralis gone and a file names the value that a missing row or a masked variable reads as #2054 is only theneutralchange.uv.lockstill resolves mathspec 0.3.0. Refreshing it needs 0.4.0 on PyPI._engine/predicates.pyandcompile_predicate, are left for a separatechorePR.🤖 Generated with Claude Code
https://claude.ai/code/session_01EsnGSGGQso2HHaNdgWeAt6