Skip to content

majordomus devcontext compile

Compile the context for a piece of work: every selected object with its provenance, the reason and the confidence, everything left out with the reason, what was deduplicated, and the per-tier budget; exit 10 when what may not be dropped already exceeds the budget

majordomus devcontext compile

Usage

majordomus devcontext compile [OPTIONS]

Arguments

argumentvaluedefaultdescription
--issue <ISSUE> — An issue id (`I0301`) or its canonical identifier
--milestone <MILESTONE> — A milestone id or slug, or its canonical identifier
--intent <INTENT> — What the session is trying to do, in words; the only input the compiler infers from
--path <PATHS> — A repository-relative path the work touches; repeat for each
--uri <URIS> — A canonical identifier to seed with directly; repeat for each
--budget-tokens <BUDGET_TOKENS> — The ceiling in estimated tokens
--max-depth <MAX_DEPTH> — How far from a seed the walk goes
--floor <FLOOR> — Relevance below which an entry is reported rather than given, between 0 and 1
--all-blocking-rules flag — Every blocking rule of the layer, not only the ones the work reaches
--repo <PATH> — Start the search for the repository root here (default: the current directory) (accepted by every subcommand)
--discovery vcs | filesystem vcs How declarative files are enumerated (accepted by every subcommand)
  • vcs — Tracked files, through the version-control index (the layer's contract); a layer none of which is tracked is read from the work tree
  • filesystem — A walk of the work tree with the same glob semantics; untracked files included
--strict flag — Refuse to proceed when any file of the layer carries an error diagnostic (accepted by every subcommand)
--share <DIR> — The tool distribution's share directory (kinds.yaml, schemas/); default: $MAJORDOMUS_SHARE, then the repository's own share/, then the one beside the executable (accepted by every subcommand)
--format text | json text Output shape (accepted by every subcommand)
  • text — Lines for a person
  • json — One JSON document, deterministic

Examples

  • The context a session working on one issue should be given

    The issue is the seed. Its milestone follows along the `belongs_to` edge of the composed graph, the code and the cases under the scope it declares follow from the paths, and the policy and the scope are governance every session is held to. Every selected line names the selector that reached it and why; everything left out is listed with the reason.

    $ majordomus devcontext compile --issue I0001

    What it asserts: exits 0; prints SELECTED, majordomus://issue/I0001, EXCLUDED.

    Tested by apps/majordomus-cli/tests/cli_examples.rs, which runs the command against the built executable and asserts what the page states.

  • The same, as the structure every other surface answers with

    The canonical form: `GET /api/v1/devcontext` and the `majordomus_devcontext` tool return this document. Entries keep their canonical identifier, the index's provenance, every discovery path with its confidence, and the cost in estimated tokens; nothing is flattened to prose.

    $ majordomus devcontext compile --issue I0001 --format json

    What it asserts: exits 0; prints one JSON document carrying /selected/0/uri, /selected/0/discovered_by/0/reason, /budget/limit_tokens, /fingerprint.

    Tested by apps/majordomus-cli/tests/cli_examples.rs, which runs the command against the built executable and asserts what the page states.

Where this comes from

Declared once in apps/majordomus-cli/src/cli.rs: clap for the structure, typed Rust metadata beside it for the examples. This page, majordomus devcontext compile --help, docs/generated/cli.md and docs/generated/cli.json are projections of that one declaration.

The whole command line on one page: the registry's command-line page. The task lifecycle (init, start, finish, doctor, ...) belongs to the shell tool, a different program: Commands and its specification.

Searches the titles and descriptions of every page this site publishes.