From 6b0c02bfca17bc8053d482b4e1f3793277e75161 Mon Sep 17 00:00:00 2001 From: brickerP Date: Thu, 15 Oct 2026 23:16:37 +0800 Subject: [PATCH] Replace the open-ledger card with the Agent Stack Index Exp. 03 now opens the live Agent Stack Index report (brickerp.github.io/agent-stack-index), with its open data and code as a second link. The ledger-mcp link leaves the Also line. verify-static asserts the new card's destinations and that the homepage no longer links either ledger Worker. --- index.html | 13 ++++++++----- scripts/verify-static.mjs | 7 +++++++ src/pens.ts | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index 77b6cc9..7854333 100644 --- a/index.html +++ b/index.html @@ -465,10 +465,13 @@

Beijing — Endless S
  • -

    Exp. 03 · Cloudflare Workerslive demo

    -

    open-ledger

    -

    Every fill hash-chained into an append-only ledger · verify it in the browser

    - Open the ledger ↗ +

    Exp. 03 · open research · monthly10 models · 8 labs

    +

    Agent Stack Index

    +

    What AI coding models pick when they start a project from scratch · 29 categories · 2,670 answers · open data

    +
  • @@ -489,7 +492,7 @@

    Agent platform & revenue backendask me about this

  • -

    Also: ledger-mcp ↗ · full programme → · resume (PDF)

    +

    Also: full programme → · resume (PDF)

    diff --git a/scripts/verify-static.mjs b/scripts/verify-static.mjs index a1b4115..bca66dc 100644 --- a/scripts/verify-static.mjs +++ b/scripts/verify-static.mjs @@ -627,6 +627,13 @@ for (const [, href, label] of rootHtml.matchAll(/]*href=["']([^"']+)["'][ assert.match(rootHtml, /

    /, 'index.html: the Cookiy entry must open user-research-skill, its most-starred public repository'); assert.doesNotMatch(rootHtml, /npmjs\.com\/package\/cookiy/, 'index.html: the Cookiy entry must not stop at a package page'); assert.doesNotMatch(rootHtml, /href=["']\/hire\/["']/, 'index.html: /hire/ only redirects back to #contact and must not be linked from the homepage'); +assert.doesNotMatch(rootHtml, /open-ledger|ledger-mcp/, 'index.html: the retired ledger Workers must not be linked from the homepage'); +assert.match( + rootHtml, + /

    Agent Stack Index<\/span><\/a><\/h3>/, + 'index.html: Exp. 03 must open the live Agent Stack Index report', +); +assert.match(rootHtml, /]*href=["']https:\/\/github\.com\/BrickerP\/agent-stack-index["']/, 'index.html: Exp. 03 must link its open data and code'); // Fig. 2: a seeded random process with a stop rule, measured over 999 // futures — canvases for the drawing, the numbers printed from the sim, diff --git a/src/pens.ts b/src/pens.ts index 326666d..7c4706b 100644 --- a/src/pens.ts +++ b/src/pens.ts @@ -57,7 +57,7 @@ const HANDS: ReadonlyArray = [ { seed: 23, from: -2, to: 6, y: 5.6, tilt: 1.6, amp: 0.9, tremble: 0.2, w: 3.2, floor: 0.22, flick: 1.2 }, { seed: 24, from: 10, to: -3, y: 12.6, tilt: -1.4, amp: 0.8, tremble: 0.3, w: 2.2, floor: 0.2 }, ], - // 2 · open-ledger — wavy, and the second pass leaves with a curl + // 2 · Stack Index — wavy, and the second pass leaves with a curl [ { seed: 35, from: -5, to: 4, y: 5.4, tilt: 0.4, amp: 1.5, tremble: 0.5, w: 2.8, floor: 0.3, hook: 0.8 }, { seed: 36, from: 6, to: -8, y: 11.4, tilt: -0.6, amp: 1.1, tremble: 0.4, w: 2.0, floor: 0.28, loop: true },