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

brief-command

A deny rule: it refuses a spawn or continuation brief that teaches a command the guard denies, and names what to run instead.

What it catches

A spawn or continuation brief that teaches a command the guard denies.

Why

A worker runs the commands in its brief as written, so a denied one is refused in every worker the brief reaches, or teaches each of them a way around the refusal. Measured 2026-09-24: 33 briefs seeded 462 prefixes of a retired variable. Only what the brief presents as a command is graded, a fenced shell block or an inline code span, with the same rules a shell line gets. A line naming a command to forbid it (never, do not, denied, instead of) is passed over, and a <placeholder> reads as a word rather than a redirect.

Seeing it

A verdict names its rule in brackets, which is how you got here:

deny [brief-command]: ...

magus describe rule brief-command prints the same entry at a terminal, and magus describe rules lists every rule this workspace enforces.

See also

  • All rules - what this workspace enforces, deny first
  • The guard - how a verdict is reached and wired
guardrulesbrief-commanddeny
Last updated (a9ff8609)
Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. See workspace.

Span

OpenTelemetry's name for one unit of work under a trace - a target execution, whose sub-operations are child spans. An output reference points at a span's captured output. See telemetry.

Run

One target executing under one magus invocation, such as magus run test web or magus affected ci. A run keeps its captured output behind an output reference. Every magus run is a run whether or not any job asked for it; see Job for how the two relate.

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.