Files
chemenu/types/source.schema.yaml
torben a51d7a322f
CI / verify (push) Successful in 59s
Release / release (push) Successful in 37s
docs: ausgelieferte Doku zitiert keine Issue-Nummern mehr, docs verify prueft es (schliesst #77)
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
2026-09-09 18:52:34 +02:00

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