Skip to content

Docs seo status - #24

Merged
madnh merged 5 commits into
mainfrom
docs-seo-status
Aug 7, 2026
Merged

madnh merged 5 commits into
mainfrom
docs-seo-status

Conversation

@madnh

@madnh madnh commented Aug 7, 2026

Copy link
Copy Markdown
Owner

update github page

madnh and others added 5 commits August 7, 2026 18:55
…d correct two notes

Every one-time step is done, so .github/SEO.md says so — a checklist that still
reads as pending is a checklist someone repeats.

Two corrections. Bing's import from Search Console carries the sitemap across;
the note said to submit it separately. And the sitemap field in Search Console
takes `sitemap.xml` with no leading slash — a `/` is read as root-relative,
drops the /scratchpad/ prefix, and leaves a permanent "Couldn't fetch" row for
a URL that was never going to exist.

Internal traffic filtering is recorded as a decision rather than an omission,
with the Testing-mode alternative, so it does not read later as forgotten.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01VGYnqPKtsrWfugEKyASb7a
The Twitter card carried title, description and image but no account, so a link
shared on X rendered with nobody attached to it. twitter:site and
twitter:creator both carry the handle — X reads them for different slots.

JSON-LD gains an author with sameAs pointing at the X profile and the GitHub
account, and the footer gets a link someone can actually follow. Being honest
about what sameAs does: it produces no rich result on its own. It is an identity
claim, and it only carries weight once the profile links back — that half is not
in this repo.

The mark is inline SVG in black, not the footer's accent colour: X's brand rules
allow black or white and nothing else. --ink rather than a literal #000, so a
dark theme would flip it to the light-on-dark form the same rules allow.

Deliberately NOT the @graph expansion proposed elsewhere — WebSite and
Organization entities were argued with no rich result they could produce.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01VGYnqPKtsrWfugEKyASb7a
…ix two commands that never ran

The setup section met a reader with the CLI first and the skill install last,
which reads as "learn these commands" — but the claim is that you stop typing
commands. It is now four numbered steps: install, teach the agent, ask in your
own words, and only then the CLI as the thing underneath.

Two commands were printed as if they worked:

- `go install` was marked "coming soon" while it already built. Only the bare
  module path fails, because the main package lives under cmd/. Verified by
  installing v0.7.0 into a throwaway GOBIN. Documented with its one real
  difference: `version` reports "dev", since go install cannot pass the ldflags.
- `serve --tcp --tcp-port 6710` never starts; the server refuses without a
  token, which is the error a reader hit by copying it. Replaced with the whole
  thing — mint a token, derive the digest, pass it — verified end to end: no
  header 401, Bearer token 200.

Homebrew is gone rather than restated: there is no tap, and "coming soon" with
nothing behind it is a promise the page keeps making on its own.

The exchange between two sessions is now a two-column grid under "How it works",
where the row carries the ordering — every message owns one row, so reading down
reads it in time and the empty half of a row shows the other session waiting. It
runs twice, because one round argues for a handoff rather than a channel; the
second round has no human in it at all.

Use-case tabs were Solo / Across machines / Team server, which is one usage over
three transports. Where agents run is not a use case. They now divide by work:
one repo with two agents, several repos that must agree, and the same again with
a pad per module.

MCP was four lines and a list of tool names — now all three transports, the
config shape a host registers, and what each of the nine tools does. README
carried the same two broken commands plus no go install, and had the CLI ahead
of the skill install; it matches the site now.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01VGYnqPKtsrWfugEKyASb7a
…nd delete what nothing links

PNG is lossless and built for flat graphics; these are 3D renders, all smooth
gradients and surface noise, so it was storing them almost pixel by pixel. The
giveaway was already in the directory: uc1-demo.png was 1880x1200 and 101KB
while uc1.png was 900x900 and 849KB — same format, 2.8x the area, an eighth of
the bytes, because one is a UI shot full of flat regions.

Measured in the browser, not estimated: the page transfers 483KB of images where
hero.png alone was 1.8MB, and hero is almost certainly the LCP element. That is
a Core Web Vitals number.

Two files deliberately stay PNG. og.png is never fetched by a browser — social
crawlers read it, and WebP support at that layer is still uneven. brand-logo.png
is 8KB with alpha; nothing to win.

Six images were referenced by nothing at all — demo, uc5, uc5-demo, uc6-demo,
ui-overview, ui-pad-dark, 1.6MB that Pages served and no page linked. Checked
against every .md, .html, .go, .css and .js before removing them. Their sources
stay: mk.sh assembles body-*.html into pages that were screenshotted, so those
few KB of text are how the deleted shots get remade.

Includes a lossless PNG recompression pass done outside this session, kept as
its own step in history so the work survives the format change.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01VGYnqPKtsrWfugEKyASb7a
…n agent strip, Rules, Web UI slides

The Features grid opened with Turn rule / Tasks / Addressing. Addressing means
nothing until you already have three agents. Meanwhile the two strongest claims
sat in row three. The first row is now why-it-exists, why-it-works,
why-you-can-trust-it: "Any two agents" (new — cross-vendor interop was the
premise of the page and appeared nowhere in the list), Turn rule, and "Just a
markdown file". Transports folded into CLI + MCP, leaving 12 cards in four full
rows; Web UI moved ahead of CLI + MCP, since it is what a person opens.

The hero claimed shared pads for AI agents and showed none of them. Nine hosts
now sit under it with their names beside 26px marks — named because half are
recognisable at a glance and half are not, and unlabelled squares make a reader
squint at the ones they do not know instead of finding the one they do. It first
landed below the fold, which is where it was useless; 133px of hero whitespace
came out rather than shrinking the strip.

Rules had no section at all, which is odd for the one thing here that is
enforced rather than suggested: what they are (prose, not schema), the three
levels, that reading them is a precondition for posting, that changing them
re-asks everyone mid-task, and that who may write each level is separate from
who must read it.

The Web UI section showed one screenshot and then claimed in prose an overview,
an outline, a task board and a stuck-agent view — none of which the picture
held. Four CSS-only slides now, captured from `make demo` so the store has the
history those views derive from. Images stay lazy inside hidden figures, and
every one declares its intrinsic size: measured CLS is 0.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01VGYnqPKtsrWfugEKyASb7a
@madnh
madnh merged commit c5037f3 into main Aug 7, 2026
1 check 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