Skip to content

Commit 3a1fa42

Browse files
committed
docs(spm): add inference operations to README and public API
- Add infer command examples to CLI section - Update MCP tools count from 11 to 15 with 4 inference tools - Add inference operation imports to programmatic API section - Export inference ops and types from src/index.ts - Update comparison table: SysProM Inference column now ✅
1 parent e6e13f5 commit 3a1fa42

2 files changed

Lines changed: 27 additions & 2 deletions

File tree

README.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,20 @@ sysprom update node D1 --status deprecated
5252
sysprom update add-rel D1 affects EL5
5353
sysprom update remove-rel D1 affects EL5
5454
sysprom update meta --fields version=2
55+
56+
# Inference operations (deterministic graph analysis)
57+
sysprom infer completeness # Score node completeness (0-1)
58+
sysprom infer lifecycle # Infer lifecycle phases
59+
sysprom infer impact I1 # Trace impact from node
60+
sysprom infer derived # Compute transitive closure
61+
sysprom infer all # Run all analyses
5562
```
5663

5764
All commands auto-detect the document — they search the current directory for `.SysProM.json`, `.SysProM.md`, or `.SysProM/` (in that priority order), then fall back to `.spm.json`, `.spm.md`, or `.spm/`. Use `--path` to specify an explicit path. Note: `spm` is an alias for `sysprom` for backwards compatibility.
5865

5966
## MCP Server
6067

61-
SysProM includes an MCP (Model Context Protocol) server exposing 11 tools over stdio transport. Any MCP-compatible agent — Cursor, Windsurf, VS Code Copilot, Cline, or custom clients — can use it.
68+
SysProM includes an MCP (Model Context Protocol) server exposing 15 tools over stdio transport. Any MCP-compatible agent — Cursor, Windsurf, VS Code Copilot, Cline, or custom clients — can use it.
6269

6370
### Configuration
6471

@@ -96,6 +103,10 @@ sysprom mcp # starts the MCP server on stdio
96103
| `update-node` | Update fields on an existing node |
97104
| `add-relationship` | Add a relationship between nodes |
98105
| `remove-relationship` | Remove a relationship |
106+
| `infer-completeness` | Score node completeness (0-1) based on refinement relationships |
107+
| `infer-lifecycle` | Infer lifecycle phase from status and lifecycle fields |
108+
| `infer-impact` | Trace impact propagation from a starting node |
109+
| `infer-derived` | Compute transitive closure and inverse relationships |
99110

100111
All tools accept a `path` parameter to specify the SysProM document location.
101112

@@ -134,6 +145,12 @@ import {
134145
removeRelationship,
135146
updateMetadata,
136147

148+
// Inference
149+
inferCompletenessOp,
150+
inferLifecycleOp,
151+
inferImpactOp,
152+
inferDerivedOp,
153+
137154
// File I/O
138155
loadDocument,
139156
saveDocument,
@@ -212,7 +229,7 @@ SysProM models systems as directed graphs across abstraction layers — intent,
212229
<tr><td><a href="https://github.com/Priivacy-ai/spec-kitty">Spec Kitty</a></td><td>✅</td><td>🔶</td><td>✅</td><td>🔶</td><td></td><td>🔶</td><td>🔶</td><td>🔶</td><td></td><td></td><td>🔶</td><td>✅</td><td>✅</td><td>✅</td></tr>
213230
<tr><td><a href="https://github.com/shotgun-sh/shotgun">Shotgun</a></td><td>✅</td><td>🔶</td><td>🔶</td><td></td><td></td><td>🔶</td><td></td><td>🔶</td><td></td><td></td><td>🔶</td><td>🔶</td><td>✅</td><td>🔶</td></tr>
214231
<tr><td><a href="https://github.com/obra/superpowers">Superpowers</a></td><td>✅</td><td>🔶</td><td>🔶</td><td>🔶</td><td></td><td>🔶</td><td>✅</td><td>🔶</td><td></td><td>✅</td><td>🔶</td><td>✅</td><td>✅</td><td>✅</td></tr>
215-
<tr><td><strong>SysProM</strong></td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>🔶</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td></td><td>🔶</td><td>✅</td><td>✅</td><td>✅</td></tr>
232+
<tr><td><strong>SysProM</strong></td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>🔶</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td></td><td>🔶</td><td>✅</td><td>✅</td><td>✅</td></tr>
216233
</tbody>
217234
</table>
218235

src/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ export {
7575
speckitExportOp,
7676
speckitSyncOp,
7777
speckitDiffOp,
78+
inferCompletenessOp,
79+
inferLifecycleOp,
80+
inferImpactOp,
81+
inferDerivedOp,
7882
type RemoveResult,
7983
type ValidationResult,
8084
type DocumentStats,
@@ -87,6 +91,10 @@ export {
8791
type GateResultOutput,
8892
type SyncResult,
8993
type DiffResult,
94+
type CompletenessOutput,
95+
type LifecycleOutput,
96+
type ImpactOutput,
97+
type DerivedOutput,
9098
} from "./operations/index.js";
9199

92100
// Conversion

0 commit comments

Comments
 (0)