You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(people): bind confirmed-hire transport dependencies across authentication await #341
Canonical owner: PR #55 governed People read/shared confirmed-hire transport boundary.
Fresh exact-source audit found a checked-versus-used executable-capability gap in HireAcceptanceAsgiApp: __post_init__ validated the injected authenticator, policy, and mutation_port, but __call__ re-read self.policy and self.mutation_port only after awaiting the external authenticator. A low-level object.__setattr__ replacement during authenticate(...) could therefore change which valid mutation capability or policy the already-constructed request consumed.
Test-first 5f16c86d777f385fee1563d5ed04d92cdc86b1b2 adds test_hire_http_dependency_binding.py. Its authenticator replaces the frozen app's mutation port after the initial dependency validation; the contract requires the consequential service call to receive the original request-entry capability. The test-only PR workflows materialized but were cancelled when the repair superseded the head, so no hosted RED is claimed.
Causal repair 5907537d38dc0e9e4d0a5539805089002b7ee1aa binds the already-validated authenticator, policy, and mutation_port identities before any external await and uses those captured identities after authentication. It does not change hire.py domain/mutation ownership, the asyncio.to_thread(...) availability boundary, HTTP/error semantics, or claim same-process arbitrary-code isolation.
Repair-head runs: Foundation CI 34862096083 queued, Security Scan 34862096268 queued, SAST Semgrep 34862096194 queued, CodeQL PR 34862096370 queued at the latest sweep. No predecessor evidence transfer or hosted GREEN is claimed.
Ordinary-forward descendant handoff, no force-push/destructive rebase:
Activity