Files
lda-wf/.superpowers/sdd/python-workflow-client/task-6-report.md
T

49 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Task 6 report: deployment and durable run objects
## Status
Implemented and committed as `112e9656` (`feat: add Python deployment and run objects`).
## Files
- Added `src/wf_client/deployments.py` with immutable `Deployment` and
`DeploymentValidation` snapshots plus strict artifact deployment selection.
- Added `src/wf_client/runs.py` with immutable `Run` and bounded `TracePage`
snapshots, resume/refresh lifecycle methods, and core interrupt/trace
reconstruction.
- Added `tests/wf_client/test_deployments.py` and
`tests/wf_client/test_runs.py`.
- Updated `WorkflowArtifact`, `App`, public exports, codecs, and structured
deployment exceptions.
## Verification
- `uv run pytest tests/wf_client/test_deployments.py tests/wf_client/test_runs.py tests/wf_api/test_deployment_api.py tests/wf_api/test_run_api.py -q`**30 passed**.
- `uv run pytest tests/wf_client -q`**28 passed**.
- `uv run ruff check src/wf_client tests/wf_client/test_deployments.py tests/wf_client/test_runs.py`**passed**.
- `uv run basedpyright --level error src/wf_client tests/wf_client/test_deployments.py tests/wf_client/test_runs.py`**0 errors**.
## Caveats
- `.wf_mcp_store/` and `test-artifacts/` remain untracked generated directories
and were intentionally not staged.
- Trace limits follow the existing server bound of 1100 and are validated
before issuing a trace request.
## Review fix round 1
Identity checks now reject mismatched deployment/artifact/run ids at every
inspect, validate, start, refresh, and resume boundary. Nested interrupt route
references are converted to `InvalidResponse` with operation context, and run
decoding accepts truthful inspect/start/resume operation names.
Fixes committed in the follow-up review commit for this report.
## Review fix round 2
The sole discovered deployment path now rechecks the inspected artifact
identity, deployment creation acknowledgements and inspected ids are checked
before validation, and run-start responses enforce deployment plus artifact
identity. Missing-run errors preserve server text, including operation-aware
start interrupt decoding.