validate_semantics
Validate ArchiMate model semantics by detecting invalid relationships, missing references, duplicate names, unused elements, and orphans. Choose summary or full detail for issue reports.
Instructions
Run ArchiMate semantic checks beyond visual reference validation.
Checks include invalid relationship combinations, missing node
references, duplicate element names within the same folder/type,
elements not placed in any view, and orphan service/data elements.
Args:
detail: `summary` (default) or `full`. The completeness checks
fire once per element and once per relationship, so a
mid-build model with no views yet produces one issue per
concept — 214 issues, ~55 KB, on a 71-element model — of
which the repeated `code`, `severity` and `message` strings
are most of the weight. Ask for `full` only when you need
to read individual issue dicts.
Returns:
Success envelope with `data.is_valid` (bool),
`data.issues_count`, `data.issue_counts`, and `data.detail`.
Under `summary`: `data.issues_by_code` maps each code to
`{count, severity, ids}`, and `data.errors` carries the
error-severity issues in full, so `is_valid: false` always
arrives with its reason. There is deliberately no `data.issues`
key — read `full` if you want that list.
Under `full`: `data.issues`, one dict per issue.
Errors:
`ModelNotFoundError` if no model is active.
`ModelOperationError` for an unknown `detail` level, with close
matches in `error.details.suggestions`.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | summary |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||