CodeVetter · Repo Unpack · Contributor handoff
dubzzz/fast-check
Tests and CI were inspected, not executed, and this brief is a bounded source inventory rather than an exhaustive audit. Future agents should verify the pinned API and execution contracts before changing generators, plugins, or adapters. Prefer small changes and the existing package/project scripts when implementation and execution are authorized. Publication, destructive packaging, documentation rewriting, and external submission need distinct handling.
- Read root/package manifests, pnpm-workspace.yaml, tsconfig.common.json, vitest.config.mjs, and fast-check.ts first; package.json specifies pnpm 12.5.1, and workspace configuration restricts dependency build scripts and enforces release-age/trust policies.
- Use this commit's asyncProperty and awaited check/assert contracts; inspect Runner.ts before relying on historical synchronous-property APIs or assuming check cannot throw during parameter qualification/replay.
- For arbitrary changes, preserve generation/context/shrink contracts and read the actual colocated ArbitraryAssertions helper; CONTRIBUTING's example still references a historical test/unit location and NextArbitraryAssertions name.
- When execution is authorized, start with the root test script in one-shot mode and a relevant --project/file selection, then use applicable typecheck, format:check, and lint:check scripts; tests and CI in this brief were only inspected.
- For changes affecting exports or runtime packaging, consult the bundle/type CI jobs: they unpack build artifacts, simulate published contents, run publint and bundle fixtures, and check API extraction plus TypeScript latest/5.8 consumers.
- DEFAULT_SEED configures core tests and EXPECT_DEFAULT_SEED can require it; SKIP_DOCUMENTATION bypasses expensive snippet checks, while UPDATE_CODE_SNIPPETS enables Markdown writes. Keep those modes explicit and remember the documentation test evaluates source snippets.
- Worker changes require reading main.ts, MainThreadRunner, BasicPool, and generation-mode implementations; use worker assert for cleanup, preserve message runId correlation, and account for disabled shrinking in worker-generated mode.
- Treat packaged deletion and release workflows as mutation boundaries; AI_POLICY.md rejects automated external submissions and unreproduced reports/fixes, while CONTRIBUTING requests changesets and scoped gitmoji PR titles for human-owned contributions.