Skip to content

docs(project): record exception handlers as not a SysML v2 construct and close the item - #499

Merged
HuiJun merged 1 commit into
developfrom
docs/exception-handlers-record
Sep 22, 2026
Merged

HuiJun merged 1 commit into
developfrom
docs/exception-handlers-record

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

What and why

docs/project/spec-compliance.md still carried exception handlers under Actions (Advanced) and, under Implementable But Not Yet Done, as "spec exists, needs exception propagation" — the last UML-referenced action item presented as work to do. The new design record docs/project/exception-handlers.md adjudicates it, following the precedent of expansion-regions.md and protocol-state-machines.md, and closes it as not a SysML v2 construct:

  • SysML v2 §7.17 enumerates the action kinds (send, accept, assign, terminate, if, loops, control nodes) and spells no raise, handler or propagation; §8.3.17 and the reflective SysML.sysml metamodel declare no ExceptionHandler.
  • KerML §7.4.7 / Performances.kerml: a Performance ends, it does not fail; Actions.sysml has a base type for every notation kind and none for a handler. rg -i 'exception|handler|fault|raise|throw' over the bundled library hits only the license NOTICE.
  • No model in the training corpus (100 files) or the three pilot corpora (213 files) writes one; the six matches model Failure as an occurrence def. The pinned pilot's SysML.ecore (175 classes) and kerml.ecore (82) have no matching class.

The need is covered by constructs the runtime already executes: an out result routed by decide, or a failure signal send to an accept forked beside the work whose branch terminates it (§7.17.10 MonitoredActivity); an unmodeled failure is a typed error (ErrDivisionByZero, …), never a panic, and an error verdict under a verification case. The record includes both worked models and their bin/sysml output. No AST, IR or runtime change follows.

Also updated: both compliance-mapping entries (the Implementable But Not Yet Done list is now empty), the Track E introduction, a closure section and the two status bullets in roadmap.md, a Handling a failure: there is no try/catch note after Terminate in docs/guide/06-behavior.md, the project README and MkDocs nav, and a changelog fragment.

How it was verified

  • Worked models validated and run with bin/sysml -action … (byResult with divisor 0 and 4, bySignal, and the unhandled division by zero); output is quoted in the record.
  • make docs-check (0 broken links, doc-ids OK), python3 -m mkdocs build --strict --site-dir /tmp/site, python3 scripts/changelog.py check all pass.

Checklist

  • make test and make lint pass locally — docs-only; make docs-check and the strict MkDocs build pass
  • Tests added or updated for the change — none: documentation only
  • Documentation extended where it already covers the surface (see CONTRIBUTING.md)
  • Changelog entry added as changes/unreleased/<slug>.<section>.md, not as an edit to CHANGELOG.md
  • baselines regenerated and make docs-counts run if a gate count moved — no gate count moved
  • No internal work-item labels (waves, slices, F4, K5) in the body, docs, or changelog

…and close the item

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration
devin-ai-integration Bot marked this pull request as ready for review September 21, 2026 18:18

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@HuiJun
HuiJun merged commit edd0603 into develop Sep 22, 2026
15 checks passed
@HuiJun
HuiJun deleted the docs/exception-handlers-record branch September 22, 2026 00:49
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