docs
This commit is contained in:
@@ -43,6 +43,10 @@ implementation state.
|
|||||||
- `wf_api` imports no `wf_mcp` modules. The current adapter,
|
- `wf_api` imports no `wf_mcp` modules. The current adapter,
|
||||||
`WfMcpWorkflowApiBackend`, still wraps the existing MCP service stack while
|
`WfMcpWorkflowApiBackend`, still wraps the existing MCP service stack while
|
||||||
later slices extract protocol-neutral logic behind that seam.
|
later slices extract protocol-neutral logic behind that seam.
|
||||||
|
- Protocol-neutral helpers now live in `wf_api`: refs/constants, wrapper
|
||||||
|
hints, next actions, raw workflow plans, runtime dependencies, saved
|
||||||
|
subgraph preparation, and durable run lifecycle helpers. Old
|
||||||
|
`wf_mcp.workflow_surface` helper paths remain compatibility shims.
|
||||||
|
|
||||||
## Runtime and Platform Roadmap
|
## Runtime and Platform Roadmap
|
||||||
|
|
||||||
@@ -108,9 +112,9 @@ implementation state.
|
|||||||
inventory and deployment metadata instead of reverse-engineering MCP tools.
|
inventory and deployment metadata instead of reverse-engineering MCP tools.
|
||||||
- **Workflow API extraction**: continue the staged extraction in
|
- **Workflow API extraction**: continue the staged extraction in
|
||||||
[wf_api extraction roadmap](./superpowers/plans/2026-06-01-wf-api-extraction-roadmap.md).
|
[wf_api extraction roadmap](./superpowers/plans/2026-06-01-wf-api-extraction-roadmap.md).
|
||||||
The next useful slice is naming/documentation cleanup around
|
The next useful slice is splitting the large `WorkflowSurfaceHandlers`
|
||||||
`WorkflowSurfaceHandlers` versus `wf_api.WorkflowApi`, before moving helper
|
implementation by domain behind `wf_api`, while leaving MCP tool schemas and
|
||||||
modules or splitting the large operation implementation.
|
tool registration in `wf_mcp`.
|
||||||
|
|
||||||
Frame stress points remaining for native subgraphs and future fork/gather:
|
Frame stress points remaining for native subgraphs and future fork/gather:
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ Both CLI and MCP workflow tools now call `WorkflowApi`; `wf_api` imports no
|
|||||||
operation implementation and still depends on `WfMcpService`, but it is now
|
operation implementation and still depends on `WfMcpService`, but it is now
|
||||||
MCP-owned backend plumbing rather than the public application API.
|
MCP-owned backend plumbing rather than the public application API.
|
||||||
|
|
||||||
|
Slice 3 moved the protocol-neutral workflow helpers into `wf_api`: constants,
|
||||||
|
capability refs, wrapper hints, next actions, raw workflow plan model, runtime
|
||||||
|
dependency resolution, saved subgraph preparation, and durable run lifecycle
|
||||||
|
helpers. The old `wf_mcp.workflow_surface.*` module paths remain compatibility
|
||||||
|
shims for those helpers.
|
||||||
|
|
||||||
**Current Constraint:** `WorkflowSurfaceHandlers` is large and still carries
|
**Current Constraint:** `WorkflowSurfaceHandlers` is large and still carries
|
||||||
most workflow-surface logic. Slice 1 fixed dependency direction only; later
|
most workflow-surface logic. Slice 1 fixed dependency direction only; later
|
||||||
slices can split and rename once the boundary is correct.
|
slices can split and rename once the boundary is correct.
|
||||||
@@ -171,19 +177,23 @@ MCP tools and CLI commands are adapters over wf_api.
|
|||||||
|
|
||||||
Move helper modules that are not MCP-specific out of `wf_mcp.workflow_surface`.
|
Move helper modules that are not MCP-specific out of `wf_mcp.workflow_surface`.
|
||||||
|
|
||||||
### Candidate Moves
|
### Completed Moves
|
||||||
|
|
||||||
```text
|
```text
|
||||||
wf_mcp.workflow_surface.models -> wf_api.models
|
wf_mcp.workflow_surface.constants -> wf_api.constants
|
||||||
wf_mcp.workflow_surface.next_actions -> wf_api.next_actions
|
|
||||||
wf_mcp.workflow_surface.wrapper_hints -> wf_api.wrapper_hints
|
|
||||||
wf_mcp.workflow_surface.refs -> wf_api.refs
|
wf_mcp.workflow_surface.refs -> wf_api.refs
|
||||||
wf_mcp.workflow_surface.run_lifecycle -> wf_api.run_lifecycle
|
wf_mcp.workflow_surface.wrapper_hints -> wf_api.wrapper_hints
|
||||||
|
wf_mcp.workflow_surface.next_actions -> wf_api.next_actions
|
||||||
|
wf_mcp.models.RawWorkflowPlan -> wf_api.models.RawWorkflowPlan
|
||||||
wf_mcp.workflow_surface.runtime_dependencies -> wf_api.runtime_dependencies
|
wf_mcp.workflow_surface.runtime_dependencies -> wf_api.runtime_dependencies
|
||||||
wf_mcp.workflow_surface.saved_subgraphs -> wf_api.saved_subgraphs
|
wf_mcp.workflow_surface.saved_subgraphs -> wf_api.saved_subgraphs
|
||||||
wf_mcp.workflow_surface.constants -> wf_api.constants
|
wf_mcp.workflow_surface.run_lifecycle -> wf_api.run_lifecycle
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The full `wf_mcp.workflow_surface.models` module did not move. It still holds
|
||||||
|
MCP tool request/response schemas such as `TraceRange` and workflow tool result
|
||||||
|
models. Move or split those only when the MCP schema boundary is clearer.
|
||||||
|
|
||||||
### If/Then
|
### If/Then
|
||||||
|
|
||||||
- If a module imports MCP connection/adapters/auth, do not move it in this slice.
|
- If a module imports MCP connection/adapters/auth, do not move it in this slice.
|
||||||
@@ -192,9 +202,11 @@ wf_mcp.workflow_surface.constants -> wf_api.constants
|
|||||||
|
|
||||||
### Success Criteria
|
### Success Criteria
|
||||||
|
|
||||||
- `wf_api` owns workflow API helper models.
|
- `wf_api` owns protocol-neutral workflow API helpers. **Done.**
|
||||||
- `wf_mcp.workflow_surface` keeps only MCP adapter/shim code.
|
- `wf_mcp.workflow_surface` keeps MCP adapter/schema code plus compatibility
|
||||||
- Tests still pass with import-only or near-import-only changes.
|
shims. **Mostly done.**
|
||||||
|
- Tests still pass with import-only or near-import-only changes. **Done at
|
||||||
|
implementation time.**
|
||||||
|
|
||||||
## Slice 4: Split The Big API By Domain
|
## Slice 4: Split The Big API By Domain
|
||||||
|
|
||||||
|
|||||||
@@ -57,8 +57,19 @@ inside the MCP backend adapter or compatibility tests.
|
|||||||
|
|
||||||
This is a dependency-direction cleanup, not a full domain split. Most API
|
This is a dependency-direction cleanup, not a full domain split. Most API
|
||||||
methods still mirror the old workflow-surface payloads and return
|
methods still mirror the old workflow-surface payloads and return
|
||||||
`dict[str, Any]`. Stronger domain models and helper-module moves belong in later
|
`dict[str, Any]`.
|
||||||
`wf_api` extraction slices.
|
|
||||||
|
Protocol-neutral workflow helpers have moved to `wf_api`: constants, capability
|
||||||
|
refs, wrapper hints, next actions, raw workflow plans, runtime dependency
|
||||||
|
resolution, saved subgraph preparation, and durable run lifecycle helpers. The
|
||||||
|
old `wf_mcp.workflow_surface.*` helper modules are compatibility shims. MCP
|
||||||
|
tool schemas and registration still live in `wf_mcp.workflow_surface.models` and
|
||||||
|
`wf_mcp.workflow_surface.tools`.
|
||||||
|
|
||||||
|
The remaining extraction work is the large operation implementation:
|
||||||
|
`WorkflowSurfaceHandlers` still owns most capability, draft, artifact,
|
||||||
|
deployment, and run methods. Split that implementation by domain only after the
|
||||||
|
current helper shims are stable.
|
||||||
|
|
||||||
## Broker Catalogs
|
## Broker Catalogs
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user