Skip to content

test: foundational regression baseline (CI gate tiers + integration/web/compat) - #5

Closed
alkautsarf wants to merge 2 commits into
mainfrom
feat/test-baseline
Closed

alkautsarf wants to merge 2 commits into
mainfrom
feat/test-baseline

Conversation

@alkautsarf

Copy link
Copy Markdown
Member

Foundational regression baseline

Establishes a committed, CI-enforced regression gate so updates can't silently break any surface (local / sandbox / Telegram / TUI / web).

CI (the gate)

ci.yml split into 4 individually-requireable parallel jobs:

  • unit — lint + typecheck + bun test packages/*/src (1402)
  • forge — Solidity tests (124), moved from tag-time to PR-time
  • web — apps/web typecheck + tests + next build (was ungated everywhere)
  • integration — test/integration (42), the cross-surface seam

release.yml hardened: web + integration pre-publish gates, and a real boot probe in the smoke test (anima help, anima-relay) so a non-bootable raw-TS publish fails loudly instead of green.

New committed tests

  • test/integration/ (new private workspace): EIP-191 web↔gateway digest parity, relay+tunnel+gateway transport, SSE wire-format golden, dispatch/permission/approval hard-floor harness drive, changeset version-lock guard.
  • apps/web: SIWE nonce/domain/replay, ownerOf gate, slug cross-agent-leak binding, SSE parser.
  • plugin-onchain pure fund-math, plugin-telegram callback-approval path, backward-compat freeze fixtures (config/keystore/pack-blob).

Notable fixes found while building the gate

  • resolveSlug was exported from a Next.js route file → broke next build (caught by the new web job). Extracted to a sibling module.
  • Stale changeset fixed group (listed dead anima-harness, missing gateway/telegram/webapp/relay) → fixed + now guarded by a test.

Flagged, not fixed here (protocol-level, needs its own review)

  • chatMessageHash and adminTickHash are not domain-separated: a chat message whose text equals an admin action name (sync, pairing-approve, …) produces a digest collision (low severity; documented in eip191-parity.test.ts).

Source edits are export-only + the route extraction. No runtime behavior change (1402 unit tests unchanged). Local gates all green: typecheck, lint, unit 1402, integration 42, web 36, forge 124.

- relay: dumb reverse-tunnel (daemon dials out), path allowlist, per-agent cleanup
- plugin-webapp: TunnelClient piping browser requests to the daemon gateway
- apps/web: SIWE-gated console chat (paced reveal, intent-aware scroll, approvals)
- gateway: operator-signed /sync, webapp plugin wiring
- site-wide Title Case typography sweep
Establish a committed, CI-enforced regression gate across every surface so
updates can't silently break local/sandbox/TG/TUI/web.

- ci.yml split into 4 individually-requireable jobs: unit, forge, web
  (typecheck + tests + next build), integration. forge + apps/web were
  previously gated only at tag-publish time, or never.
- test/integration/ (new committed private workspace): EIP-191 web<>gateway
  digest parity, relay+tunnel+gateway transport, SSE wire-format golden,
  dispatch/permission/approval hard-floor harness drive, changeset lock.
- apps/web tests: SIWE nonce/domain/replay, ownerOf gate, slug binding,
  SSE parser.
- plugin-onchain pure fund-math, telegram callback-approval path,
  backward-compat freeze fixtures (config/keystore/pack-blob).
- release.yml: web + integration pre-publish gates + boot-probe smoke
  (anima help, relay) so a non-bootable raw-TS publish fails loudly.
- Fix stale changeset fixed-group (listed dead anima-harness, missing
  gateway/telegram/webapp/relay).

Source edits are export-only (ssePayload, parseSseChunk,
describePermissionCheck, PERMISSION_MODE_MAP, coerceArg, pickCanonical)
plus extracting resolveSlug out of a Next route file (next build fix). No
runtime behavior change; 1402 unit tests unchanged.

Gates green: typecheck, lint, unit 1402, integration 42, web 36, forge 124.
@vercel

vercel Bot commented Jun 14, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
anima Ready Ready Preview, Comment Jun 14, 2026 7:40am

@alkautsarf

Copy link
Copy Markdown
Member Author

Subsumed by the v0.26.0 release: this work was squash-merged into main as part of commit e27f773 (web-app gateway combined release). Closing as merged-into-main.

@alkautsarf alkautsarf closed this Jun 21, 2026

This branch was successfully deployed

1 active deployment
Preview — b4724cb7 Deployed Jun 14, 2026 by vercel[bot]
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.

1 participant