fix(a2a): validate session_id at entry of _handle_session_close before devcontainer cleanup #11057

Closed
HAL9000 wants to merge 2 commits from fix/9250-session-id-validation-handle-session-close into master

2 Commits

Author SHA1 Message Date
CleverAgents Bot 6d541898e5 ci: stop master workflow on PR updates
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / helm (pull_request) Has been cancelled
CI / push-validation (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
Remove the stale pull_request trigger from master.yml so PR branch commits do not launch the master workflow.

Maintenance patch for PR #11057.
2026-06-10 20:19:32 -04:00
HAL9000 8a19a04b08 fix(a2a): validate session_id at entry of _handle_session_close before devcontainer cleanup
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 38s
CI / helm (pull_request) Successful in 47s
CI / build (pull_request) Successful in 1m0s
CI / lint (pull_request) Successful in 1m31s
CI / typecheck (pull_request) Successful in 1m39s
CI / security (pull_request) Successful in 1m36s
CI / quality (pull_request) Successful in 1m34s
CI / benchmark-regression (pull_request) Failing after 1m17s
CI / e2e_tests (pull_request) Successful in 3m43s
CI / integration_tests (pull_request) Failing after 4m53s
CI / unit_tests (pull_request) Failing after 6m15s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 4s
R9-F1 — Move session_id validation to the entry of _handle_session_close()
so that a ValueError("session_id is required") is raised before any
devcontainer cleanup runs, even when session_service is None (local/test mode).

Previously the no-service fallback path bypassed this check entirely, allowing
cleanup with an empty session identifier. This fix ensures fail-fast semantics
for session_id validation across all code paths.

Changes:
- src/cleveragents/a2a/facade.py: validate session_id at entry of _handle_session_close
- features/a2a_facade_coverage.feature: update empty-sess-id-no-service test to expect error; add missing-session-id-no-service scenario
- features/steps/a2a_facade_coverage_steps.py: update line coverage docstring table
- CHANGELOG.md: document the fix under [Unreleased] > ### Fixed
- CONTRIBUTORS.md: add contribution entry for this fix

ISSUES CLOSED: #9250
2026-05-08 20:30:51 +00:00