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

111 lines
2.5 KiB
Markdown

---
title: Review Documentation
modified: 2026-02-09
tags:
- 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):
```bash
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:
```bash
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:
```yaml
---
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:
```bash
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):
```bash
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:
```bash
# 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.
## Related
- [[update-documentation]] - Publishing documentation changes
- [[exploring-the-docs]] - Navigating the documentation