Skip to content

docs(language): the six rules every walk through a relation keeps - #539

Merged
FBumann merged 2 commits into
mainfrom
claude/relation-rules-docs-1x2fr9
Sep 18, 2026
Merged

FBumann merged 2 commits into
mainfrom
claude/relation-rules-docs-1x2fr9

Conversation

@FBumann

@FBumann FBumann commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Prompt: We defined a few rules for the relations, but we need to work them into the docs. Everything should be clear and easy to read and understand.

Note

The following content was generated by AI.

What this changes

dimensions.md states the six rules a sum or at through a relation keeps, once, under one heading, each with the example or refusal that shows it. Docs only. It replaces #537 and stacks on #540, so that the partition section can say a partition keeps rule 3 in full.

  • The bullets that stated rules 2, 3, 4 and 5 in other words are folded into the rules, so no rule is on the page twice. The three bullets left are about the shape of the call: lists, into= needs by=, one table per call.
  • A table beside the worked example shows what each of its three calls consumes, joins on and produces, with the operand and result frames. Rule 1 is then that table three times.
  • The table of what each end may name follows rule 6. The five refusals stay.
  • The partition section says which of the six it keeps: rules 3 and 4, both in full, now that feat(language): a partition names the value columns it groups by, so a relation may gain one without changing the call #540 makes within= required beside by=.

Why

The rules are what a change to the notation is measured against, so they need one home a reader can skim. #537 put them on the page beside the bullets that already said three of them, behind a table that introduced a second vocabulary, and under a section of their own for where they reach. This version keeps the rules and drops the rest.

Gates

pixi cannot be installed here, since the egress proxy refuses pixi.sh, so the gates ran from a uv venv on Python 3.13.

gate result
every YAML fence in the walks section, python -m math_spec check loads
the ten cases behind the rules, run as separate files the six legal ones load; the four refused ones print the messages the page quotes
pytest -n auto 1298 passed, 6 skipped
pytest tests/test_docs.py 33 passed
mkdocs build --strict clean, with the unreachable docs.python.org inventory dropped from the config for the run
prettier, typos clean
compile-tex not run; no model under examples/ changed in this PR

Sentence length on the page: n 126, avg 17.0, median 17, 18 over 25, against n 105, avg 17.0, median 17, 13 over 25 on main. Eight of the over-25 count are a bold lead-in and its first sentence measured as one.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Q2gdGgMAdJ5ZVe8VM8tDTk

@read-the-docs-community

read-the-docs-community Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

@FBumann
FBumann changed the base branch from main to feat/partition-names-its-group September 18, 2026 14:36
@FBumann
FBumann added this pull request to stack #541 September 18, 2026 14:38
Base automatically changed from feat/partition-names-its-group to main September 18, 2026 14:38
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
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
@FBumann
FBumann force-pushed the claude/relation-rules-docs-1x2fr9 branch from 71a6fe9 to 5de9225 Compare September 18, 2026 14:39
@FBumann
FBumann merged commit 6e93995 into main Sep 18, 2026
5 checks passed
FBumann pushed a commit that referenced this pull request Sep 18, 2026
The rename lands on the docs and the partition rules that #539–#552 and
#540 rewrote. The relations page main added already says "direction", so
the sweep now only reaches the four operator-page sentences, the
dimension-set table's error column and the declare-a-column how-to that
still said "walk". `_partition_direction` takes the `within=` columns
main made required, and `Direction`'s docstring says the group is the
ones `within=` named.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016mvLvAhLGB26wJ4gsCtRSe
@FBumann FBumann added the docs Documentation pages, guides, reference and README label Sep 24, 2026 — with Claude
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation pages, guides, reference and README

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants