This saved workbench computes a ratio from manually assigned claim statuses. There are three representative claims and one is initially labeled verified. The actual bootstrap updates the static fifty percent HTML placeholder to one divided by three, or thirty three point three percent. Clicking V on the second claim increases the count to two divided by three, sixty six point seven percent. Our bars use six pixels per percentage point, so the first is about two hundred pixels and the second four hundred. The code calls the latter Low Risk, but pressing a status button does not verify a document, authenticate a named person or prove an allegation. This video teaches local bookkeeping only and makes no claims about the people or incidents in the fixture. Adding a nonempty custom claim creates a fourth claim and starts it as unverified. If two were verified before, the ratio decreases from two out of three to two out of four, fifty percent. At six pixels per percentage point the bar shrinks from four hundred to three hundred. The denominator changed even though the verified count did not. The source also inserts the visitor claim text into its local primary source list; that is a saved copy of the same input, not independent corroboration. Empty input adds nothing, and reset restores the three representative claims. Actual JSON exports the current claims, sources, signatory associations and ratio for inspection. The displayed category uses two thresholds: sixty six percent for Low Risk, thirty three for Moderate, and below thirty three for High Risk. With four claims, one verified gives twenty five percent, two gives fifty, and three gives seventy five. Our bars share six pixels per percentage point: one hundred fifty, three hundred and four hundred fifty. These categories are a branch rule, not a validated risk assessment. Offline, the required D three and Fuse libraries are unavailable. Numeric status changes and JSON export still run, but the graph has no drawn nodes and nonempty fuzzy search fails. Empty search can display the stored texts. The local preview preserves those exact limitations without fetching assets or altering the source.
How does this workbench calculate evidence grounding and connect signatories to claims?
This client-side workbench models citation relationships as a bipartite network linking signatories to factual statements, while evaluating an evidence grounding index from user-assigned claim statuses. It combines in-browser text search across excerpts with dynamic graph positioning, but its risk levels and grounding ratios represent illustrative heuristic rules rather than formal legal or disciplinary findings.
The Grounding Index is a simple arithmetic ratio of verified claims to total claims (verified / total * 100) using arbitrary cutoffs (>=66% Low Risk, >=33% Moderate, <33% High Risk). It does not weight claim severity, assess legal validity, or evaluate citation authenticity beyond the fixture text provided.
At initialization, Claim 1 is verified while Claim 2 is unverified and Claim 3 is disputed, producing 1 / 3 verified claims and a Grounding Index of 33.3% (Moderate risk). Clicking the 'V' button on Claim 2 updates its status to verified; the Grounding Index immediately recalculates to 66.7% (2 / 3 verified claims) and promotes the signatory risk badge to Low Risk.
The verification network renders signatories (circular nodes) and claims (rectangular nodes) using D3's force-directed simulation engine. The simulation initializes with link, many-body charge repulsion, centering, and collision forces that iteratively calculate node coordinates. Force simulations | D3 by Observable
When users drag nodes or add new claims, the simulation reheats its internal alpha parameter to animate nodes toward an equilibrium layout, reflecting links between specific signatories and their grounded statements. Force simulations | D3 by Observable
The comparative text inspector queries loaded primary source excerpts using Fuse.js, a lightweight client-side search library that matches query strings against source documents. Fuse.js — Lightweight Fuzzy-Search Library
The implementation sets a fuzzy threshold of 0.4 over source content and citation references, highlighting matched tokens in the alignment pane to help users inspect text overlap directly in the browser. Fuse.js — Lightweight Fuzzy-Search Library
Explains how d3.forceSimulation computes velocity Verlet numerical integration, link distances, and many-body forces for the citation network graph.
Documents the client-side fuzzy search and approximate string matching mechanism used by the comparative text overlap inspector.