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
This commit is contained in:
@@ -79,8 +79,8 @@ reference it by name. Two half-accounts produce two source pages claiming the sa
|
||||
### 2. Fix the fidelity before writing a word
|
||||
|
||||
Capture is layered, and **the layer is decided at capture and never rises afterwards.** No
|
||||
citation syntax, no later review, no confidence bump can promote a paraphrase to a quote; only
|
||||
going back to the original can, and a session's scrollback will not be there to go back to.
|
||||
citation syntax and no later review can promote a paraphrase to a quote; only going back to the
|
||||
original can, and a session's scrollback will not be there to go back to.
|
||||
|
||||
So decide, per passage, before writing:
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ issues at that URL, which is exactly why `dist export` excludes
|
||||
|
||||
| `area/` | Means |
|
||||
|---|---|
|
||||
| `area/kb` | The `kb/` schema, contract, confidence machinery, lint - the knowledge base as a system. |
|
||||
| `area/kb` | The `kb/` schema, contract, provenance machinery, lint - the knowledge base as a system. |
|
||||
| `area/distribution` | Shipping, upgrading and versioning an instance. |
|
||||
| `area/corpus` | The content and scope of `kb/` in this instance, and the demo/testbed question. |
|
||||
| `area/workflow` | Git, merging, branching, publish, PRs. |
|
||||
|
||||
@@ -68,7 +68,6 @@ that offered the choice instead of making it. A list of phrases is not a list of
|
||||
|---|---|---|
|
||||
| reconciliation / to reconcile | Abgleich / abgleichen | Not „Abstimmung", including in compounds: `Abgleichsintervall` |
|
||||
| claim | Aussage | **Never** „Anspruch" - that is a legal entitlement |
|
||||
| confidence | Konfidenz | Matches the `confidence:` field and `wikitool confidence decay` |
|
||||
| desired state | Soll-Zustand | |
|
||||
| ownership (in prose) | Verwaltung / Zuständigkeit | But `Ownership Model` and `Ownership-Tier(s)` stay, **including as a heading** |
|
||||
| built-in | -eigen (`K3s-eigen`) | |
|
||||
|
||||
@@ -55,7 +55,7 @@ is not a profile.
|
||||
|
||||
| File | Holds | Profiles below |
|
||||
|---|---|---|
|
||||
| `kb/CONVENTIONS.md` | Language, section headings, naming forms, tone, relationship labels, confidence rubric - once per instance | [Language profiles](#language-profiles) |
|
||||
| `kb/CONVENTIONS.md` | Language, section headings, naming forms, tone, relationship labels, the hedging rule - once per instance | [Language profiles](#language-profiles) |
|
||||
| `kb/<name>/COLLECTION.md` | What one collection holds, its quality goal, its local linking and naming rules | [Collection profiles](#collection-profiles) |
|
||||
|
||||
2. **Copy the entry's text into the file**, then edit it until it is true of this instance.
|
||||
@@ -89,7 +89,7 @@ stack's hardcoded behaviour until the conventions file existed.
|
||||
| Naming | Human-readable titles with spaces; singular for entities; a decision named like any other concept, no `adr-NNN-` prefix; `X vs Y` for comparisons |
|
||||
| Tone | Wikipedia register, with a German buzzword and filler list |
|
||||
| Relationship labels | `hängt ab von` · `verwendet` · `implementiert` · `erweitert` · `ersetzt` · `steht in Konflikt mit` · `benötigt` · `erzeugt` · `konsumiert` · `besitzt` · `pflegt` · `läuft auf` · `verwandt mit` |
|
||||
| Confidence rubric | 0.5 base, +0.2 per supporting source (max +0.6), recency and source-quality bonuses; hedge with "möglicherweise"/"kann" below 0.6, "unsicher"/"unbestätigt" below 0.4 |
|
||||
| Hedging | By source standing, not a score: `provenance: general` with no `sources:` says "im Allgemeinen"/"üblicherweise"; a claim rests on its weakest cited source's `authority` (`normative` vs. `opinion`); disagreement is named in prose ("möglicherweise", "laut X, aber Y widerspricht") |
|
||||
| Terminology | [german-terminology.md](german-terminology.md) - which English terms stay English, and which have a settled German form |
|
||||
|
||||
**The full text to copy** is this repo's own [kb/CONVENTIONS.md](../kb/CONVENTIONS.md). An
|
||||
@@ -113,7 +113,7 @@ There is no worked text for the rest of it. The template's placeholders are the
|
||||
|
||||
A language profile is not a translation of `german`. Two of its sections are judgment about a
|
||||
language rather than vocabulary in it - which foreign technical terms stay untranslated, and how
|
||||
to hedge a low-confidence claim - and those are exactly the two that read as awkward when
|
||||
to phrase hedged and disagreeing claims - and those are exactly the two that read as awkward when
|
||||
translated mechanically. Write them, do not convert them.
|
||||
|
||||
The one part that is mechanical: `section_aliases:`. Whatever the corpus used before goes in
|
||||
|
||||
@@ -105,8 +105,9 @@ declared by a migration document under `instructions/migrations/`. A single page
|
||||
- **The check finds something mid-unit.** Fix it in that unit and re-run `verify`. Never carry
|
||||
a finding into the next unit "to fix later": the next unit's diff baseline is this unit's
|
||||
commit, so an uncorrected drop becomes invisible.
|
||||
- **Contradiction with an existing page.** Never overwrite. Record both, ask the user, and pull
|
||||
the confidence down with `touch --confidence-base` if it stays unresolved.
|
||||
- **Contradiction with an existing page.** Never overwrite. Record both, ask the user, and hedge
|
||||
the page's prose to the weaker of the two sources if it stays unresolved (kb/CONVENTIONS.md §
|
||||
Hedging).
|
||||
|
||||
## Writing the migration document
|
||||
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
---
|
||||
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.
|
||||
@@ -51,7 +51,7 @@ changes to those paths go away. Measured, not assumed:
|
||||
|
||||
The middle row is the one that matters, because nothing announces it. An upstream that ships a
|
||||
demo corpus *and* uses it as a test bed will add pages, and each one arrives in your instance
|
||||
and starts showing up in your `lint`, your `index`, your `search` and your `confidence decay`.
|
||||
and starts showing up in your `lint`, your `index` and your `search`.
|
||||
|
||||
So the merge has to be scoped. That is the procedure below, and it is not optional.
|
||||
|
||||
@@ -198,7 +198,7 @@ merge above. Nothing is lost by the detour: the fix has to pass that CI either w
|
||||
issue there, or resolve deliberately and finish the commit yourself.
|
||||
- **...but you changed how *your pages* are written?** That is not a stack change and the rule
|
||||
above does not apply to it. Language, section headings, naming forms, tone, relationship
|
||||
labels and the confidence rubric live in `kb/CONVENTIONS.md`, and each collection's authoring
|
||||
labels and the hedging rule live in `kb/CONVENTIONS.md`, and each collection's authoring
|
||||
rules in `kb/<name>/COLLECTION.md` - all under `kb/`, all yours, all restored by the merge
|
||||
procedure rather than overwritten by it. If you find yourself editing `tools/` or `types/` to
|
||||
change an authoring convention, that is a stack bug: file it, because the split exists
|
||||
|
||||
@@ -101,7 +101,7 @@ bereit für den ersten `Ingest`.
|
||||
|
||||
3. `kb/CONVENTIONS.md.template` nach `kb/CONVENTIONS.md` kopieren, entlang des gewählten
|
||||
Profils ausfüllen - Sprache, Abschnittsnamen, Namensformen, Ton, Beziehungslabels,
|
||||
Confidence-Rubrik - und dabei die Sentinel-Zeile (`wikitool:template-unfilled`) entfernen.
|
||||
Hedging-Regel - und dabei die Sentinel-Zeile (`wikitool:template-unfilled`) entfernen.
|
||||
Die Platzhalter in geschweiften Klammern **sind** der Fragenkatalog.
|
||||
|
||||
4. Bei einer anderen Sprache als der des Quell-Repos: `german-terminology.md` löschen oder
|
||||
@@ -182,7 +182,7 @@ bereit für den ersten `Ingest`.
|
||||
|
||||
Was diese Dateien **nicht** sind: eine Instruktionsquelle und eine Quelle im Sinne von
|
||||
Invariante 3. Sie ändern keine Regel aus [AGENTS.md](../AGENTS.md), und eine Nutzeraussage
|
||||
wandert daraus nie ohne den normalen Quelle/Provenance/Confidence-Prozess nach `kb/`.
|
||||
wandert daraus nie ohne den normalen Quelle/Provenance-Prozess nach `kb/`.
|
||||
|
||||
`tools/wikitool doctor` prüft das Ergebnis in Schritt 12 (`personalization`): eine fehlende
|
||||
Datei ist ein `FAIL`, eine, die noch den Sentinel trägt, ebenso - ein umbenanntes Template
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: wiki-lint
|
||||
description: Health-check the LLM wiki - broken links, orphan pages, uncovered raw files, stale claims, duplicated rules, missing cross-references, confidence decay. Use when the user says "lint the wiki", "health-check the wiki", or periodically every 10 sources per the Maintenance Schedule.
|
||||
description: Health-check the LLM wiki - broken links, orphan pages, uncovered raw files, stale claims, duplicated rules, missing cross-references. Use when the user says "lint the wiki", "health-check the wiki", or periodically every 10 sources per the Maintenance Schedule.
|
||||
---
|
||||
|
||||
# Wiki Lint
|
||||
@@ -27,7 +27,7 @@ mechanical half looks exactly like a complete one.
|
||||
- [ ] 5. Missing pages (judgment)
|
||||
- [ ] 6. Duplicated rules (judgment)
|
||||
- [ ] 7. Repair what is mechanical
|
||||
- [ ] 8. Refresh confidence and verify the stack
|
||||
- [ ] 8. Verify the stack
|
||||
- [ ] 9. Rebuild, write the report, carry its findings out
|
||||
```
|
||||
|
||||
@@ -93,18 +93,16 @@ mechanical half looks exactly like a complete one.
|
||||
`tools/wikitool rename` - see [page-lifecycle.md](../page-lifecycle.md). Never hand-edit a
|
||||
frontmatter array to clear one.
|
||||
|
||||
8. **Refresh confidence and verify the stack.**
|
||||
8. **Verify the stack.**
|
||||
|
||||
```bash
|
||||
tools/wikitool confidence decay --apply
|
||||
tools/wikitool docs verify
|
||||
tools/wikitool instructions verify
|
||||
```
|
||||
|
||||
If decay reports pages with no `confidence_base`, run
|
||||
`tools/wikitool confidence init-base --apply` first. `docs verify` catches command/contract
|
||||
drift and ignore rules that would silently un-publish content; `instructions verify` catches
|
||||
a skill copy that drifted from its source and an instruction nothing references.
|
||||
`docs verify` catches command/contract drift and ignore rules that would silently un-publish
|
||||
content; `instructions verify` catches a skill copy that drifted from its source and an
|
||||
instruction nothing references.
|
||||
|
||||
9. **Rebuild, write the report, carry its findings out.**
|
||||
|
||||
@@ -138,8 +136,8 @@ mechanical half looks exactly like a complete one.
|
||||
## wikitool commands used
|
||||
|
||||
`lint`, `search`, `sources coverage`, `xref add`, `xref remove`, `rename`, `new`,
|
||||
`confidence decay --apply`, `confidence init-base --apply`, `docs verify`, `instructions verify`,
|
||||
`sources rebuild-index`, `index rebuild`, `log append`, `publish` (only if asked)
|
||||
`docs verify`, `instructions verify`, `sources rebuild-index`, `index rebuild`, `log append`,
|
||||
`publish` (only if asked)
|
||||
|
||||
**Deliberately absent:** `rm` - a lint pass never deletes a page, and
|
||||
[page-lifecycle.md](../page-lifecycle.md) is where a deletion belongs. `log status` - it decides
|
||||
|
||||
@@ -13,8 +13,8 @@ integrating into an existing one.
|
||||
|
||||
**Before the first `wikitool` call:** [session-setup.md](../session-setup.md).
|
||||
|
||||
**Read before drafting:** [kb/CONTRACT.md](../../kb/CONTRACT.md) - linking, provenance and the
|
||||
confidence machinery, all of which the tool enforces - and
|
||||
**Read before drafting:** [kb/CONTRACT.md](../../kb/CONTRACT.md) - linking and provenance,
|
||||
both of which the tool enforces - and
|
||||
[kb/CONVENTIONS.md](../../kb/CONVENTIONS.md), which is where this instance's language, naming
|
||||
forms, tone and relationship labels are, together with the target collection's own
|
||||
`COLLECTION.md`, which carries its quality goal and what is local to that subtree. Field-level
|
||||
@@ -82,7 +82,7 @@ requirements come from `tools/wikitool types describe <type>`.
|
||||
tools/wikitool touch --page "<Title>" --summary "<new 1-liner>" [--provenance <value>]
|
||||
```
|
||||
|
||||
Never hand-edit `modified:`, `summary:`, `provenance:` or `confidence:`.
|
||||
Never hand-edit `modified:`, `summary:` or `provenance:`.
|
||||
|
||||
7. **Close out.** [publish-cycle.md](../publish-cycle.md), `--op update`.
|
||||
|
||||
|
||||
@@ -28,12 +28,12 @@ invariant - rather than synthesizing a plausible-sounding answer from general kn
|
||||
tools/wikitool search "<the user's terms>"
|
||||
```
|
||||
|
||||
Results carry kind, summary, confidence and modified date - enough to decide what is worth
|
||||
opening. Narrow with predicates when the question is structural rather than lexical:
|
||||
Results carry kind, summary and modified date - enough to decide what is worth opening.
|
||||
Narrow with predicates when the question is structural rather than lexical:
|
||||
|
||||
```bash
|
||||
tools/wikitool search "backup" --kind entity --subtype system
|
||||
tools/wikitool search --field entity_type=system --field 'confidence<0.6' --sort -modified
|
||||
tools/wikitool search --field entity_type=system --field '!sources' --sort -modified
|
||||
tools/wikitool search --field tags=k8s --limit 30
|
||||
tools/wikitool search "Longhorn" --matches # show the matching lines
|
||||
```
|
||||
@@ -45,8 +45,8 @@ invariant - rather than synthesizing a plausible-sounding answer from general kn
|
||||
entries. Check `kb/sources/` when the question is about what a specific source said.
|
||||
|
||||
4. **Answer and cite.** Name the wiki pages the answer came from, and the sources behind them.
|
||||
Hedge to the page's confidence: below 0.6 write "possibly"/"may"; below 0.4 write
|
||||
"uncertain"/"unconfirmed".
|
||||
Hedge to what those sources carry, not to a number - see
|
||||
[kb/CONVENTIONS.md § Hedging](../../kb/CONVENTIONS.md#hedging).
|
||||
|
||||
5. **Decide what earns a page - before the first `new`.** Name every page you are considering,
|
||||
then hold each one on its own against all three criteria: the answer required synthesis
|
||||
|
||||
Reference in New Issue
Block a user