raw accept: Datums-Shard statt Typverzeichnis, fidelity/authority am Drop-Punkt (Teil 1/3, #67)
CI / verify (push) Successful in 52s
Release / release (push) Successful in 35s

Files changed:
- .gitignore
- CHANGES.md
- VERSION
- instructions/bootstrap.md
- instructions/wiki-ingest/SKILL.md
- kb/CONTRACT.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/commands/touch.py
- tools/chemenu/lint_core.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_provenance.py
- tools/chemenu/tests/test_raw_cmd.py
- tools/chemenu/tests/test_touch.py
- tools/chemenu/tests/test_type_resolver.py
- tools/chemenu/type_resolver.py
- types/source.md
- types/source.schema.yaml
This commit is contained in:
2026-09-08 21:42:27 +02:00
parent f2a093bc8b
commit f4353ccfb3
25 changed files with 1167 additions and 344 deletions
+34
View File
@@ -262,6 +262,40 @@ What the number *means* - the base score, what raises it and by how much, and ho
prose below a threshold - is a rubric rather than a mechanism, so it is
[kb/CONVENTIONS.md § Confidence rubric](CONVENTIONS.md#confidence-rubric)'s.
### Confidence against source standing
The rubric already asks for an authority judgment ("+0.1 for official documentation, +0.05 for a
reputable secondary source") without anywhere to record it - source count lives in `sources:`,
recency in `modified:`, agreement is readable from the prose itself, but the authority term is
thought, applied, and forgotten; the next person re-derives it from scratch. `raw/CONTRACT.md`'s
capture fields (`fidelity`, `authority`, Gitea #67) make it a recorded fact instead: `lint`
compares a page's `confidence_base` against the weakest capture standing of its cited sources and
reports one when the page claims more than its sources can carry.
**A ceiling, not a formula.** `confidence_base` stays hand-set (see above); this only bounds it.
The reasons are the same two, together: `confidence` is already derived from `confidence_base` by
one mechanism (`confidence decay`), and a second derivation of the same number would leave two
disagreeing answers to "what should this be" - and authority is a ceiling a page may fall under by
independent verification, never a determinant a formula could compute outright. The check is
therefore advisory, in the same class as `unsharded_collections`: it names a mismatch and asks a
human to look, it never fails a build.
The ceiling is stack vocabulary (`fidelity`/`authority` are - see `raw/CONTRACT.md`), not an
instance setting; an instance that disagrees with a specific finding overrides its judgment on
that one page, rather than reconfiguring the rubric:
| worst `authority` among a page's sources | ceiling | worst `fidelity` among a page's sources | ceiling |
|---|---|---|---|
| `normative` | (none) | `verbatim` | (none) |
| `reporting` | 0.8 | `published` | (none) |
| `opinion` | 0.6 | `secondhand` | 0.7 |
| `unknown` | no finding | `nontextual` | 0.7 |
| | | `unknown` | no finding |
The effective ceiling is the minimum of both columns. `unknown` never triggers a finding on its
own axis: a backfilled "we don't know" is not a claim about the source, and firing on it would
report every page citing a pre-#67 source at once, which is noise, not a finding.
## What does not belong here
- Raw source material - it stays immutable under `raw/`.