Skip to content

fix(dag): enforce project isolation for API and summaries #145

Description

@LeXwDeX

Description\n\nDAG instance HTTP handlers query the process-wide store without restricting rows to the current instance project. A client attached to project B can enumerate, read, or control workflows owned by project A. DagSummaryPublisher also consumes process-wide events without filtering event location, then emits them under the current instance context.\n\nSeverity: HIGH (release blocker).\n\n## Reproduce\n\n1. Open two project instances backed by the same process.\n2. Create a DAG in project A.\n3. Call the DAG list/detail/control API from project B, or observe summary events in B.\n4. The foreign workflow is visible/control-capable and summary updates can be misrouted.\n\n## Acceptance\n\n- Instance DAG APIs expose and mutate only workflows/sessions owned by the current project.\n- Foreign workflow/session IDs return not found.\n- SummaryPublisher filters durable events by the current directory/workspace before recomputing or emitting.\n- Cross-project regression tests cover reads, controls, starts, and summary events.\n

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions