{% extends "base.html" %} {% block title %}Quorum Config — psyc admin{% endblock %} {% block content %}

Quorum Configuration

trust={{ cfg.trust_min_vouchers }} k={{ cfg.signal_quorum_k }}

trust_min_vouchers — distinct trusted vouchers required to make a new peer listening-eligible. signal_quorum_k — distinct listening-eligible peers required to consider a signal_hash quorum-met. Both gates live in pulse_settings; raising them tightens trust, lowering them relaxes it.

← back to federation  ·  vouches  ·  transparency log

Per-Peer Listening Eligibility

{{ peer_rows|length }}

A peer's feed gets ingested only when its fingerprint is eligible (directly trusted or vouched into trust).

{% if peer_rows %} {% for row in peer_rows %} {% endfor %}
DomainFingerprintStatusVouchedEligible
{{ row.peer.domain }} {{ row.peer.fingerprint[:8] }}…{{ row.peer.fingerprint[-8:] }} {% if row.peer.status == 'trusted' %} trusted {% elif row.peer.status == 'blocked' %} blocked {% else %} {{ row.peer.status }} {% endif %} {% if row.vouched %}yes{% else %}no{% endif %} {% if row.eligible %}listening{% else %}muted{% endif %}
{% else %}

(no peers registered yet)

{% endif %}

Signal Hashes in Buffer

{{ hash_summary|length }} hashes

Distinct eligible-peer counts per signal hash. Quorum is met when count ≥ {{ cfg.signal_quorum_k }}.

{% if hash_summary %} {% for r in hash_summary %} {% endfor %}
LatestTypeSignal idHashDistinct peersEligibleQuorum
{{ (r.latest or '')[:19] | replace('T', ' ') }} {{ r.signal_type }} {{ r.signal_id[:48] }} {{ r.signal_hash[:16] }}… {{ r.distinct_peers }} {{ r.distinct_eligible }} {% if r.quorum_met %} met {% else %} below {% endif %}
{% else %}

(no signals in buffer yet)

{% endif %}
{% endblock %}