DR-151: A producer-private fact never occupies a standard OKF slot
Context
Section titled “Context”id-454’s design pass found author underivable: the only candidate column,
source_documents.uploaded_by, records who ADMITTED a document to the corpus
(id-407’s definition), not who produced the source — which is what OKF v0.2
§5.1 defines author to mean. The owner challenged the resulting full OMIT:
in a client-owned bundle repo, who-brought-this-in is valuable client-facing
information, and the ingress objection largely dissolves inside the client’s
own repo (DR-043 concerns client data in shared infra).
The reference approach was then measured (vendored SPEC.md; upstream
knowledge-catalog@374e0bc): every identity field uses the §7 actor
convention (human:<id>, <producer>/<version>, process:<id>; §5.1’s own
example emits author: team:ga4-docs); the upstream machine producer emits no
author at all, while the hand-curated example bundle carries it as actor
strings — authorship enters when honestly known, never by mechanical
approximation.
Decision
Section titled “Decision”Owner-ruled (S562 board, D7): the admitter ships as a documented extension
key — admitted_by on sources[] entries — valued as a §7 actor string
(human:<id>, resolved from the uploader’s profile; OMIT when unresolvable).
author stays reserved for genuine authorship. The general rule this
instantiates, extending id-428’s confidence lesson from vocabularies to
facts: a standard OKF slot carries only the fact the spec defines for it;
producer-specific facts enter as documented extension keys (§4.1), valued in
the same actor convention the standard fields use, and recorded in DR-019’s
documented-superset register. Emission rides id-454’s implementation.
Alternatives Considered
Section titled “Alternatives Considered”- Emit
uploaded_byas §5.1author— valuable and displayed by generic consumers, but they would read admission as authorship: a private fact wearing a standard label, the failure shape id-428 retired. - Keep the full OMIT — conformant but discards information the owner identified as valuable in a client-owned repo.
- Resolved display name / raw uuid as the value — rejected for the actor
convention: one identity spelling bundle-wide, and
human:is the prefix §5.3 trust classification keys off.
Consequences
Section titled “Consequences”- id-454’s emission adds the
_SOURCE_DOCUMENT_COLUMNSwidening foruploaded_byand a user_profiles actor-string resolution. - DR-019’s superset register gains the
admitted_byentry when the emission lands (part of id-454’s change, not a separate task). - A future genuine
authoremission has a sanctioned coarse-grain path (team:<org>) wherever a column honestly names the producing organisation.