Weekly health check of /opt/data/wiki — structure, files, content freshness, duplicates, navigation accuracy. Report-only; no auto-fixes.
/opt/data/wiki/produce/hermes/hermes-audit/wiki-YYYY-MM-DD.md
Use today's date in ISO format.
wiki/
├── consume/
│ ├── articles/ comparisons/ concepts/ entities/ highlights/
│ ├── queries/
│ ├── raw/ articles/ assets/ papers/ voice-notes/
│ └── transcripts/
├── produce/
│ ├── blogs/
│ │ ├── ctofieldnotes/ ← Mac-synced, READ ONLY
│ │ └── jjude/ books/{hs,ww} cpn pages posts sermons tech-notes travel ← Mac-synced, READ ONLY
│ └── hermes/ ← Hermes writes here
│ ├── blogs/ctofieldnotes/ drafts/
│ ├── books/
│ ├── commercial/
│ ├── hermes-audit/
│ ├── homeschooling/
│ ├── library/ writing-concepts/ writing-themes/
│ ├── plans/
│ ├── products/
│ ├── self/ archive/ assessments/ bible/ decisions/ frameworks/ goals/ patterns/ retros/
│ └── social/
├── wealth/
│ ├── expense/
│ └── invest/ fd/ mf/ stock/ charts/
├── index.md
├── log.md
├── schema.md
├── readme.md
└── agents.md
Compare actual directories against canonical map above.
find /opt/data/wiki -type d -not -path '/.' | sort
Flag:
find /opt/data/wiki -type d -empty -not -path '/.' | sort
Classify each:
wealth/invest/fd, consume/queries)find /opt/data/wiki/produce/blogs/jjude -type f -mtime -30 2>/dev/null | head -20
find /opt/data/wiki/produce/blogs/ctofieldnotes -type f -mtime -30 2>/dev/null | head -20
Misplaced files:
find /opt/data/wiki -maxdepth 1 -type f | sort
Should only be: index.md, log.md, schema.md, readme.md, agents.md
grep -rl 'sources:' /opt/data/wiki/consume/concepts/ | while read f; do
sources=$(grep 'sources:' "$f" | sed 's/.sources:\s//')
# Check if referenced transcripts exist
done
ls /opt/data/wiki/consume/transcripts/
Stale index/log entries:
grep -oE '\[.*\]\(([^)]+)\)' /opt/data/wiki/index.md | while read -r link; do
path=$(echo "$link" | grep -oE '\(([^)]+)\)' | tr -d '()')
[ ! -f "/opt/data/wiki/$path" ] && echo "MISSING: $path"
done
Old files in active areas:
find /opt/data/wiki/consume/concepts /opt/data/wiki/consume/highlights /opt/data/wiki/consume/transcripts /opt/data/wiki/produce/hermes -type f -mtime +60 | wc -l
ls /opt/data/wiki/consume/concepts/ | sed 's/\.md$//' | sort | awk '{print tolower($0)}' | uniq -d
Duplicate index/log entries:
sort /opt/data/wiki/index.md | uniq -d
sort /opt/data/wiki/log.md | uniq -d
Cross-location duplicates:
find /opt/data/wiki/produce -name ".md" -path "/drafts/" | sed 's/.drafts\///' | sort | uniq -d
wc -l /opt/data/wiki/index.md /opt/data/wiki/log.md /opt/data/wiki/schema.md /opt/data/wiki/readme.md /opt/data/wiki/agents.md
Verify:
consume/log.md consistent with root log.md# Wiki Audit — YYYY-MM-DD
Summary
[X directories, Y files, Z issues found]
1. Structure Conformance
✅ Healthy
⚠️ Drift
2. Empty Directories
Legitimate Placeholders
Possibly Abandoned
Structural Drift
3. File Location Compliance
Issues Found
4. Stale Content
Orphaned Concepts
Stale Index/Log Entries
Old Files (>60 days)
5. Duplicates
Concept Overlaps
Duplicate Entries
Cross-location Duplicates
6. Navigation Accuracy
index.md
log.md
Other nav files
Recommendations
Fix Now
Worth Improving
Optional
produce/blogs/jjude/ or produce/blogs/ctofieldnotes/sources: field format varies; some YAML frontmatter, some inline. Grep broadly.Write report to wiki/produce/hermes/hermes-audit/wiki-YYYY-MM-DD.md. Present summary to Joseph. Do NOT execute fixes without explicit go-ahead.