From 0ad420525f18c719036f6fd7bb04977ebf54d695 Mon Sep 17 00:00:00 2001 From: Brian H Date: Wed, 7 Oct 2026 01:19:15 +0000 Subject: [PATCH 1/2] docs(skill): reserved words are not SysML v2 names (render, subject) and how to read the validator's joined-token message Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01GgXQRGsprSZc2oXGNj9n8X --- .../kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md b/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md index c2c71ce..071b87c 100644 --- a/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md +++ b/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md @@ -16,6 +16,12 @@ confidence: recalled (SysML v2 textual notation; always confirm with /sysml/vali 2. Run `/sysml/validate` (the Validate button in Projects). Fix every syntax error before presenting; semantic notes such as missing documentation are advice. 3. Say what the validator cannot tell you: the sidecar does not surface `satisfy` relations or short names, and does not parse pure KerML. +## Reserved words are not names +SysML v2 keywords cannot be used as element names. Verified against the validator (2026-10-07): `part render : T;` and `attribute subject : String;` fail with +`no viable alternative at input 'partrender'` / `'attributesubject'`. The message joins the two tokens without a space (that is how the parser prints it): it +does NOT mean whitespace was lost. Read it as "the name after this keyword is reserved". Rename (`renderer`, `subj`) or quote the name: `'render'`. +Other keywords that tempt as names: `subject`, `render`, `view`, `viewpoint`, `satisfy`, `verify`, `allocate`, `state`, `action`, `item`, `port`, `flow`, `calc`. + ## Do not - Invent library types. If you are unsure a type exists, model it as a local `part def`. - Present unvalidated text as correct. From 29e401768890d01c3f169857da3c70c3077de61e Mon Sep 17 00:00:00 2001 From: Brian H Date: Wed, 7 Oct 2026 01:19:29 +0000 Subject: [PATCH 2/2] docs(skill): list only keywords verified against the validator --- .../kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md b/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md index 071b87c..ef1ed11 100644 --- a/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md +++ b/containers/kr0ki-storyb00k-agent/skills/mbse/sysml-v2-modeling.md @@ -20,7 +20,7 @@ confidence: recalled (SysML v2 textual notation; always confirm with /sysml/vali SysML v2 keywords cannot be used as element names. Verified against the validator (2026-10-07): `part render : T;` and `attribute subject : String;` fail with `no viable alternative at input 'partrender'` / `'attributesubject'`. The message joins the two tokens without a space (that is how the parser prints it): it does NOT mean whitespace was lost. Read it as "the name after this keyword is reserved". Rename (`renderer`, `subj`) or quote the name: `'render'`. -Other keywords that tempt as names: `subject`, `render`, `view`, `viewpoint`, `satisfy`, `verify`, `allocate`, `state`, `action`, `item`, `port`, `flow`, `calc`. +Also verified as rejected names: `view`, `viewpoint`, `verify`, `state`, `action`, `item`, `port`, `flow`. Quoting (`'render'`) is accepted. ## Do not - Invent library types. If you are unsure a type exists, model it as a local `part def`.