Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
2.0 KiB
2.0 KiB
id, title, group
| id | title | group |
|---|---|---|
| 121 | Knowledge Graph Integration | v1.37.0 Features |
Purpose: Build, query, and inspect a lightweight knowledge graph of the project in .planning/graphs/. Opt-in per project. Exposed as the /msd-graphify user-facing command and the msd-tools.cjs graphify … programmatic verb family. Complements /msd-map-codebase --query (snapshot-oriented) with a graph-oriented view of nodes and edges across commands, agents, workflows, and phases.
Requirements:
- REQ-GRAPH-01: Opt-in via
graphify.enabled: truein.planning/config.json. When disabled,/msd-graphifyprints an activation hint and stops without writing. - REQ-GRAPH-02: Slash-command
/msd-graphifyexposes subcommandsbuild,query <term>,status,diff. The programmatic CLInode msd-tools.cjs graphify …additionally exposessnapshot, which is also invoked automatically as the final step ofgraphify build. - REQ-GRAPH-03: Build runs within the configurable
graphify.build_timeout(seconds); exceeding the timeout aborts cleanly without leaving a partial graph. - REQ-GRAPH-04:
graphify.cjsfalls back tograph.linkswhengraph.edgesis absent so older graph artifacts keep rendering. - REQ-GRAPH-05: Graphify is invoked through
msd-tools.cjs graphify ...command handlers. - REQ-GRAPH-06: The knowledge-graph location is configurable via
graphify.graph_path(issue #1825) so one umbrella-level cross-repo graph can serve multiple sibling projects;query/status/diffread the configured graph (relative to project root), with a byte-identical.planning/graphs/default when unset. - REQ-GRAPH-07:
statusreports the resolved graph location asgraph_path— the same absolute pathquery/diffread, after thegraphify.graph_pathoverride is applied — so a caller shelling out to thegraphifyCLI passes it as--graphinstead of re-deriving the default location (issue #4836).
Configuration: graphify.enabled, graphify.build_timeout, graphify.graph_path
Reference files: commands/msd/graphify.md, bin/lib/graphify.cjs