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

Charm diagnostics

Codes in the MGS6xxx range flag problems with how a charm interacts with the command it patches: a patch that is valid in shape but does not apply to a target's argv, and similar mismatches between a charm's declared intent and the command it lands on. Magus raises them as a typed DiagnosticError, most often from a static preview (magus describe) so the gap is visible before a run.

Codes

  • MGS6001: a charm's patch is well-formed but does not apply to the target's command.
  • MGS6002: a run spells a built-in charm by its retired name, such as relock for update.
charmsdiagnosticserror codesMGS6xxxjson-patchdescribeargv
Last updated (32a02b72)
Earlier changes on this page (1)

Full history ↗ · Blame source ↗

Glossary

Target

A named operation (build, test, ...) you invoke with magus run <target>; it may compose a spell's tool-native operations and depend on other targets. See targets.

Spell

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

Charm

An execution modifier attached with : (lint:rw) that changes how a target runs, not which one; the built-in rw flips a check-only target to mutate in place, and ci always strips it. See charms.

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

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