meta_meta last reviewed โ€”

Dashboard

Opens here each time Obsidian launches (Settings โ†’ About โ†’ Startup โ†’ Default note = _meta/dashboard).

Queries below require the Dataview Obsidian community plugin.

๐Ÿ”ด Lint errors (actionable)

TABLE WITHOUT ID
  file.link AS "Page",
  namespace AS "Namespace",
  "โš ๏ธ " + string(default(issue, "โ€”")) AS "Issue"
FROM ""
WHERE contains(tags, "lint-error") OR status = "reject"
SORT file.mtime DESC
LIMIT 20

๐Ÿค– Agent writes โ€” last 24 hours

TABLE WITHOUT ID
  file.link AS "Page",
  namespace AS "Namespace",
  type AS "Type",
  authors AS "Agents"
FROM ""
WHERE any(authors, (a) => startswith(a, "agent-"))
  AND file.mtime >= date(today) - dur(1 day)
SORT file.mtime DESC
LIMIT 15

๐Ÿ•ฐ๏ธ Stale pages (active, not reviewed in 180+ days)

TABLE WITHOUT ID
  file.link AS "Page",
  namespace AS "Namespace",
  date(last_reviewed) AS "Last reviewed",
  review_owner AS "Owner"
FROM ""
WHERE status = "active"
  AND last_reviewed != null
  AND date(last_reviewed) < date(today) - dur(180 days)
SORT last_reviewed ASC
LIMIT 20

๐Ÿ“ฅ _inbox โ€” awaiting human promotion

TABLE WITHOUT ID
  file.link AS "Page",
  type AS "Type",
  date(created) AS "Created",
  default(confidence, "โ€”") AS "OCR conf"
FROM "_inbox"
WHERE file.name != "_index"
SORT created ASC
LIMIT 30

๐Ÿ”ฅ Recently modified (any author, last 7 days)

TABLE WITHOUT ID
  file.link AS "Page",
  namespace AS "Namespace",
  type AS "Type",
  authors AS "Authors",
  dateformat(file.mtime, "yyyy-MM-dd HH:mm") AS "Modified"
FROM ""
WHERE file.mtime >= date(today) - dur(7 days)
  AND file.name != "_index"
  AND namespace != null
SORT file.mtime DESC
LIMIT 25

๐Ÿ“Š Pages by type (across whole vault)

TABLE WITHOUT ID
  type AS "Type",
  length(rows) AS "Count",
  length(filter(rows, (r) => r.status = "active")) AS "Active",
  length(filter(rows, (r) => r.status = "draft")) AS "Draft"
FROM ""
WHERE type != null AND file.name != "_index"
GROUP BY type
SORT length(rows) DESC

๐Ÿงฎ Pages per namespace

TABLE WITHOUT ID
  namespace AS "Namespace",
  length(rows) AS "Total pages",
  length(filter(rows, (r) => r.status = "active")) AS "Active",
  length(filter(rows, (r) => r.status = "draft")) AS "Draft",
  length(filter(rows, (r) => r.status = "archived")) AS "Archived"
FROM ""
WHERE namespace != null AND file.name != "_index"
GROUP BY namespace
SORT namespace ASC

Vault navigation

๐Ÿ”— Relationships

graph LR dashboard["dashboard"]:::self dashboard --> style_guide["style-guide"] dashboard --> lint_report["lint-report"] dashboard --> ingest_log["ingest-log"] classDef self fill:#715EE3,color:#fff,stroke:#291F50;