{% extends "dashboard/base.html" %} {% from "partials/_macros.html" import status_pill, relative_time, pill, empty_state, info_toggle %} {% block page %} {% call info_toggle(key='knowledge', title="What is the knowledge ledger?") %}

The knowledge ledger is workspace-aware durable context: blockers, workarounds, resolutions, caveats, and environment notes that should follow future sessions. This page is read-only and uses the same visibility filters as the agent tools.

The signal strip is count-only by design, so cross-workspace hints do not expose names, paths, session ids, or bodies.

{% endcall %}

{{ icon('activity') }} Signals

Advisory counts from visible coordination data.

{% if signals %} {% for signal in signals %} {% endfor %}
TypeScopeWorkspaceCountLast seen
{{ pill(signal['type'], tone='info') }} {{ signal['scope'] }} {% if signal['workspace'] %}{{ signal['workspace'] }}{% else %}{% endif %} {{ signal['count'] }} {{ relative_time(signal['last_at']) }}
{% else %} {{ empty_state( 'No advisory signals right now', body='Signals appear when visible blockers, workarounds, duplicate active work, or handoffs exist.', icon_name='activity' ) }} {% endif %}
{% if entries %} {% for entry in entries %} {% endfor %}
CodeTypeTitleStatusScopeWorkspaceUpdated
{{ entry['code'] }} {{ pill(entry['type'], tone='accent') }} {{ entry['title'] }} {% if entry['tags'] %}
{{ entry['tags'] }}
{% endif %}
{{ status_pill(entry['status']) }} {{ entry['scope'] }} {% if entry['workspace'] %}{{ entry['workspace'] }}{% else %}{% endif %} {{ relative_time(entry['updated_at'] or entry['created_at']) }}
{% else %} {{ empty_state( 'No knowledge entries visible', body='Agents add blockers, workarounds, and resolutions with the knowledge tools.', icon_name='layers' ) }} {% endif %}
{% endblock %}