Skip to content

History / Can't Happen

Revisions

  • Document the compact form of a reason tag reference Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @modelint modelint committed Aug 4, 2026
  • Document the two event sections and the non transition responses The xsm language gained an ignore and a can't happen section per state block, each response carrying an explanation, and the single events header split into interaction events and completion events. Rewritten: - Events: the two headers, one block_end closing both, and the rule that an event is a completion event only when that is its sole use. The Door's Hold released is the worked example. - Ignore: was documenting the bare event name in transitions as the way to ignore. Now covers the ignore section, keeping the bare form as legacy. - Can't Happen: was a stub plus a note deferring to the state table spreadsheets. Now covers declaring a reason and the omission default, and explains why the event split is what makes the default judgeable. - Reason tags (new): the angle bracket labels, file scoping, definition versus reference, and conventions. Corrected along the way: - Can't Happen claimed omission from the Events section implies can't happen. It is omission from a state's response sections. - Lifecycle or Assigner still quoted events* in the top level rule. - Initial transitions showed Execute > WAITING FOR CABIN where transfer.xsm has initial > CREATED. - Deletion states showed a stale destination in the Delete activity. Example links now point at the migrated models in xsm-parser/input rather than the older copies in xuml-populate. Those resolve once docs merges to main. References to the popsystem module itself are unchanged. Every grammar snippet was checked line by line against state_model.peg and every xsm example against the files in input/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @modelint modelint committed Aug 4, 2026
  • Updated Can't happen (markdown)

    @modelint modelint committed Jul 27, 2026