Skip to content

DR-151: A producer-private fact never occupies a standard OKF slot

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.

Owner-ruled (S562 board, D7): the admitter ships as a documented extension keyadmitted_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.

  • Emit uploaded_by as §5.1 author — 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.
  • id-454’s emission adds the _SOURCE_DOCUMENT_COLUMNS widening for uploaded_by and a user_profiles actor-string resolution.
  • DR-019’s superset register gains the admitted_by entry when the emission lands (part of id-454’s change, not a separate task).
  • A future genuine author emission has a sanctioned coarse-grain path (team:<org>) wherever a column honestly names the producing organisation.