docs: record legacy config migration path

This commit is contained in:
lda
2026-06-05 01:56:51 +07:00 Verified
parent f0346c6735
commit f0aef8c469
3 changed files with 28 additions and 3 deletions
+11
View File
@@ -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.
+4
View File
@@ -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: