Rendered from docs/obligations/0082-the-lock-is-half-generated-and-half-authored-and-nothing.md in the Headwater
corpus. Every document on this half of the site is typed by the taxonomy
the descriptor names: corpus.json.
The lock is half generated and half authored, and nothing states the rule for the seam
Context
Spec 7 and Q12 both put the adoption payload in the lock, and Q12 gives the reason: the lock is committed and reviewed. Every other line of that file is a function of the sources. An owner is not one, and a task that closes is a person who deletes lines. So one artifact has a generated part and an authored part, and no document says which is which.
Obligation
Three questions stand here, and the second one now has a measured answer beside it. Whether a payload survives a rewrite is a rule that belongs in spec 7 rather than in one function. resolve --check does pass while the authored half is stale, and the lock of this repository is the instance it passes over. resolve reads the package sources and never the corpus, so no run of it holds the input that would answer otherwise. What no document states is whether it may, and that is a ruling rather than a measurement. And a payload that no digest covers is a part of a reviewed artifact that no later reader can verify.
Discharge
The engine answers locally. taxonomy resolve reads the committed lock and carries the block through, the header comment names the exception, and the digest still covers the resolution alone.
The third question narrowed to one field rather than the whole block. Issue #78 needed adoption.from to be writable at all. HW-DR-0046 rules that it is a semver and a release digest. The two are kept as plain fields, and never as a bare assertion or a hash of the two. That answers what from may hold. It does not answer the first two questions here. Whether a payload surviving a rewrite is a rule spec 7 should state stays the owner's. So does whether resolve --check may pass while the authored half is stale.