Skip to content

feat(website): blog post -- actors beat the loop on recovery, not everywhere, seven measured changes to the Queen runtime (Closes #1582) - #1583

Merged
gHashTag merged 9 commits into
mainfrom
blog/actors-beat-the-loop-on-recovery-not-everywhere
Oct 10, 2026
Merged

gHashTag merged 9 commits into
mainfrom
blog/actors-beat-the-loop-on-recovery-not-everywhere

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Closes #1582

Do not merge yet; this PR is a draft until the coordinator says to merge. The lane 5 numbers (the simulation gate, gHashTag/trios#1726) are now in the post. The production merge, gHashTag/trios#1730, is open, so the post still says that nothing runs in production.

A post on the Queen actor runtime work of 2026-10-09: the competitor study, the seven improvements of gHashTag/trios#1712 with the numbers posted on gHashTag/t27#7851, and what the actor decision card would cost on the bench FPGA. English and Russian bodies. Every number is taken from a merged PR, a benchmark comment or the FPGA provenance in #1582, and each is labelled simulated or measured as its source labels it.

The post (actors-beat-the-loop-on-recovery-not-everywhere, dated 2026-10-10, published: true):

The widget: a new recording, public/term/t27c-queen-netlink-fence/, in a terminal block in body and ruBody.

  • Seven commands against gHashTag/t27 master c6237a7: t27c test-report specs/queen/netlink.t27 passes 9 of 9 with 0 vacuous; a one-line mutation moves the self-fence from 15 s to the 20 s lease; test-report then fails exactly a_node_stops_before_any_peer_can_see_it_down; git checkout restores the same sha256.
  • It was made with the exported functions of apps/website/scripts/t27c-mutation-casts.mjs (events, cast text, page, card, gallery row) from a scratch driver that is not committed, so the format matches the published recordings and no recorder code changes. Two differences from that recorder, both visible on the page: the mutation uses perl -pi instead of GNU sed -i (the host is macOS), and the card was rendered with the locally installed Chromium build.
  • The t27c 0.5.0 build used predates t27c: test-report exits non-zero on FAIL or BLOCKED (Closes #7370) t27#8152, so test-report still exits 0 on a FAIL; the caption says so.

No og-art triptych. image_edit (GPT Image 2.5 via Kie) answered "Credits insufficient"; FAL and Replicate are locked. Nothing is drawn and nothing is faked. The post stays on the fallback card until art lands in gHashTag/ghashtag.github.io, tracked with the other posts in gHashTag/ghashtag.github.io#45.

After merge: the trinity dispatch to the apex is dead (GHIO_TOKEN), so publish with gh workflow run publish-website.yml --repo gHashTag/ghashtag.github.io.

{
  "version": 1,
  "head_sha": "8455bc372b9fe79e83e64d5c78b1e6adf0f63ce0",
  "summary": "A t27.ai post on the Queen actor runtime: on one seeded input the actors cut the worst recovery from 1181 s to 27 s, but seven measured changes show where they lose, and the decision card as written costs 26,737 LUT on an XC7A200T. It carries a new netlink.t27 recording in both languages.",
  "changes": [
    "apps/website/src/data/blog/bodies/actors-beat-the-loop-on-recovery-not-everywhere.ts: English and Russian bodies with 13 sections, 3 tables, 2 lists and a terminal block each; the simulation gate section carries the lane 5 numbers.",
    "apps/website/src/data/blog/index.ts and posts.ts: the index entry with 29 receipts and 6 open questions, and the import and map line.",
    "apps/website/public/term/t27c-queen-netlink-fence/: session.cast, meta.json, index.html and card.png of a new recording of t27c test-report on specs/queen/netlink.t27 and its fence mutant.",
    "apps/website/public/term/index.html: the new recording listed first, 106 recordings."
  ],
  "tests": [
    {
      "command": "python3 -m unittest discover -s scripts -p 'test_pr_blog*.py'",
      "status": "passed",
      "result": "74 tests OK on this head",
      "evidence": "local run on this head, 2026-10-09 UTC"
    },
    {
      "command": "python3 scripts/pr_blog_report.py validate --event <this PR's event from the GitHub API> --files <its changed files> --posts <its changed bodies> --output <tmp>",
      "status": "passed",
      "result": "exit 0: the work report validates and post_widget.t27 finds a widget in body and ruBody",
      "evidence": "local run against this PR's API data right after it was opened, 2026-10-09 UTC"
    },
    {
      "command": "t27c test-report apps/website/specs/policy/post_widget.t27 (t27c 0.5.0)",
      "status": "passed",
      "result": "5 of 5 tests pass",
      "evidence": "local run, 2026-10-09 UTC"
    },
    {
      "command": "bun build apps/website/src/data/blog/posts.ts, then import the bundle and inspect the new post",
      "status": "passed",
      "result": "the post is first of 100, published, with 1 terminal block in each language, the same block kinds in both, and no ragged table row",
      "evidence": "local run on this head, 2026-10-09 UTC"
    },
    {
      "command": "the recording's own checks (problemsOf from scripts/t27c-mutation-casts.mjs)",
      "status": "passed",
      "result": "all 7 commands exit 0, the base passes 9 of 9, the mutant fails exactly a_node_stops_before_any_peer_can_see_it_down, the diff is one line, the hash after git checkout equals the hash before",
      "evidence": "public/term/t27c-queen-netlink-fence/meta.json and session.cast in this PR"
    },
    {
      "command": "gitleaks protect --staged",
      "status": "passed",
      "result": "no leaks found in the staged change",
      "evidence": "local run before the commit, 2026-10-09 UTC"
    },
    {
      "command": "npm run build and the website-checks gate",
      "status": "not_run",
      "result": "not run locally because the sparse clone has no node_modules; the bodies were parsed by bun build instead",
      "evidence": "the website-checks workflow on this pull request runs them"
    }
  ],
  "limitations": [
    "The production merge, trios#1730, is open; the post says nothing runs in production and must be updated if that changes before it is published.",
    "No og-art triptych: every image provider refused, so the post shows the fallback card until art lands in ghashtag.github.io.",
    "Most runtime numbers are simulations with assumed fault rates; the post labels each one, and nothing in it runs in production.",
    "The FPGA numbers are yosys synthesis with an assumed 333-bit actor record; no place-and-route, no clock rate, nothing on silicon.",
    "The recording was made with a t27c 0.5.0 build that predates t27#8152, so its mutant run exits 0 with one FAIL line.",
    "The post is about 3,200 words in English, longer than the blog-post skill's 1,000 to 1,500, because it covers the study, seven lanes and the FPGA study together."
  ],
  "tags": [
    "Queen",
    "Actors",
    "Measurement",
    "FPGA"
  ],
  "blog": {
    "title": "Actors beat the loop on recovery, not everywhere",
    "summary": "On one seeded input the Queen's actor runtime cuts the worst recovery from 1181 s to 27 s, but seven measured changes show two losses, one deliberate throughput price and a dispatcher gain that mostly came from a time limit.",
    "outline": [
      "The Queen moved to actors under a rule: no swap without an MVP, tests and a benchmark on the same input, and a competitor study named three gaps.",
      "Seven changes landed behind flags, each with a t27 spec and a benchmark against the code it would replace, and each with a stated price.",
      "A seeded simulation gate caught every re-created defect and found a real bug first; nothing runs in production yet, and the FPGA study is synthesis only."
    ],
    "cast": "term/t27c-queen-netlink-fence/session.cast",
    "reproduce": [
      "t27c test-report specs/queen/netlink.t27"
    ]
  }
}

🤖 Generated with Claude Code

…red changes to the Queen runtime (Closes #1582)

A post on the Queen actor runtime work of 2026-10-09: the competitor study, the seven
improvements of gHashTag/trios#1712 with the numbers posted on gHashTag/t27#7851, and what
the actor decision card would cost on the bench FPGA (yosys synthesis only). English and
Russian bodies; simulated and measured numbers are labelled as their sources label them.

- bodies/actors-beat-the-loop-on-recovery-not-everywhere.ts, its index.ts entry and the
  posts.ts import and map line.
- public/term/t27c-queen-netlink-fence/: a new recording, made with the exported functions
  of scripts/t27c-mutation-casts.mjs. t27c test-report passes netlink.t27 9 of 9; moving
  the self-fence from 15 s to the 20 s lease fails exactly
  a_node_stops_before_any_peer_can_see_it_down; git restores the spec. Listed first in
  public/term/index.html.
- The post carries the recording as a terminal block in body and ruBody
  (specs/policy/post_widget.t27).

No og-art triptych: every image provider refused (Kie "Credits insufficient", FAL and
Replicate locked), so none is drawn and none is faked; see gHashTag/ghashtag.github.io#45.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag gHashTag changed the title blog: actors beat the loop on recovery, not everywhere -- seven measured changes to the Queen runtime (Closes #1582) feat(website): blog post -- actors beat the loop on recovery, not everywhere, seven measured changes to the Queen runtime (Closes #1582) Oct 9, 2026
@gHashTag
gHashTag marked this pull request as draft October 9, 2026 19:53
…1582)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the status:in-progress 🔵 Agent working label Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

X Brain Health Check

Score: 100.0/100
Status: 🟢 HEALTHY
Threshold: 80/100

X Brain is above merge threshold

gHashTag and others added 2 commits October 10, 2026 03:42
…ages (Refs #1582)

Lane 5 of gHashTag/trios#1712 landed (gHashTag/trios#1726 into actors-next, spec
gHashTag/t27#8292 and #8306; numbers on gHashTag/t27#7851). The post's pending section now
gives them: 18 cases of 10,000 steps, each run twice, in 33.5 s on CI with 0 divergences;
four defects put back into the source and caught from a seed; and the real runtime bug the
gate found first (a turn run for a process that had already exited, fixed with a
regression test). The gate's limits (no keyed actors or adaptive pool in its world, no
nightly run) replace "numbers not posted yet" in the open questions and the limits list.
The production merge, gHashTag/trios#1730, is named as open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…efs #1582)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

🧪 Brain Stress Test Results

Tests: 261/261 passed, 0 leaked
Status: 🟢 PASS
Gate: every test in zig build test-brain-stress passes and none leaks

gHashTag and others added 3 commits October 10, 2026 21:00
…f flags, and gives the quiet-host telemetry cost (Refs #1582)

trios#1730 merged actors-next into the production branch on 2026-10-10 at
13:38Z, so "nothing runs in production; #1730 is open" was no longer true.
The telemetry paragraph now carries the quiet-host A/B from t27#7851
(+3.3% CPU per message, median of 21 rounds) and the base-cost rise from
3.7 to 4.5 us that the same run found, tracked in trios#1743.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sage on the next batch, and telemetry at the edge of its target (Refs #1582)

trios#1746 found the 4.5 us predates the seven lanes: a card looked up again
on every call by a long key (44% of the time) and slot_of asked three times
a message. The post said lanes 2, 6 and 7 were the likely cause; the profile
says they were not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… in production (trios#1754) and the telemetry cut (trios#1755) (Refs #1582)

Conflicts: blog/posts.ts keeps both new posts; term/index.html keeps main's
newer cast first (recorded 2026-10-10 16:46 against 2026-10-09 19:40), as the
cast generator sorts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag marked this pull request as ready for review October 10, 2026 17:16
@tri-claw

tri-claw Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Summary by t27-bees

This PR adds a blog post about the Queen actor runtime improvements with an accompanying terminal recording widget. The post presents seven measured changes showing where actors beat the loop on recovery and where they don't, plus an FPGA synthesis analysis. The terminal recording demonstrates a fencing behavior change in the netlink spec.

Worth a look

  • apps/website/src/data/blog/bodies/actors-beat-the-loop-on-recovery-not-everywhere.ts (diff cut): The blog body diff was not shown. Cannot verify that all cited numbers match their sources (merged PRs, benchmark comments, FPGA provenance) or that "simulated" vs "measured" labels are correctly applied throughout.

  • apps/website/src/data/blog/index.ts and apps/website/src/data/blog/posts.ts (diffs cut): The blog index and posts list modifications were not shown. Cannot confirm the post is correctly registered, dated 2026-10-10, marked published: true, and appears in the correct order.

  • apps/website/public/term/t27c-queen-netlink-fence/card.png (binary): The social card image is a new binary file with no textual diff. If the image is corrupt, missing, or doesn't match the 1200×630 og:image dimensions declared in index.html, social previews will break.

  • apps/website/public/term/t27c-queen-netlink-fence/meta.json:14 — "post": "https://t27.ai/#/blog/actors-beat-the-loop-on-recovery-not-everywhere": Hardcodes the blog slug. If the post's slug or routing changes, the "Read the post" link from the recording page will 404.

  • apps/website/public/term/index.html:50 — New recording inserted after the 2026-10-10 entry: The grid shows the 2026-10-10 recording first, then this 2026-10-09 recording. Order is correct (newest first), but verify the CSS grid doesn't reorder unexpectedly on mobile/viewport changes.


Read: 8 files, +1080 -0, the whole diff up to 60000 characters (the rest was not read). Head 8455bc3. Model: openai-compatible/nvidia/nemotron-3-ultra-550b-a55b. Commands: @t27-bees review | summary | help | pause | resume. Free for every repository.

…d fix an unescaped quote in the actors post (Refs #1582)

The merge of main in 3de6fae committed index.ts with its conflict markers:
the merge output was cut short and the file was never checked for markers.
This keeps both new posts, ours first, then two-keys-one-verdict from main.
The actors entry's receipts mark trios#1730 MERGED and add #1754 and #1746.
Its open questions now say what is true today: everything is in production
behind off flags, and the telemetry figures are measured, no longer estimated.

The body had "telemetry's" inside a single-quoted string, which broke the
string. Both files and posts.ts now pass `bun build --no-bundle`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) October 10, 2026 18:07
@gHashTag
gHashTag disabled auto-merge October 10, 2026 18:08
…, then rebuild-only-what-changed) (Refs #1582)

Every conflicted file was listed, no markers are left, and index.ts, posts.ts
and the body pass bun build --no-bundle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag merged commit aa30f37 into main Oct 10, 2026
25 checks passed
@github-actions github-actions Bot added status:completed Done and removed status:in-progress 🔵 Agent working labels Oct 10, 2026
github-actions Bot added a commit that referenced this pull request Oct 10, 2026
feat(website): blog post -- actors beat the loop on recovery, not everywhere, seven measured changes to the Queen runtime (Closes #1582) (#1583)

* blog: actors beat the loop on recovery, not everywhere -- seven measured changes to the Queen runtime (Closes #1582)

A post on the Queen actor runtime work of 2026-10-09: the competitor study, the seven
improvements of gHashTag/trios#1712 with the numbers posted on gHashTag/t27#7851, and what
the actor decision card would cost on the bench FPGA (yosys synthesis only). English and
Russian bodies; simulated and measured numbers are labelled as their sources label them.

- bodies/actors-beat-the-loop-on-recovery-not-everywhere.ts, its index.ts entry and the
  posts.ts import and map line.
- public/term/t27c-queen-netlink-fence/: a new recording, made with the exported functions
  of scripts/t27c-mutation-casts.mjs. t27c test-report passes netlink.t27 9 of 9; moving
  the self-fence from 15 s to the 20 s lease fails exactly
  a_node_stops_before_any_peer_can_see_it_down; git restores the spec. Listed first in
  public/term/index.html.
- The post carries the recording as a terminal block in body and ruBody
  (specs/policy/post_widget.t27).

No og-art triptych: every image provider refused (Kie "Credits insufficient", FAL and
Replicate locked), so none is drawn and none is faked; see gHashTag/ghashtag.github.io#45.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* blog: three Russian phrasings in the actors post read naturally (Refs #1582)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* blog: the simulation gate's numbers in the actors post, in both languages (Refs #1582)

Lane 5 of gHashTag/trios#1712 landed (gHashTag/trios#1726 into actors-next, spec
gHashTag/t27#8292 and #8306; numbers on gHashTag/t27#7851). The post's pending section now
gives them: 18 cases of 10,000 steps, each run twice, in 33.5 s on CI with 0 divergences;
four defects put back into the source and caught from a seed; and the real runtime bug the
gate found first (a turn run for a process that had already exited, fixed with a
regression test). The gate's limits (no keyed actors or adaptive pool in its world, no
nightly run) replace "numbers not posted yet" in the open questions and the limits list.
The production merge, gHashTag/trios#1730, is named as open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* blog: say plainly that the gate found the last defect in its table (Refs #1582)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* blog: the actors post says the batch merged into production behind off flags, and gives the quiet-host telemetry cost (Refs #1582)

trios#1730 merged actors-next into the production branch on 2026-10-10 at
13:38Z, so "nothing runs in production; #1730 is open" was no longer true.
The telemetry paragraph now carries the quiet-host A/B from t27#7851
(+3.3% CPU per message, median of 21 rounds) and the base-cost rise from
3.7 to 4.5 us that the same run found, tracked in trios#1743.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* blog: the actors post gives the cost profile's answer - 1.55 us a message on the next batch, and telemetry at the edge of its target (Refs #1582)

trios#1746 found the 4.5 us predates the seven lanes: a card looked up again
on every call by a long key (44% of the time) and slot_of asked three times
a message. The post said lanes 2, 6 and 7 were the likely cause; the profile
says they were not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* blog: resolve the index.ts conflict the main merge left committed, and fix an unescaped quote in the actors post (Refs #1582)

The merge of main in 3de6fae committed index.ts with its conflict markers:
the merge output was cut short and the file was never checked for markers.
This keeps both new posts, ours first, then two-keys-one-verdict from main.
The actors entry's receipts mark trios#1730 MERGED and add #1754 and #1746.
Its open questions now say what is true today: everything is in production
behind off flags, and the telemetry figures are measured, no longer estimated.

The body had "telemetry's" inside a single-quoted string, which broke the
string. Both files and posts.ts now pass `bun build --no-bundle`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Blog: Queen actors against the loop -- seven measured changes, and what the decision card costs on an FPGA

1 participant