Skip to content

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.