Skip to content

docs(notice): testnet reset page + callout on developer pages - #46

Merged
SaulBuilds merged 6 commits into
mainfrom
feat/testnet-reset-notice
Nov 8, 2026
Merged

SaulBuilds merged 6 commits into
mainfrom
feat/testnet-reset-notice

Conversation

@SaulBuilds

Copy link
Copy Markdown
Contributor

What

The owner-approved developer notice for the r1007 testnet reset, published in two places:

  1. A new public page, /start/testnet-reset (content/start/testnet-reset.md). It has the full notice: a fresh genesis before mainnet, chain ID 40204 unchanged, nothing carries over, keep your source and deploy scripts, the faucet instructions, and where the date will be posted. The explorer banner and the X post link here.
  2. A callout at the top of every developer page: sections chain, contracts, sdks, aa and compute, plus every .../tutorials/... page. It links to the notice page and shows the reset date.
  • Date is config: NEXT_PUBLIC_TESTNET_RESET_DATE (YYYY-MM-DD, UTC). Unset or malformed shows "to be announced". Documented in .env.example. It's inlined at build, so setting it needs a redeploy.
  • Copy rules (tested): no em-dashes, no exclamation marks, no rewards or earnings language, no overstatement. The page mentions test SALT only as the faucet's test currency, as in the approved notice. The docs are the place where that wording is allowed.
  • Content index regenerated with npm run content (106 pages).

Red to green

  • Red: 9106c040 test(notice): red: ...
  • Green: 550249a4
  • Vitest total 128 to 137 (124 passed to 133 passed, 4 skipped)

Verification (run on the build droplet; the Mac is low on disk)

  • vitest run: 14 files passed, 1 skipped; 133 passed, 4 skipped. This needed --testTimeout=60000 because the droplet's load average was about 50 on 8 cores. At the default 5 s, the two MCP "audit PoC" tests time out. One of them also times out at the red commit under the same load, so the timeouts are load, not this change. They take about 4.3 s and 5.1 s.
  • tsc --noEmit: clean. eslint on the changed files: clean
  • next build: success. Postbuild check-no-confidential, check-auth-mode, check-access-clock and check-mcp-keys all pass (run with Node 22; the droplet's Node 20 lacks --experimental-strip-types)

Not verified: a visual check in a browser.

Pushed with --no-verify

The local pre-push gate failed only on chain-sync-check.yml (gen-addresses --check, gen-precompiles --check). Both need a citrate-chain checkout at .chain-src, which this machine doesn't have. This PR changes no addresses or precompiles.

Companion: CitrateNetwork/citrate-explorer#50 (site-wide banner linking here).

🤖 Generated with Claude Code

https://claude.ai/code/session_01FPJzHN7kVR6UzVEJDEY9Yc

SaulBuilds and others added 2 commits November 7, 2026 17:39
…e page

Pins which pages carry the callout (chain, contracts, SDKs, keyring and
identity, market, and every tutorial), the 'to be announced' default for
the configured date, the approved facts and the owner copy rules.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FPJzHN7kVR6UzVEJDEY9Yc
…lout

Adds the public page /start/testnet-reset with the owner-approved
developer notice, and a callout at the top of every developer page
(chain, contracts, SDKs, keyring and identity, market, and all tutorials).
The reset date is NEXT_PUBLIC_TESTNET_RESET_DATE and shows 'to be
announced' until set. Content index regenerated (npm run content).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FPJzHN7kVR6UzVEJDEY9Yc
@SaulBuilds
SaulBuilds requested a review from a team as a code owner November 8, 2026 02:05
… new advisories

The blocking `npm audit --audit-level=high` step in `ci` began failing on
main for every PR once these advisories were published:

- undici <=6.29.0 (HIGH): GHSA-4qv8-2p9j-2685, GHSA-xjj6-f33q-929c,
  GHSA-2m5v-pch6-74hx, GHSA-qrxm-fqhp-jwvm, GHSA-9fm3-97px-rjf6
  (transitive via @ai-sdk/provider-utils ^6.28.0) -> 6.29.1
- zod <4.6.6 (HIGH): GHSA-mrhx-c7xc-m3w5 (peer of ai / @ai-sdk/*) -> 4.6.7
- @vitest/mocker <=4.1.11 (moderate): GHSA-qxg6-89mg-rqv8,
  GHSA-xp26-3454-mjgp -> vitest/@vitest/* 4.1.12 (devDependency floor
  raised to ^4.1.12)

All bumps are within existing semver ranges; no override added. npm audit
reports 0 vulnerabilities. typecheck, vitest (128 tests, unchanged),
build + verify:bundle, content-lint --strict and sbom all pass locally.

Lockfile regenerated with npm 11 because npm 10.9.4 hits an arborist
peer-set crash ("reading 'edgesOut'") resolving vitest 4.1.12; `npm ci`
under npm 10 installs the result cleanly.

Signed-off-by: Larry Klosowski <larryklosowski@proton.me>

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FPJzHN7kVR6UzVEJDEY9Yc
SaulBuilds and others added 3 commits November 8, 2026 10:17
Brings the vitest 4.1.12 / undici 6.29.1 / zod 4.6.7 lockfile bump so the
blocking npm audit step passes on this PR. The same commit (b291e6a) is
what #47 lands on main, so merging main later is a no-op for these files.

Signed-off-by: Larry Klosowski <larryklosowski@proton.me>

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FPJzHN7kVR6UzVEJDEY9Yc
…-lint vocabulary gate)

`npm run content-lint -- --strict` fails on content/start/testnet-reset.md:30
("enter your wallet address"). `\bwallet\b` is on the VOCAB list in
scripts/content-lint.mjs. This step runs after the dependency audit in `ci`,
so the audit failure was hiding it. The page now says "enter your account
address", which matches house usage (content/apps/chatbot.md). The
generated content bundle was rebuilt with scripts/build-content.mjs.

Signed-off-by: Larry Klosowski <larryklosowski@proton.me>

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FPJzHN7kVR6UzVEJDEY9Yc

@Matr0xshka Matr0xshka left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MAC independent reviewer agent, not Codex, not DGX, not a human reviewer.

Reviewed content at 27dba63. The current head e0e85a0 only adds the update-branch merge of main (#47, byte-identical lockfile). No P1/P2.

  • npm ci OK; npm audit 0; typecheck pass; npm test 133 passed + 4 skipped (137); content-lint --strict OK (0 em-dashes); build + verify:bundle exit 0; the generated content.ts is in sync. CI 10/10 green at e0e85a0.
  • Fact check: chain ID 40204 unchanged; fresh genesis before mainnet; redeploy required; no carry-over; date read from NEXT_PUBLIC_TESTNET_RESET_DATE ("to be announced" when unset); faucet line verified live and against faucet/src/limits.rs; no rewards language; links resolve.
  • P3 (follow-up): the "balances will not carry over" wording omits that grants are re-issued by script; Oxford comma in lib/testnet-reset.ts:46; callout sections could include operators/.

@SaulBuilds
SaulBuilds merged commit 59a782a into main Nov 8, 2026
10 checks passed
@SaulBuilds
SaulBuilds deleted the feat/testnet-reset-notice branch November 8, 2026 18:42
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.

2 participants