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

3.3 KiB

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), and tools/wikitool does the mechanical part.

What you say

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 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:

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.

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. Why they are enforced in code: why-gates-are-code.md.

  • Troubleshoot - when doctor or a command reports a problem with the instance itself rather than with its pages.