# ✂ docujoint template — adapt this to your system; delete this line when it is yours.
# Your dashboard — evaluated by `dj report --dashboard` and rendered by
# `dj dashboard`. Every number is a query over the parsed vault; every
# visual encoding must carry its meaning (legends, captions) or the page shows
# a visible ⚠ marker instead of a naked encoding.

dashboard:
  title: Documentation dashboard
  subtitle: What this vault covers, what is done, and what stands in the way.

indicators:
  - id: concepts
    label: Concepts
    select: concepts
    metric: count
    caption: every markdown concept in the vault

navigation:
  - group: Overview
    items:
      - { label: Overview, view: overview }

  - group: Library
    items:
      - { label: Guides, select: concepts, where: "type == guide" }
      - { label: Concepts, select: concepts, where: "type == concept" }

  - group: Reference
    items:
      - { label: All concepts, select: concepts }
      - { label: Mappings, view: ref-map }


views:
  # The home view. Composed from widgets rather than the retired `pack:`
  # shorthand: a preset carries the same bind and produces the same tiles,
  # but lives in the one composition path everything else uses.
  - id: overview
    label: Overview
    widgets:
      - { widget: note, text: "What is done, what is blocked, and what the evidence says — every number a query over the parsed vault." }
      - widget: stat-row
        preset: traceability
        bind:
          rows: tasks
          label: Tasks
          complete: "state == done"
          complete_label: done
          open: "state in [blocked, stalled]"
          open_label: Blocked
          open_caption: waiting on something recorded in the Blocked column

      - widget: coverage
        bind:
          # what THIS format calls the two counts — the engine has no word of
          # its own, and shows a meaning-missing marker if you leave them out
          built_label: done
          tested_label: proven
          rows: tasks
          types: [guide]
          built: "state == done"
          tested: "cites_test"       # the second count is a QUERY, like built
          legend:
            done: done — evidence recorded, nothing blocking
            stalled: stalled — has evidence but something blocks it
            blocked: blocked — nothing done yet and something stands in the way
            todo: todo — not started

      # With an artifact inventory (docujoint … --inventory artifacts.json) you can
      # also surface the reverse gap — built things no document references:
      # - { widget: reverse-gap, bind: { group_by: kind } }
