Skip to main content
They don’t, by design. A writing stage names the files it may write, and a file it changed that the workflow declared for another stage fails the stage. Attempts that must not touch each other run in separate worktrees, and only the winner lands. Obversa does not lock a file between two processes you started outside a workflow, and a file the workflow never declared is not part of the check.

In Obversa

The write stage declares its two files, and nothing else is its to change:
examples/teams/writer-reviewer-pair.ts (excerpt)
Declared writes are what the reviewer and the test stage read, and what the record shows the stage produced.

Workflow file

The declarations live in the workflow file, beside the roles and the stages. Should team rules live in AGENTS.md? says what belongs there.

Next steps