feat: serve durable inbound SMS history - #233
Conversation
|
Release-captain review: needs-fix before landing. The durable-store route and auth preservation are sound, but the fallback path still appends raw inbound sender/body records to the process-global This is a focused, no-product-decision blocker. |
|
Release review: needs-human. This is a broad public HTTP/SMS-history behavior change (durable persistence, fallback retention, ordering, and response semantics) rather than a narrow isolated bug fix. It needs an explicit product/privacy decision on retention and exposure semantics before autonomous landing. After that decision, rebase on current |
|
Release review: needs-human (with a required retention fix). This broadens SMS-history persistence/exposure and retains raw inbound sender/body data in an unbounded process-global fallback whenever the service is legacy or persistence fails. The An explicit product/privacy decision is needed for retention cap/TTL, durable raw-body policy, fallback behavior, and access/authentication expectations. After that decision, add real callback-path tests proving bounded fallback retention and no duplication of durably persisted events, implement the selected policy, rebase on current |
|
Release review: needs-fix. The fallback |
|
Release review classification: needs-human. This introduces or documents a product-level capability/data-retention/deployment decision beyond a narrow behavior-preserving fix. It will not be auto-merged in this lane. Please retain the branch for Korgo’s product/operational decision, then request a focused follow-up review against current |
|
Release-lane classification: needs human decision. This introduces or documents a material product/operational behavior. It requires Korgo's decision on public semantics, retention/operations expectations, and rollout scope before an autonomous merge; local test success alone is not authorization to land it. |
|
Release classification: needs-human. This is a material product/API/data-lifecycle feature rather than a narrow corrective maintenance patch. It needs Korgo’s decision on product scope, compatibility, and operational/privacy semantics before autonomous landing. Keep it draft; after a decision, rebase/repackage over current |
|
Release review: needs-human. Replacing process-local SMS event history with durable |
|
Release classification: needs-human decision. This is a broader externally visible product/API capability (durable SMS history). The scheduled release lane requires product confirmation of the HTTP contract, persistence lifecycle, retention/ordering semantics, and rollout priority before landing. |
Summary
GET /sms/messagesthrough bounded, durable inboundSMSStorehistory rather than the process-global event list.sender,body,received_at), exclude outbound stored SMS, and keep legacy-service fallback behavior.+CMTpersistence failures observable through a bounded fallback without duplicating successfully persisted messages.Validation
git diff --checkPYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/ -q— 881 passedRisks
Part of #19.