Rendered from docs/interfaces/headwater-infer.md in the Headwater corpus. Every document on this half of the site is typed by the taxonomy the descriptor names: corpus.json.

headwater infer

Synopsis

headwater infer [--owner <name>] [--until <date>] [--write] [--now <date>] [--root <path>]

The command reports findings that no existing adoption task accounts for, grouped into document and rule pairs.

Description

Without --write, the command prints the proposed payload and changes nothing. With --write, it appends new tasks to the authored adoption block in .headwater/taxonomy.lock.

It mints identifiers above every declared one, deduplicates pairs by document and rule, and prints what it carried through. A second run with the same inputs proposes no new task.

Preconditions

The repository must load through its committed taxonomy lock and corpus. The host date must exist unless --now supplies one. --until cannot be before the evaluation date.

--write requires --owner. The lock's adoption block must be readable if it exists.

Options

Option What it does
--owner <name> Names the person or team that owns proposed debt. Required with --write.
--until <date> Sets the task expiry date. It defaults to ninety days after the evaluation date.
--write Appends proposed tasks to the lock.
--now <date> Sets the evaluation date in YYYY-MM-DD form.
--root <path> Selects the repository to load.
--no-color Force plain text on both streams: bold and dim weight plus glyphs, no escape sequence. The default already senses whether each stream is a terminal, and renders color only there.
--no-banner Suppress the masthead: the line naming this binary and its version, that the root help screen alone prints. It is accepted here and does nothing, since only the root screen prints one.

Exit status

0 means that the report completed. Findings in the report do not change this status.

1 means that the repository, date, options or adoption block could not be read or written.

1 also means that the payload this run built did not load. That is a defect in this engine, because the verb escapes every value it writes.

1, and never 101, when standard output or standard error cannot be written, and one sentence on standard error names a failed standard output.

Environment

The command reads the system date when --now is absent. It reads no other environment variable.

Files

Path How this verb treats it
.headwater/taxonomy.lock and corpus Read to run checks and inspect existing adoption tasks.
.headwater/imports/ Read where .headwater/taxonomy.yml declares an import, for the anchors that an imported snapshot supplies. An imports entry that does not read stops the verb with exit 1, and so does an at path outside the repository root.
the path each harvests.<name>.at names Read where .headwater/taxonomy.yml declares a pinned corpus export, for the anchors that export supplies. A harvests entry that does not read stops the verb with exit 1, and so does an at path outside the repository root. A pin with no digest binds no anchor. An absent file binds no anchor, and neither does a file that fails the pinned digest or is not an export.
.headwater/taxonomy.lock Written only with --write, by appending proposed tasks.

See also

headwater check produces the findings. headwater taxonomy resolve refreshes the lock after source changes.