Detach graph viewer from MCP transport
This commit is contained in:
parent
5e77cd2adb
commit
f6b9816ffd
10 changed files with 369 additions and 22 deletions
|
|
@ -23,7 +23,7 @@ approved contract and measured cross-project evidence; it is not an unimplemente
|
|||
- Result envelope: `schemas/result.schema.json`, version 1.
|
||||
- Changeset schema: `schemas/changeset.schema.json`, version 1.
|
||||
- Index schema: version 1, disposable and reproducible.
|
||||
- Core, CLI, and MCP server: version 0.8.0.
|
||||
- Core, CLI, and MCP server: version 0.8.1.
|
||||
|
||||
Schema files describe the generic interchange contract. Runtime validation remains responsible for
|
||||
path confinement, source hashing, relationship resolution, dependency cycles, project limits, stale
|
||||
|
|
@ -125,14 +125,17 @@ sections. An undirected shortest-hop calculation places nodes on distance rings
|
|||
role palette progressively, capped at fifty percent. This presentation does not reinterpret,
|
||||
replace, or add project relationships.
|
||||
|
||||
One MCP process owns at most one listener. Repeated invocations reuse it and may replace its
|
||||
validated snapshot only after a fresh index check. The HTTP worker is non-daemon so standard-input
|
||||
transaction completion does not strand an open browser. The page renews a 180-second lease every
|
||||
15 seconds and when it becomes visible; a link never opened receives a 120-second startup grace.
|
||||
Explicit process termination closes the listener immediately. An abandoned page stops renewing and
|
||||
the listener closes after the bounded lease. Project-specific integrations receive the same tool
|
||||
because it operates on the supplied `ProjectService` and `ProjectIndex`, not the generic source
|
||||
loader.
|
||||
Each invocation launches the validated snapshot in a detached local worker. The worker is outside
|
||||
the short-lived MCP transport process, so transport teardown cannot close an active browser. It
|
||||
tracks the longer-lived MCP client host and closes when that owner process exits. A repeated
|
||||
invocation in the same MCP process replaces its tracked worker after a fresh index check.
|
||||
|
||||
The page renews a 180-second lease every 15 seconds and when it becomes visible; a link never opened
|
||||
receives a 120-second startup grace. An abandoned page stops renewing and the detached worker closes
|
||||
after the bounded lease. Explicit service shutdown closes the worker tracked by that service
|
||||
immediately. Project-specific integrations receive the same tool because the parent validates and
|
||||
serializes only the supplied `ProjectService` and `ProjectIndex` snapshot; the detached worker does
|
||||
not discover projects or load canonical sources.
|
||||
|
||||
## Project adapter boundary
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue