Skip to content

feat(pack-kg): ADR-086 document entity_type governed vocabulary#688

Draft
ohdearquant wants to merge 1 commit into
mainfrom
feat/adr086-doc-modeling
Draft

feat(pack-kg): ADR-086 document entity_type governed vocabulary#688
ohdearquant wants to merge 1 commit into
mainfrom
feat/adr086-doc-modeling

Conversation

@ohdearquant

Copy link
Copy Markdown
Owner

Implements ADR-086 (document/file modeling) v1: registers the governed document
entity_type vocabulary in the existing EntityTypeRegistry.

Changes

  • Seven new canonical Document subtypes in BUILTIN_DEFS: note, summary, handoff,
    reference, adr, transcript, other.
  • spec and report are deliberately not re-declared: spec already resolves
    through the pre-existing specification alias (create/list/search canonicalize
    before storage and filtering, so entity_type="spec" round-trips correctly),
    and report was already a canonical Document subtype.
  • No new pack, table, verb, or filter surface — per the ADR's explicit v1 scope.

Validation

  • entity_type remains optional on document entities; ungoverned values are
    rejected fail-closed with the valid value list.

Tests

  • 3 registry unit tests + 5 end-to-end integration tests through the real
    create/search/list dispatch (accept each governed type, reject ungoverned with
    value list, omitted accepted, search/list filtering by entity_type).

Refs: docs/adr/ADR-086-doc-file-pack.md

Adds the ADR-086 document entity_type governed set (spec, note, summary,
handoff, report, reference, adr, transcript, other) to khive-pack-kg's
existing EntityTypeRegistry — a Modify per PI_AEP, no new pack, table, or
verb. spec and report already resolved via the pre-existing specification
alias and report entry, so only note/summary/handoff/reference/adr/
transcript/other are newly registered.

Covers both the registry's own resolve() unit tests and end-to-end
create/search/list dispatch tests confirming: each governed value is
accepted on document create, an ungoverned value is rejected fail-closed
with the valid values listed, entity_type is optional (omission accepted),
and the existing entity_type filter path on search/list already scopes
document results without any new filter surface.
@ohdearquant ohdearquant marked this pull request as ready for review July 7, 2026 18:10
@ohdearquant ohdearquant enabled auto-merge (squash) July 7, 2026 18:10
@ohdearquant ohdearquant disabled auto-merge July 7, 2026 18:18
@ohdearquant ohdearquant marked this pull request as draft July 7, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant