Skip to content

Wiki Revamp: code-grounded audit of all 4 *arr wiki pages (private review)#2

Open
bakerboy448 wants to merge 8 commits into
masterfrom
audit/2026-06-wiki-revamp
Open

Wiki Revamp: code-grounded audit of all 4 *arr wiki pages (private review)#2
bakerboy448 wants to merge 8 commits into
masterfrom
audit/2026-06-wiki-revamp

Conversation

@bakerboy448

Copy link
Copy Markdown
Owner

Summary

Code-grounded audit of all Servarr wiki pages against current app source code, fanned out across 103 per-page audit subagents. Private-review PR on bakerboy448/Wiki (the fork) — NOT a PR to upstream Servarr/Wiki yet.

Scope

App Branch audited Commits Files changed
Sonarr main (v4 stable line) 6adcd96 15
Radarr develop (pre-release) 3b18fda 14
Lidarr develop (pre-release) 7a42308 22
Prowlarr develop (pre-release) fe2e413 13
Total 4 commits 64 files

Diff stat: +1,273 / −468 across 64 of 103 audited pages (39 pages returned "no discrepancies found" — left untouched).

Methodology

For each page:

  1. Per-page subagent (Sonnet 4.6) reads the wiki page in full.
  2. Reads the relevant source-code areas hinted in /tmp/wiki-audit-pages.json (every hint points at the canonical class / file / dictionary that is source-of-truth for that page's claims).
  3. Compares each documented claim to current code reality (e.g. for env vars: the literal string inside ConfigFileProvider.cs GetValueX("Key", ...) calls; for naming tokens: the keys in FileNameBuilder.cs tokenHandlers[...] dictionary; for health checks: the classes in src/NzbDrone.Core/HealthCheck/Checks/).
  4. Identifies discrepancies: added rows for code-present-but-undocumented options, removed rows for documented-but-removed options, renamed rows where code names changed, default-value corrections.
  5. Edits the wiki page in place, preserving WikiJS frontmatter exactly (no stripping of title/description/published/date/tags/editor/dateCreated).

Schema-validated structured findings returned per subagent. Per-page subagent summaries available in /tmp/claude-1000/-opt-servarr-wiki-public/2c1686c6-ba1c-4577-a436-046e87f343d5/tasks/w22hcifr7.output.

Hint design (lesson from a prior failed run)

The original audit workflow (wq7qdys5f, killed mid-run) had hint lines like "Add Qui per PR Servarr#445" and "verify download rank per PR Servarr#437" baked into subagent context. Subagents lacking knowledge of those PR scopes hallucinated about referenced tools (e.g. invented "Qui as an Italian indexer"). The hint file was rewritten with zero PR-number references — every hint is now a pure code-area pointer ("verify against ConfigFileProvider.cs GetValueX("Key", ...) calls"). PR triage is now an explicit separate manual step, not workflow-subagent input.

What this PR does NOT do

Known caveat

This is a high-volume mechanical audit. Even with code-area-only hints, individual subagents may have made mistakes. The fork-PR-for-private-review workflow is intentional: you review the per-page diff in the fork's PR UI before deciding what (if anything) gets sent upstream as the Wiki Revamp PR.

Plan reference

/opt/infra-docs/docs/plans/2026-06-07-servarr-wiki-revamp.md

🤖 Generated with Claude Code

@bakerboy448 bakerboy448 force-pushed the audit/2026-06-wiki-revamp branch 2 times, most recently from 011178b to 9203f46 Compare June 9, 2026 22:15
bakerboy448 and others added 8 commits June 14, 2026 11:12
Cross-referenced every documented option, setting, env var, integration,
and health check against the current Sonarr v4 main-branch source. Edits
made to 15 pages.

Key categories of change:
- environment-variables.md: corrected config-key names to match the
  literal strings inside ConfigFileProvider.cs GetValueX() calls; added
  new options present in code (e.g. TrustCgnatIpAddresses).
- system.md: removed 6 obsolete health checks (.NET Framework / Mono /
  SQLite version / Mono Legacy TLS) no longer present in v4; added the
  health checks newly present in code (ApiKeyValidationCheck,
  IndexerDownloadClientCheck, NotificationStatusCheck, RecyclingBinCheck,
  MetadataCheck deprecation, etc.); added missing anchor IDs matching
  HealthCheck.WikiUrlFragment.
- custom-scripts.md: cross-referenced per-event Sonarr_* env vars
  against CustomScript.cs override methods.
- supported.md: cross-referenced indexer / download client /
  notification / import list / metadata class names against current
  source tree.

WikiJS frontmatter preserved on every page. date field updated to
2026-06-07T00:00:00.000Z.
Cross-referenced every documented option, setting, env var, integration,
and health check against the current Radarr develop-branch source code.
Edits made to 14 pages.

Key categories of change:
- environment-variables.md: corrected config-key names to match the
  literal strings inside ConfigFileProvider.cs GetValueX() calls; added
  / removed rows to match current option classes.
- system.md: aligned health-check entries with the current
  src/NzbDrone.Core/HealthCheck/Checks/ classes (anchor IDs match
  WikiUrlFragment values in code).
- custom-scripts.md: cross-referenced per-event Radarr_* env vars
  against CustomScript.cs override methods.
- supported.md: cross-referenced indexer / download client /
  notification / import list / metadata class names against current
  source tree.
- settings.md: verified naming tokens against FileNameBuilder.cs
  tokenHandlers[] entries (source-of-truth for valid tokens).

WikiJS frontmatter preserved on every page. date field updated to
2026-06-07T00:00:00.000Z.
Cross-referenced every documented option, setting, env var, integration,
naming token, and health check against the current Lidarr develop-branch
source code. Edits made to 22 pages.

Key categories of change:
- environment-variables.md: corrected config-key names to match the
  literal strings inside ConfigFileProvider.cs GetValueX() calls.
- system.md: aligned health-check entries with current
  src/NzbDrone.Core/HealthCheck/Checks/ classes.
- custom-scripts.md: cross-referenced per-event Lidarr_* env vars
  against CustomScript.cs override methods.
- supported.md: cross-referenced indexer / download client /
  notification / import list / metadata class names. Lidarr-specific
  ImportLists (Spotify, LastFm, MusicBrainz, etc.) verified.
- plugins.md: aligned plugin install/load mechanism documentation with
  src/NzbDrone.Common/Composition/Plugin*.cs and
  src/Lidarr.Api.V1/System/Plugins/. Page maintains the develop-only
  nature of the plugin system (master / stable releases do NOT ship
  with plugins).
- naming-guide.md: verified every documented naming token against
  FileNameBuilder.cs tokenHandlers[] entries.
- faq.md: verified download decision priority order (Quality / Custom
  Format Score / Protocol / Indexer Priority / Seeds / Age) against
  src/NzbDrone.Core/DecisionEngine/DownloadDecisionComparer.cs.
- installation/linux.md: required runtime apt dependencies (mediainfo,
  libchromaprint-tools) preserved alongside curl, sqlite3, and wget.

WikiJS frontmatter preserved on every page. date field updated to
2026-06-07T00:00:00.000Z.
Cross-referenced every documented option, setting, env var, integration,
Cardigann YAML field, and health check against the current Prowlarr
develop-branch source code. Edits made to 13 pages.

Key categories of change:
- environment-variables.md: corrected config-key names to match the
  literal strings inside ConfigFileProvider.cs GetValueX() calls.
- system.md: aligned health-check entries with current
  src/NzbDrone.Core/HealthCheck/Checks/ classes.
- custom-scripts.md: cross-referenced per-event Prowlarr_* env vars
  against CustomScript.cs override methods (limited set:
  OnHealthIssue / OnHealthRestored / OnApplicationUpdate / OnGrab).
- supported.md: cross-referenced built-in Application sync targets
  against src/NzbDrone.Core/Applications/ (LazyLibrarian, Lidarr,
  Mylar, Radarr, Readarr, Sonarr, Whisparr). External tools that
  implement the protocols on their side were preserved.
- cardigann-yml-definition.md: aligned YAML schema documentation
  with src/NzbDrone.Core/Indexers/Definitions/Cardigann/
  Cardigann*.cs definitions.
- postgres-setup.md: cosmetic markdown list-continuation
  indentation fixes.
- installation/reverse-proxy.md: added per-indexer Newznab/Torznab
  Apache exclusion path /prowlarr/[0-9]+/api (matches the
  {id:int}/api route at NewznabController.cs:58).

NOT touched: supported-indexers.md (auto-generated by
.github/workflows/prowlarr-ci.yml — wiki is regenerated from build).

WikiJS frontmatter preserved on every page. date field updated to
2026-06-07T00:00:00.000Z.
…pace)

- Add `text` language to filesystem-tree fenced code blocks in
  lidarr/tips-and-tricks.md and lidarr/importing-existing-library.md
  (4 MD040 violations resolved).
- Pre-commit autofix swept trailing whitespace + missing EOF newlines
  across 10 lidarr files touched by the audit.
- docker-guide.md: seperated → separated.
- lidarr/importing-existing-library.md: complete truncated word "thi" → "this page" on the See-also bullet; "mis-linked" → "mismatched" (typos.toml does not allowlist the "mis" prefix).
- lidarr/import-troubleshooting.md: complete truncated word "succes" → "success rate" on the Picard tools entry.

Both truncations originated in audit-subagent-edited content. The
typos flagged on lidarr files are AI-introduced; the docker-guide.md
typo predates this PR but was not previously caught.
@bakerboy448 bakerboy448 force-pushed the audit/2026-06-wiki-revamp branch from 9203f46 to 129ea78 Compare June 14, 2026 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant