Linter Rules¶
The Domain Storytelling extension brings its own rules. They run with every esdm lint and throw only where a model contains Domain Stories. They check that a story is consistent in itself: that every declared Actor and Work Object is drawn by at least one edge, that every Group has members and every membership names a declared Group, that no name is declared twice where the story needs it to be unique, and that a story has Sentences and every Sentence has edges.
These rules use the structure and modeling categories like the core rules; their names start with story-. Severities and the format of the IDs are explained on the core Linter Rules page.
Structure¶
esdm/structure/story-duplicate-actor-name¶
Severity: error
Within the actors of a Domain Story, every name appears at most once. Domain Storytelling draws one icon per Actor in a story; a second declaration with the same name confuses the diagram and every reference to it.
esdm/structure/story-duplicate-group-name¶
Severity: error
Within the groups of a Domain Story, every name appears at most once. Memberships refer to Groups by name, so a duplicate makes them ambiguous.
esdm/structure/story-duplicate-work-object-in-sentence¶
Severity: error
Within the workObjects of one Sentence, every name appears at most once. Domain Storytelling redraws Work Objects per Sentence, so the same name in another Sentence is a fresh instance and fine; a second declaration inside the same Sentence is a mistake.
esdm/structure/story-sentence-without-edges¶
Severity: warning
Every Sentence of a Domain Story must draw at least one edge; a Sentence without edges tells nothing. The schema already requires this; the rule keeps the requirement in place independently of the schema.
esdm/structure/story-unknown-group-membership¶
Severity: error
Every Group an Actor, Work Object, or edge claims membership in via groups must be declared in the groups of the story. Membership in an undeclared Group is a stale reference.
esdm/structure/story-without-sentences¶
Severity: warning
Every Domain Story must have at least one Sentence; a story without Sentences tells nothing. The schema already requires this; the rule keeps the requirement in place independently of the schema.
Modeling¶
esdm/modeling/story-orphan-actor¶
Severity: warning
An Actor declared in the actors of a Domain Story should be drawn by at least one edge of the story; an Actor nothing draws is decorative. Actors that appear only in edges, without a declaration, are intentional and not flagged.
esdm/modeling/story-orphan-group¶
Severity: warning
Every Group declared in the groups of a Domain Story should have at least one member: an Actor, a Work Object, or an edge. An empty Group is a frame around nothing.
esdm/modeling/story-orphan-work-object¶
Severity: warning
A Work Object declared in the workObjects of a Sentence should be drawn by at least one edge of that Sentence; a Work Object nothing draws is decorative. Work Objects that appear only in edges, without a declaration, are intentional and not flagged.