① Edit the project packmyorch-knowledge/<project>/
edited by hand, git commit
project sync
② Build a snapshotOverlays the template and the project, adds project.json, risk-rules.json. Leaves out project.yaml, image/, providers/, sources
③ Snapshot in the volumeprojects/<project>/<content hash>/, never modified
.version points to the latest. Keeps the latest 3 and those under 30 days old
start
④ Runthe mandate records the version used
mounted read-only at /sandbox/workspace/project/ in every step
proposals from learn · onboard · postmortem, project pack proposals from development's review loop
Write back
Agent makes proposalseach with evidence
You pick numberschoose step
project-applyhost action: checks the scope of changes
writes back to myorch-knowledge, git commit
Rebuild the snapshotlater steps of this run use the new version
so do future runs
{{project.x}} is read fresh from project.yaml and prompts/ at start, not from the snapshot. The project.json that scripts read is in the snapshot and changes only after project sync.