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

6.8 KiB

type, name, description, manual, migrates_to, migration_kind
type name description manual migrates_to migration_kind
types/instruction.md 5.0.0-confidence-removal 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. true 5.0.0 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.

Contents

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:

    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:

    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:

    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.