Hermes Wiki
Dashboard

Vault Dashboard

[!note] Requires the Dataview plugin Settings → Community plugins → turn off Restricted Mode → Browse → search "Dataview" → Install → Enable. Once enabled, every section below is live and re-renders each time you open this note.

Overview

const pages = dv.pages('-"Logs"');
dv.paragraph(`**${pages.length}** notes across the vault`);

const byFolder = {};
for (const p of pages) {
  const folder = p.file.folder.split("/")[0] || "(root)";
  byFolder[folder] = (byFolder[folder] || 0) + 1;
}
const rows = Object.entries(byFolder).sort((a, b) => b[1] - a[1]);
dv.table(["Folder", "Notes"], rows);

Latest Hermes Lint Findings

const log = dv.page("Logs/2026");
if (log) {
  const lintItems = log.file.lists.filter(i => i.text.startsWith("[LINT]"));
  const counts = {};
  for (const item of lintItems) {
    const match = item.text.match(/^\[LINT\]\s+([\w-]+):/);
    if (match) counts[match[1]] = (counts[match[1]] || 0) + 1;
  }
  if (Object.keys(counts).length) {
    dv.table(["Category", "Count"], Object.entries(counts));
  } else {
    dv.paragraph("No issues in the latest run.");
  }
  dv.paragraph("Full log: [[Logs/2026]]");
} else {
  dv.paragraph("No Hermes log found yet.");
}

Scheduler Activity

const log = dv.page("Logs/2026");
if (log) {
  const schedulerTags = ["VOCAB", "AIDIGEST"];
  const counts = {};
  for (const tag of schedulerTags) counts[tag] = 0;
  for (const item of log.file.lists) {
    const match = item.text.match(/^\[(\w+)\]/);
    if (match && schedulerTags.includes(match[1])) counts[match[1]]++;
  }
  dv.table(["Scheduler", "Log entries"], Object.entries(counts));
  dv.paragraph("Full log: [[Logs/2026]] — each cloud routine run appends one entry, tagged `[VOCAB]` (Weekend Vocab Scraper) or `[AIDIGEST]` (AI Digest Scraper), including quiet runs with nothing new.");
} else {
  dv.paragraph("No log found yet.");
}

Orphaned Notes

Notes with no incoming or outgoing wikilinks — candidates for connecting into the graph.

TABLE file.folder AS "Folder"
FROM -"Logs"
WHERE length(file.inlinks) = 0 AND length(file.outlinks) = 0
SORT file.folder ASC

Recently Modified

TABLE file.mtime AS "Modified"
FROM -"Logs"
SORT file.mtime DESC
LIMIT 10

Project Manifests

TABLE file.mtime AS "Last updated"
FROM "Projects"
SORT file.mtime DESC
Hermes Wiki