a51d7a322f
Files changed: - .gitignore - CHANGES.md - EVALS.md - INSTALL.md - README.md - VERSION - docs/pipeline-rationale.md - instructions/CONTRACT.md - instructions/bootstrap.md - instructions/dev/issue-tracking.md - instructions/evolve-subtypes.md - instructions/kb-profiles.md - instructions/mcp-read-server.md - instructions/wiki-ingest/SKILL.md - kb/CONTRACT.md - kb/concepts/COLLECTION.md - kb/sources/COLLECTION.md - raw/CONTRACT.md - tools/.coveragerc - tools/CONTRACT.md - tools/README.md - tools/chemenu/commands/docs_verify.py - tools/chemenu/tests/test_docs_verify.py - types/source.schema.yaml - types/type-spec.md
86 lines
2.8 KiB
YAML
86 lines
2.8 KiB
YAML
# YAML Schema for source type
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
const: "types/source.md"
|
|
description: Must reference the source type-spec
|
|
source_type:
|
|
type: string
|
|
enum: [transcript, analysis, article, document, notes, tracker, unclassified]
|
|
description: >-
|
|
The category of source material. No default - the machine must not pick
|
|
the vaguest value on the author's behalf. Use `unclassified`
|
|
when the category is genuinely unclear; it is a visible, advisory-lint
|
|
catalog slot, not a silent fallback.
|
|
author:
|
|
type: string
|
|
description: Author of the source material
|
|
minLength: 1
|
|
raw_files:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of raw file paths this source covers
|
|
minItems: 1
|
|
fidelity:
|
|
type: string
|
|
enum: [verbatim, published, secondhand, nontextual, unknown]
|
|
description: >-
|
|
How faithful the capture is to what was actually said or shown. No
|
|
default - a capture field, fixed at `raw accept`/`new source` time and
|
|
never guessed. `unknown` is backfill-only: `raw accept` and
|
|
`new source` refuse it, only `wikitool touch` (on a page predating this
|
|
rule) may write it. Deliberately absent from `required:` so an existing
|
|
instance's source pages keep validating without it.
|
|
authority:
|
|
type: string
|
|
enum: [normative, reporting, opinion, unknown]
|
|
description: >-
|
|
What the material is entitled to claim about its subject - independent
|
|
of `fidelity`, which asks how faithfully it was captured. Same capture,
|
|
no-default, backfill-only-`unknown` rules as `fidelity`.
|
|
Deliberately absent from `required:` for the same reason.
|
|
source_url:
|
|
type: [string, "null"]
|
|
description: Upstream URL for external sources
|
|
format: uri
|
|
source_language:
|
|
type: string
|
|
pattern: "^[a-z]{2}$"
|
|
description: >-
|
|
ISO 639-1 code for the language of the raw material, e.g. de, en, fr.
|
|
The page itself is written in the KB language regardless; this records
|
|
what had to be translated. Optional - absent on pages predating the rule.
|
|
date:
|
|
type: string
|
|
format: date
|
|
pattern: "^\\d{4}-\\d{2}-\\d{2}$"
|
|
description: Publication or creation date in YYYY-MM-DD format
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Navigation tags for categorization
|
|
entities:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Entity titles mentioned in this source
|
|
concepts:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: Concept titles mentioned in this source
|
|
summary:
|
|
type: string
|
|
description: 1-line summary for index.md
|
|
minLength: 1
|
|
required:
|
|
- type
|
|
- source_type
|
|
- author
|
|
- raw_files
|
|
- date
|
|
- summary
|
|
additionalProperties: false |