TESTING.md

April 8, 2026 · View on GitHub

#TESTING

This document defines CodexManager repository-level testing and validation baselines.

Target:

  • New collaborators can quickly know what at least needs to be run after the change
  • Avoid upgrading all changes to full verification
  • 让协议兼容、发布链路、设置治理这些高风险改动有固定检查入口

1. Basic environment

  • Node.js 20
  • pnpm 9
  • Rust stable
  • PowerShell 7+ (Windows Packaging/Script Validation)

2. Front-end changes

Scope of application:

  • apps/src/app/
  • apps/src/components/
  • apps/src/lib/
  • apps/src/hooks/

Minimal verification:

pnpm -C apps run build
pnpm -C apps run test:runtime

illustrate:

  • pnpm -C apps run build: Confirm that the Next.js static export link is still normal
  • pnpm -C apps run test:runtime: Confirm runtime capability determination and desktop / Web Capability degradation logic has not returned
  • If the changes involve runtime identification, Web RPC, desktop/Web difference processing, make up Section 4

3. Desktop / Tauri Changes

Scope of application:

  • apps/src-tauri/
  • Desktop updates, tray, window, command bridge related changes

Minimal verification:

cargo test --workspace

Additional suggestions:

pwsh -NoLogo -NoProfile -File scripts/rebuild.ps1 -Bundle nsis -CleanDist

illustrate:

  • Whenever you make changes to Tauri bridging or the desktop lifecycle, it's a good idea to do at least one local desktop build verification.

4. Web Run shell/deploy compatible changes

Scope of application:

  • crates/web/
  • apps/src/lib/api/transport.ts
  • apps/src/components/layout/app-bootstrap.tsx
  • apps/src/components/layout/header.tsx
  • apps/src/components/layout/sidebar.tsx
  • Web Agent, /api/runtime, /api/rpc, and related changes in deployment methods

Minimal verification:

pnpm -C apps run build
pnpm -C apps run test:runtime
cargo test -p codexmanager-web
pwsh -NoLogo -NoProfile -File scripts/tests/web_runtime_probe.test.ps1

Suggested additions:

pwsh -NoLogo -NoProfile -File scripts/tests/web_runtime_probe.ps1 `
  -Base http://localhost:48761
pwsh -NoLogo -NoProfile -File scripts/tests/web_ui_smoke.ps1 -SkipBuild

illustrate:

  • pnpm -C apps run build: Confirm that front-end static export can still be generated
  • pnpm -C apps run test:runtime: Confirm that the front-end runtime contract and capability determination are consistent
  • cargo test -p codexmanager-web: Confirm Web Shell Routing and Runtime Probe Contract
  • web_runtime_probe.test.ps1: Confirm Web script behavior of running shell minimal smoke link
  • web_ui_smoke.ps1: Confirm key UI behavior of Web page under supported / unsupported running shell

5. Rust server-side changes

Scope of application:

  • crates/core/
  • crates/service/
  • crates/start/
  • crates/web/

Minimal verification:

cargo test --workspace

Additional suggestions:

cargo build -p codexmanager-service --release
cargo build -p codexmanager-web --release
cargo build -p codexmanager-start --release

6. Protocol adaptation/gateway modification

Scope of application:

  • crates/service/src/gateway/
  • crates/service/src/http/
  • crates/service/src/lib.rs

Must cover:

  • /v1/responses
  • /v1/chat/completions
  • Streaming SSE
  • Non-streaming JSON
  • tools
  • tool_calls

Minimal verification:

cargo test --workspace
pwsh -NoLogo -NoProfile -File scripts/tests/gateway_regression_suite.ps1
pwsh -NoLogo -NoProfile -File scripts/tests/codex_stream_probe.ps1
pwsh -NoLogo -NoProfile -File scripts/tests/chat_tools_hit_probe.ps1

illustrate:

  • If the local environment does not have a real upstream account, at least run Rust tests and keep probe execution instructions.
  • Compatibility fixes cannot validate only one type of client.

7. Settings/Environment Variables/Persistence Changes

Scope of application:

  • apps/src/settings/
  • crates/service/src/app_settings/
  • crates/core/src/storage/settings.rs
  • Added CODEXMANAGER_* configuration items

Minimal verification:

pnpm -C apps run build
cargo test --workspace

Must be manually confirmed:

  • Is the default value clear?
  • 是否写入 app_settings
  • Does it need to be synchronized to runtime?
  • README / CONTRIBUTING.md / ARCHITECTURE.md Does it need to be updated?

Scope of application:

  • .github/workflows/
  • .github/actions/
  • scripts/release/
  • scripts/rebuild*

Minimal verification:

pnpm -C apps run build
cargo test --workspace
pwsh -NoLogo -NoProfile -File scripts/tests/assert-release-version.test.ps1
pwsh -NoLogo -NoProfile -File scripts/tests/rebuild.test.ps1

Must be manually confirmed:

  • The workflow input is consistent with the README description
  • There is no drift in product naming
  • prerelease / latest behavior without drift

9. Document management changes

Scope of application:

  • README*
  • ARCHITECTURE.md
  • CONTRIBUTING.md
  • CHANGELOG.md
  • docs/

Minimal verification:

  • Check if the link path is valid
  • Check if document responsibilities are duplicated
  • Check whether the version number, product name, and workflow name are consistent with the actual ones

10. Minimum checking recommendations before submission

General changes

pnpm -C apps run build
pnpm -C apps run test:runtime
cargo test -p codexmanager-web

Front-end page changes

pnpm -C apps run build
pnpm -C apps run test:runtime

Web Compatibility/Deployment Changes

pnpm -C apps run build
pnpm -C apps run test:runtime
cargo test -p codexmanager-web
pwsh -NoLogo -NoProfile -File scripts/tests/web_runtime_probe.test.ps1

Protocol adaptation changes

cargo test --workspace
pwsh -NoLogo -NoProfile -File scripts/tests/gateway_regression_suite.ps1

11. Result recording convention

  • Verifications that can be completely executed are recorded as "executed".
  • Verifications that cannot be executed due to environmental restrictions are clearly written as "not executed + reason".
  • Don't take "should be able to pass" as "proven".