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

MGS3038: a job goal no evidence could grade

magus job fork, magus job apply and magus\job.put refused a job record because one of its goals could never be graded:

[MGS3038] goal "names" expects the signature of 2 symbols, and a signature is one
  declaration: name one symbol per goal

Nothing was written to the job store. Every goal problem is reported at once, each naming its field (goals[1].symbols, goals[2].depends_on[0]).

What fires it

  • A goal id that is not an id, or two goals sharing one.
  • A kind outside check, paths and symbol, or an expect its kind does not accept.
  • A goal carrying a subject its kind does not read, such as paths on a symbol goal, or naming nothing to examine at all.
  • A signature on a goal that does not expect one, a signature goal naming other than one symbol, or two signature goals on one symbol.
  • A depends_on entry naming no goal of the record, naming the goal itself, or closing a cycle.
  • A symbol the knowledge graph resolves to more than one declaration.

Why

A goal is what magus job wait grades the job by. A goal no evidence could meet holds the job open forever, and one that names two subjects is graded on whichever its kind happens to read.

What to do

Edit each goal the problem names, using the fix it prints. For an ambiguous symbol, name it by the id magus refs <symbol> prints.

See also

  • Leases: goals and how a job is graded.
  • MGS3037: a record field that fails its shape.
MGS3038jobsleasesgoalsforkapplyagentsvalidation
Last updated (29d8b3de)
Glossary

Op

A single tool-native command a target composes (long form: operation); the middle of the work hierarchy (Spell to Op to Target). Op in full.

Knowledge graph

The queryable graph of a workspace's spells, targets, docs, and code relationships; query it with magus query/explain/path. Knowledge graph 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.

Conventions

Placeholders

Angle brackets mark a value you replace with your own; never type the brackets:

magus run <target>
magus completion <shell>    # e.g. bash, zsh, fish

<target>, <path>, <shell>, <name> and the like are stand-ins, not literal text.