Skip to content

docs(dag): 'one objective, one live DAG' downgraded from Invariant to Convention - #373

Merged
LeXwDeX merged 3 commits into
devfrom
feat/348-issue348
Aug 19, 2026
Merged

docs(dag): 'one objective, one live DAG' downgraded from Invariant to Convention#373
LeXwDeX merged 3 commits into
devfrom
feat/348-issue348

Conversation

@LeXwDeX

Copy link
Copy Markdown
Owner

Closes#348

Decision (option b — record the truth)

CONTEXT.md's Invariant list claimed "one user objective has at most one live DAG" as an engine guarantee. The implementation is orchestrator guidance (workflow-routing.md / orchestration-policy.md); dag.create and the workflow tool's start accept a session that already has a live workflow, nothing cross-process rejects a second one.

The divergence was the defect. This PR moves the statement to a new Conventions section with the honest framing:

  • convention enforced by orchestrator guidance, not the engine
  • violation consequences are bounded (wake model aggregates across workflows; a goal lease is blocked by any DAG)
  • the real hazard documented: two live DAGs sharing one workspace get NO cross-workflow write-set disjointness — authors must use disjoint worktrees or serialize

Option (a) — engine enforcement — remains a possible future decision if the convention proves insufficient; nothing here forecloses it.

Docs-only change; no runtime code touched.

… Convention
CONTEXT.md claimed an engine-enforced invariant; the implementation is
orchestrator guidance only (dag.create and the tool start accept a session
with a live workflow; the wake model and lease tolerate multiples). The
divergence was the defect (audit INV-A) — this records the truth: a modeling
convention with documented bounded consequences, including the cross-workflow
write-set caveat. Engine enforcement remains available as a future decision
if the convention proves insufficient.
Closes#348
@LeXwDeX
LeXwDeX merged commit 61b141a into devAug 19, 2026
9 of 10 checks passed
@LeXwDeX
LeXwDeX deleted the feat/348-issue348 branch August 19, 2026 11:30
Sign up for freeto 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

@LeXwDeX