Repository navigation
docs(language): relations get a page of their own, and the operators page stops restating how a call reads one - #543
Merged
Conversation
The six rules agreed for sum and at through a relation are written once, under one heading, each with the example and the refusal that shows it. The bullets that stated three of them in other words are folded in, so no rule is on the page twice. A table beside the worked example shows what each of its three calls consumes, joins on and produces. The partition section says which of the six it keeps. Sentence length on the page: n 125, avg 17.1, median 16, 21 over 25, against n 105, avg 17.0, median 17, 13 over 25 before. Eight of the over-25 count are a bold lead-in and its first sentence counted as one. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q2gdGgMAdJ5ZVe8VM8tDTk
…a relation may gain one without changing the call `within=` is required whenever `shift`, `sum_back` or `position` names a `by=`. Omitted, it meant every value column, so a calendar that gained a `week` column regrouped every `shift` through it with nothing failing to load (#538). The refusal names the rewrite, in the words the walk's own refusal uses. Every call in the tree names its group; the typeset math does not move, so the golden outputs are unchanged. Closes #538 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q2gdGgMAdJ5ZVe8VM8tDTk
With within= required beside by=, a value column added to a relation is not read by any partition, so the page says a partition keeps rule 3 in full rather than only where the call wrote within=. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q2gdGgMAdJ5ZVe8VM8tDTk
…page stops restating how a call reads one The relations half of the dimensions page moves to relations.md: the declaration, the key claim, roles and the data supply first, then one section on how a relation is read, holding walks, the six rules, partitions and a where. The dimensions page keeps the axis and the triage table. The sum, at and shift(by=) sections on the operators page keep one sentence and a link each, and the dimension-combination table on the expressions page links the six rules rather than restating the frame law. Sentence length: relations n 105, avg 16.7, median 16, 16 over 25; dimensions n 29, avg 16.8, median 18, 2 over 25; operators n 99, avg 15.6, median 15, 10 over 25. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q2gdGgMAdJ5ZVe8VM8tDTk
…9' into docs/relations-page # Conflicts: # docs/reference/language/dimensions.md # docs/reference/language/expressions.md # docs/reference/language/operators.md
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
Relations get a page of their own,
relations.md, and the operators page stops restating how a call reads one. Docs only. Third in the stack, on #539.relations.mdholds the declaration, the key claim, roles and the data supply first, then one section, "How a relation is read", with walks, the six rules, partitions and awhere. That section is now the one home for the frame law.dimensions.mdkeeps the axis: the fields, where the members come from, and the "dimension, relation or parameter?" triage.sum,atandshift(by=)sections on the operators page keep one sentence and a link each. The dimension-combination table on the expressions page links the six rules rather than restating the walk's refusals in a cell.by=on the expressions page namedsumandatonly; it now covers every operator that takes one, and nameswithin=besideover=andinto=.Why
The reference pages follow the file's keys, and
dimensions:andrelations:are two keys. The relations half was 230 of the page's 340 lines, and 150 of those described what an operator does with a relation. The same facts were also stated on the operators page and in the expressions table, so three copies could drift. One page, one copy.A preamble to operators was the other option, and it was refused: the declaration syntax, the key claim and the data supply are the file's business, and a reader navigating by the file's keys would not look for them under "Operators".
Gates
pixicannot be installed here, since the egress proxy refusespixi.sh, so the gates ran from a uv venv on Python 3.13.pytest tests/test_docs.pymkdocs build --strictdocs.python.orginventory dropped from the config for the run; this is what proves no repointed link is deaddocs/, typoscompile-texSentence length: relations n 105, avg 16.7, median 16, 16 over 25. Dimensions n 29, avg 16.8, median 18, 2 over 25. Operators n 99, avg 15.6, median 15, 10 over 25, against 102, 15.9, 15 and 10 on the base.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Q2gdGgMAdJ5ZVe8VM8tDTk
Generated by Claude Code