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
| argument | value | default | description |
|---|---|---|---|
| --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)
|
| --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)
|
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 I0001What 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 jsonWhat 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.