Skip to content

fix(dag): enforce workflow tool ownership - #211

Merged
LeXwDeX merged 2 commits into
devfrom
fix/dag-tool-ownership
Aug 9, 2026
Merged

fix(dag): enforce workflow tool ownership#211
LeXwDeX merged 2 commits into
devfrom
fix/dag-tool-ownership

Conversation

@LeXwDeX

@LeXwDeX LeXwDeX commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Closes #210.

Establishes the parent-Session ownership boundary at the public workflow tool seam:

  • status, extend, and every control operation require the durable workflow to belong to ctx.sessionID.
  • start.session_id is rejected when it differs from the calling Session.
  • Foreign or missing workflow IDs use the same non-enumerating failure.
  • Internal Dag.Service recovery calls and project-scoped HTTP API behavior remain unchanged.

Regression coverage proves a foreign Session cannot read child Session IDs, attach a new workflow, extend a graph, publish control events, or mutate an existing workflow.

Validation: Core 90 + OpenCode DAG 401 + Schema 3 + TUI 50; workflow-tool.test.ts 34/34; SDK generated output unchanged; package and repository typecheck passed; lint 4850 warnings/0 errors.

@LeXwDeX
LeXwDeX merged commit 4689097 into dev Aug 9, 2026
5 checks passed
@LeXwDeX
LeXwDeX deleted the fix/dag-tool-ownership branch August 9, 2026 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant