MGS3046: a workspace load file held in a shared checkout
magus job fork, magus job apply and magus\job.put refused a job because
its write paths cover a file the workspace loads, and another live job is
working in this checkout:
[MGS3046] job: wave/slots declares "magusfile.buzz", which covers magusfile.buzz,
and wave/docs is live in this checkout: give wave/slots its own worktree and
fork it there, or leave magusfile.buzz out of its write paths
Nothing was written to the job store.
Why
A magusfile, magus.yaml or spell source that is half-saved stops the whole
workspace loading. Every job in the checkout loses magus run, including the
checks it is graded on, until the edit lands. The file has one owner, so the
only way both jobs can be right is for one of them to work somewhere else.
What is not refused
- Write paths that cover no load file.
- A checkout no other live job is working in.
What to do
Fork the job into its own worktree by naming a checkout, an absolute
directory outside the workspace, or drop the load file from its write paths.
magus describe file <path> names what else a write path covers.