Skip to content

Data Model

This is an illustrative reference schema for the knowledge store behind the Knowledge Operating System. It shows how artifacts, provenance, promotion history, indexing, evaluation, and the package graph relate.

The schema source lives as code at schemas/src/kos-knowledge-store.sql.

Entity-Relationship Diagram

erDiagram
    artifact ||--o{ source_ref : cites
    artifact ||--o| manifest_entry : registered_as
    artifact ||--o{ promotion_log_entry : logged_by
    artifact ||--o{ index_record : indexed_as
    artifact ||--o{ claim_candidate : yields
    package ||--o{ claim_candidate : contains
    package ||--o{ evidence_object : contains
    package ||--o{ package_relationship : "from"
    package ||--o{ package_relationship : "to"
    eval_case ||--o{ eval_run : scored_in
    claim_candidate ||--o{ evidence_object : supported_by
    source_ref ||--o{ evidence_object : grounds

Data Dictionary

artifact

The unit of knowledge. Every item the system manages is an artifact with a zone, a sensitivity, and a validation status.

Field Meaning
id Stable identifier
title Human-readable name
zone Lifecycle zone: capture, working, evergreen, promoted, private, archive
sensitivity public, internal, or private
derivation How the artifact was produced, for example original or summarized
validation_status unvalidated, self_checked, reviewed, or accepted
last_reviewed Date of the last human review
owner The accountable person

source_ref

Provenance. Each reference ties an artifact to where its content came from.

manifest_entry

Retrieval eligibility and authority. Records the authority class and whether the artifact is included in default retrieval.

promotion_log_entry

The promotion history. Records the reason, the reviewer, and the validation status for each promotion event.

index_record

Indexing state. Records which corpus an artifact was indexed into and how many chunks it produced. The corpus field is constrained so the two indexes never mix.

eval_case and eval_run

The evaluation layer. A case defines a test and its rubric. A run records the scores, including schema validity, overall score, adversarial score, and error counts.

package, package_relationship, claim_candidate, evidence_object

The decision-support graph. Packages are compiled units of knowledge. Relationships are typed and carry a validation status, so an unvalidated link is never mistaken for accepted knowledge. Claim candidates carry a posture from the same taxonomy the router uses. Evidence objects tie a claim back to a source reference.

Design Notes

  • The corpus check constraint on index_record enforces the two-index boundary at the schema level, not just in application code.
  • validation_status appears on artifacts, promotion entries, relationships, and claims. Trust is tracked everywhere, so nothing silently graduates to accepted.
  • The posture enumeration on claim_candidate preserves how strongly a claim is held, which is the difference between a knowledge store and a pile of assertions.