Table of Contents

Verification entry points

./scripts/verify.sh qualifies committed HEAD in a fresh checkout with isolated dependency caches. It covers source and packed host/reuse contracts, maintained author examples, gateway cancellation, documentation, code style, all three applications, author SDK versions, recovery and compatibility. Generated evidence stays in artifacts/candidates/.

Scope Command
Documentation and AI retrieval python3 scripts/generate-llms.py --check, python3 tests/documentation/check-links.py, python3 tests/documentation/test-website.py, then python3 scripts/build-website.py (after dotnet tool restore)
Source architecture python3 scripts/check-architecture.py and python3 tests/documentation/test-architecture.py
SDK protocol and context npm run build --prefix sdks/typescript, node --test sdks/typescript/tests/session.mjs, then python3 -m unittest discover -s sdks/python/tests
Host regressions dotnet run --project tests/WeavePort.Hosting.Tests -c Release
Fair scheduler public API dotnet run --project tests/WeavePort.Scheduling.Tests -c Release (also checked as a packed consumer)
Density observer controls python3 tools/performance/test_density.py
Customer-density pilot See supervised density testing
Windows/Linux CI fixtures python scripts/ci/native.py
Native adapter fixtures ./scripts/verify-local.sh
Composition fixtures ./scripts/build-bulk.sh, then ./scripts/bulk.sh verify artifacts/runs/composition
Multilingual SDK fixtures ./scripts/build-sdk.sh, then ./scripts/sdk.sh artifacts/runs/sdk verify
Supervised k6 soak See multi-hour operation and stop controls
Current performance baseline See benchmarking
Optional Docker fixtures ./scripts/verify-docker.sh (requires the Docker service and builds fixture images)

WeavePort.Local.Tests, WeavePort.Docker.Tests, WeavePort.Composition.Tests and WeavePort.WorkerHost were moved from the sample tree. Their existing project/assembly names are retained for adapter tooling compatibility. The actual integration templates are DecisionRoom, DocumentWorkshop and AppointmentDesk.

Capacity, lifecycle, security, installations and load fixtures remain for focused adapter regressions. They do not redefine the current release's platform support or replace its current benchmark protocol. Historical comparator harnesses are available through Git history.

Local-only Docker/capacity/lifecycle/security consumers use adapter-nuget.config against the prepared feed, including its reviewed external dependency closure. Prepare core packages and Testing before building those fixtures; this is separate from restoring source-based core regressions.

MCP checks

Host regressions include optional-MCP malformed-traffic, authority, quotas, cancellation and state-lifecycle checks. Official SDK interoperability and comparative measurements use an isolated development-only npm fixture. The full candidate verifier exercises its two protocol revisions against the packed host.

Optional package release qualification

After ./scripts/prepare-core-packages.sh, run python3 scripts/verify-optional.py. This builds fresh-cache NuGet consumers, validates TLS and local/remote composition, checks the optional API/dependency baseline, and executes the multilingual native composition and HTTP delivery fixtures. --build-only and --verify-only separate preparation from frozen-candidate execution. The clean release candidate uses both phases and hashes the consumer output trees.

Approved-session reuse

tests/WeavePort.ReuseTests exercises all three SDKs through the actual host: default affinity, approved sharing, registered cleanup, expired contexts, callback authority, pinned streams, cleanup failure/timeout, idle expiry, malformed capability/acknowledgements and a small shared scheduler. See its reproduction guide. Repeat with fresh locally packed candidates; source-only tests do not qualify the package boundary.

Portable installations

./scripts/verify-portable.sh exercises the public sealer from freshly extracted packages, local execution, Python/Node ownership modes and initial/replacement runtime refusal. Add --docker to run the exact macOS-sealed managed bundle in a Linux runtime-only host with an external plugin-root mount. It does not reconfigure Docker. Run python3 tests/portable/verify-frameworks.py "$(command -v dotnet)" for real .NET framework selection conformance (the small oracle targets an installed .NET 8 runtime). Hosting regressions also execute independent Python packaging/npm fixtures and probe/manifest boundary checks. See portable installation guidance.

The readability checks also reject nested business branches and loops: dotnet run --project tools/WeavePort.CodeStyle -c Release -- "$PWD", python3 scripts/check-python-control-flow.py and npm run check:control-flow --prefix sdks/typescript (after SDK npm ci). Each runs positive/negative syntax fixtures. Loop guards with early exits remain allowed; see the exact policy.