docs: record legacy config migration path
This commit is contained in:
@@ -191,6 +191,17 @@ implementation state.
|
|||||||
import-direction guard. The durable fix is not a permanent split launcher;
|
import-direction guard. The durable fix is not a permanent split launcher;
|
||||||
it is making `wf_config` wide enough that the RPC server can compose from
|
it is making `wf_config` wide enough that the RPC server can compose from
|
||||||
neutral config while MCP-specific adapters stay selected by source kind.
|
neutral config while MCP-specific adapters stay selected by source kind.
|
||||||
|
- Legacy config migration: add a converter from old `wf_mcp.config.json`
|
||||||
|
(`store_root`, `connections[]`) into the wider `wf_config` shape
|
||||||
|
(`server.store`, `server.sources[]`). `server.store` is already a
|
||||||
|
discriminated union (`kind: "filesystem"` today, future SQL/store backends
|
||||||
|
later), so the conversion should map old `store_root` to
|
||||||
|
`server.store.root` without inventing a parallel store field. Old MCP HTTP
|
||||||
|
metadata values such as `http`, `streamable-http`, `streamable_http`, and
|
||||||
|
`sse` should normalize into the neutral HTTP source transport while
|
||||||
|
preserving enough metadata for MCP/FastMCP compatibility. `sse` is legacy
|
||||||
|
protocol shape, but keep conversion support because FastMCP deployments may
|
||||||
|
still use it.
|
||||||
- Manual product smoke: run `wf-rpc-server --mcp-config ...`, point
|
- Manual product smoke: run `wf-rpc-server --mcp-config ...`, point
|
||||||
`wf --url ...` at it, and capture real CLI/server UX gaps before adding
|
`wf --url ...` at it, and capture real CLI/server UX gaps before adding
|
||||||
more architecture.
|
more architecture.
|
||||||
|
|||||||
@@ -398,13 +398,23 @@ Next implementation slices should be:
|
|||||||
transport-only. After `wf_config` can describe MCP sources, `wf-rpc-server
|
transport-only. After `wf_config` can describe MCP sources, `wf-rpc-server
|
||||||
--config ...` should compose MCP-backed sources from neutral config and the
|
--config ...` should compose MCP-backed sources from neutral config and the
|
||||||
`--mcp-config` path can become deprecated/legacy.
|
`--mcp-config` path can become deprecated/legacy.
|
||||||
3. Manual product smoke with the real CLI/server commands. Record UX/runtime
|
3. Legacy MCP config migration. Provide an explicit converter from old
|
||||||
|
`wf_mcp.config.json` into `WorkflowConfigFile`: `store_root` maps to
|
||||||
|
`server.store` (`StoreConfig` is already a discriminated union; currently
|
||||||
|
only `kind: "filesystem"` exists), and each legacy connection maps to a
|
||||||
|
`kind: "mcp"` source. Preserve `source_config_ownership` as the neutral
|
||||||
|
`ownership` field. Normalize old HTTP-like transport metadata
|
||||||
|
(`http`, `streamable-http`, `streamable_http`, `sse`) into the neutral HTTP
|
||||||
|
MCP source transport while preserving compatibility metadata where needed.
|
||||||
|
`sse` remains legacy/deprecated, but conversion support is intentional
|
||||||
|
because FastMCP can still expose it.
|
||||||
|
4. Manual product smoke with the real CLI/server commands. Record UX/runtime
|
||||||
gaps before broadening architecture.
|
gaps before broadening architecture.
|
||||||
4. Source registry apply/reload semantics. Registry mutation currently updates
|
5. Source registry apply/reload semantics. Registry mutation currently updates
|
||||||
desired persisted state; the next explicit decision is whether changes apply
|
desired persisted state; the next explicit decision is whether changes apply
|
||||||
only after restart, through an explicit reload/apply operation, or through
|
only after restart, through an explicit reload/apply operation, or through
|
||||||
automatic live reconciliation. Prefer explicit reload/apply for v1.
|
automatic live reconciliation. Prefer explicit reload/apply for v1.
|
||||||
5. Persisted resume across server restart. Rebuild the MCP-backed RPC server
|
6. Persisted resume across server restart. Rebuild the MCP-backed RPC server
|
||||||
from the same stores and prove interrupted runs resume from the stored
|
from the same stores and prove interrupted runs resume from the stored
|
||||||
checkpoint and pinned dependency environment.
|
checkpoint and pinned dependency environment.
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ Prefer neutral workflow config for new MCP-backed servers:
|
|||||||
```
|
```
|
||||||
|
|
||||||
`--mcp-config` is still accepted for legacy broker config files.
|
`--mcp-config` is still accepted for legacy broker config files.
|
||||||
|
Future migration support should let users convert that legacy shape into the
|
||||||
|
neutral config above. The old `store_root` field maps to
|
||||||
|
`server.store: {"kind": "filesystem", "root": ...}`; old `connections[]` map to
|
||||||
|
`server.sources[]` entries with `kind: "mcp"`.
|
||||||
|
|
||||||
Start a JSON-RPC server backed by MCP broker config and MCP-capable sources:
|
Start a JSON-RPC server backed by MCP broker config and MCP-capable sources:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user