Repository navigation
refactor(language): a partition is a class of its own rather than a direction - #559
Merged
FBumann merged 4 commits intoSep 20, 2026
Merged
Conversation
…ion with nothing consumed or produced A translation, a window and a grouped position hold a Partition: the key column stepped along, the group columns within= named, and the key columns joined on. Direction keeps sum and at, where columns are consumed and produced and the frame changes. A partition's frame does not change, so its fields no longer have to be read against a paragraph that redefines them. RelationNode carries either as `use`, and each consumer asserts the kind its operator takes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UnbTmmYp7auaiCwSgkKKsB
Documentation build overview
17 files changed ·
|
FBumann
added this pull request to stack #560
September 18, 2026 20:09
FBumann
removed this pull request from stack #560
September 19, 2026 18:10
FBumann
added this pull request to stack #574
September 19, 2026 18:10
FBumann
removed this pull request from stack #574
September 19, 2026 18:12
FBumann
added this pull request to stack #575
September 19, 2026 18:12
Carries origin/main up the stack of #494. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DUyQztqnwapp3vHPhzBLw5
FBumann
removed this pull request from stack #575
September 20, 2026 20:34
FBumann
added this pull request to stack #583
September 20, 2026 20:35
This was referenced Sep 20, 2026
refactor(program): a program names its nodes by the naming rule and its groups as the file does
#585
Merged
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.
Stacked on #494.
What this changes
program.Partitionholds what a translation, a window and a grouped position read off a relation:along, the key column stepped along;group, the value columnswithin=named; andjoined, the other key columns.Translate.partition,Window.partitionandDimensionPositionNode.partitionarePartition | None.Directionkeepssumandatalone, and its docstring loses the paragraph that redefined its fields for a partition.RelationNodecarries either kind asuse, and each consumer asserts the kind its operator takes.Why
A partition is not a direction.
sumandatconsume columns and produce columns, so the frame changes and "which way" is the fact. A partition leaves the frame as it is: it steps along one key column and reads the group columns at the frame's own key. Soconsumedandproducedwere false names for its two fields, andDirectionhad to say "for a partition,consumedis…" to be read at all.Walkhad the same paragraph.No consumer took both kinds. Resolution already built them through two functions, and every reader was one or the other. The one shared piece was the typesetter's
_relation_read, which reads the relation's name, key and values, so it takes theRelationDeclarationnow.The break
Partitionjoinsprogram.__all__. The three nodes above no longer hold aDirection, so a consumer reading.consumedor.producedoff a partition reads.alongand.groupinstead. lpspec pins math-spec by tag and needs the same follow-up #494 already owes it.Rebased onto main at
bda1fc5Merged, not replayed: the hard rule here is never to force-push.
maincamein at the bottom of the stack (#494) and was carried up through every branch
between, so this one's base is current.
Clean at this level: no conflict, and the suite passes unchanged.
Gates
pixi.shis refused by this environment's egress proxy, so the gates ran from auvenvironment on Python 3.12. That is a departure from the "everything runs in a pixi environment" default.pytest -n autoruff check,ruff formatpyrefly checktypos,reuse lintmkdocs build --strictdocs.python.orginventory dropped for the run — the proxy refuses it with a 403compile-texEvery generator was re-run: neither the schema, nor the golden
.outfiles, nor the generated pages moved. One test moved with the field it reads:test_a_partition_keeps_its_group_when_the_relation_gains_a_value_columnasserts.groupwhere it asserted.produced.🤖 Generated with Claude Code
https://claude.ai/code/session_01UnbTmmYp7auaiCwSgkKKsB
Generated by Claude Code
Generated by Claude Code