Files
chemenu/docs/how-to/maintain-the-wiki.md
T
torbenandClaude Opus 5.5 f9056c04f7
CI / verify (push) Successful in 6m17s
CI / pwsh (push) Successful in 1m59s
Release / release (push) Successful in 35s
feat: docs/ carries the operator's how-to guides, a configuration reference and the architecture and telemetry explanations carved out of README.md, INSTALL.md, INSTALL-MCP.md and EVALS.md; the last two retired (#190)
Files changed:
- .gitea/workflows/ci.yml
- .gitignore
- .vibe/hooks.toml
- AGENTS.md
- CHANGES.md
- EVALS.md
- INSTALL-MCP.md
- INSTALL.md
- README.md
- VERSION
- docs/dev/development.md
- docs/explanation/README.md
- docs/explanation/architecture.md
- docs/explanation/language-boundaries.md
- docs/explanation/telemetry-and-evaluation.md
- docs/how-to/README.md
- docs/how-to/browse-with-obsidian.md
- docs/how-to/capture-repository-docs.md
- docs/how-to/export-guidelines.md
- docs/how-to/ingest-a-source.md
- docs/how-to/maintain-the-wiki.md
- docs/how-to/query-the-wiki.md
- docs/how-to/run-the-weekly-review.md
- docs/how-to/set-up-the-mcp-server.md
- docs/how-to/trace-and-score-sessions.md
- docs/how-to/troubleshoot.md
- docs/how-to/update-an-instance.md
- docs/reference/README.md
- docs/reference/commands/distribution-and-versioning.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/commands/telemetry.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/configuration.md
- instructions/dev/dev-setup.md
- instructions/dev/doc-pull-through.md
- instructions/dev/stack-build/SKILL.md
- instructions/dev/testing-conventions.md
- instructions/dev/version-parts.md
- instructions/setup-instance.md
- instructions/upgrade-instance.md
- reports/CONTRACT.md
- tools/.coveragerc
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/eval_cmd.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/upload_cmd.py
- tools/chemenu/commands/version_cmd.py
- tools/chemenu/evals/__init__.py
- tools/chemenu/evals/scorecard.py
- tools/chemenu/evals/trajectory.py
- tools/chemenu/telemetry/policy.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_git_publish.py
- tools/chemenu/tests/test_instructions_shell.py
- tools/chemenu/tests/test_pipeline_l0.py
- tools/chemenu/toc.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 05:13:56 +02:00

69 lines
3.3 KiB
Markdown

# Maintain the wiki
Keep the wiki healthy: find broken links, orphan pages, raw files no page covers yet,
contradictions and stale claims, then repair what can be repaired mechanically. The agent does
this with the `wiki-lint` skill ([skill catalogue](../reference/skills.md)), and `tools/wikitool`
does the mechanical part.
## What you say
```text
Lint the wiki
```
Do this periodically. The agent suggests it on its own every ten sources. The full schedule - which
task runs how often, and with which command - is the
[maintenance schedule](../../tools/CONTRACT.md#maintenance-schedule) in `tools/CONTRACT.md`, next
to the command records it depends on.
## What you get back
- A deterministic structural scan by `tools/wikitool lint`: broken wikilinks, orphan pages, catalog
drift, schema gaps, raw files without a source page, and citations that disagree with
frontmatter.
- The judgment half, which no command can do: contradictions between pages, stale claims, subjects
that deserve a page of their own, and a rule stated in two places.
- Repairs for what is mechanical, a rebuilt catalog and provenance index, and an entry in
`kb/log.md`.
- A report under `reports/`, which is gitignored and never published. The agent carries the
findings that need you into its reply.
For a quick look without a full pass, say `Wiki status` instead. That is read-only.
## Provenance: where a claim came from
Every fact should trace back to a raw file. A source page lists its raw files, and other pages
cite specific claims inline with a footnote that points at a source page. You can ask the
questions yourself:
```bash
tools/wikitool sources coverage # raw files no source page covers yet
tools/wikitool sources trace --raw raw/2026/09/x.md # which pages rest on this file
tools/wikitool sources trace --page "HA Integration" # which raw files this page rests on
```
`kb/provenance.md` is the generated reverse index. The commands are in the
[provenance reference](../reference/commands/provenance.md).
## Where the agent stops
- **Publishing ten or more files** stops at the Mass-Update Gate (exit 42). A lint pass that repairs
many pages does this routinely. The agent shows you the full file list and the `--confirm` line,
and publishes only after you approve. The token is a digest of that file list, so your approval
never covers a changeset you did not see.
- **The call budget.** Every `wikitool` call counts against a per-session budget: 60 calls, or 3
identical calls in a row. Past it, calls are refused. The agent stops and summarises where it is.
If you want it to go on, tell it so. Only then may it pass `--override-budget` on the command it
needs. A refusal usually means the task should be split, not pushed through.
- **No reachable remote.** Without `--no-push`, `publish` refuses with exit 1 before committing when
the remote is not configured or cannot be reached. An instance that is meant to stay local passes
`--no-push` on every publish.
Every gate, and which command it belongs to: [exit codes and gates](../reference/exit-codes.md).
Why they are enforced in code: [why-gates-are-code.md](../explanation/why-gates-are-code.md).
## Related
- [Troubleshoot](troubleshoot.md) - when `doctor` or a command reports a problem with the instance
itself rather than with its pages.