Skip to content

A rule's criterion is a column, not a sentence - #490

Merged
WaylandYang merged 1 commit into
devfrom
feat/a-criterion-reads-as-a-block
Sep 9, 2026
Merged

WaylandYang merged 1 commit into
devfrom
feat/a-criterion-reads-as-a-block

Conversation

@WaylandYang

Copy link
Copy Markdown
Contributor

The criterion was a run of prose in the rule's name cell — Person where Years of service is at least 10 and Clearance is one of secret, top-secret or Years of service is at least 25. Two problems, and the second one gets worse from here:

  • and and or carry the same weight, so A and B or C does not say which binds tighter. The one thing a reader must not get wrong about a rule is exactly this.
  • A sentence has nowhere to grow. A rule cannot read what another rule concluded #477 lets a rule stand on another rule's conclusion, so a criterion is about to have structure a line of text cannot show.

The criterion is now its own column, one condition per line:

RULE                 WHEN                                     CONCLUDES
Veteran              Years of service is at least 10          Person → Veteran
                     Clearance is one of secret, top-secret

Veteran (two ways)   Years of service is at least 10          Person → Veteran
                     Clearance is one of secret, top-secret
                  or Years of service is at least 25

Stacked lines are the conjunction — a column of conditions reads as "all of these" the way every filter list does, so no connective is printed for it. or is the only word left, in its own gutter at the head of each block after the first, because it is the only one that carries information: a second block is another way to satisfy the criterion, not another requirement (0029).

The subject class moves to Person → Veteran in Concludes, where it belongs: a rule says "a Person like this is a Veteran", and the subject is the left half of that sentence rather than part of the criterion. That frees the rule cell to be a name and its description.

A one-condition rule is still one line. Rows grow only with conditions, which are the content.

🤖 Generated with Claude Code

Signed-off-by: WaylandYang <wayland0916@gmail.com>
@WaylandYang
WaylandYang force-pushed the feat/a-criterion-reads-as-a-block branch from 21e304e to dbc148a Compare September 9, 2026 02:13
@WaylandYang
WaylandYang merged commit 28ae808 into dev Sep 9, 2026
4 checks passed
@WaylandYang
WaylandYang deleted the feat/a-criterion-reads-as-a-block branch September 9, 2026 02:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant