Skip to content

docs: publish The Wormtongue Attack essay at /wormtongue - #10

Merged
buchk merged 1 commit into
mainfrom
docs/wormtongue-essay
Jul 28, 2026
Merged

docs: publish The Wormtongue Attack essay at /wormtongue#10
buchk merged 1 commit into
mainfrom
docs/wormtongue-essay

Conversation

@buchk

@buchk buchk commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Adds the essay as a standalone page at web/playground/wormtongue/, plus its 1200×630 social card.

Merging this publishes it. No workflow change was needed — .github/workflows/pages.yml already runs on push to main and uploads all of web/playground as the Pages artifact, so the new subdirectory ships with it. Live URL on merge:

https://buchk.github.io/TypeFerence/wormtongue/

That matches the canonical footer line already written into the X and LinkedIn versions.

It stays out of the playground

  • go/cmd/playground-pack builds examples.json from a hardcoded list of example directories, not a filesystem walk — nothing new gets absorbed into the example picker.
  • make playground writes exactly three files into web/playground (typeference.wasm, wasm_exec.js, examples.json), all three gitignored. It never touches wormtongue/.
  • Nothing in the playground UI links to the page; the page links back to the playground.

The page

  • No script at all. CSP is script-src 'none', matching the playground's posture from ADR-0011.
  • Its own CSS rather than style.css, which is full-height flex app chrome and would fight a reading column. Palette values are copied across so light/dark match the playground.
  • Full Open Graph + Twitter card meta, og:imagecard.png in the same directory.
  • Responsive, light/dark via prefers-color-scheme.

Note

The HTML is the single source — there's no markdown renderer in the repo, so keeping a parallel .md would just drift. Edits go directly to index.html.

🤖 Generated with Claude Code

The essay names an exposure class the ADRs already assume but never state:
an agent definition can be transparent, true, policy-clean and authored by
someone fully authorized, and still steer everyone downstream, because
selection and framing do the work. The three controls it proposes are the
ones this repo implements — typed definitions, provenance, diff review.

Served as a standalone page under the existing Pages artifact rather than
behind a docs toolchain. pages.yml already uploads all of web/playground on
push to main, and playground-pack enumerates examples from a fixed list, so
the page publishes on merge and never enters the playground UI.

Self-contained: no script, its own CSS (the playground's style.css is
full-height app chrome), palette copied from style.css so the two match.
card.png is the 1200x630 social card referenced by og:image.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@buchk
buchk merged commit 63f813a into main Jul 28, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant