| name | sysml-gql |
| description | Thin bridge when SysML v2 modeling uses MemNet GQL working memory: campaign task, shaped pin_map, narrow .sysml edit, validate, then openCypher-shaped mutate deltas. Triggers: sysml gql, sysml memnet gql, SysML GQL, modeling pin_map, TSK_model GQL, SysML node labels, hasPort satisfies allocates, MemNet SysML mapping. |
| metadata | {"pattern":"pipeline","secondary":"tool-wrapper","domain":"sysml,memnet","version":"1.8","product":"memnet-llm==0.19.3","pairs_with":["graph-query-language","gql-path-patterns","mcp-memnet","memnet-format","sysml-memnet-cache","sysml-memnet-documentation","sysml-modeling-workflow","memnet-nested-sessions"]} |
| token_guardrails | - GQL wire only: shaped pin_map read + openCypher-shaped mutate. No Layer / NODE|EDGE line dialect; no pipe @TAG agent I/O.
- leftover NEW / leftover anchor= named leftover. Cue by labels+properties.
- .sysml is structural SSOT; MemNet holds atomised modeling relatives between turns.
- Construct map SSOT: sysml-memnet-patterns.md -- do not invent labels or rel spellings.
- Keep this skill thin: link siblings for tools, wire, and full snap procedure.
|
SysML x MemNet GQL (thin bridge)
When: SysML v2 modeling with MemNet as goldfish working memory.
Stores: .sysml = structure and satisfy links. MemNet GQL = atomised relatives (parts, ports, locators, claims) for the next turn.
MUST NOT teach Layer / NODE|EDGE line dialect or pipe @TAG agent I/O.
Turn loop
| Step | Action |
|---|
| 1 | session_open if no map. Cue TSK_model_<short> (find if unknown). Warm miss -> initial snap (snap_model / ingest_sysml) |
| 2 | pin_map campaign cue; if this cut has session=, that map next generate (memnet-nested-sessions). depth=2, max_rows=50 |
| 3 | Narrow Read at SYM.line; edit project models/*.sysml |
| 4 | Validate (mcp-sysml-v2) until pass |
| 5 | mutate deltas only (new/changed atoms + refresh SYM.line) |
Full six-step snap (serve probe, outputs sync, settle): sysml-memnet-snap.md. Cache defer: sysml-memnet-cache. Hub sequence: sysml-modeling-workflow. Nest cuts: memnet-nested-sessions.
Construct map (abbrev)
| SysML v2 | Node label | Typical rels |
|---|
| part def/usage | :PRT | :declaredIn, :inFile, :hasPort |
| port def/usage | :POR | :typedBy, port-port :BIND |
| connection / link | :CON | :connects, :typedBy |
| requirement | :REQ | -- |
| item / flow item | :ITM | :flowOf (item node only) |
| state / action / calc | :BEH | :declaredIn |
| satisfy | rel only | :satisfies |
| allocate | rel only | :allocates |
.sysml file / locator | :MOD / :SYM | :inFile |
Closed kind enums and batch rules: sysml-memnet-patterns.md.
MATCH (t:TSK {goal: $goal})
CREATE (p:PRT {name: 'Pdu', kind: 'partUsage'})-[:hasPort]->(por:POR {name: 'pwr_in', kind: 'portUsage', dir: 'in'})
CREATE (p)-[:satisfies]->(:REQ {requirementId: $req})
Cue and MATCH by labels+properties (goal, name, qname, path, requirementId). leftover nickname id / locators=['id=...'] / id:'NEW' are leftover. Bound paths: gql-path-patterns.
Related