Skip to content

chore(quality): define TypeScript test contract - #1035

Open
aaf2tbz wants to merge 3 commits into
mainfrom
aaf2tbz/issue-919-ts-quality-contract
Open

chore(quality): define TypeScript test contract#1035
aaf2tbz wants to merge 3 commits into
mainfrom
aaf2tbz/issue-919-ts-quality-contract

Conversation

@aaf2tbz

@aaf2tbz aaf2tbz commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

Establish the TypeScript/test-contract slice of #919. This PR makes the maintained test surface explicit and introduces the minimum shared TypeScript strictness improvement; it does not close the issue.

Changes

  • Replaced the package-script fan-out with a root test command that invokes every maintained test root and excludes vendored references/.
  • Added a regression test that locks the root test contract against accidental coverage loss.
  • Enabled noUncheckedIndexedAccess in the shared root TypeScript config and fixed the newly surfaced unsafe connector-base indexing.
  • Regenerated the committed marketing content index and corrected the contributor documentation to describe the daemon typecheck exception accurately.

Type

  • feat — new user-facing feature (bumps minor)
  • fix — bug fix
  • refactor — restructure without behavior change
  • chore — build, deps, config, docs
  • perf — performance improvement
  • test — test coverage

Packages affected

  • @signet/core
  • @signet/daemon
  • @signet/cli / dashboard
  • @signet/sdk
  • @signet/connector-*
  • @signet/web
  • predictor

Screenshots

N/A — developer tooling and test contract only.

PR Readiness (MANDATORY)

  • Spec alignment validated (INDEX.md + dependencies.yaml)
  • Agent scoping verified on all new/changed data queries
  • Input/config validation and bounds checks added
  • Error handling and fallback paths tested (no silent swallow)
  • Security checks applied to admin/mutation endpoints
  • Docs updated for API/spec/status changes
  • Regression tests added for each bug fix
  • Lint/typecheck/tests pass locally

Migration Notes (if applicable)

N/A — no migrations changed.

  • Migration is idempotent
  • Daemon Rust parity reviewed or explicitly N/A
  • Rollback / compatibility note included in PR description

Testing

  • bun test passes
  • bun run typecheck passes
  • bunx biome check passes for changed handwritten files
  • Tested against running daemon: N/A

Validated:

  • bun test scripts/test-contract.test.ts tests/integration/web-content-index-regression.test.ts libs/connector-base/index.test.ts
  • bun run --filter '@signet/core' build
  • npx tsc -p platform/core/tsconfig.json --noEmit
  • npx tsc -p libs/connector-base/tsconfig.json --noEmit --noUncheckedIndexedAccess
  • git diff --check

AI disclosure

  • AI tools were used (see assisted work in this session)

Follow-ups

The full maintained-suite command deliberately exposes remaining baseline debt: Rust route-parity artifacts and native SQLite-extension coverage. PR 3 owns the Rust baseline; PR 4 makes the now-defined checks mandatory in CI and branch protection. The daemon typecheck remains non-blocking until #969 is resolved.

@aaf2tbz aaf2tbz added priority: P1 High priority bucket: ops-hardening Operational reliability, cost, and safety hardening labels Jul 28, 2026
@aaf2tbz
aaf2tbz marked this pull request as ready for review July 28, 2026 04:24
@aaf2tbz aaf2tbz self-assigned this Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bucket: ops-hardening Operational reliability, cost, and safety hardening priority: P1 High priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant