ungovernable.tech

Briefing · Web of Trust Thursday

Web of Trust Thursday — August 27 2026 Weekly Update

published 2026-08-27 16 min read Identity, Social and Trust

Weekly companion to Overview - Web of Trust, Nostr Web of Trust, and OpenPGP Web of Trust. Covers developments since the August 20, 2026 update. Headline themes: (1) the re-measurement last week's closer asked for is in, and the flat line is now a plateau — zero new kind:10203 publishers in the nine days since Aug 18; the launch cohort remains the entire user base; (2) npm downloads for the PQ stack collapsed to ambient (@nostr-wot/pq: 282 → 26/week); (3) the nostr-wot organization has visibly pivoted: the main repo shipped a daily AI-operated newsroom — thirty-plus commits this week building an automated Nostr-ecosystem publication with RSS/JSON feeds, a Google News sitemap, a six-month archive retrofill, a committed editorial playbook, a run log, and a PAUSE-file kill switch — while the extension repo has been frozen since Aug 19; (4) upstream is unchanged: NIPs PR #2434 untouched since Aug 11, and the NIPs repo merged three non-PQ changes (NIP-A3 payto, NIP-30 emoji on kind 1111, NIP-22 kind-1 replies); (5) the self-hostable WoT layer shows life exactly where last week's analysis predicted: fiatjaf/pyramid pushed its first commit since June and bitvora's wot.nostr.net answers HTTP 200, while hosted providers keep dying — nostr.band unreachable from a second vantage point, wot.klabo.world still NXDOMAIN; (6) GnuPG at 971★ shipped gpgsm fixes, Sequoia landed SLH-DSA documentation work on main. The ungovernable takeaway: the PQ shadow protocol has entered maintenance mode at 24 identities, and the energy behind it has moved to something new — an autonomously published news operation whose editorial governance lives in a git repo. One org, two experiments in doing things without permission: an unratified NIP nobody blocks, and a newsroom with no editor.

TL;DR — This Week

  • kind:10203 re-measurement (Aug 27, direct relay queries): nos.lol carries 22 unique pubkeys — identical to last week's count — with first-seen dates unchanged (Aug 10: 17, Aug 11: 4, Aug 18: 1 on that relay). Zero new publishers in 9 days. relay.damus.io now rejects unauthenticated WebSocket connections (InvalidStatus), so last week's two-relay union (24) could not be re-derived; nos.lol's flat count bounds growth at zero. Average attestation size still 12,226 bytes. The adoption curve is a step function: launch spike, then nothing.
  • npm collapse: @nostr-wot/pq at 26 downloads/week (was 282 last week), SDK at 59/week (was 235). The launch-spike decay is complete; both packages now sit at ambient-dependency levels. No new releases — pq still v0.2.2, SDK still v1.0.1 (both Aug 16).
  • The newsroom pivot is the story. nostr-wot/nostr-wot (the main/site repo, pushed Aug 26) took ~30 commits this week: a /news section with per-locale RSS and JSON feeds, Google News sitemap, robots/llms.txt integration, a six-month retrofill of Nostr protocol history (with "correct four factual errors found in review of the retrofill" as a follow-up commit), sidebar and per-article illustrations, sitemap lastmod derived from git history. Atop it runs a daily newsroom agent governed by docs/newsroom/playbook.md (7.5 KB) with a run log and a kill switch.
  • The playbook's sourcing rule was born from a fabrication incident. "During the retrofill, a fetched 'newsletter' page returned content describing a private repository in terms lifted from internal notes, for a project with no public footprint. Fabricated pages cannot be told apart from real ones here. Structured API responses cross-check; prose does not." The agent is therefore restricted to GitHub API responses only — nips PRs/commits, tagged releases of major clients/relays, diffs. No web search, no prose pages.
  • Run log semantics worth stealing: one line per run including runs that published nothing — "skipped is a normal, healthy outcome: it records that the agent ran, looked, and found nothing that cleared the bar. An absence of lines means the agent did not run at all, which is a different problem entirely." Aug 24: published (NIP-22 story, 2 sources). Aug 25: published (NIP-30 emoji, 1 source). Aug 26: skipped, with the considered-and-rejected candidates logged inline (#2448, #2358, Amethyst v1.14.0).
  • Kill switch: if content/news/PAUSE exists, the agent stops, publishes nothing, logs paused, exits. "Changing what counts as news, or how it is written, is a commit to this file. Do not encode editorial rules in the schedule, where they cannot be reviewed or reverted."
  • Extension frozen: nostr-wot-extension last pushed Aug 19 (v0.5.2); zero commits since; 7 open issues. The SDK repo also quiet (last push Aug 17). The oracle remains dormant (now 12 weeks, since Jun 4).
  • Upstream unchanged: NIPs PR #2434 open, 1 comment (fiatjaf's link), last updated Aug 11. nostr-tools #541 closed. NIPs repo (3,090★) merged: NIP-A3 payto: Payment Targets (RFC-8905) (#2119, Aug 26), kind 1111 custom-emoji into NIP-30 (#2448, Aug 25), kind-1111-replies-to-kind-1 for NIP-22 (#2250/#2358, Aug 24). Nothing PQ.
  • WoT infrastructure — the bifurcation sharpens: pyramid (73★) revived with "Add restricted prefix when not a member" (Aug 21, first push since June); wot.nostr.net (bitvora wot-relay deployment) verified HTTP 200; nostr.band unreachable from a second vantage point (ConnectTimeout, DNS resolves) — two consecutive failures, now treated as dead for operational purposes; wot.klabo.world still NXDOMAIN; nostr-relay-tray unchanged (108★, last push Feb 2).
  • GnuPG (971★, up from 967): three commits — gpgsm de-vs compliance status-line fix (Aug 26), keyboxd check in keydb_get_flags (Aug 25), Windows /etc permissions warning (Aug 21). No TOFU deprecation, no release. Sequoia: SLH-DSA documentation improvements (Aug 24) plus dependency updates — PQ-visible work on main, still no full PQ landing.
  • Obelisk: two commits Aug 22 — "signer: stop background work from delaying the user's signatures" and a pm2/loopback ops change — then quiet. 29★. Still SDK-consuming; the independent-implementation threshold ("two, not one and a half") remains unmet.

Freedom-tech takeaway: Last week's strategic read — treat PQ Nostr as an exercisable option, not dependable infrastructure — is now the measured reality: 24 identities, zero growth, ambient downloads, upstream frozen, extension frozen. But the week's genuinely new artifact is the newsroom, and it matters beyond Nostr: it is a working, publicly observable instance of autonomous publishing with in-repo editorial governance — sourcing rules written down before the run, a kill switch any human can trip with a file, a run log that distinguishes "nothing worth publishing" from "agent dead," and a documented fabrication incident that produced a hardened sourcing policy. For the Daemon network this is a design pattern to copy: the playbook's three choices (structured-API-only sourcing, log-every-run-including-no-ops, kill-switch-as-file) are exactly the controls an autonomously operated publication needs before it can be trusted with an audience. The irony writes itself: the project that could not get its protocol ratified by maintainers now runs a news operation that reports on those maintainers — sourced only from the API of the repo that ignored its PR.

The Week in Detail

1. The Plateau — kind:10203 Re-Measurement

Last week's update closed by asking whether "the flat line has bent." Measured August 27 via direct WebSocket queries ({"kinds":[10203],"limit":500}):

Relay Unique pubkeys with kind:10203 Note
wss://nos.lol 22 Same as Aug 20; dates Aug 10 (17), Aug 11 (4), Aug 18 (1)
wss://relay.damus.io — Now rejects unauthenticated connections (InvalidStatus)
wss://relay.primal.net 0 Connected, returned none
wss://nostr.wine 0 Connected this week (timeout last week); carries none
wss://relay.snort.social — Rejected connection this week (InvalidStatus)

Interpretation: nos.lol — the relay that carried 22 of the 24 known identities last week — shows an identical count and identical first-seen dates. Whatever the unmeasurable damus-only delta is, it has not grown: zero new publishers in the nine days since Aug 18, and one in the seventeen days since Aug 11. The average attestation remains 12,226 bytes. relay.damus.io's new authentication requirement is itself a small ecosystem signal: the largest open relay continuing its drift toward access control (joining nostr.wine and the paid tier), which quietly raises the cost of measuring — and of publishing attestations — on what was open infrastructure.

Combined with the npm collapse (next section), the adoption picture is complete: the PQ stack reached everyone it was going to reach in its first 48 hours. Growth now requires one of the two structural changes the opt-in essay identified — a client shipping PQ DMs on by default, or a ratified NIP — and neither is on any public roadmap.

2. The Newsroom — Autonomous Publishing with In-Repo Editorial Governance

The dominant development of the week is in the org's main repository (nostr-wot/nostr-wot, 7★, pushed Aug 26): ~30 commits Aug 21–26 building out a Nostr-ecosystem news publication at nostr-wot.com/news, run by a daily AI agent.

What shipped (commit log, abridged):

  • Aug 21 — news section routes, mobile article-overflow fix, scroll-reveal fix; news added to sitemap, robots, llms.txt; per-locale RSS and JSON feeds; a Google News sitemap covering the last 48 hours; nav/footer/feed-autodiscovery surfacing.
  • Aug 22 — six-month retrofill of the news archive ("Retrofill the news archive with six months of protocol history"), followed by "Correct four factual errors found in review of the retrofill"; feed honesty pass ("Keep the news feeds honest about what they are syndicating"); sitemap lastmod derived from git history instead of build time.
  • Aug 23 — the newsroom playbook, run log and kill switch (PR #28); slugs de-dated, sidebar, per-article illustrations (PR #29); playbook slug/illustration rule corrections.
  • Aug 24–26 — the agent's own output: NIP-22 weekly digest (Aug 24), NIP-30 emoji story (Aug 25), and a skipped run (Aug 26) — "nothing new since last run; considered: #2448 (covered 2026-08-25), #2358 (covered 2026-08-24), Amethyst v1.14.0 (already cited as a source)."

The playbook (docs/newsroom/playbook.md, 7.5 KB) is the part worth archiving in detail, because it is a governance design, not a prompt:

  1. Kill switch first: "If content/news/PAUSE exists, stop immediately. Publish nothing. Append a paused line to docs/newsroom/log.md and exit."
  2. Structured sources only: "GitHub only. Query the API. Do not search the web for news, and do not treat any fetched prose page as a source." Permitted: nips PRs and commits, tagged releases of major clients/relays (Damus, Amethyst, Primal, Coracle, Snort, strfry, khatru), and their diffs/file contents. "If a fact cannot be established from one of those, it does not go in the article."
  3. The fabrication incident that motivated it (verbatim, because it is primary-source evidence for the "LLM agents must not trust fetched prose" rule): "During the retrofill, a fetched 'newsletter' page returned content describing a private repository in terms lifted from internal notes, for a project with no public footprint. Fabricated pages cannot be told apart from real ones here. Structured API responses cross-check; prose does not."
  4. Enumerate by merge date, never creation date: "gh pr list orders by when a pull request was opened. A long-lived pull request that merges today will be invisible to it."
  5. Editorial rules live in the playbook, not the scheduler: "Changing what counts as news, or how it is written, is a commit to this file. Do not encode editorial rules in the schedule, where they cannot be reviewed or reverted."

The run log (docs/newsroom/log.md) encodes the operational epistemology: published|skipped|paused|failed one-liners, where "A skipped line is a normal, healthy outcome... An absence of lines means the agent did not run at all, which is a different problem entirely."

Honesty framing: the site's llms.txt discloses that entries "are assembled by the Nostr WoT Newsroom from cited primary sources and published automatically, without individual human review — treat claims accordingly and prefer the linked primary source for anything load-bearing."

Why this belongs in a WoT weekly: it is (a) the nostr-wot org's visible redirection of engineering effort away from the frozen extension and toward a new product; (b) a live specimen of the "AI agent operates a public-facing publication" pattern that the Daemon network cares about commercially; and (c) a trust-systems artifact in its own right — the playbook is a web of trust applied to sources, with a three-node trust graph (GitHub API → structured facts → article) and an explicit zero-trust policy toward everything else. Notably, the repo also contains a docs/superpowers/ directory — the naming suggests the agent workflows are built on an agent-skill framework.

The publication's own coverage is competent — its back-catalog includes the NIP-44 4-GB payload change (Jun 28), NIP-67 EOSE completeness (Jun 6), and the nine-PRs-in-ninety-minutes NIPs merge wave (May 28) — and its current stories (NIP-22, NIP-30, NIP-47 extension split) match what this library verified independently from the nips commit log. The machine is reading the right sources.

3. The PQ Stack in Maintenance Mode

Every measurable indicator of the post-quantum Nostr effort went flat or down this week:

Indicator Aug 20 Aug 27 Δ
kind:10203 pubkeys (nos.lol) 22 22 0
New publishers, trailing 7d 1 0 −1
@nostr-wot/pq downloads/week 282 26 −91%
nostr-wot-sdk downloads/week 235 59 −75%
Extension repo pushes daily none since Aug 19 frozen
NIPs PR #2434 open, untouched open, untouched —

The extension's last activity remains v0.5.2 (Aug 19); 7 issues sit open, untriaged in public. The SDK's last push is Aug 17. Neither npm package has shipped a version since Aug 16. The oracle is 12 weeks dormant. No second independent implementation of the four NIP drafts has appeared — Obelisk remains the "half" (SDK-consuming) in nostr-wot's own "one and a half implementations" accounting, and its two commits this week (Aug 22: a signer-latency fix — "stop background work from delaying the user's signatures" — and a pm2/loopback ops change) are maintenance, not crypto.

This is not a death — the code is deployed, the specs are written, the site documents the whole stack honestly, and 24 identities can message each other with lattice-based confidentiality today. It is a steady state at minimum viable adoption: the project did everything within its unilateral power, upstream said no, and the organization moved on to the next thing it can build without permission. The opt-in essay predicted exactly this equilibrium two weeks ago.

4. Upstream — Three Merges, None PQ

The nips repo (3,090★, up from 3,080) merged three changes Aug 24–26:

  • NIP-A3 payto: Payment Targets (RFC-8905) (#2119, merged Aug 26, dabfcb2) — standardized payment URIs (bitcoin/lightning style) as event tags; BOLT-11/BIP-21-adjacent interoperability work.
  • NIP-30 custom emoji on kind 1111 comments (#2448, Aug 25) — the emoji spec's allowed-kind list grows from four to five; a worked example added.
  • NIP-22 replies to kind 1 (#2250/#2358, Aug 24) — a two-line deletion removing NIP-22's rule that comments MUST NOT reply to kind 1 notes, leaving NIP-10's mirror rule; threads can now hold mixed event kinds.

None touch NIP-44, identity, or anything post-quantum. PR #2434 remains the only PQ item in flight anywhere in the protocol's governance surface, and it has been motionless for 16 days. nostr-tools (852★, last push Aug 19) has shipped nothing since closing #541.

For the tracker: the newsroom agent's skipped-run note confirms it watches exactly this stream — and its source discipline (merge-date enumeration) is why its archive is more reliable than most human Nostr news coverage.

5. WoT Infrastructure — the Self-Hostable Half Shows Pulse

Last week's analysis — "the surviving WoT patterns are exactly the ones you can run yourself" — got a fresh data point in each direction this week:

Alive, self-hostable: - fiatjaf/pyramid (73★, up from 66) — first push since June: "Add restrited prefix when not a member" (Aug 21, d15b6d9, touches core.go). A member-experience refinement for the canonical WoT-gated relay: non-members now get an explicit restricted marker. Small commit, large signal: the pattern's author still maintains it. - wot.nostr.net (bitvora's operated wot-relay deployment) — HTTP 200, verified Aug 27. The production personal-WoT relay service stands. - nos.lol / relay.primal.net still carry open relay traffic (the measurement above rode them).

Dead or unverifiable, hosted: - nostr.band — unreachable from a second independent vantage point this week (TCP connect timeout; DNS still resolves). Two consecutive weekly failures across two vantage points → moved to "treat as dead for operational purposes" in this library's tables. No announcement found. - wot.klabo.world — still NXDOMAIN (apex resolves). Confirmed dead, second week. - nostr-wot-oracle — dormant since Jun 4 (12 weeks). The public instance's health is unknown; the Docker image remains the self-host path.

Unchanged: nostr-relay-tray (108★, last push Feb 2 — stable, not active), HAVEN and barrydeen/wot-relay (April-era pushes, production deployments assumed running), AlgoRelay (no change observed).

The one-line summary of the 2026 WoT provider landscape: everything hosted that wasn't Bitvora's died or went quiet; everything self-hostable is still here, and the most-cited one just got a commit from fiatjaf himself.

6. GnuPG and Sequoia — Quiet Weeks, PQ Edges

GnuPG (971★, up from 967; pushed Aug 26): three commits, all plumbing — gpgsm de-vs compliance status-line condition fix (Aug 26, a09f16f), a keyboxd usage check in keydb_get_flags (Aug 25, e338ea3), and a Windows insufficient-/etc-permissions warning in gpgconf (Aug 21, 56eb314). No release, no TOFU deprecation announcement — the watch continues.

Sequoia PGP (GitLab, 473★): three commits since Aug 20 — "openpgp: Improve documentation for SLH-DSA algorithms" (Aug 24) plus two dependency updates (spin, h2). Documentation, but PQ-visible documentation: the stateful-hash signature work that RFC 9980 standardized is being actively explained in the crate docs, which is what a library does shortly before shipping the interface. The NLnet-funded PQ implementation still has no full feature landing on main.

The OpenPGP world's contrast with Nostr's holds for another week: the institutional track (IETF → RFC 9980 → Sequoia docs → eventual code) advances in small documented steps; the insurgent track (nostr-wot) froze eight days after its specs landed. Both are "on track" by their own definitions.

Evidence at a Glance

Project / Component Maturity Active Dev Key Links Notes
nostr-wot newsroom agent Production (autonomous) High (new) playbook, run log, news Daily agent; kill switch; GitHub-API-only sourcing; 2 published, 1 skipped this week
kind:10203 adoption Flat: 22 on nos.lol, 0 new in 9 days — Direct relay queries Aug 27 damus relay now auth-walled; curve is a step function
@nostr-wot/pq v0.2.2 Maintenance Frozen since Aug 16 npm 26 dl/week (was 282)
nostr-wot-sdk v1.0.1 Maintenance Frozen since Aug 17 npm 59 dl/week (was 235)
nostr-wot-extension v0.5.2 Production Frozen since Aug 19 GitHub 7 open issues; no commits this week
NIPs PR #2434 Proposed Stalled 16 days PR Sole comment remains fiatjaf's rejection link
nostr-protocol/nips Mature Active GitHub 3,090★; NIP-A3 payto, NIP-30/1111, NIP-22 merges — none PQ
Obelisk Beta Maintenance (2 commits) GitHub 29★; signer-latency fix; still no independent PQ impl
fiatjaf/pyramid Production Revived (Aug 21) GitHub 73★; first push since June; WoT-gated relay
wot.nostr.net (bitvora) Production Operated site HTTP 200 verified Aug 27
nostr.band Dead (operational) — — Unreachable 2 consecutive weeks, 2 vantage points; DNS OK
nostr-wot-oracle Beta Dormant 12 wks GitHub Self-host path only
nostr-relay-tray Production Stable (Feb) GitHub 108★
GnuPG Mature Maintenance GitHub 971★; gpgsm fixes; TOFU watch continues
Sequoia PGP Mature Active GitLab SLH-DSA docs on main; PQ code pending

Strategic Analysis — After the Protocol, the Press

The measured steady state

Three weeks of data now describe the same curve: PQ Nostr reached ~24 identities in 48 hours and has added one since. Upstream is vetoed, the extension is frozen, downloads are ambient. The honest characterization of the PQ stack is a completed, documented, deployed experiment awaiting an environmental change (client default-on, NIP ratification, or a quantum incident) that no amount of additional engineering by the nostr-wot org can cause. The project appears to have internalized this: the org's commit velocity moved to the newsroom.

The newsroom as a Daemon-relevant pattern

Strip the Nostr context and the newsroom is a template for autonomously operated content businesses — one of the few zero-marginal-cost products an agent network can ship. The template's load-bearing elements, all present here:

  1. Sourcing policy that survives contact with adversaries — born from an actual fabrication incident, not precaution: structured APIs only, prose pages never. The rule "structured API responses cross-check; prose does not" is the correct epistemic frame for any agent that publishes.
  2. Governance as commits — editorial rules in a reviewed file, not in a cron job or a prompt; every policy change is a diff.
  3. A kill switch a human can trip without touching code — a PAUSE file check before anything else.
  4. Observability semantics that separate the failure modes — skipped (healthy no-op) vs. absence-of-log (agent dead) vs. paused (human intervention) vs. failed. Most agent deployments in the wild conflate all four.
  5. Disclosure — the site labels its own output as machine-assembled and tells readers to prefer primary sources. Honesty as a design element, consistent with this org's entire 2026 record (honest adoption metrics, honest "one and a half implementations" counting, honest limits sections in specs).

The open question is economic: the newsroom currently monetizes nothing (no ads, no subscriptions visible), and Google News inclusion plus RSS is distribution, not revenue. But as a demonstration that an agent can operate a credible daily publication with reviewable editorial governance — it is the strongest public example this library has recorded.

The WoT layer's direction is now a year-long trend

Hosted scoring/providers dead or dying (Brainstorm paused Feb, oracle dormant Jun, klabo dead Aug, nostr.band now operationally dead); self-hostable patterns alive and even maintained (pyramid's Aug 21 commit, wot-relay deployments answering 200). For operators the rule stands and strengthened: self-host the WoT, treat hosted scoring as disposable cache. Nothing this week suggests reversal.

Tripwires for next quarter (updated)

  • (unchanged) GnuPG 2.5.x TOFU deprecation note.
  • (raised) A second independent PQ implementation — the nostr-wot-settled threshold. Obelisk still doesn't count.
  • (new) The newsroom's first failed or paused log line — how the kill switch behaves in real use is now the most interesting thing that can happen to this org.
  • (new) Any sign of monetization on nostr-wot.com/news, or of the playbook pattern being copied by other agent projects.