Files
chemenu/instructions/migrations/5.0.0-confidence-removal.md
torben 54d9540c08
CI / verify (push) Successful in 56s
Release / release (push) Successful in 36s
stack: Konfidenz-Mechanismus ersatzlos entfernt, Korpus migriert (schliesst #60, #86)
Files changed:
- .wikitool-kb.json
- AGENTS.md
- CHANGES.md
- INSTALL-MCP.md
- INSTALL.md
- README.md
- VERSION
- instructions/capture-session.md
- instructions/dev/issue-tracking.md
- instructions/german-terminology.md
- instructions/kb-profiles.md
- instructions/migrate-corpus.md
- instructions/migrations/5.0.0-confidence-removal.md
- instructions/private-instance.md
- instructions/setup-instance.md
- instructions/wiki-lint/SKILL.md
- instructions/wiki-manage/SKILL.md
- instructions/wiki-query/SKILL.md
- kb/CONTRACT.md
- kb/CONVENTIONS.md
- kb/CONVENTIONS.md.template
- kb/concepts/architectures/Consolidation Tiers.md
- kb/concepts/architectures/Context Isolation.md
- kb/concepts/architectures/Cross-platform Agent Skills.md
- kb/concepts/architectures/Episodic Memory.md
- kb/concepts/architectures/Hybrid Search.md
- kb/concepts/architectures/Implementation Spectrum.md
- kb/concepts/architectures/Knowledge Graph.md
- kb/concepts/architectures/LLM Wiki Pattern.md
- kb/concepts/architectures/MCP-Leseserver.md
- kb/concepts/architectures/Memory Lifecycle.md
- kb/concepts/architectures/OKF Compatibility.md
- kb/concepts/architectures/Optional Instance Context File.md
- kb/concepts/architectures/Personalization Plane.md
- kb/concepts/architectures/Procedural Memory.md
- kb/concepts/architectures/RAG.md
- kb/concepts/architectures/Scale Ceiling.md
- kb/concepts/architectures/Semantic Memory.md
- kb/concepts/architectures/Three-Layer Architecture.md
- kb/concepts/architectures/Token Economics.md
- kb/concepts/architectures/Working Memory.md
- kb/concepts/decisions/Delete Rather Than Anonymize.md
- kb/concepts/decisions/Denylist over Allowlist.md
- kb/concepts/decisions/Diff-Reviewable Agent Edits.md
- kb/concepts/decisions/Dual Licensing by File Plan.md
- kb/concepts/decisions/Issue Label Scheme.md
- kb/concepts/decisions/KB Stack Versioning.md
- kb/concepts/decisions/Structural Enforcement over Documented Rule.md
- kb/concepts/patterns/Audit Trail.md
- kb/concepts/patterns/BM25.md
- kb/concepts/patterns/Command Round-Trip Integrity.md
- kb/concepts/patterns/Confidence Scoring.md
- kb/concepts/patterns/Contradiction Resolution.md
- kb/concepts/patterns/Entity Extraction.md
- kb/concepts/patterns/Filter on Ingest.md
- kb/concepts/patterns/Forgetting.md
- kb/concepts/patterns/Graph Traversal.md
- kb/concepts/patterns/Mesh Sync.md
- kb/concepts/patterns/Quality Scoring.md
- kb/concepts/patterns/Reciprocal Rank Fusion.md
- kb/concepts/patterns/Self-Healing.md
- kb/concepts/patterns/Shared vs Private.md
- kb/concepts/patterns/Typed Relationships.md
- kb/concepts/patterns/Vector Search.md
- kb/concepts/patterns/Work Coordination.md
- kb/concepts/problems/Ambient Environment Dependency.md
- kb/concepts/problems/Detect-Repair Asymmetry.md
- kb/concepts/problems/Green Suite Blind Spot.md
- kb/concepts/problems/Naming Convention Conflict.md
- kb/concepts/problems/Write-Once Frontmatter Fields.md
- kb/concepts/protocols/CPPC.md
- kb/concepts/protocols/Modbus.md
- kb/concepts/protocols/SSD TRIM.md
- kb/concepts/workflows/Anti-Cramming Heuristic.md
- kb/concepts/workflows/Bulk Operations.md
- kb/concepts/workflows/CI Integration.md
- kb/concepts/workflows/Checkpoint Audit.md
- kb/concepts/workflows/Claude Code Auto Mode.md
- kb/concepts/workflows/Content Quality Control.md
- kb/concepts/workflows/Crystallization.md
- kb/concepts/workflows/Event-Driven Automation.md
- kb/concepts/workflows/Hooks.md
- kb/concepts/workflows/Index Scaling.md
- kb/concepts/workflows/Iteration and Cost Limits.md
- kb/concepts/workflows/KB Migration.md
- kb/concepts/workflows/Knowledge Compounding.md
- kb/concepts/workflows/Lint Workflow.md
- kb/concepts/workflows/Mass-Update Gate.md
- kb/concepts/workflows/Multi-Agent Collaboration.md
- kb/concepts/workflows/Privacy and Governance.md
- kb/concepts/workflows/Publish-Remote Gate.md
- kb/concepts/workflows/Quality and Self-Correction.md
- kb/concepts/workflows/Semantic Lint Automation.md
- kb/concepts/workflows/Session Orientation.md
- kb/concepts/workflows/Split Merge Reclassify.md
- kb/concepts/workflows/Split Threshold.md
- kb/concepts/workflows/Stub Threshold.md
- kb/concepts/workflows/Supersession.md
- kb/concepts/workflows/User Management.md
- kb/concepts/workflows/Workflow Extraction.md
- kb/concepts/workflows/Workflow Orchestration.md
- kb/entities/people/Andrej Karpathy.md
- kb/entities/people/E3DC GmbH.md
- kb/entities/people/Rohit Gupta.md
- kb/entities/people/Vannevar Bush.md
- kb/entities/projects/BCDModule.md
- kb/entities/projects/Chemenu.md
- kb/entities/projects/andybalholm-edl.md
- kb/entities/projects/goresponsiveness.md
- kb/entities/projects/ha-core.md
- kb/entities/projects/hacs-e3dc.md
- kb/entities/projects/hacs-integration-blueprint.md
- kb/entities/projects/llm-wiki-skills.md
- kb/entities/projects/plugnburn-edl.md
- kb/entities/projects/wiki-skills-vanillaflava.md
- kb/entities/projects/wiki-skills.md
- kb/entities/systems/AGENTS.md.md
- kb/entities/systems/CLAUDE.md.md
- kb/entities/systems/E3DC.md
- kb/entities/systems/ENVIRONMENT.md.md
- kb/entities/systems/Memex.md
- kb/entities/systems/Tolkien Gateway.md
- kb/entities/technologies/Arch Linux.md
- kb/entities/technologies/Disk Encryption.md
- kb/entities/technologies/Docker.md
- kb/entities/technologies/GRUB.md
- kb/entities/technologies/Gitea Actions.md
- kb/entities/technologies/Gitea.md
- kb/entities/technologies/Go.md
- kb/entities/technologies/Home Assistant.md
- kb/entities/technologies/Kernel PM Governors.md
- kb/entities/technologies/LVM.md
- kb/entities/technologies/Linux Kernel.md
- kb/entities/technologies/MQTT.md
- kb/entities/technologies/OPC UA.md
- kb/entities/technologies/Python.md
- kb/entities/technologies/Rust.md
- kb/entities/technologies/Wine GE.md
- kb/entities/technologies/Wine-Staging.md
- kb/entities/technologies/acpi-cpufreq.md
- kb/entities/technologies/amd-pstate.md
- kb/entities/technologies/iii Engine.md
- kb/entities/tools/AUR.md
- kb/entities/tools/Act Runner.md
- kb/entities/tools/Agent Memory.md
- kb/entities/tools/Aura.md
- kb/entities/tools/Bottles.md
- kb/entities/tools/ChatGPT.md
- kb/entities/tools/Claude Code.md
- kb/entities/tools/Codex CLI.md
- kb/entities/tools/Dataview.md
- kb/entities/tools/GPG.md
- kb/entities/tools/GitHub Copilot.md
- kb/entities/tools/Gitea MCP Server.md
- kb/entities/tools/Lutris.md
- kb/entities/tools/Marp.md
- kb/entities/tools/Mistral Vibe.md
- kb/entities/tools/NotebookLM.md
- kb/entities/tools/Obsidian Web Clipper.md
- kb/entities/tools/Obsidian.md
- kb/entities/tools/OpenAI Codex.md
- kb/entities/tools/OpenCode.md
- kb/entities/tools/Pi.md
- kb/entities/tools/Proton.md
- kb/entities/tools/Steam.md
- kb/entities/tools/Wine.md
- kb/entities/tools/awesome-llm-wiki.md
- kb/entities/tools/farzaa gist.md
- kb/entities/tools/gdeploy.md
- kb/entities/tools/makepkg.md
- kb/entities/tools/pascalandy schema.md
- kb/entities/tools/qmd.md
- kb/entities/tools/wikitool.md
- kb/index.md
- kb/log.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/api.py
- tools/chemenu/cli.py
- tools/chemenu/commands/confidence_decay.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/index_build.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/commands/search.py
- tools/chemenu/commands/touch.py
- tools/chemenu/commands/version_cmd.py
- tools/chemenu/conventions.py
- tools/chemenu/corpus_diff.py
- tools/chemenu/frontmatter_io.py
- tools/chemenu/lint_core.py
- tools/chemenu/mcp/server.py
- tools/chemenu/page.py
- tools/chemenu/search/base.py
- tools/chemenu/search/filters.py
- tools/chemenu/search/ripgrep.py
- tools/chemenu/search/service.py
- tools/chemenu/search/types.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_api.py
- tools/chemenu/tests/test_confidence_decay.py
- tools/chemenu/tests/test_corpus_diff.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_frontmatter_io.py
- tools/chemenu/tests/test_index_build.py
- tools/chemenu/tests/test_kb_scan.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_mcp_server.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_page_ops.py
- tools/chemenu/tests/test_provenance.py
- tools/chemenu/tests/test_raw_cmd.py
- tools/chemenu/tests/test_search.py
- tools/chemenu/tests/test_touch.py
- tools/chemenu/tests/test_type_resolver.py
- tools/chemenu/tests/test_version_cmd.py
- tools/chemenu/tests/test_xref.py
- tools/chemenu/version.py
- types/concept.md
- types/concept.schema.yaml
- types/entity.md
- types/entity.schema.yaml
- types/instruction.md
- types/type-spec.md
2026-09-10 19:51:48 +02:00

130 lines
6.8 KiB
Markdown

---
type: types/instruction.md
name: 5.0.0-confidence-removal
description: Remove the confidence/confidence_base frontmatter fields from every entity and concept page - a shape change with no judgment call, since the machinery that read them is already gone.
manual: true
migrates_to: 5.0.0
migration_kind: mechanical
---
# Remove `confidence`/`confidence_base` from every page (5.0.0)
5.0.0 removes the confidence mechanism from the stack: the two frontmatter fields, the
`wikitool confidence decay`/`init-base` commands, the search sort/filter machinery, and the
advisory lint check that compared it to source standing. `AGENTS.md` invariant 3 and
`kb/CONVENTIONS.md`'s hedging rule take over the two jobs the number used to do - hedging follows
what the sources carry, and the work list finds unreviewed pages by `!sources`/`provenance=general`
rather than by a threshold. The full measurement behind the removal - why the mechanism never
tracked anything auditable - is the changelog entry for this version, not repeated here.
**No page learns anything new, and no body is touched.** This migration only drops two keys from
frontmatter; it is `mechanical` because there is no per-page judgment to make; the removal itself
was the judgment, made once, in the version that introduced this document.
<!-- wikitool:toc -->
## Contents
- [When to run](#when-to-run)
- [Steps](#steps)
- [How to tell a migrated page from an unmigrated one](#how-to-tell-a-migrated-page-from-an-unmigrated-one)
- [Decision points](#decision-points)
- [Scope](#scope)
<!-- /wikitool:toc -->
## When to run
After installing 5.0.0 machinery over an instance on 4.x. `tools/wikitool migrate status` names
it, and `tools/wikitool lint --fail-on-error` refuses with `schema_validation_errors` on every
entity/concept page still carrying either field - `types/entity.schema.yaml` and
`types/concept.schema.yaml` both declare `additionalProperties: false`, so the two keys are not
merely unused after 5.0.0, they are invalid.
**This is not a window to live in.** Unlike a labelled-edge migration, there is no advisory phase
here: a page carrying the old fields is schema-invalid the moment the new schema lands, not
merely outdated. Both schemas declare `additionalProperties: false`, so a `lint --fail-on-error`
run between the two halves refuses the whole corpus. Install the 5.0.0 machinery and run this
migration in the same sitting, publishing both together rather than the schema change on its
own.
## Steps
1. **Confirm the scope.** Only `entity` and `concept` pages ever declared the fields; `source`
and `comparison` pages never did and need no check:
```bash
tools/wikitool search --field 'confidence:*'
```
Every hit is a page this migration must touch. (Once the fields are gone from the schema,
the same predicate becomes a refusal rather than an empty result - that refusal is itself
the signal that the migration finished; see step 4.)
2. **Strip both fields from each page's frontmatter, mechanically, not by hand.** A script that
reads a page, deletes the `confidence`/`confidence_base` keys if present, and writes the
frontmatter back through this stack's own YAML writer - never a hand-edit, and never a
subagent guessing at formatting. The invariant a checked run must hold:
- `modified:` is byte-for-byte unchanged. This is a shape change, not a content
confirmation, and a bumped date would misstate 152 pages as freshly reviewed.
- The body is byte-for-byte unchanged, including footnotes and every generated region.
- Every page-reference array (`related:`, `sources:`, `entities:`, `concepts:`) is unchanged
in both content and order.
- The remaining frontmatter keys keep the schema's field order.
- No untracked or gitignored file is touched.
Cut the corpus into units against the iteration budget - `instructions/migrate-corpus.md`'s
rule of thumb is 48 pages or fewer per unit, which for ~152 affected pages is four units.
3. **Check each unit mechanically before anything else:**
```bash
tools/wikitool migrate verify --from <pre-migration rev> --path kb/<area> --fail-on-error
```
It compares wikilink and citation counts, footnote definitions, H1, and structural
frontmatter - `confidence_base` no longer among the fields it compares as of this same
version, so the field's absence is not itself reported as a defect. Everything else it
checks stays exactly as strict as it was.
4. **Record it. The checks tighten themselves:**
```bash
tools/wikitool lint --fail-on-error # schema_validation_errors must be 0
tools/wikitool migrate done 5.0.0 --pages <N>
```
Only once `lint --fail-on-error` passes clean is the run finished. From this point, `search
--field 'confidence<0.6'` (or any predicate naming either field) is refused with an "unknown
field" error rather than silently returning nothing - the search layer already refuses a
predicate no page in the corpus carries, so the migration's own completion is what makes
that refusal fire.
## How to tell a migrated page from an unmigrated one
An unmigrated entity or concept page still has `confidence:` and `confidence_base:` lines in its
frontmatter block; a migrated one has neither, and validates against the 5.0.0 schema without
them. `tools/wikitool search --field 'confidence:*'` lists every page still waiting; an empty
result (or, once the schema has landed, the predicate's own refusal) is the corpus-wide answer.
## Decision points
- **A page's `confidence_base` sat far below its cited sources' standing, or far above?** Not
this migration's question. The check that used to flag that mismatch
(`confidence_exceeds_source_standing`) is gone with the field it read, and its replacement -
if the corpus wants one - is a prose spot-check `wiki-lint` applies by hand, not a mechanical
gate. Do not use this migration as an occasion to also rewrite a page's hedging; that is
`wiki-manage`'s job, on its own schedule.
- **A page has `confidence` but no `confidence_base`, or the reverse?** Both are pre-existing
states this stack already tolerated (the decay formula skipped pages missing a base). Strip
whichever key is present; there is nothing to reconcile between them first.
- **Unsure whether a script wrote frontmatter correctly?** Diff one migrated page's frontmatter
block against its pre-migration version by hand before running the rest of a unit - the two
keys should be the only difference, in the position the schema declares.
## Scope
The `confidence`/`confidence_base` keys on every `kb/entities/**` and `kb/concepts/**` page.
Nothing under `raw/`, no body prose anywhere, and no other frontmatter field. Installing the
5.0.0 machinery itself - the schema change, the removed commands, the hedging rule in
`kb/CONVENTIONS.md` - is a separate step that must land first; this document only carries the
corpus across the boundary that step opens.