feat(platform): launch the xNet blog with 'A Great Pirate Age' essay - #308
Merged
crs48 merged 6 commits intoJun 28, 2026
Merged
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…irate-age-one-piece-and-the-xnet-ethos # Conflicts: # .claude/launch.json
Contributor
|
Preview removed for PR #308. |
crs48
deleted the
claude/0239-a-great-pirate-age-one-piece-and-the-xnet-ethos
branch
June 28, 2026 00:28
| draft?: boolean | ||
| } | ||
|
|
||
| export const posts: BlogPost[] = [ |
|
|
||
| import type { BlogPost } from '../data/blog' | ||
|
|
||
| export const SITE_URL = 'https://xnet.fyi' |
| import type { BlogPost } from '../data/blog' | ||
|
|
||
| export const SITE_URL = 'https://xnet.fyi' | ||
| export const BLOG_URL = `${SITE_URL}/blog` |
| export const BLOG_URL = `${SITE_URL}/blog` | ||
|
|
||
| /** Absolute URL for a post. */ | ||
| export function postUrl(post: BlogPost): string { |
crs48
added a commit
that referenced
this pull request
Jun 28, 2026
## What Ships the **second post on the xNet blog**: _Data Should Work Like Soil_ — an essay on mycelial networks and the nervous-system metaphor (a body, a company, a forest), and how an extractive internet, like a degraded forest, is healed by biodiversity, reciprocity, and care. Follow-up to _A Great Pirate Age for the Internet_ (#308), and the long-form version of the Warp/ERP → mycelium → "data should work like soil" paragraph already on the homepage (`TheVision.astro`). Implements exploration [`0240`](docs/explorations/0240_[x]_DATA_SHOULD_WORK_LIKE_SOIL_THE_MYCELIAL_NETWORK_AND_THE_NERVOUS_SYSTEM_OF_XNET.md). ## Changes - **New post** `site/src/pages/blog/data-should-work-like-soil.astro` (seven-beat essay). - **Metadata** in `site/src/data/blog.ts`; adds `'nature'` to the `BlogTag` union. Index + RSS pick it up automatically (newest-first). - **Three bespoke inline-SVG components** mirroring the pirate-post idioms: - `MycelialHero` — the underground twin of `PirateHero`: the cosmic-X glows as a node in a branching mycelial web. - `ThreeNervousSystems` — body · company · forest → one shape. - `HonestMycelium` — the science-honesty beat (the "Wood Wide Web" / "mother tree" story is contested; take the architecture, leave the fairy tale). - **Site changelog entry** announcing the post. ## Honesty discipline Like the pirate post refused to romanticize real pirates, this one refuses to romanticize the science: it foregrounds the 2023 critiques of the "mother tree" hypothesis (positive citation bias) and keeps only what the evidence supports — a reciprocal, decentralised, redundant exchange network. Every factual claim (mycology, nervous-system physiology, Tesla Warp, monoculture research) is cited; an independent-essay / not-affiliated note is included. ## Verification - `pnpm --filter site build` succeeds (102 pages); `/blog` lists the post newest-first; `/blog/rss.xml` well-formed with the new item. - Browser preview: desktop-light and mobile-dark heroes render; all embedded panels + cross-links + footer note present in the live DOM; **0 console errors**; **0 third-party trackers/SDKs** (Self-Audit parity, enforced by the humane-patterns gate). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
crs48
added a commit
that referenced
this pull request
Jun 28, 2026
## What The third xNet blog essay, **"The Gentlest Furnace"** — implementing [exploration 0241](docs/explorations/0241_[x]_THE_GENTLEST_FURNACE_STELLAR_EQUILIBRIUM_AND_THE_LIFE_CYCLE_OF_INFORMATION.md). It interrelates xNet with the life cycle of stars and the physics of information. Completes the elevation trilogy: **sea** ([A Great Pirate Age](#308)) → **soil** ([Data Should Work Like Soil](#311)) → **sky** (this post). The brand cosmic-X is finally named as the star it always was. ### The argument - **Spine — the thermostat.** A star is stable because of *hydrostatic equilibrium*: gravity in vs. radiation out, held by a self-correcting **negative-feedback loop** ("doesn't explode, doesn't freeze"). The attention economy is the opposite — a **runaway positive-feedback loop** = a massive star that burns bright and *burns out*. - **The gentleness paradox.** The Sun's core makes only ~276 W/m³ (compost-heap power density) — gentle because it's *vast and slow*, not locally intense. The lesson for calm, local-first tech. - **Physics of information.** atoms → electrons → photons; Landauer's principle ("information is physical"). We climbed the energy ladder and left our nervous systems behind. - **Honesty beat** (`HonestStar`): the serene-eternal-harmonious sun is oversold — violent, temporary, blind physics, size-specific. Keep the mechanism, leave the myth — same discipline as `HonestPirate`/`HonestMycelium`. - **Coherence without a boss** → the open protocol + conformance vectors as a shared invariant; the architecture beat maps stellar physics onto the shipped substrate. ## Changes - `site/src/data/blog.ts` — new `'cosmos'` `BlogTag` + post metadata entry. - `site/src/pages/blog/the-gentlest-furnace.astro` — the seven-beat essay (amber accent). - 3 original inline-SVG components: `StarHero`, `HydrostaticBalance`, `HonestStar`. - Changelog fragment announcing the post. ## Verification - `pnpm --filter site build` succeeds; `/blog` lists the post newest-first; `/blog/rss.xml` includes it. - Browser-verified (desktop + mobile): hero, both card components, and prose render; **0 console errors**. - **Self-Audit parity:** the built page ships **0 third-party scripts/images** — inline SVG only (7); the 18 https occurrences are source-citation anchors. - `check-humane-patterns.mjs` passes; every factual claim cited; not-affiliated footer present. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
crs48
added a commit
that referenced
this pull request
Jun 28, 2026
## What The three blog posts had placeholder/future `pubDate`s that didn't reflect when they actually went live. This sets each post's `pubDate` to the exact merge time of its PR. | Post | PR | Old `pubDate` | New `pubDate` (PR merge time) | | --- | --- | --- | --- | | A Great Pirate Age | [#308](#308) | `2026-06-27T16:00:00Z` | `2026-06-28T00:28:34Z` | | Data Should Work Like Soil | [#311](#311) | `2026-06-28T15:00:00Z` | `2026-06-28T01:23:39Z` | | The Gentlest Furnace | [#312](#312) | `2026-07-11T15:00:00Z` | `2026-06-28T02:27:04Z` | `site/src/data/blog.ts` is the single source of truth for both the `/blog` index and the RSS feed, so this is the only file that needs to change. ## Verification - `pnpm --filter site build` succeeds. - RSS `<pubDate>`s now read `00:28:34`, `01:23:39`, `02:27:04` GMT — exact merge times. - Newest-first ordering preserved (Furnace → Soil → Pirate). `skip-changelog`: metadata correction to existing posts, not a user-facing feature. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
crs48
added a commit
that referenced
this pull request
Jun 29, 2026
## What The blog post `pubDate`s were hand-picked and had drifted from when each essay actually shipped — most visibly *"The Loom You Can Read"*, dated `2026-07-01` (a future date). This sets each post's `pubDate` to the **merge timestamp of the PR that introduced it**, so the listing order, the `<time>` element, and the RSS `<pubDate>` all reflect reality. | Post | PR | New `pubDate` (merge time) | |---|---|---| | A Great Pirate Age for the Internet | [#308](#308) | `2026-06-28T00:28:34Z` _(unchanged)_ | | Data Should Work Like Soil | [#311](#311) | `2026-06-28T01:23:39Z` _(unchanged)_ | | The Gentlest Furnace | [#312](#312) | `2026-06-28T02:27:04Z` _(unchanged)_ | | The Desert That Feeds the Forest | [#321](#321) | `2026-06-28T21:46:46Z` | | The Right to Say No | [#323](#323) | `2026-06-28T22:10:50Z` | | The Forest and the Field | [#326](#326) | `2026-06-28T23:39:38Z` | | The Loom You Can Read | [#332](#332) | `2026-06-29T01:09:07Z` | The first three already matched their merge times. Source of truth: each PR's `mergedAt` (verified against the merge-commit committer date on `main`). Also reordered the desert / right-to-say-no entries so the source array stays newest-first (the runtime sort is by `pubDate` regardless). ## Verification - `astro build` ✓ (107 pages) - Previewed `/blog`: cards in correct newest-first order; `<time datetime>` and RSS `<pubDate>` carry the exact merge timestamps ✓ No changeset (confined to `site/`); `skip-changelog` since this is a metadata correction, not a user-facing feature. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Implements exploration 0239: starts a blog for the marketing site and ships its flagship essay, "A Great Pirate Age for the Internet" — a piece comparing xNet's ethos to the Golden Age of Piracy (the real one) and One Piece.
Blog system (matches the site's
.astro+ data-module grain — no MDX dep)site/src/data/blog.ts— single source of truth for post metadata (index + feed + page stay in sync)site/src/pages/blog/index.astro— card list, newest-first, RSS link, graceful empty statesite/src/pages/blog/rss.xml.ts+site/src/lib/blog-feed.ts— RSS 2.0, mirroring the changelog feed's pure-builder patternNavandFooterThe flagship essay
site/src/pages/blog/a-great-pirate-age.astro— the seven-beat spine (two seas → who pirates really were → you are the cargo → sign your own log → which pirate to be → raise your own flag)PirateHero(original cosmic-X flag art, no One Piece imagery),ArticlesMap(pirate articles → the six Charter commitments),HonestPirate(the honesty beat)/why,/commitments,/build-with; every factual claim cited in a Sources sectionIP posture
Per the chosen "publish live" path, the mitigations are in place: it's an essay that references One Piece as cultural criticism (not product branding), all art is original, the title is generic, quotes are attributed, and the post carries a "not affiliated with / not endorsed by" disclaimer.
Verification
pnpm --filter site build✓ (101 pages;/blog, the post, and/blog/rss.xmlall emit)/why), dark mode + mobile pass🤖 Generated with Claude Code