magus v0.4.3 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
1 min read

MGS3037: a job record field fails its shape

magus job fork, magus job apply and magus\job.put refused a job record because one of its fields cannot be read as declared:

[MGS3037] timeout "soon" is not a positive duration: name one such as 30m or 2h,
  or leave it out

Nothing was written to the job store. Every problem in the record is reported at once, each naming its field (write_paths[2], waivers[0].reason), so one edit can clear them all.

What fires it

  • id, parent or a depends_on entry that is not a lease id: letters, digits and -_./: only, at most 128 characters.
  • A state outside the job states, a timeout that is not a positive Go duration, or a negative max_attempts.
  • A relative checkout. A fork names the checkout it makes by an absolute path.
  • A write, deny or read path that begins with ~, is absolute, or climbs out of the workspace with ... The guard matches paths relative to the workspace root, so such a path bounds nothing.
  • A blank breaks entry.
  • A field sent under both its current and its renamed spelling, or check beside a rendered validation line.
  • enter beside any other declared field. A record carrying enter enters a job and declares nothing.
  • An unknown member.
  • A waiver on a code that cannot be waived, or with no subject or no reason. Only MGS3043, MGS3044 and MGS3045 can be waived.

What to do

Edit each field the problem names, using the fix it prints, and send the record again. magus job fork --schema prints the shape every field must take.

See also

  • Leases: what each field of a job record means.
  • MGS3038: a goal no evidence could grade.
MGS3037jobsleasesforkapplyagentsvalidation
Last updated (29d8b3de)
Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. Workspace in full.

Spell

A language/runtime adapter (e.g. go, md) that maps generic targets onto a toolchain's real commands. Spell in full.

Agent

A model working through an agent host such as Claude Code, Codex, Cursor or OpenCode. magus treats an agent as one more caller of its CLI, MCP tools and console, held to the same checks as a person. Agent in full.

Job

The unit of delegated work, and one row of the job store: what an orchestrating agent handed out, with its goal, the checkpoint it was cut against, the paths it may write or must not touch, and the one check it runs. A job's holder is either a session, for work an orchestrator handed out, or the daemon, for its own maintenance. The store records; the agent guard is what reads those facts back when grading a write. Job in full.

Lease

The grant a holder takes on a job: the write and read paths that job declared, enforced in the checkout that took it with magus job exec. A job is the piece of work; a lease is permission over it. Lease in full.

Lease id

The short identifier a worker carries (the --lease flag, or the magus.lease member of the W3C BAGGAGE environment channel) so its runs, journal facts, and guard verdicts attribute to the job it holds. Letters, digits and -_./: only. Lease id in full.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.