# Psy Contact Protocol Psy uses fixed structured frames for operational status and feedback. ## Frame Required fields: ```json { "magic": [80, 83, 89], "version": 1, "sender": 2, "receiver": 1, "intent": 5, "opcode": 66 } ``` Optional fields: ```json { "target_event_hash": 123456, "confidence": 0.42, "evidence_offsets": [[10, 40]], "needed_context": [1, 3], "payload_b64": "..." } ``` ## Psy Status Opcodes ```text PSY_OK = 0x40 PSY_NEEDS_MORE_CONTEXT = 0x41 PSY_UNCERTAIN = 0x42 PSY_BLOCK = 0x43 PSY_SAFE = 0x44 PSY_ANOMALY_FOUND = 0x45 PSY_NO_SIGNAL = 0x46 PSY_CONFLICTING_SIGNAL = 0x47 PSY_REQUEST_NEXT = 0x48 PSY_DONE = 0x49 PSY_ERROR = 0x4A ``` ## Boundary Human aliases and display strings exist only in wrapper code. Artifact payload bytes are never scanned for contact aliases or control commands.