# Active slice ```text Slice: DFG-10 project-bound graph visualization (complete) Goal: Make a configured DocForge graph directly inspectable through one lightweight, generic, read-only web interface started by MCP. In scope: One fixed `docforge_visualize` MCP tool; one built-in HTML/CSS/JavaScript template; loopback-only ephemeral HTTP; an unguessable per-process URL token; project-bound overview, search, exact-node, and bounded-neighborhood reads; deterministic graph layout; stale-index rejection; adapter compatibility; lifecycle and cross-project isolation tests; and contract/version documentation. Out of scope: Arbitrary database paths; arbitrary SQL; canonical or derived writes; project selection; external network binding; accounts; persistent web hosting; project-specific templates; code execution; Git, build, deployment, or publication operations; and changeset application. Done when: Generic and adapter projects can invoke the same MCP tool, receive a loopback URL, inspect only their validated graph, and pass protocol, security, lifecycle, cross-project, formatting, type, and complete test gates. Owners: DocForge owns the fixed visualization template, read-only HTTP boundary, token, query limits, and index validation. The configured project owns canonical facts and adapter extraction. The MCP process owns the visualization lifetime. The user owns opening the returned local URL. ``` **Next gate:** None planned. Measure actual graph-browser use before extending layout, export, or remote-access policy. Canonical application remains permanently out of scope under `docs/APPLICATION_DECISION.md`.