Rendered from docs/decisions/0083-governs-and-traces-to-are-created-by-an-agent-because-a-session-proposes-the-line-and-a-person-types-it.md in the Headwater corpus. Every document on this half of the site is typed by the taxonomy the descriptor names: corpus.json.

Governs and traces_to are created by an agent, because a session proposes the line and a person types it

Context

created_by names the actor that a taxonomy expects to pay for an edge, from the closed set that spec 2 states. Until this change the base package gave governs and traces_to the value hook. HW-OBL-0105 records that no verb writes either edge, and that every such edge in this corpus is hand entry.

On 2026-09-26 no verb of the engine writes either edge. headwater new --relates refuses a relation whose created_by is not scaffold. headwater check --fix writes a reciprocal half and a verified_revision, and it proposes no edge. The write-time hook that #953 builds prints the front-matter lines of a governs edge and writes nothing.

The owner filed #955, and its first Done-when clause is the ruling: "The base package declares created_by: agent on governs and traces_to". The issue also states why: "the proposal reaches a person and the person types the line." The actor section of the governs evaluation carries the design. HW-DR-0074 rules on denotation and says that it does not rule on the actor.

Decision

The base package declares created_by: agent on governs and on traces_to. A session proposes the edge and a person accepts it by typing the line.

The value hook claimed a mechanical creator that does not exist. Which document governs which file is a judgment, and the stop rules forbid an agent that invents structure. So a hook that reads a change can show a candidate line, and the line reaches the file only through a person.

The change is a minor release of the package, 4.7.0. No check reads hook or agent, so no finding changes. headwater taxonomy audit moves both relations from the hook row to the agent row, so a consumer's audit report changes. That is why the release is not a patch.

Consequences

Four of the five base relations have no mechanical creator: governs, traces_to, constrains and conflicts_with. Only supersedes has one, which is the scaffold. No base relation is created_by: author, so the rule that spec 2 states still holds.

Over this corpus on 2026-09-26, the audit moved 533 of 762 declared edge halves from hook to agent. The 533 are the halves of governs and traces_to on that date, and the hook row kept the 166 halves of the bundle relations below. At 4.8.0 the agent row holds 548 of 766 halves, and the hook row is empty. The capture of each relation does not change, because the reading keys on the relation and not on its actor.

The skills fixture that holds the refusal of headwater new --relates traces_to now expects created_by: agent in the message. The refusal itself does not change.

The bundle relations discharges and cites_evidence declare created_by: author from 4.8.0. A person types either line, and no verb, hook or agent proposes it. The owner ruled this on 2026-09-26 in a comment on #955. No relation of this package now declares hook. A verb or an agent that proposes a discharges or a cites_evidence edge reopens this ruling.

A verb that writes these edges from a change, with no person between the proposal and the file, reopens this question. That verb would make hook true again.