From 129f9e20e369a451c12a12a5eec7f9ee52e736b9 Mon Sep 17 00:00:00 2001
From: Edy Cu
Date: Thu, 10 Sep 2026 00:02:17 +0700
Subject: [PATCH 1/3] fix(instrument): a late chain read must not steal the
controls
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The page reads the demo agent's window once on arrival, unprompted, and switches the
instrument to the live chain if it is open — the real thing beating a replay. That read
lands a few hundred milliseconds after paint, and it used to win unconditionally, so it
also won against a visitor who had already started working the replay: the controls
unmounted under a click already in flight.
It was invisible for as long as the demo agent was lapsed, because the read answered
"closed" and changed nothing. Restarting the demo made it a broken hero, and the E2E suite
found it on a branch that touches no UI code at all — green at 16:08Z, red at 16:20Z, the
restart in between.
So the arrival read is now distinguished from a request. Anything the visitor asks for —
the tab, an address, the demo-agent button, a connected wallet — still switches. An
unasked-for read stops at the first control they touch.
---
packages/nextjs/app/page.tsx | 19 +++++++--
.../nextjs/components/landing/Instrument.tsx | 39 ++++++++++++++++---
2 files changed, 49 insertions(+), 9 deletions(-)
diff --git a/packages/nextjs/app/page.tsx b/packages/nextjs/app/page.tsx
index 0a6c5da..0876381 100644
--- a/packages/nextjs/app/page.tsx
+++ b/packages/nextjs/app/page.tsx
@@ -38,6 +38,9 @@ const Home: NextPage = () => {
const live = useLiveWindow();
useReveal([live.valid, live.status !== null]);
const checkedDemo = useRef(false);
+ // The address the arrival read put there on nobody's behalf. Anything the visitor asks for
+ // clears it, so the instrument can tell "the chain happened to be open" from "show me the chain".
+ const [arrivalAgent, setArrivalAgent] = useState(null);
// One read on arrival: if the demo agent's window is open on chain right now, the real thing
// beats a replay, so the instrument starts live. If it is closed, the recorded run stays.
@@ -48,15 +51,23 @@ const Home: NextPage = () => {
fetch(`/api/retainer/status?agent=${DEMO_AGENT}`, { cache: "no-store", signal: ctrl.signal })
.then(r => (r.ok ? r.json() : null))
.then(body => {
- if (body?.hasAccess && !live.agent) live.setAgent(DEMO_AGENT);
+ if (body?.hasAccess && !live.agent) {
+ live.setAgent(DEMO_AGENT);
+ setArrivalAgent(DEMO_AGENT);
+ }
})
.catch(() => {});
return () => ctrl.abort();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
+ const askForLive = (agent: string) => {
+ setArrivalAgent(null);
+ live.setAgent(agent);
+ };
+
const watchDemo = () => {
- live.setAgent(DEMO_AGENT);
+ askForLive(DEMO_AGENT);
if (window.innerWidth < 1024) {
document.getElementById("instrument")?.scrollIntoView({ behavior: "smooth", block: "start" });
}
@@ -91,7 +102,7 @@ const Home: NextPage = () => {
-
+
@@ -176,7 +187,7 @@ const Home: NextPage = () => {
{!live.valid && (
- live.setAgent(DEMO_AGENT)}>
+ askForLive(DEMO_AGENT)}>
Watch the demo agent
)}
diff --git a/packages/nextjs/components/landing/Instrument.tsx b/packages/nextjs/components/landing/Instrument.tsx
index 48d3502..3f54d51 100644
--- a/packages/nextjs/components/landing/Instrument.tsx
+++ b/packages/nextjs/components/landing/Instrument.tsx
@@ -51,7 +51,16 @@ function phaseForKey(k: Key): number {
return k.i === RECORDED_RUN.length - 1 ? PHASES.length - 1 : (k.i + 1) * 3; // next fill, or closed
}
-export function Instrument({ live, initialMode = "replay" }: { live: LiveWindow; initialMode?: Mode }) {
+export function Instrument({
+ live,
+ initialMode = "replay",
+ fromArrival = false,
+}: {
+ live: LiveWindow;
+ initialMode?: Mode;
+ /** True while the only reason live data exists is the page's own arrival read — nobody asked. */
+ fromArrival?: boolean;
+}) {
const [mode, setMode] = useState(initialMode);
const [reduced, setReduced] = useState(false);
const [playing, setPlaying] = useState(false);
@@ -68,6 +77,8 @@ export function Instrument({ live, initialMode = "replay" }: { live: LiveWindow;
const onScreen = useRef(true);
const lastAnnounced = useRef(-1);
const stepFireTimer = useRef | null>(null);
+ /** Set the moment the visitor works a control. From then on the mode is theirs, not ours. */
+ const engaged = useRef(false);
// Reduced motion decides autoplay once, at mount.
useEffect(() => {
@@ -83,9 +94,18 @@ export function Instrument({ live, initialMode = "replay" }: { live: LiveWindow;
}, []);
// An address, the demo agent or a wallet means the visitor wants the chain.
+ //
+ // With one exception, and it is the whole reason this is not a one-liner: the page also reads
+ // the demo agent on arrival, unasked, and that read lands a few hundred milliseconds late. If
+ // the window happens to be open it used to switch the mode out from under whoever was already
+ // working the replay — the controls unmount mid-click. Invisible for as long as the demo agent
+ // was lapsed, and a broken hero the day it was not. An unasked-for read never wins against a
+ // visitor who has taken hold of the instrument; anything they asked for still does.
useEffect(() => {
- if (live.valid) setMode("live");
- }, [live.valid]);
+ if (!live.valid) return;
+ if (fromArrival && engaged.current) return;
+ setMode("live");
+ }, [live.valid, fromArrival]);
// Pause when the instrument is off screen or the tab is hidden — the replay is not a CPU tax.
useEffect(() => {
@@ -192,10 +212,12 @@ export function Instrument({ live, initialMode = "replay" }: { live: LiveWindow;
}, []);
const step = () => {
+ engaged.current = true;
setPlaying(false);
showKey((stepIdx + 1) % KEYS.length);
};
const togglePlay = () => {
+ engaged.current = true;
if (playing) {
setPlaying(false);
// Land on the nearest key so Step continues from here.
@@ -210,6 +232,7 @@ export function Instrument({ live, initialMode = "replay" }: { live: LiveWindow;
};
const switchMode = (m: Mode) => {
+ engaged.current = true;
setMode(m);
setAnnounce(m === "replay" ? "Showing the recorded run." : "Showing the live chain.");
if (m === "live" && !live.valid) setTimeout(() => inputRef.current?.focus(), 0);
@@ -460,7 +483,10 @@ export function Instrument({ live, initialMode = "replay" }: { live: LiveWindow;
className="rt-input"
placeholder="0x… agent address"
value={live.agent}
- onChange={e => live.setAgent(e.target.value)}
+ onChange={e => {
+ engaged.current = true;
+ live.setAgent(e.target.value);
+ }}
spellCheck={false}
autoComplete="off"
inputMode="text"
@@ -468,7 +494,10 @@ export function Instrument({ live, initialMode = "replay" }: { live: LiveWindow;
live.setAgent(DEMO_AGENT)}
+ onClick={() => {
+ engaged.current = true;
+ live.setAgent(DEMO_AGENT);
+ }}
>
Watch the demo agent
From 514f257d8d3d3e8b71c887fad4ce82a6af4e14cb Mon Sep 17 00:00:00 2001
From: Edy Cu
Date: Thu, 10 Sep 2026 00:02:26 +0700
Subject: [PATCH 2/3] test(landing): pin the mode against the chain, not to it
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This file's own docstring promised "nothing here depends on the chain answering", and three
tests quietly did: they assumed a cold visitor lands on the recorded run, which is only true
while the demo agent's window is closed. That assumption is what turned green red with no
code change between the runs.
The arrival read is stubbed now, both ways round, so the suite decides what the chain says.
Two tests are added: the instrument opens live when the window is open and nobody has
touched it, and — the regression itself — a late read never pulls the mode away from a
visitor already working the replay.
---
e2e/landing.spec.ts | 87 ++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 86 insertions(+), 1 deletion(-)
diff --git a/e2e/landing.spec.ts b/e2e/landing.spec.ts
index cfc8734..dbffb1d 100644
--- a/e2e/landing.spec.ts
+++ b/e2e/landing.spec.ts
@@ -1,4 +1,4 @@
-import { expect, test } from "@playwright/test";
+import { type Page, expect, test } from "@playwright/test";
import { version } from "../package.json";
/**
@@ -13,6 +13,50 @@ import { version } from "../package.json";
const CLAIM = "renews itself";
+/**
+ * The status the page reads on arrival, stubbed.
+ *
+ * The landing page asks the chain once, unprompted, whether the demo agent's window is open, and
+ * behaves differently depending on the answer. Left unstubbed that makes these tests a function of
+ * what testnet happens to be doing at the minute they run — which is exactly how a green suite went
+ * red the moment the demo was restarted, with no code change between the two runs. So the answer is
+ * supplied here, both ways round, and the chain gets to decide nothing.
+ */
+const statusBody = (open: boolean) => ({
+ agent: "0xD14CA86A1483e9b2147a7B86fB74D437d3d2Cc66",
+ contract: "0x433050c9bd203FBdd49FAB6b5E20eD3E1FB2a931",
+ hasAccess: open,
+ expiresAt: open ? Math.floor(Date.now() / 1000) + 1800 : 0,
+ secondsRemaining: open ? 1800 : 0,
+ periodSeconds: open ? 3600 : 0,
+ pricePerPeriodTinybar: "100000000",
+ balanceTinybar: open ? "17600000000" : "0",
+ periodsFunded: open ? 176 : 0,
+ active: open,
+ nextRenewalSchedule: open
+ ? "0x00000000000000000000000000000000009F56b5"
+ : "0x0000000000000000000000000000000000000000",
+ renewalsReserveCanArm: open ? 176 : 0,
+ usage: { used: 0, allowance: 5, remaining: open ? 5 : 0 },
+ unavailable: [],
+ now: Math.floor(Date.now() / 1000),
+});
+
+/** Answer every status read with `open`, after `delayMs`. Resolves the count of reads served. */
+async function stubStatus(page: Page, open: boolean, delayMs = 0) {
+ const served = { count: 0 };
+ await page.route("**/api/retainer/status**", async route => {
+ if (delayMs) await new Promise(r => setTimeout(r, delayMs));
+ served.count += 1;
+ await route.fulfill({
+ status: 200,
+ contentType: "application/json",
+ body: JSON.stringify(statusBody(open)),
+ });
+ });
+ return served;
+}
+
test.describe("/ — the landing page a cold visitor gets", () => {
test("carries exactly one h1 with the claim, and the instrument above the fold", async ({
page,
@@ -39,6 +83,9 @@ test.describe("/ — the landing page a cold visitor gets", () => {
}) => {
await page.goto("/");
const instrument = page.getByTestId("instrument");
+ // Ask for the recorded run rather than assuming it is what a cold visitor gets: when the demo
+ // agent's window is open on chain, the page legitimately opens on the live tab instead.
+ await instrument.getByRole("tab", { name: "Recorded run" }).click();
await expect(instrument).toHaveAttribute("data-mode", "replay");
await expect(
instrument.getByText(/REPLAY · 2026-09-07 · 0\.0\.10406083/),
@@ -79,6 +126,7 @@ test.describe("/ — the landing page a cold visitor gets", () => {
}) => {
const context = await browser.newContext({ reducedMotion: "reduce" });
const page = await context.newPage();
+ await stubStatus(page, false);
await page.goto("/");
const play = page
.getByTestId("instrument")
@@ -102,6 +150,43 @@ test.describe("/ — the landing page a cold visitor gets", () => {
).toBeLessThanOrEqual(1);
});
+ test("opens on the live chain when the demo agent's window is open and nobody has touched it", async ({
+ page,
+ }) => {
+ await stubStatus(page, true);
+ await page.goto("/");
+ const instrument = page.getByTestId("instrument");
+ await expect(instrument).toHaveAttribute("data-mode", "live");
+ });
+
+ /**
+ * The regression this file exists to prevent from recurring.
+ *
+ * The arrival read lands a few hundred milliseconds after paint. While the demo agent was lapsed
+ * it answered "closed" and changed nothing, so nothing here ever ran against the other branch.
+ * Once the demo was restarted the same read started switching the instrument to live *after* a
+ * visitor had begun working the replay — the controls unmounted under a click already in flight
+ * (`element is not stable`). The suite caught it, on a branch that touched no UI code at all.
+ */
+ test("a late arrival read never pulls the mode away from a visitor already working the replay", async ({
+ page,
+ }) => {
+ const served = await stubStatus(page, true, 1200);
+ await page.goto("/");
+ const instrument = page.getByTestId("instrument");
+
+ // Take hold of the instrument before the read can land.
+ await instrument.getByRole("tab", { name: "Recorded run" }).click();
+ await expect(instrument).toHaveAttribute("data-mode", "replay");
+
+ // Now let it land — and keep landing, because the live window polls.
+ await expect.poll(() => served.count, { timeout: 15_000 }).toBeGreaterThan(0);
+ await expect(instrument).toHaveAttribute("data-mode", "replay");
+ await expect(
+ instrument.getByRole("button", { name: /Pause|Play/ }),
+ ).toBeVisible();
+ });
+
test("has the landmarks and the version stamp a real page has", async ({
page,
}) => {
From 29959afc6018e7ebd64d9bdb4a11488571212cef Mon Sep 17 00:00:00 2001
From: Edy Cu
Date: Thu, 10 Sep 2026 00:06:47 +0700
Subject: [PATCH 3/3] fix(docs): say what the deployment does now, not what it
did on Monday
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Re-terming the demo to hourly periods left four claims behind that a judge can falsify with
the one curl the README itself hands them:
- README, JUDGE and docs/proof all described 90-second periods in the present tense. The
live status endpoint answers `periodSeconds: 3600`. Each now dates the old setting and
names the endpoint as the live answer, and the README paragraph says the thing that does
not age: the gas reserve is the clock, and the period length turns it into a duration.
- RUNBOOK told you to expect 40 contract tests. There are 64, as README and JUDGE both
already said.
- DEMO.md called n=30 "all the renewals this deployment has ever armed". It was, on the run
it is dated with; the deployment has kept renewing since, so the sentence now says so.
The social card said 39 unattended renewals. The mirror node says 46 executions across the
three deployments, and it climbs every hour — so the card, the og:image alt and the
generators now read 46+, a floor that cannot go stale, and the card's ?v= is bumped because
platforms cache it by URL. The og:description drops the count entirely.
---
DEMO.md | 8 +++++---
JUDGE.md | 8 +++++---
README.md | 9 +++++++--
RUNBOOK.md | 2 +-
docs/proof.md | 3 ++-
packages/nextjs/app/layout.tsx | 2 +-
packages/nextjs/public/og-card.png | Bin 162839 -> 219181 bytes
.../nextjs/utils/scaffold-hbar/getMetadata.ts | 4 ++--
8 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/DEMO.md b/DEMO.md
index 8915641..f8cd329 100644
--- a/DEMO.md
+++ b/DEMO.md
@@ -144,9 +144,11 @@ one run.
disagree at small n. At n = 30 a p95 is close to the second-largest sample — a weak tail
estimate. Treat 151 ms as "the tail we have observed", not a service-level guarantee.
-**The drift sample is a population, not a sample.** All 30 renewals this deployment has ever
-armed are in it, because the contract emits `RenewalScheduled(agent, schedule, firesAt)` and
-every one of those pairs to a `scheduled=true` CONTRACTCALL. Nothing was selected out.
+**The drift sample is a population, not a sample.** All 30 renewals this deployment had armed as
+of the run above are in it, because the contract emits `RenewalScheduled(agent, schedule, firesAt)`
+and every one of those pairs to a `scheduled=true` CONTRACTCALL. Nothing was selected out. The
+deployment keeps renewing, so a later `yarn bench` reports a larger n — the table is the run it is
+dated with, not a running total.
**Disclosed seeding.** That traffic is operator-generated: every renewal came from subscriptions
we funded ourselves on testnet, at a demo period of 90 seconds. There are no external users in
diff --git a/JUDGE.md b/JUDGE.md
index 7a63564..0e0c950 100644
--- a/JUDGE.md
+++ b/JUDGE.md
@@ -163,9 +163,11 @@ Four real ones. None of them is fixed here.
balance; neither schedules anything. Opening a subscription again is the only way back —
`subscribe()`, or the `subscribeFor()` the server calls when the agent pays the next 402. So
the unattended part runs exactly as far as the money does: until the subscriber's balance or
- the seller's gas reserve runs dry, and then someone outside has to send a transaction. At the
- demo settings — 90-second periods, 2 ℏ held back per armed renewal — that is minutes, not
- months.
+ the seller's gas reserve runs dry, and then someone outside has to send a transaction. With
+ 2 ℏ held back per armed renewal, the period length decides how long that takes: at the
+ 90-second periods the demo ran until 2026-09-09, minutes; at the hourly periods it runs now,
+ days. Either way it is the reserve that ends it, and `periodSeconds` in `/api/retainer/status`
+ says which setting is live.
Also true: not audited, testnet only, and `RENEWAL_COST_ESTIMATE` is an explicit estimate — a
contract cannot know a future network fee.
diff --git a/README.md b/README.md
index 74959bf..95bc82e 100644
--- a/README.md
+++ b/README.md
@@ -565,8 +565,13 @@ runs exactly as far as the money does: until the subscriber's balance or the sel
reserve runs dry, and no further. Nothing on-chain is holding a wake-up call after a lapse, so
the restart has to come from outside — the agent paying again, or the seller topping up
`fundGasReserve()`, which nothing in the contract does on its own. That boundary is easy to
-miss at the demo settings on the current deployment: 90-second periods against a reserve that
-holds back 2 ℏ per armed renewal, so a funded Retainer burns down in minutes rather than months.
+miss, because it is the gas reserve and not the subscription that ends up being the clock: a
+renewal that re-arms costs about 1.6 ℏ of gas to collect 1 ℏ of revenue, and 2 ℏ is held back per
+armed renewal while it is pending. The period length turns that into a duration. The demo ran
+90-second periods until 2026-09-09 and burned down in minutes; it runs hourly periods now and the
+same reserve lasts days. `packages/hardhat/scripts/retermAndRestart.ts` derives both the period and
+the reserve from the date the demo has to survive to, rather than from a number someone picked, and
+`periodSeconds` in `/api/retainer/status` is the live answer for whatever it is set to today.
## 📐 Reproduce the numbers
diff --git a/RUNBOOK.md b/RUNBOOK.md
index 39ca63e..e709703 100644
--- a/RUNBOOK.md
+++ b/RUNBOOK.md
@@ -119,7 +119,7 @@ typings generated into `packages/hardhat/typechain-types`.
yarn hardhat:test
```
-Expect **40 passing**. The suite takes roughly two minutes; each test redeploys the contract
+Expect **64 passing**. The suite takes roughly two minutes; each test redeploys the contract
and reinstalls the mock scheduler.
The tests run against a forked Hedera environment (`HEDERA_FORKING=true`) with a
diff --git a/docs/proof.md b/docs/proof.md
index f9cf526..1b4e1a2 100644
--- a/docs/proof.md
+++ b/docs/proof.md
@@ -56,7 +56,8 @@ current source concrete:
source (`subscribe()` is `0x8f449a05`, `subscribeFor(address)` is `0x6da6c39c`).
- The run used a **60-second period**. The current source sets `MIN_PERIOD_SECONDS = 61`, a
bound added after this run so the anyone-callable `renew()` window stays a strict minority
- of every period; the current deployment runs 90-second periods.
+ of every period; the current deployment ran 90-second periods when this run was transcribed and
+ hourly ones since 2026-09-09, `periodSeconds` in `/api/retainer/status` being the live answer.
Neither affects what the run demonstrates: the Schedule Service really does call back into a
contract, on time, unattended, and re-arm itself — and what that costs.
diff --git a/packages/nextjs/app/layout.tsx b/packages/nextjs/app/layout.tsx
index 02d1ab9..5ee0042 100644
--- a/packages/nextjs/app/layout.tsx
+++ b/packages/nextjs/app/layout.tsx
@@ -31,7 +31,7 @@ export const metadata = getMetadata({
"An x402-gated service on Hedera whose access renews itself on-chain via the Hedera Schedule Service. An agent pays once; the network keeps it alive.",
// 101 chars — the card copy has to survive a mobile feed, which clips around 125.
cardDescription:
- "An agent pays once, then Hedera renews its access on-chain by itself — 39 renewals, no user, no cron.",
+ "An agent pays once, then Hedera renews its access on-chain by itself — on schedule, no user, no cron.",
});
const ScaffoldHbarApp = ({ children }: { children: React.ReactNode }) => {
diff --git a/packages/nextjs/public/og-card.png b/packages/nextjs/public/og-card.png
index 6d2a3ce40cf98945629145b9cb549161083b5247..d4b624332705afac57167bcc91a88ed8614de51f 100644
GIT binary patch
literal 219181
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 Wd~;%dRKw26kerGWZA>$We)@D#cA>
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