docs(language): a walk through a relation is stated once, in the three verbs the loader uses - #490
Merged
Merged
Conversation
…e verbs the loader uses The relations reference opens its walk section with the definition: a walk consumes one column, produces another, and joins on every other key column; `sum` consumes a key column and produces a value column, `at` consumes a value column and produces the key; name a column only where the relation offers two. The example that follows spells `over=zone` on `at` and annotates each constraint with the three roles, and the refusals quoted are the three that teach the rule. The walk-needs table under "The key is the claim", the rules list that restated it, the partition paragraph and the `where` bullet are folded into `Walks`, `Partitions` and a link to the where-strings table that owns those forms. The field table names `columns:` rather than the retired `over:`. The operators page keeps the null-value and variable facts for `at` and links here for the walk. Sentence measure (docs-writing script) on dimensions.md: 96 sentences, median 16 words, 18 over 25, from 85 sentences, median 22, 30 over 25. Verified without pixi, which the proxy blocks: prettier --check clean, typos clean, `mkdocs build --strict` clean with the Python inventory dropped from a temporary config copy since docs.python.org is blocked, and `pytest tests/test_docs.py tests/test_reading_page.py` gives 34 passed. The example YAML loads through `to_spec`. Not run: `reuse lint`, the full suite, and `compile-tex`, which no `examples/` change needs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019vg9UDLgdaFiu9gtbqAj7P
FBumann
marked this pull request as draft
September 16, 2026 08:55
…s already say Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019vg9UDLgdaFiu9gtbqAj7P
…said, one operator at a time Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019vg9UDLgdaFiu9gtbqAj7P
Documentation build overview
2 files changed± reference/language/dimensions/index.html± reference/language/operators/index.html |
…stractions, and keeps rationale out Twelve passages rewritten on dimensions.md: the bind-check paragraph under the field table, the cardinality lead-in that called the key the one side, the list and masked-sum bullets, the self-map paragraph, the data-supply section, and the closing table's row on selected-on label sets. Two pieces of rationale leave the page: the comparison to a 0/1 membership parameter, and the history of the nodal balance through two relations. One sentence that repeated rule 1 of where the members come from is cut. Sentence measure on dimensions.md: 104 sentences, median 16 words, 13 over 25, from 96, 16 and 18 at the previous commit. Verified from the uv environment: prettier and typos clean, mkdocs build --strict clean with the Python inventory dropped, and tests/test_docs.py plus tests/test_reading_page.py give 34 passed. The rewritten self-map claim is checked against the loader: comparing the self-map's value column to its key column is refused in every spelling. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019vg9UDLgdaFiu9gtbqAj7P
FBumann
marked this pull request as ready for review
September 16, 2026 09:10
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
The relations reference states a walk once, in the three verbs the loader uses, the operators page links to it rather than restating it, and the rest of the page says each rule in things before abstractions.
What moved where
Walksis a new section underrelations, opening with the definition above. The example spellsover=zoneonat, and each constraint's comment names the three roles and the frame it moves between. The typeset form of theatline is shown, with the joinedperiodas the second subscript. The refusals quoted are the three that teach the rule:aton a bare relation, asumthat consumes no key column, and an operand missing a joined dimension.wherebullet is a link to the where-strings table on the expressions page, which already owns those forms.over:as the required key and had a row sayinginto:is not a field. It now listscolumns:.operators.mdthesum(by=)andatparagraphs that restated the walk rules are cut to one sentence each plus a link. The null-value and variable facts foratstay.Sentence measure on
dimensions.md, from the docs-writing script:Verified
Pixi is blocked by the proxy in this session, so every gate ran from a uv environment on Python 3.12.
prettier --checkandtyposclean on both pages.mkdocs build --strictclean, with the Python object inventory dropped from a temporary config copy, since docs.python.org is blocked here too.pytest tests/test_docs.py tests/test_reading_page.py: 34 passed.Walksloads throughto_spec, and its typeset line is pasted fromto_markdown.rep_of.reptorep_of.snapshot, in either order, andrep_of == snapshotare all refused.Not run:
reuse lint, the full suite, andcompile-tex, which noexamples/change needs.Why
The thread on #437 showed a reader could not tell from
at(price, by=zone_of, into=generator)why the result carriesperiod. The page held the answer in three places, none of them where the example was. Now it is one sentence above the example, and the example's comments say it again for each row.Deliberately not done: the page describes today's rule, where
atnames the key column it produces when the key has two. Inferring that column from the operand is a resolution change, and a PR of its own.🤖 Generated with Claude Code
https://claude.ai/code/session_019vg9UDLgdaFiu9gtbqAj7P