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

Agents propose, humans dispose

An agent integration can suggest work; it cannot accept it. That is human in the loop at the point where a proposal becomes a change. magus records authorship from the transport that performed the write, so a change carries the origin the channel delivered (the OS account, the entry point, the credential or host) no matter what the writer reports about itself. Interrupting a person costs attention, and the suggestion operation reflects that: it requires a stated reason before the proposal reaches anyone.

The job store is ordinarily written by agents, unlike the attention events notify raises, because an attention event is addressed to a person while a job is an agent-to-agent declaration read back by the guard and the console. A person still has a full door onto it: magus job forks, takes and returns a job, and magus ls jobs reads the plan back.

Automated review is wrong at a steady rate, and wrong in a characteristic way: the confident finding that "fixes" behavior somebody chose on purpose. The person deciding whether a proposal lands is the one who catches those findings. If magus applied them itself, they would ship unexamined.

Enforced by

  • Authorship is stamped from the transport a write arrived on.
  • The suggestion operation refuses a proposal with no stated reason.
  • One author per job row, enforced by the store rather than by a closed CLI.

Good

The worker returns its result; a person or the root verifies it before anything lands:

magus job exit design-index --stdin
magus job wait design-index

Bad

review-bot --apply-suggestions --push

The bot's confident findings land with nobody reading them, including the one that "fixes" behavior somebody chose on purpose.

See also

designjudgmentagentsreview
Last updated (2df714e8)
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.

CI

An ordinary target you compose yourself with ctx.needs; magus does not hardcode its stages. It is the anchor magus affected ci keys off, and ci strips the rw charm. CI 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.

Dispose

The human act of closing an attention request: a judgment rendered, recorded with who and why. Distinct from resolving a review thread or a merge conflict: a disposition answers a request; it does not merge anything. Dispose 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.

Conventions

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