KB-OS Audit — 2026-08-15
Section titled “KB-OS Audit — 2026-08-15”Prior report: kb-os-audit-2026-07-27.md.
| Check | Verdict | Worst finding | Since last audit |
|---|---|---|---|
| Routing integrity | 🟢 GREEN | — | unchanged |
| Wikilinks | 🟡 YELLOW | ~15 new/real broken links found this run (date-prefix mismatches, cross-domain memory refs); ~15 historical dangling links unchanged | new findings added |
| Ambiguous filenames | 🟡 YELLOW | 42 basenames in 2+ locations (was 34) | worse (net +8, mostly expected per-dept index files) |
| Root/subfolder collisions | 🟢 GREEN | none | unchanged (check ran clean) |
| Tasks/Logs hygiene | 🟢 GREEN | 0 orphaned status: complete tasks (was 1) | fixed |
| Folder notes | 🟢 GREEN | none | unchanged |
| Root hygiene | 🟢 GREEN | HST-Process.md moved to Core/Accounting/archive/ | fixed |
.obsidian config | 🔴 RED | stale duplicate MBR/.obsidian/ config folder found (not at vault root) | new — last audit only checked root, missed this |
| Derived artifacts | 🟢 GREEN | graphify-out/GRAPH_REPORT.md is 32 days old (within <60-day GREEN band) | new check (Step 8b added since last run) |
| Plugin freshness | 🟢 GREEN | all 5 enabled plugins current (caveman bumped earlier today) | new check (Step 8c added today) |
Also found outside the checklist, in current git status (uncommitted): duplicate Glossary content in three places — flagged below as an SSOT collision, distinct from Step 4’s folder-vs-file check (Step 4 itself ran clean).
Findings by check
Section titled “Findings by check”Wikilinks — 🟡 YELLOW
Section titled “Wikilinks — 🟡 YELLOW”Real, new broken links (target exists under a different name — fix the link, not the file):
| Link | Referenced in | Actual file |
|---|---|---|
Mission-SSOT | Core/Processes/Projects/KB-OS/KB-OS-Usage.md:140 | Core/Processes/Projects/Focus/logs/2026-07-30_Mission-SSOT-Embed.md |
my_backup-more-critical-issues | Core/IT/Logs/2026-08-03_my_backup-reliability-standards-full.md | Core/IT/Logs/2026-08-03_my_backup-more-critical-issues.md |
my_backup-reliability-standards-full | Core/IT/Logs/2026-08-03_my_backup-more-critical-issues.md | Core/IT/Logs/2026-08-03_my_backup-reliability-standards-full.md |
my_backup-verification-alert | Core/IT/Projects/System-Maintenance/Tasks/disk-space-monitoring.md, Core/IT/Tasks/my_backup-silent-failure-gaps.md | Core/IT/Logs/2026-08-05_my_backup-verification-alert-and-disk-emergency.md |
Herdr-setup | Core/AI/Logs/2026-08-04_KB-SSOT-Sweep.md | Core/AI/Logs/2026-08-04_Herdr-Setup.md |
KB-OS-Projects-Cleanup | Core/_WorkingOn/Tasks/Tasks.md:50 | not found anywhere — likely from the legacy Tasks.md index, same pattern as last audit’s ~15 dead links there |
All five date-prefix mismatches share one cause: the link was written as the bare topic name, but the file itself carries a YYYY-MM-DD_ prefix (SMTM log convention). Bare topic links to dated files will keep breaking unless the log/task convention is to always link with the date prefix, or these links are intentionally written to match the eventual archived name pattern used elsewhere — worth a convention decision, not a one-by-one fix.
Cross-domain refs (link target is a Claude memory file, not vault content — will never resolve in Obsidian by design):
| Link | Referenced in |
|---|---|
talbotstevens-host-is-iis | MBR/Strategy/Tasks/mBR-Business-Review-Revisions.md:34 |
feedback-utility-script-placement | Core/IT/Logs/2026-07-21_C-Drive-Purge-Plan.md:46 |
Not a vault bug — but wikilink syntax for a non-vault target reads as broken in Obsidian and to this check. Recommend a non-wikilink convention for memory-file cross-refs (e.g. plain backtick filename) to stop these tripping the scan every run.
Historical dangling links (unchanged from last audit, still informational — closed work, source is Core/_WorkingOn/Tasks/Tasks.md or historical logs): ai-config-rules-upgrade, graphify-fullvault-rerun, idea-capture-workflow, Maximizer-Twenty-CRM-Migration, my_backup-kopia-cache-relocation, SMTM-v5.2-Ongoing-Projects, KB-OS-resume-rate-limit, KB-OS-Architecture, Business-OS-Architecture* (4 variants), monorepo-review, monorepo-project-mess, Tasks-Template, Template-changes, Focus-BrandText, Focus-Tooltip. All still trace back to the same legacy Tasks.md index flagged last run — its fate (archive vs. keep) is still undecided (see Fix list, carried over).
Noise, not findings (name-collision with the scan, not broken links): ~60 short generic words (Name, Page, Path, Note, Link, embed, clip, TLA, PhD, wikilink, wikilinks, …) are Obsidian-syntax examples inside documentation (Focus/STATUS.md, Focus/LESSONS.md, glossary/acronym files) that happen to use ... literally as illustration — not real links. ~35 more are article-title/byline links inside Core/Misc/Clippings/ (person names, article titles) — expected, clippings reference authors/sources that don’t have vault pages. Recommend the scan exclude Clippings/ the same way it already excludes Templates/ (carried into Fix list).
Ambiguous filenames — 🟡 YELLOW
Section titled “Ambiguous filenames — 🟡 YELLOW”42 basenames now exist in 2+ locations (was 34). Net new duplication is mostly the same systemic pattern as last audit (per-dept STATUS.md/ROADMAP.md/etc.) plus expected new per-dept index files from department growth (Glossary.md, Utilities.md, Template.md/Templates.md, SDC’s new Strategy/Identity/ set). No new bare-link collisions confirmed beyond what’s already flagged above. Same recommendation as last audit stands: batch path-prefix pass, not fixed individually this run.
Root/subfolder collisions — 🟢 GREEN
Section titled “Root/subfolder collisions — 🟢 GREEN”Clean this run — no <Name>.md alongside a sibling <Name>/ folder found under Core, MBR, SDC, FSS.
Tasks/Logs hygiene — 🟢 GREEN (fixed)
Section titled “Tasks/Logs hygiene — 🟢 GREEN (fixed)”2026-05-14_Monorepo-Review-Report.md (last audit’s finding) is no longer flagged — resolved since 2026-07-27. Remaining grep hits (DASHBOARD.md ×2, Tasks.md, _active.md, MBR/_WorkingOn/Tasks/DASHBOARD.md) are confirmed false positives (index/tracker files), same as last run.
Root hygiene — 🟢 GREEN (fixed)
Section titled “Root hygiene — 🟢 GREEN (fixed)”HST-Process.md — last audit’s loose root file — has been moved to Core/Accounting/archive/HST-Process.md. No stray files at vault root or Core/ shallow levels this run.
.obsidian config — 🔴 RED (new finding, prior check incomplete)
Section titled “.obsidian config — 🔴 RED (new finding, prior check incomplete)”MBR/.obsidian/ exists (app.json, appearance.json, workspace.json — last modified Jun 10 – Jul 15, i.e. predates the “fixed 2026-07-22” note in this skill’s own Step 8 language). Last audit’s GREEN verdict only checked the vault root; it never scanned business-level folders for a second config. Two live Obsidian configs (/.obsidian and MBR/.obsidian) risk divergent plugin/appearance settings depending on which folder Obsidian is opened from. Recommend deleting MBR/.obsidian/ (Talbot to confirm — not touched this run) and tightening this skill’s Step 8 to find /mnt/d/FSS/KB -iname ".obsidian" vault-wide instead of a root-only check (carried into Fix list).
Derived-artifact staleness — 🟢 GREEN
Section titled “Derived-artifact staleness — 🟢 GREEN”graphify-out/GRAPH_REPORT.md last built 2026-07-13, 32 days old — within the <60-day GREEN band. No rebuild needed; no pending relationship/traversal question this run.
Plugin freshness — 🟢 GREEN
Section titled “Plugin freshness — 🟢 GREEN”| Plugin | Status |
|---|---|
| caveman@caveman | current (12aa8cc0e980) — updated earlier today from 63a91ecadbf4 |
| frontend-design@claude-plugins-official | refreshed, current |
| playwright@claude-plugins-official | refreshed, current |
| skill-creator@claude-plugins-official | refreshed, current |
| superpowers@claude-plugins-official | current (6.3.0) |
user-global@local skipped (disabled, local scope, no marketplace to check). Restart Claude Code to apply the plugins that refreshed today.
Outside the checklist — Glossary SSOT collision (🔴, uncommitted)
Section titled “Outside the checklist — Glossary SSOT collision (🔴, uncommitted)”git status shows two untracked new folders alongside an existing file, all describing the same content:
Glossary/(vault root) — containsF.A.S.T..mdCore/Glossary/— containsF.A.S.T..md, byte-identical to the root copyCore/Misc/Glossary.md(existing, tracked, 32 lines) — a third, pre-existing home for glossary content
This looks like in-progress work from the same session that produced commit 3e9303e (F.A.S.T. drift fix + acronym glossaries) — never committed, and now three candidate SSOT homes for the same concept. Per AGENTS.md SSOT rule (“ONE HOME, ZERO DUPLICATES”), this needs a decision: pick one home (Core/Misc/Glossary.md, or promote one of the two new folders), migrate content in, then delete the other two. Not fixed this run — flagging for Talbot’s call on which is canonical.
Recommend /skill-creator on
Section titled “Recommend /skill-creator on”None this run — no skill files touched.
Fix list (batched, await approval)
Section titled “Fix list (batched, await approval)”- Batch A (links): Fix the 5 real date-prefix-mismatch wikilinks (Mission-SSOT, my_backup-more-critical-issues, my_backup-reliability-standards-full, my_backup-verification-alert, Herdr-setup) — point each at its actual filename.
- Batch B (SSOT): Decide canonical home for Glossary content (
Core/Misc/Glossary.mdvs.Core/Glossary/vs.Glossary/) and delete the losers; commit the result. - Batch C (config): Delete stale
MBR/.obsidian/duplicate config folder (confirm no divergent settings worth preserving first). - Batch D (still open from last audit): Decide fate of legacy
Core/_WorkingOn/Tasks/Tasks.md(source of most historical dangling links, including newKB-OS-Projects-Cleanup). - Batch E (durability, this skill):
- Exclude
Core/Misc/Clippings/from the wikilink scan (same treatment asTemplates/) — cuts ~35 false positives (article/byline links). - Exclude common short example-words used as Obsidian-syntax illustrations in docs (or exclude by source file:
Focus/STATUS.md,Focus/LESSONS.mdare the main offenders) — cuts another ~25 false positives. - Step 8 (
.obsidianconfig check) should scan vault-wide (find /mnt/d/FSS/KB -iname ".obsidian"), not just the root — it missedMBR/.obsidian/for at least one prior run.
- Exclude