blumeops/docs/how-to/knowledgebase/review-documentation.md
Erich Blume e41c28ed90 Replace indri-runner-logs with general-purpose runner-logs Typer CLI (#244)
## Summary
- Replace bash `indri-runner-logs` with a Python Typer CLI `runner-logs` that supports filtering by runner host (`indri`, `ringtail`, or `all`) with rich table output
- Add missing `#USAGE` declarations to `docs-review`, `docs-review-stale`, and `service-review` so flags work without the `--` separator
- Update docs references in `review-documentation.md` and `review-services.md` to use the new flag syntax

## Test plan
- [x] `mise run runner-logs all` lists runs from both runners
- [x] `mise run runner-logs ringtail` filters to ringtail-only runs
- [x] `mise run docs-review-stale --threshold 90` works without `--`
- [x] `mise run docs-review --limit 5` works without `--`
- [x] `mise run service-review --limit 3` works without `--`
- [x] Pre-commit hooks pass

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/244
2026-02-22 10:20:11 -08:00

2.5 KiB

title modified tags
Review Documentation 2026-02-09
how-to
documentation
maintenance

Review Documentation

How to periodically review and maintain the BlumeOps knowledge base.

Review by Staleness

Show docs sorted by when they were last reviewed (most stale first):

mise run docs-review

This reads the last-reviewed frontmatter field from each card. Cards without the field are treated as never-reviewed and appear at the top. The script shows a staleness table and then displays the most stale card with a review checklist.

To show more entries in the table:

mise run docs-review --limit 30

Marking a Card as Reviewed

After reviewing a card, add or update the last-reviewed field in its frontmatter:

---
title: Some Card
last-reviewed: 2026-02-09
tags:
  - reference
---

Commit this change alongside any fixes you make during the review.

Review Checklist

When reviewing a documentation card, consider:

Check Description
Accuracy Is the information current and correct?
Links Are wiki-links working? Should more be added?
Scope Is the card appropriately sized (not too large/small)?
Category Is it in the right section (reference/how-to/tutorial/explanation)?
Frontmatter Are title and tags appropriate?
Related Should it link to related cards?

Verify Deployed State

For service reference cards, verify the documentation matches reality:

ArgoCD Apps (Kubernetes services)

Check if the app is synced and healthy:

argocd app get <app-name>
argocd app diff <app-name>  # Show pending changes

If out of sync, either the docs are stale or a deployment is pending.

Ansible Roles (indri services)

Check if the role applies idempotently (no changes needed):

mise run provision-indri -- --tags <role> --check --diff

If changes would be made, either the docs are stale or the host has drifted.

Pulumi (Tailscale ACLs, DNS)

Check for drift:

# Tailscale ACLs
cd pulumi/tailscale && pulumi preview

# DNS (Gandi)
cd pulumi/gandi && pulumi preview

If changes are pending, investigate whether docs or infrastructure is stale.

Making Changes

If a card needs updates:

  1. Create a feature branch
  2. Make the edits
  3. Run mise run docs-check-links to verify links
  4. Create a PR for review

See update-documentation for publishing changes.