Instead of citing a whole page that mixes the claim, the evidence, the rhetoric, and a great deal of unstated assumption, you cite a single object that carries what supports it, the sources behind it, the strongest objection on file against it, and whether it has survived challenge. The pieces below are what that object is made of.
Claims
A claim is an addressable object with a stable identifier, version history, and authorship attribution. A claim has a status: proposed, accepted, challenged, defended, retracted, or resolved. Public claims resolve to a permalink at /c/{moid}.
Arguments
An argument binds a set of premises to a single conclusion, where each premise and the conclusion are themselves claims. Premises are typed (ordinary, assumption, exception) and may be flagged implicit or axiomatic; an enthymematic inference carries an explicit warrant. Public arguments resolve to a permalink at /a/{shortCode}, and an immutable, content-hash-pinned form at /a/{shortCode}@{sha256}.
Schemes and critical questions
Each argument is classified by one or more schemes from the Walton taxonomy — Argument from Expert Opinion, Analogy, Sign, Cause to Effect, and others. Classification is many-to-many. A scheme is two things: a defined structure (premises, conclusion, inference rule) and a set of auto-generated critical questions marking where the argument can fail. A scheme’s identity is its critical questions: two schemes are identical when they withstand the same questions. An argument has full standing when it answers every critical question left open against it.
Challenges
An answered critical question is not closed for good. Any participant — or a Model Context Protocol agent — can challenge a satisfied critical question, naming the objection type explicitly: a rebuttal of the answer’s conclusion, an undermining of its cited evidence, or an undercut that concedes the answer but denies it resolves the question. An admissible challenge materializes a scheme-free objection claim, a typed attack edge, and a provenance row, and flips the critical question from satisfied to disputed the moment it is filed. Challenges are admissibility-gated, not defeat-gated: the canonical answer stays canonical while a contester is on file. AI and human challengers face the identical bar; only disclosure differs.
Dialogue moves and commitment stores
Dialogue moves are typed speech acts governed by protocol: Assert, Challenge, Defend, Concede, Retract, Request Clarification, and others. Each move creates obligations and permissions for subsequent moves, so a challenge cannot be silently ignored — an unanswered challenge is itself a recorded datum. Commitment stores track what each participant has asserted, conceded, retracted, and is currently committed to, and flag contradictions.
Executable citations and evidence
Citations link evidence to arguments with four anchor types (page, passage, figure, section) and intent labels (supports, challenges, provides context, provides evidence, qualifies, extends). A six-stage auto-citation resolver runs a waterfall — arXiv, Crossref, page metadata (Highwire / Dublin Core / OpenGraph), OpenAlex, LLM extraction, and Internet Archive (Wayback) — and assigns each resolution a confidence tier: high, medium, low, or none. Evidence carries server-side fetch hashes and Wayback snapshots, so cited sources stay addressable even if the live URL rots.
Confidence
Confidence is computed by a category-theoretic evidence algebra over typed evidence arrows. A closed monoid folds confidence over the arrow; three monoids are registered: log-odds (the default weight-of-evidence semiring), minimum (the skeptical weakest-link projection), and product (legacy noisy-OR, deprecated). Culprit-set computation answers the canonical question: what would I have to retract to reject this claim?
Standing and dialectical honesty
Standing is reported as a classified state — untested-default, untested-supported, tested-attacked, tested-undermined, tested-survived — never as an opaque float. Standing is always relative: atested-survived label means an argument has withstood the specific challenges actually mounted against it, not that it is true. Citations ship with their strongest known objection attached by default.
Machine-citable surfaces
Content negotiation on a permalink returns the same artifact in different shapes:
- HTML:
GET /a/{shortCode} - AIF / JSON: the same URL with
Accept: application/json, or/api/a/{shortCode}/aif?format=aif - Rich JSON-LD (Claim + ScholarlyArticle + ClaimReview + AIF):
Accept: application/ld+json - Attestation envelope:
/api/a/{shortCode}/aif?format=attestation
The corpus is searchable at /search/arguments (human) and /api/v3/search/arguments (JSON), which fuses dense and sparse retrieval and attaches the strongest known counter to every result by default.
Model Context Protocol
A bidirectional MCP surface exposes read tools (search arguments, get argument, get claim, find counterarguments, cite argument, claim stances, resolve citations, deliberation-scope readouts) and write tools (propose argument, propose structured argument, propose argument chain, propose warrant, answer critical question, challenge critical question, attack argument, post dialogue move). AI-authored writes are flaggedauthorKind: "AI" and gated on human ratification for logicality. See /.well-known/llms.txt and /.well-known/argument-graph for the machine-readable contract.
Standards
- AIF — the Argument Interchange Format
- Schema.org —
Claim,ScholarlyArticle,ClaimReview - JSON-LD 1.1
- OpenAPI 3.1 — /api/v3/openapi.json
- Model Context Protocol — modelcontextprotocol.io