Add file-based status reporting for external consumers#257
Merged
Conversation
Implements a stable external interface (.deepwork/tmp/status/v1/) that allows UIs, dashboards, and monitoring tools to read job and workflow session state without going through the MCP protocol. Key changes: - StatusWriter writes job_manifest.yml and sessions/<id>.yml - WorkflowSession gains workflow_instance_id and step_history tracking - Completed/aborted workflows preserved in completed_workflows list - Sub-workflow instance IDs tracked on parent steps - Status writes are fire-and-forget (failures logged, never fail tools) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…19 fix - Add traceability comments (JOBS-REQ-010.x) to all new tests - Add missing test for go_to_step write trigger (JOBS-REQ-010.6.3) - Add test for status directory v1 path structure (JOBS-REQ-010.1, 010.13) - Fix RFC 2119 keywords in JOBS-REQ-010.13 requirements 1 and 2 - Add type annotations to test_status.py helper methods (mypy fix) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add StatusWriter component section to doc/architecture.md - Auto-linter fixes for type annotations in state.py and status.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix formatting in test_tools.py (ruff format) - Add "Display status files" step to e2e workflow to cat status files after run for observability - Include status directory in artifact uploads Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- JOBS-REQ-010.3.1: test startup writes manifest via create_server - JOBS-REQ-010.5.3: test last_updated_at is ISO 8601 UTC - JOBS-REQ-010.9.4: test cross-agent sub-workflow records on main stack - JOBS-REQ-010.10.4: test _write_stack preserves completed_workflows - Update test coverage table in spec Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
StatusWriterthat writes.deepwork/tmp/status/v1/job_manifest.ymlandsessions/<session_id>.ymlfor external tools (UIs, dashboards, monitoring) to read workflow state without MCPWorkflowSessionwithworkflow_instance_id,step_history, andsub_workflow_instance_idsfor richer state trackingcompleted_workflowslist instead of discarding themTest plan
test_status.pycovering manifest writing, session status, display name derivation, nested/multi-agent/completed workflowstest_state.pycovering workflow_instance_id, step_history, completed_workflows, get_all_session_data, sub_workflow_instance_idstest_tools.pycovering StatusWriter integration and failure resilience🤖 Generated with Claude Code