Docs & Rules

objectionary/eoGitHubLast refreshed Oct 2, 2026

This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works

1 name in these docs no longer matches the code.

master60469a0listed 21h ago

Is this yours? Install to manage it

Once installed, Striff checks every pull request.

33
2
1 stale2
31
31
11 docs, listed Oct 2
objectionary/eoOpen repository

Names these docs write that the code no longer has1

Each sentence below names a type the default branch doesn't declare, or declares somewhere else. Edit the doc so it matches the code, or bring the type back.

  • Goneorg.eolang.parser.Program
    The class org.eolang.parser.Program is responsible for making XSLT transformations and the entire list of them is stored in the org.eolang.parser.Pack class.

    org.eolang.parser declares nothing by this name.

    View on GitHub

objectionary/eo — documented rules

33 of 33 rules, printed October 3, 2026.

The sentence in your docs
Read Oct 2
It's done by the org.eolang.parser.EoSyntax class in the eo-parser module.
EoSyntax is in eo-parser
Holds
Read Oct 2
The class org.eolang.maven.MjTranspile in the eo-maven-plugin module is responsible for taking parsed and optimized XMIRs and then transforming the XML document into a collection of .java files.
MjTranspile is in eo-maven-plugin
Holds
Read Oct 2
The public entry point is EoSyntax:
EoSyntax is exported
HoldsPR #9072 · Oct 2
Read Oct 2
The runtime collaboration is small — five objects, all package-private: Class Eo, Role Top-level driver Splits input into Span s (one per source line), classifies each via Eo.classify , dispatches to the chosen Line Also runs end-of-file checks (text-block closure, dangling comments) and the close-time hooks for popping levels
Line is internal to its module
Holds
Read Oct 2
The runtime collaboration is small — five objects, all package-private: Class Eo, Role Top-level driver Splits input into Span s (one per source line), classifies each via Eo.classify , dispatches to the chosen Line Also runs end-of-file checks (text-block closure, dangling comments) and the close-time hooks for popping levels
Eo is internal to its module
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
Stack is internal to its module
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
Globals is internal to its module
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
Emit is internal to its module
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
Line is a contract
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnApplication implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnFormation implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnReversed implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnOnlyPhi implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnCompactTuple implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnMethod implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnMeta implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnComment implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnBlank implements Line
Holds
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
LnTextBlock implements Line
Holds
Read Oct 2
Class Stack + Level, Role The indent stack of §5 in the spec One Level per occupied indent column, carrying kind , openness , named , child counters, and per-kind state (compact-tuple N , bare-reversed receiver flag, etc.) Stack.popDeeperThan(indent) fires close-time hooks ( Eo.checkOnClose ) so each level reports its own R-5.3 violation
Level is internal to its module
Holds
Read Oct 2
Class Stack + Level, Role The indent stack of §5 in the spec One Level per occupied indent column, carrying kind , openness , named , child counters, and per-kind state (compact-tuple N , bare-reversed receiver flag, etc.) Stack.popDeeperThan(indent) fires close-time hooks ( Eo.checkOnClose ) so each level reports its own R-5.3 violation
Stack has a popDeeperThan method
Holds
Read Oct 2
Class Stack + Level, Role The indent stack of §5 in the spec One Level per occupied indent column, carrying kind , openness , named , child counters, and per-kind state (compact-tuple N , bare-reversed receiver flag, etc.) Stack.popDeeperThan(indent) fires close-time hooks ( Eo.checkOnClose ) so each level reports its own R-5.3 violation
Level has kind
Holds
Read Oct 2
Class Stack + Level, Role The indent stack of §5 in the spec One Level per occupied indent column, carrying kind , openness , named , child counters, and per-kind state (compact-tuple N , bare-reversed receiver flag, etc.) Stack.popDeeperThan(indent) fires close-time hooks ( Eo.checkOnClose ) so each level reports its own R-5.3 violation
Level has openness
Holds
Read Oct 2
Class Stack + Level, Role The indent stack of §5 in the spec One Level per occupied indent column, carrying kind , openness , named , child counters, and per-kind state (compact-tuple N , bare-reversed receiver flag, etc.) Stack.popDeeperThan(indent) fires close-time hooks ( Eo.checkOnClose ) so each level reports its own R-5.3 violation
Level has named
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has an object method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a voidParam method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a method method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a star method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a close method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a set method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a slot method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a savepoint method
Holds
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit has a rollback method
Holds
33 rules from 2 docs

See these where the change is. The browser extension puts a pull request's doc findings, and a diagram of what it changed, on the GitHub page itself, so the code and what your docs say about it are side by side.