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

Knowledge-graph diagnostics

Codes in the MGS7xxx range flag ambiguities the knowledge-graph extractor hits while assembling the deterministic graph from workspace sources (the graph that backs magus query, magus explain, and magus graph). Unlike most magus diagnostics, these are not raised as errors that stop a build: the graph is derived and safe to rebuild implicitly, so an ambiguity is recorded as a silent attribute on the affected node (visible via magus explain) rather than logged. They mark spots where extraction could not resolve something cleanly, for a human to check.

Codes

  • MGS7001: a buzz import resolves to no scanned file and is not a compiled-in module, so it becomes an inferred edge to the literal path.
  • MGS7002: a doc page cites an MGS#### code that is not registered, so no edge can link the mention to a real diagnostic node.
  • MGS7003: magus diff could not bring the symbol index current for a project the change touched, so the conformance checks did not run. This one is reported as an error in place of their findings, not as an attribute.
knowledge graphdiagnosticserror codesMGS7xxxextractionbuzzdocs
Last updated (918ff7e4)
Earlier changes on this page (1)

Full history ↗ · Blame source ↗

Glossary

Workspace

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

Project

A directory magus recognizes as a unit of work (it has a magusfile); the unit of caching, scheduling, and dependency tracking. See workspace.

Op

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

Module

A magus stdlib namespace a magusfile imports for host capabilities: filesystem, exec, vcs, and more. See the module reference.

Buzz

The language magusfiles are written in (the .buzz engine). See engines.

Affected

The set of projects touched by a change; magus affected <target> runs a target only over them. See affected.

CI

An ordinary magusfile-defined target you compose yourself with magus\needs - magus does not hardcode its stages. Magus.RunCI treats it specially only in that it strips the rw charm, it is the anchor magus affected ci keys off, and a selected scope with no project declaring it is a load error rather than a silent no-op. See targets.

Knowledge graph

The queryable graph of a workspace's spells, targets, docs, and code relationships; query it with magus query/explain/path. See knowledge.

Diagnostic code

A stable MGSxxxx identifier attached to a magus warning or error, so it can be referenced and looked up; some are guardrails (see wards), others hard errors.

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.