L4 consensus · L5 citations

Maps, not averages. Every clause cited, every citation checked.

This is the layer that turns responses and votes into two artefacts: an opinion map that states where a population agrees and where it splits, and a brief in which every factual clause is tied to evidence and machine-checked before publication.

Everything numeric on this page was computed by the reference implementation of the JanPulse Consensus and Citation Layer Specification (Draft v0.1), running on a real Pol.is conversation released under CC BY 4.0. Nothing here is typed by hand.

The specification, requirement by requirement

Ten requirements, and what this build actually does

Status is stated against this page's implementation, not against the roadmap

#RequirementStatusNote
Step 01 · The map

Opinion groups, and the stability test that decides whether to publish them

Clustering is cheap; a stable clustering is not. The layer bootstraps respondents, reclusters with the same parameters and measures agreement with the full run. Below the threshold the honest output is “no stable group structure”, which is itself a finding.

On this conversation our own clustering does not clear that gate, and the page says so rather than showing a pretty map that would not survive a re-run. The statement lists are therefore computed on the grouping released with the export, with the disagreement between the two reported alongside.

Statements that bridge every group

Statements that divide the groups

Step 02 · Group-defining statements

What makes each group distinct

Fisher's exact test inside versus outside the group, false discovery rate controlled at 0.05

Groups are labelled A and B, never named by demographics. Demographic overlays are description, not explanation, and individual traits are never inferred from group membership.

Step 03 · The citation layer

Five clauses, eight checks, three deliberate defects

The brief below is a demonstration written to the constrained format, including flaws on purpose

Each factual clause carries one to five evidence units. Checks run in order and fail closed: structure, origin and consent, validity, numbers, support, quantifiers, causal language, group claims, coverage. The clause that fails is the clause that does not ship.

Step 04 · Publication metrics

The numbers that would go on the evidence page

Measured ones are marked; the rest are honestly pending

MetricTargetThis runStatus
Status

What is built, what is specified, what needs people

Built and running here

  • Smoothed agree rate with a Beta credible interval, bridging and strong bridging on the lowest group bound.
  • Divisive and broad-disagreement tests, with interval separation rather than a point-estimate gap.
  • Group-defining statements (Fisher exact, Benjamini–Hochberg).
  • Bootstrap stability with the adjusted Rand index, and a hard publish gate.
  • Clause segmentation, claim typing, and checks C0–C3, C5–C7 against a hashed evidence pack.
  • Deterministic number recomputation: the brief copies numbers, the code recalculates them.

Not run, and said so

  • C4, the independent verifier. It needs a pinned second model family, a locked human-labelled set and negative controls. This page has none of those, so the check is reported as not run rather than quietly passed.
  • The human audit. Citation precision is therefore blank, not estimated.
  • Weighted agreement, anchor statements across waves, Hungarian group matching. Specified, waiting on a real panel.
  • Respondent consent at source. The open data is already consented for public release; a live deployment gates each quote on its recorded scope.

Thresholds on this page are the specification’s proposed values, marked for statistical review in the source document. Participation is self-selected: this conversation was open to residents of Bowling Green and Warren County, and no sampling frame or weighting was applied. That limit is stated on every report rather than buried in a footnote.