Repository navigation
test: prove candidate validation behavior on a real Functions host - #603
Conversation
|
Reviewed candidate isolation, local-process ownership, positive probes and indexing-specific negative control. Merge authorized by the maintainer’s explicit instruction. Exact head 92ad377 has success for bandit, semgrep, Analyze, PR title and ci-required; no unresolved review threads. Required host matrix ran the candidate proof on Python 3.11 and 3.12. Local summary: 763 passed, 27 deselected, 4 warnings in 18.16s; coverage 97.15%. No Azure certification claimed. |
There was a problem hiding this comment.
🟡 Changes recommended
The response-error probe accepts generic HTTP 500 failures without proving that the library returned its sanitized error envelope.
1 open issue
What changed in this PR
This PR replaces the unrelated Cookbook host-boot check with repository-local validation tests against the built wheel on a real Azure Functions host, addressing #574.
Changes:
- Adds isolated wheel installation, identity checks, HTTP behavior probes, and a broken-wrapper negative control.
- Integrates the proof into host CI and the existing release gate, with evidence uploads.
- Documents local verification while preserving downstream import smoke and real-Azure certification.
| File | Description |
|---|---|
tests/test_host_release_contract.py |
Checks release-gate wiring and evidence-upload configuration. |
tests/host_smoke/function_app.py |
Adds validation routes and a broken-wrapper mode. |
scripts/check_candidate_host.sh |
Installs the candidate and runs host behavior checks. |
Makefile |
Adds the host-candidate entry point. |
docs/candidate-host.md |
Documents verification scope, execution, and evidence. |
AGENTS.md |
Updates release-tier descriptions and local instructions. |
.github/workflows/publish-pypi.yml |
Replaces Cookbook host boot with candidate validation. |
.github/workflows/ci-test.yml |
Adds candidate verification and evidence uploads to host CI. |
Review effort: Balanced
| [ "$status" = 500 ] || return 1 | ||
| ! grep -q 'must not leak' "$output/response.json" |

Summary
Replace the unrelated Cookbook HTTP host-boot invocation with repository-local candidate-wheel validation behavior, retaining the existing release gate job ID.
Changes
Validation
Related Issues
Closes #574
Merge authorized by the maintainer’s explicit instruction.