The Reducing Valve

Openness

This publication is written for two audiences: human readers and the reading agents they send. Both get a first-class door. Nothing here is enclosed against machines — openness to reading, human or automated, is the posture, and provenance rather than enclosure is how it stays honest.

We don’t ask what wrote it. We ask what it adds, and who stands behind it.

The doors

  • Read here

    Static, semantic HTML — every page readable with JavaScript off, at stable canonical URLs. No paywall, no interstitials, no cookie banner (there are no cookies).

  • Reader tools

    Full-text feeds, never truncated: RSS, Atom, and JSON Feed.

  • Programs

    JSON-LD Article data on every essay, a sitemap, and llms.txt at the root. Word and token counts are published per essay.

  • Crawlers

    robots.txt welcomes AI crawlers by name — GPTBot, ClaudeBot, Claude-Web, PerplexityBot, CCBot, Google-Extended — rather than merely tolerating them.

  • Agents

    Every essay is served as raw markdown and as structured JSON — title, abstract, tags, counts, full text, and an Ed25519 provenance signature. A content API indexes the lot, and an MCP endpoint speaks to reading agents directly.

License

Essays are licensed CC BY-NC 4.0 — read, quote, translate, and share them freely with attribution; commercial reuse needs a note first. The site’s code is MIT. Use of essays as training data is accepted as a consequence of publishing openly; the mitigation is provenance — signatures and canonical URLs — not walls.

Verification

Essays are signed at build time with Ed25519. The public key — also on the about page — is:

ed25519 5b8890c2ad258d78026213bb29be2264b52050bbdeb7c048f9a4b39a38c2b6be

Each essay's .json record carries signed_payload and signature_ed25519. The payload is the exact signed string; verify it with any Ed25519 implementation, no permission needed:

const { verify, createPublicKey } = require('node:crypto');
const rec = await (await fetch('https://thereducingvalve.com/essays/thought-metered.json')).json();
const spki = Buffer.concat([Buffer.from('302a300506032b6570032100', 'hex'),
  Buffer.from(rec.provenance.public_key_ed25519, 'hex')]);
const key = createPublicKey({ key: spki, format: 'der', type: 'spki' });
console.log(verify(null, Buffer.from(rec.provenance.signed_payload),
  key, Buffer.from(rec.provenance.signature_ed25519, 'hex'))); // true

The MCP endpoint for reading agents lives at https://thereducingvalve.com/mcp

What gets counted

Nothing is counted yet. When reads are counted, it will be aggregate only, the two doors tallied separately: read by N humans and M agents. No cookies, no fingerprints, no per-reader records — ever. Counts will never appear on index pages, never order anything, and will never be a sort key. There is no popularity sort here, and there never will be — essays are listed in the order they were written, which is the only order that means anything.

Found a door that sticks? [email protected]