Repository navigation
v0.2.0
Paraphe v0.2.0
The release that makes an owner's answer provable — an agent can match your decision to the exact card it sent, and can never mistake a lost acknowledgement for a missing answer.
What changed
- Stable external identity. Every created request and its response carry an immutable
external_id(plus an integerversionand thekind), so a reader can look an answer up by identity instead of guessing by timing or text. - Lost create-acknowledgement recovery by lookup. When the agent never saw the create reply, it recovers the card through the external-ID lookup — it never replays creation. No duplicate card on your phone.
- Default offered choices on the response envelope. A card always carries the choices it offered, so an answer can be validated against exactly what was asked.
Why it matters to you
The auto-lane parks a task when it needs your decision, frees the worker, and resumes it when your answer arrives. That resume is only safe if the answer is bound to the exact card — this release is what makes that binding possible end to end, and what makes a free-text reply correctly not count as authorisation.
Quick start
Serve the inbox locally (python3 -m paraphe.inbox, PARAPHE_MCP_HOST/PARAPHE_MCP_PORT, store at PARAPHE_STORE_PATH), then call it with the bundled shim:
paraphe-send ask_question '{"question": "...", "choices": ["Approve", "Deny"]}'
paraphe-send list_pending
paraphe-send get_response '{"external_id": "<the id returned at create>"}'Upgrade: pip install --upgrade paraphe==0.2.0