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.
20 lines
2.0 KiB
Markdown
20 lines
2.0 KiB
Markdown
---
|
|
id: 121
|
|
title: Knowledge Graph Integration
|
|
group: 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: true` in `.planning/config.json`. When disabled, `/msd-graphify` prints an activation hint and stops without writing.
|
|
- REQ-GRAPH-02: Slash-command `/msd-graphify` exposes subcommands `build`, `query <term>`, `status`, `diff`. The programmatic CLI `node msd-tools.cjs graphify …` additionally exposes `snapshot`, which is also invoked automatically as the final step of `graphify 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.cjs` falls back to `graph.links` when `graph.edges` is 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`/`diff` read the configured graph (relative to project root), with a byte-identical `.planning/graphs/` default when unset.
|
|
- REQ-GRAPH-07: `status` reports the resolved graph location as `graph_path` — the same absolute path `query`/`diff` read, after the `graphify.graph_path` override is applied — so a caller shelling out to the `graphify` CLI passes it as `--graph` instead 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`
|