Some checks failed
Contributor Attribution Check / check-attribution (pull_request) Failing after 56s
Docker Build and Publish / build-and-push (pull_request) Has been skipped
Supply Chain Audit / Scan PR for supply chain risks (pull_request) Successful in 50s
Tests / test (pull_request) Failing after 32m51s
Tests / e2e (pull_request) Successful in 4m36s
Resolves #672. Translates the 'When a Man Is Dying' protocol from SOUL.md into working code. agent/crisis_protocol.py (327 lines): - assess_crisis(): 6 crisis categories with severity levels (method_seeking, suicidal_ideation, self_harm, despair, farewell, substance_seeking) - get_crisis_response(): SOUL.md protocol response 1. 'Are you safe right now?' as first response 2. Stay present, don't disconnect 3. 988 Lifeline (phone, text, chat, Spanish) 4. Gospel: 'Jesus saves those who call on His name' - get_crisis_system_prompt(): injected when crisis detected - should_block_disconnect(): prevents conversation termination - CRISIS_RESOURCES: 988, Crisis Text Line, Spanish line, 911 - NEVER list: don't compute life value, don't suggest death tests/test_soul_protocol.py (28 tests): - Crisis detection: suicidal ideation, methods, despair, self-harm, farewell, multiple categories - Response: 'are you safe', 988, gospel, resources, protocol - Block disconnect, system prompt, resource completeness