From a0008f04a53a5eab3b4973a4925aaf1320a66165 Mon Sep 17 00:00:00 2001 From: qdee Date: Sat, 18 Jul 2026 15:10:31 +0100 Subject: [PATCH 1/2] Document third external builder check --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 436a1d3..a32d35f 100644 --- a/README.md +++ b/README.md @@ -162,17 +162,20 @@ missing or stale; that private route is not advertised on the static judge host. ### External builder-run compatibility Invited builders -[`@Ridwannurudeen`](https://github.com/Ridwannurudeen) and -[`@cyberrockng`](https://github.com/cyberrockng) independently installed the +[`@Ridwannurudeen`](https://github.com/Ridwannurudeen), +[`@cyberrockng`](https://github.com/cyberrockng), and +[`@dmetagame`](https://github.com/dmetagame) independently installed the published `@stoppage/sdk` v0.2.3 artifact in separate public, non-fork repositories and ran the supplied compatibility check in GitHub Actions. Each hosted run verified the release checksum, called Stoppage's public synthetic gate, rejected 6/6 modified-permit attacks, confirmed future-time verification -could not evict a live nonce claim, blocked cross-client replay, and executed -the simulated venue callback exactly once. +could not evict a live nonce claim, blocked replay through a second client in +the same loaded SDK runtime, and executed the simulated venue callback exactly +once. That nonce registry is in-memory, non-durable, and non-distributed. - [`@Ridwannurudeen` repository](https://github.com/Ridwannurudeen/stoppage-sdk-external-check), [successful hosted run](https://github.com/Ridwannurudeen/stoppage-sdk-external-check/actions/runs/29603337409), and [pinned commit `335e087`](https://github.com/Ridwannurudeen/stoppage-sdk-external-check/commit/335e087eb099877cc9e6816bd8fef8b1c7d9daea) - [`@cyberrockng` repository](https://github.com/cyberrockng/stoppage-sdk-external-check), [successful hosted run](https://github.com/cyberrockng/stoppage-sdk-external-check/actions/runs/29645328774), and [pinned commit `0e3399a`](https://github.com/cyberrockng/stoppage-sdk-external-check/commit/0e3399a6276933211480b4a0aaea84da393d9788) +- [`@dmetagame` repository](https://github.com/dmetagame/stoppage-sdk-external-check), [successful hosted run](https://github.com/dmetagame/stoppage-sdk-external-check/actions/runs/29647230987), and [pinned commit `11f9096`](https://github.com/dmetagame/stoppage-sdk-external-check/commit/11f9096c2f032db8ce4d1296a84278e8da051f2a) Stoppage supplied the guide and the endpoint is synthetic. These are invited external builder-run compatibility checks, not independent security audits, @@ -251,6 +254,7 @@ scenario instead of exposing private worker uptime. - SDK source and quickstart: [`packages/sdk`](packages/sdk) - External builder-run check 1: [`@Ridwannurudeen/stoppage-sdk-external-check`](https://github.com/Ridwannurudeen/stoppage-sdk-external-check) · [run `29603337409`](https://github.com/Ridwannurudeen/stoppage-sdk-external-check/actions/runs/29603337409) · [commit `335e087`](https://github.com/Ridwannurudeen/stoppage-sdk-external-check/commit/335e087eb099877cc9e6816bd8fef8b1c7d9daea) - External builder-run check 2: [`@cyberrockng/stoppage-sdk-external-check`](https://github.com/cyberrockng/stoppage-sdk-external-check) · [run `29645328774`](https://github.com/cyberrockng/stoppage-sdk-external-check/actions/runs/29645328774) · [commit `0e3399a`](https://github.com/cyberrockng/stoppage-sdk-external-check/commit/0e3399a6276933211480b4a0aaea84da393d9788) +- External builder-run check 3: [`@dmetagame/stoppage-sdk-external-check`](https://github.com/dmetagame/stoppage-sdk-external-check) · [run `29647230987`](https://github.com/dmetagame/stoppage-sdk-external-check/actions/runs/29647230987) · [commit `11f9096`](https://github.com/dmetagame/stoppage-sdk-external-check/commit/11f9096c2f032db8ce4d1296a84278e8da051f2a) - Callback-enforced example: [`examples/enforced-market-maker.ts`](examples/enforced-market-maker.ts) - Legacy Permit V1 client: [`src/integration/stoppage-agent-client.ts`](src/integration/stoppage-agent-client.ts) @@ -274,10 +278,11 @@ pnpm sdk:consumer:verify compatibility plus Ed25519-signed Permit V2, offline verification, exact action/audience/nonce bindings, expiry, sequence revocation and adversarial enforcement tests. -- Invited external builder-run compatibility: passed independently from two +- Invited external builder-run compatibility: passed independently from three separate public, non-fork repositories against the v0.2.3 release artifact, - with 6/6 mutation attacks and cross-client replay rejected before a second - callback in each run. + with 6/6 mutation attacks and same-runtime replay through a second client + rejected before a second callback in each run. The replay registry is + in-memory, non-durable, and non-distributed. - Live gate bridge: the persistent worker projects private governor state into a shared runtime context, and the application API fails closed if that context is missing, invalid, or more than five seconds old. From 2acb686c73e3a6349ae8432bd0560d4293edbf22 Mon Sep 17 00:00:00 2001 From: qdee Date: Sat, 18 Jul 2026 17:25:50 +0100 Subject: [PATCH 2/2] Align external evidence claims --- app/src/main.tsx | 94 ++++++++++++++------------ docs/RULEBOOK.md | 2 +- tests/browser/production-smoke.spec.ts | 42 ++++++++---- 3 files changed, 80 insertions(+), 58 deletions(-) diff --git a/app/src/main.tsx b/app/src/main.tsx index d056451..c8684ba 100644 --- a/app/src/main.tsx +++ b/app/src/main.tsx @@ -88,7 +88,7 @@ const routeMetadata: Record = "/evidence": { title: "Evidence · Stoppage", description: - "Inspect approved Stoppage holdout aggregates, receipt-bound lifecycle evidence, separate TxLINE Solana validation, and an invited external builder-run SDK check.", + "Inspect approved Stoppage holdout aggregates, receipt-bound lifecycle evidence, separate TxLINE Solana validation, and three invited external builder-run SDK checks.", }, "/system": { title: "System · Stoppage", @@ -933,7 +933,7 @@ function EvidencePage({ index="03" eyebrow="Public verification" title="Evidence" - description="Approved holdout aggregates and receipt-bound lifecycle decisions, a separate TxLINE finalized-score validation path on Solana, and an invited external builder-run SDK compatibility check." + description="Approved holdout aggregates and receipt-bound lifecycle decisions, a separate TxLINE finalized-score validation path on Solana, and three invited external builder-run SDK compatibility checks." >
Public claim @@ -959,6 +959,21 @@ function EvidencePage({ } function ExternalCompatibilityEvidence() { + const builderChecks = [ + { + handle: "@Ridwannurudeen", + run: "https://github.com/Ridwannurudeen/stoppage-sdk-external-check/actions/runs/29603337409", + }, + { + handle: "@cyberrockng", + run: "https://github.com/cyberrockng/stoppage-sdk-external-check/actions/runs/29645328774", + }, + { + handle: "@dmetagame", + run: "https://github.com/dmetagame/stoppage-sdk-external-check/actions/runs/29647230987", + }, + ] as const; + return (
- Invited external builder run + Invited external builder runs

- External builder-run SDK check + External builder-run SDK checks

@@ -1028,23 +1036,23 @@ function ExternalCompatibilityEvidence() {
Mutation attacks
-
6/6 rejected
+
6/6 × 3 rejected
Future-time eviction
-
Blocked
+
Blocked × 3
-
Cross-client replay
-
Blocked
+
Same-runtime replay
+
Blocked × 3
Venue callback
-
1 execution
+
1 × 3 executions
-
Hosted workflow
-
Passed
+
Hosted workflows
+
3/3 passed
diff --git a/docs/RULEBOOK.md b/docs/RULEBOOK.md index 3de46e8..b638638 100644 --- a/docs/RULEBOOK.md +++ b/docs/RULEBOOK.md @@ -59,7 +59,7 @@ A probability component moves by at least the sharp-move threshold without a recent high-impact event. Stoppage suspends conservatively. A later event may confirm the move; otherwise the lifecycle remains labeled unconfirmed. -All 18 approved real holdout windows were event-led. This odds-led path is +All 21 approved real holdout windows were event-led. This odds-led path is implemented and tested but was not exercised by the real holdout; synthetic coverage must remain visibly labeled and cannot be presented as live evidence. diff --git a/tests/browser/production-smoke.spec.ts b/tests/browser/production-smoke.spec.ts index aa5d630..2b6f50c 100644 --- a/tests/browser/production-smoke.spec.ts +++ b/tests/browser/production-smoke.spec.ts @@ -229,7 +229,7 @@ test.describe("Stoppage release browser gate", () => { await expectCanonical(page, "/evidence"); await expect( page.getByRole("heading", { - name: "External builder-run SDK check", + name: "External builder-run SDK checks", exact: true, }), ).toBeVisible(); @@ -238,23 +238,37 @@ test.describe("Stoppage release browser gate", () => { exact: true, }), ).toBeVisible(); + for (const [handle, run] of [ + [ + "@Ridwannurudeen", + "https://github.com/Ridwannurudeen/stoppage-sdk-external-check/actions/runs/29603337409", + ], + [ + "@cyberrockng", + "https://github.com/cyberrockng/stoppage-sdk-external-check/actions/runs/29645328774", + ], + [ + "@dmetagame", + "https://github.com/dmetagame/stoppage-sdk-external-check/actions/runs/29647230987", + ], + ] as const) { + await expect(page.getByText(handle, { exact: true })).toBeVisible(); + await expect( + page.getByRole("link", { + name: `${handle} hosted run`, + exact: true, + }), + ).toHaveAttribute("href", run); + } await expect( - page.getByText("@Ridwannurudeen", { exact: true }), + page.getByText("6/6 × 3 rejected", { exact: true }), ).toBeVisible(); await expect( - page.getByRole("link", { name: "External repository", exact: true }), - ).toHaveAttribute( - "href", - "https://github.com/Ridwannurudeen/stoppage-sdk-external-check", - ); + page.getByText("Same-runtime replay", { exact: true }), + ).toBeVisible(); await expect( - page.getByRole("link", { name: "Hosted Actions run", exact: true }), - ).toHaveAttribute( - "href", - "https://github.com/Ridwannurudeen/stoppage-sdk-external-check/actions/runs/29603337409", - ); - await expect(page.getByText("6/6 rejected", { exact: true })).toBeVisible(); - await expect(page.getByText("1 execution", { exact: true })).toBeVisible(); + page.getByText("1 × 3 executions", { exact: true }), + ).toBeVisible(); await expectNoHorizontalOverflow(page); await primaryNavigation