Wiki Lint Daily — Session 2026-06-05
Goal
Full 14-point lint scan of /opt/data/wiki. Identify broken wikilinks, frontmatter issues, tag sprawl, orphans, naming violations, binary artifacts, and duplicate titles. Report findings with recommendations for targeted remediation.
Progress
- 08:15 — Oriented: read SCHEMA.md (702 lines), index.md (72 lines), log.md (191 lines). Domain: pvs’s home lab infrastructure & AI/ML ops. Tag taxonomy extensive with 60+ known tags across multiple sub-sections.
- 08:16 — Wrote Python lint scanner to /tmp/wiki_lint_scan_2026-06-05.py covering all 14 check categories.
- 08:17 — Ran scanner over 2,319 .md files (excl. archive/raw/queue-active/.obsidian). Scan completed in ~10 seconds.
Scan Results
| Check | Count | Notes |
|---|---|---|
| Broken wikilinks | 1,240 | Mostly stale [[archive/...]] refs from previous cleanup passes; SCHEMA template placeholders |
| Missing frontmatter | 49 | No YAML header at all |
| Incomplete frontmatter | 1,067 | Mostly missing updated (1,048) or type (257) |
| Bad/unknown tags | 2,304 | has-instruction(866), has-tool-error(739), source-api_server(134), automated(97) dominate |
| Oversized pages (>200 lines) | 901 | 874 are session files (expected pattern) |
| Orphaned pages | 14 | Down from 1,064 — significant cleanup progress |
| Duplicate titles | 59 | Mostly email inbox dupes (“Re: Hermes Agent”×11, “Daily Agenda…”×7, “Archived”×29) |
| Binary/hidden files | 4 | All in .obsidian/ — _.*.json macOS resource forks |
| Naming violations | 827 | Underscores in filenames (SCHEMA requires hyphens only) |
| Log lines | 191/500 | Healthy, no rotation needed |
Trend vs 2026-06-02 Run
- Broken links: 145 → 1,240 (↑ scanner now checks SCHEMA/CONDUCT/SOUL + template refs; not a regression)
- Orphans: 1,064 → 14 (↓ major improvement)
- Incomplete frontmatter: 1,638 → 1,067 (↓ good progress)
- Bad tags: 2,268 → 2,304 (stable —
has-instruction/has-tool-errorpersist from Mercury queue processing)
Safe Fixes Identified
| Fix | Target | Files affected | Risk |
|---|---|---|---|
| Remove stale archive refs | [[archive/2026/stale-*]] in non-archive pages | ~150-300 | Low — replace with plain text mention |
| Add missing tags to taxonomy | SCHEMA.md Tag Taxonomy section | 1 file | Zero — documentation only |
Delete .obsidian/._* files | macOS resource forks | 4 files | Low — auto-generated, no data loss |
NOT Auto-Fixed This Run
Per the wiki-lint-daily project conventions (2026-05-31 precedent): report findings before fixing at scale. At 6,461 total issues across categories, individual patching would be error-prone. Recommended approach: categorise by type → decide bulk strategy per category → execute in batches.
Recommendations for Next Session
- Add
has-instruction,has-tool-error,source-api_server,automatedto SCHEMA.md tag taxonomy (Section 5, new sub-section “Task Tracking Tags”). These are recurring Mercury queue markers and should be codified. - Batch archive-ref cleanup: Replace stale
[[archive/...]]links in core wiki pages with plain-text mentions or umbrella[[archive]]link. Don’t recreate archived files. - Session file frontmatter batch-fix: For the 874 oversized session files, auto-add missing
type: session+updated: YYYY-MM-DDwhere file mtime matches creation date. - Underscore-to-hyphen rename pass for naming violations in core directories (concepts/, entities/, projects/). Skip raw/ and queue/ which have external naming conventions.
Issues / Questions
- None blocking — all findings are cosmetic or structural, no data loss or security concerns.
Chunk 2026-06-05T13:45:00+09:00 (autopilot tick)
What was done:
- Reviewed SCHEMA.md tag taxonomy status
- Verified all four recommended tags from previous session have been added:
has-instruction,has-tool-error(task quality markers)source-api_server(content source origin)automated(ops automation)
Outputs:
- All recommendations complete — no further action required for tag taxonomy cleanup
Next chunk picks up:
- Batch archive-ref cleanup: Replace stale
[[archive/...]]links in core wiki pages with plain-text mentions or umbrella[[archive]]link