Conversation
`given_variables:` and `given_constraints:` become `given: variables:` and `given: constraints:`, and the block is closed at those two kinds. `Spec.given` and `Program.given` follow the file, so the schema is the shape a reader sees. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CA5v9XJvgYViUHP7hSiKPU
Documentation build overview
23 files changed ·
|
FBumann
added this pull request to stack #512
September 17, 2026 13:24
This was referenced Sep 19, 2026
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.
What this changes
Two top-level keys become one, closed at two kinds:
The loaded objects follow the file, so the schema is the shape a reader sees:
Spec.given.variables,Spec.given.constraints, andProgram.given.variables/.constraintson aGivenTargets. The declaration keys go from twelve back to eleven, which is one fewer than the count #507 asks you to accept.Both types keep their own blocks (
GivenVariableBlock,GivenConstraintBlock) — only where they sit moved.given:itself takes those two keys and nothing else:Everything that moved
model.pyGivenBlockholds both mappings;Spec.givenreplaces the two fields; the collision walk and the frame walk read through itprogram.pyGivenTargetsholds both, sealed as every other group is;Program.givenreplaces the two fieldscomposition.pyGIVEN_SECTIONSbecomesGIVEN_KINDS, which maps the key insidegiven:to what one entry is called. The key is the owning section's name too, sosection.removeprefix('given_')is gonelowering.py,resolution.py,dimensions.py,advice.py,typesetting/schema.given.variablesorschema.given.constraintsexamples/library/generator.yamlandload.yamldeclaregiven: variables:declarations.mdis one## givensection with two subsections, and the anchor#givenis what the other pages link_agreednow takes the label for what one entry is called, because the same helper folds the coordinate space and the given kinds, and only the caller knows which._lay_overgained agivenbranch: a patch is laid over one kind at a time, so patching the columns a file reads cannot drop the row families beside them.Verified
Same environment as the rest of the stack: python 3.13, dependencies by pip, not the pinned solve.
pytest -q— 1367 passed, 6 skipped (1365 on fix(language): a composition refusal calls a library file a fragment rather than a template #511's head, so 2 new; every other test moved with the rename rather than being added).python -m tools.schemaregenerated; the diff isGivenBlockadded, the two top-level properties replaced by one$ref.python -m tools.galleryregenerated the four library pages. The golden typesetter output does not move — the golden model reads nothing.mkdocs build --strictbuilds, after the usual local drop of the CPython inventory this proxy 403s. The built page carriesid="given",id="given-variables"andid="given-constraints", and both inbound links resolve to#given.ruff format --check .,ruff check,typos,prettierclean.render_texrenders 34 models.Not run:
reuse,zizmor,taplo, andcompile-tex's tectonic half.Mutation table
Two guards are new here, and each is caught by the test written for it.
_lay_overreplacesgiven:whole rather than a kind at a timetest_a_patch_over_one_kind_of_given_leaves_the_other_aloneGivenBlockis open rather than closedtest_given_holds_two_kinds_and_refuses_a_third, and the schema drift testDeliberately not done
given:is closed atvariables:andconstraints:; parameters or dimensions enter the day something reads one, and until then the schema's own error names what is valid.Stack: on #511 → #510 → #508 → #507 → #505.
🤖 Generated with Claude Code
https://claude.ai/code/session_01CA5v9XJvgYViUHP7hSiKPU
Generated by Claude Code