Skip to content

Testing and Evidence

Minco proves behavior at the nearest meaningful public boundary, then keeps larger operational claims separate.

Test Boundaries

BoundaryWhat to prove
Domaininvariants, value validation, and state transitions with pure tests
Applicationauthorization, validation, and fail-before-persistence with fake owned ports
Adapterreal engine transactions, concurrency, idempotency, and rollback
Auditatomic source/audit acceptance, duplicate relay, privacy, ordering, cursor continuity, and lifecycle state
HTTPAxum oneshot status, media type, headers, request IDs, and bodies
Plugin/coredependency graph, typed injection, selection, ordering, and provenance
Deploymentdeterministic Plan/SAM, IAM, wake, cost, and performance structure
Releaseexact source, artifact digest, manifest, receipt, and registry identity

Local Commands

bash
./scripts/test/unit.sh
./scripts/test/feature.sh
./scripts/docs/build.sh
./scripts/docs/check-links.sh
./scripts/docs/check-snippets.sh
./scripts/docs/test-browser.sh
./scripts/quality.sh

The complete local quality runner is authoritative. It includes static truth, formatting, Clippy, all workspace targets, generated applications, browser checks, package policy, dependency hygiene, advisory review, secret scanning, Rustdoc, and deterministic evidence freshness.

Agent release freshness is part of that deterministic boundary:

bash
cargo test -p cargo-minco --test agent_skills --locked
uv run --locked python scripts/test/agent_workflows.py \
  --check-output verification/agent-workflows.json

The first command binds release notes, versioned documentation and all nine packaged skills. The second reproduces Codex/Claude projection and scenario evidence byte-for-byte without invoking a model or contacting a provider.

The 1.5 release also exposes official provider-free fakes for SQS handling, domain-event publication, object storage, feedback persistence and rich mail. Use them only through their owning public ports. Their ordered, redacted attempt records and one-shot failure scripts prove application behavior; they do not qualify a production adapter or live provider.

The slower measured assurance lane pins nextest, llvm-cov, cargo-mutants and cargo-semver-checks, and the golden-topology cost baseline covers seven reviewed Orders configurations. Both are exact-source local evidence. Application-specific model evaluation, measured human-review effort, hosted performance and current live-provider proof remain NOT RUN or absent for the 1.5 release.

The 1.6 release adds real-engine SQL audit transaction/journal tests and disposable DynamoDB transaction conformance. Test duplicate requests, concurrent revisions, relay lease expiry, post-delete history, privacy-safe values, bounded fanout and storage warnings. Emulator or local-engine evidence does not become AWS deployment, regional cost or production retention proof.

Hosted Profiles

The manual essential GitHub Actions profile adds bounded clean-Linux compiler and repository-truth evidence for an exact commit. Full qualification remains local through scripts/ci/local-release.sh; Pages and exact-tag crates.io OIDC publication are the only other GitHub workflow responsibilities.

The retained manual profile does not contact real AWS. Live-provider evidence requires its own designed command and authorization.

Evidence Vocabulary

StateMeaning
passedThe named command ran successfully against the identified source or target.
failedThe command ran and did not satisfy its contract.
not runThe boundary was deliberately not executed.
not assessedThe current test cannot make that claim.
ignoredThe test is compiled but requires an explicit environment or provider.

Static validation is not compiler verification. A package dry run is not registry publication. Hosted verification is not promotion. Promotion is not ongoing production health.

What to Record in a Task

Record the exact command, result, source SHA, tool versions, artifact digest, and any skipped boundary. Never convert a missing tool, ignored provider test, or dry run into a pass.

Contract. Plan. Run. Prove.