Repository navigation
feat: support existing WhatsApp group conversations - #79
Conversation
This comment has been minimized.
This comment has been minimized.
|
Implemented in
|
|
Updated in
|
|
Local test rollout verified at Opus follow-up review found no remaining blocking findings. Fable review remains in progress. Focused current-head results remain 93 passed on SDK 0.7.29 and 91 passed / two model-integration skips on SDK 0.7.27. Broader checks are incomplete; live user group-message testing is next. |
|
Commit 06495a2 adds verified native WhatsApp @mentions to group mention mode. Only an actual boolean mention flag wakes a reply; arbitrary numeric text, truthy strings/numbers, and quoted-message references do not. The flag survives durable turn routing. Existing textual @agent and @handle mentions continue to work. Also clarified that older SDKs support direct sends but cannot reliably read lists containing group messages. Validation: 54 focused group and mention-policy tests passed. Latest-head CI is running. This comment does not claim deployment or live-message verification. |
|
Commit e083afb preserves structured WhatsApp mentions in framed group context and durable turn routing. The agent can see known mentioned phone numbers and distinguish unresolved identities without guessing or automatically loading contact memories. Mentioning another participant does not trigger mention-mode replies. Validation: 55 focused group/mention-policy tests passed. Latest-head CI is running. Deployment verification is tracked separately. |
|
Commit 370e029 renders verified group mention tokens using contact names when available, known phone numbers otherwise, and an explicit unresolved label when identity is unknown. Raw message text remains unchanged in routing and is retained as metadata when the display text differs. Only the contact name is retained: no contact notes or memories are added. Repeated tokens are handled without partial-number, URL, or email replacements. Mentioning another participant whose contact name happens to be “agent” still does not wake mention mode. Validation: 60 focused group/mention tests passed. The preceding full WhatsApp regression run passed 316 tests. Latest-head CI is running; deployment verification is recorded separately. |
|
Updated in
Validation: 105 focused group, mention-gating, and session/burst tests passed. The preceding head passed all 323 WhatsApp tests; the expanded suite and CI for this head are running. This comment does not assert deployment status. |
|
Follow-up Validation: all 35 focused WhatsApp group/render/privacy tests passed. The prior |
|
On preceding |
|
Implemented WhatsApp Companion parity in
Validation so far: 109 related tests passed, followed by focused additional grant/tool/retry/signature regressions. Broader related suites and latest-head CI remain running. Deployment will be verified separately after the matching API contract is available. |
|
Addressed three verified Companion review findings in
Validation: all 48 focused Companion/group regressions passed. Latest-head CI is running; the preceding |
|
All 49 focused Companion/group tests passed, including a transient authorization outage that automatically retries the retained receipt exactly once without requiring webhook redelivery. Latest-head CI is running. No Companion plugin rollout is claimed yet. |
|
Latest fix All 15 focused Companion tests passed. Latest-head Python unit shards, actual-host contract, SDK lanes and CodeQL passed: workflow. Draft live lanes are skipped. The coordinated development restart remains pending; these checks do not claim a completed live rollout. |
|
Verified Grok mention findings fixed in All 85 focused group/Companion/session regressions passed. The preceding Companion/media fix also passed the broader 384-test WhatsApp/Companion suite. Follow-up model reviews and current-head CI are underway; no corrected development restart is claimed yet. |
|
Follow-up fixes All 21 Companion tests passed. Latest-head CI and final model followups are running; deployment remains pending. |
|
Follow-up All 87 focused regressions passed, including slow-download acknowledgement/dedup and phase-downgrade preservation tests. Final review followups, broader regressions and latest-head CI are running. No corrected development restart is claimed yet. |
|
Final review fixes in All 57 focused regressions passed, including the in-flight enrichment race and checkpoint-state preservation. Three narrow model followups, broader regressions and latest-head CI are running. Development restart remains pending those review results. |
|
Follow-up All 58 focused tests passed, including both roster-present and sender-left variants of the in-flight enrichment race. The previous full WhatsApp/Companion run passed 395 tests. Latest-head CI and final scoped reviews are running; no development restart claimed yet. |
|
Development rollout verified for plugin The final fix settles older unsubmitted WhatsApp receipts only on a later signed same-scope replacement activation, never on ambiguous authorization/read failures. All 60 focused tests passed; the preceding full WhatsApp/Companion run passed 395 tests. Final narrow model followups and latest-head CI remain in progress. Health verification is not a claim of a live-phone feature test. |
|
Pushed and deployed The live test exposed a separate backend Companion-history endpoint returning 500. The plugin has retained all three incoming receipts, including the verified native mention, and is retrying automatically. No input was replayed, cleared or manually resent. Live response behavior is not yet verified; backend repair is in progress. Latest-head CI and narrow review followups continue in parallel. |
|
Live development roundtrip now verified on exact plugin Complete latest-head CI passed: all three Python unit shards, host contracts, SDK lanes and CodeQL. Workflow. Fable and Opus latest delta reviews are clean; final Grok delta closure is still running. This live proof covers native group mention → agent response, not every media/reaction scenario. |
|
Final review loop is closed for current head Complete latest-head CI is green (workflow). Development runs this exact source with combined SDK |
|
Ready for review at |
|
Updated in Final quote/retry/Companion regression suite: 58 passed; ordering, quote, group, and Companion suite: 87 passed. Actual MCP-interpreter SDK checks and diff checks passed. Latest-head CI and final review closure are running. No merge or runtime rollout is claimed by this update. |
|
Updated in Final quote/Companion regression suite: 63 passed. Actual MCP-interpreter SDK checks and diff checks passed. Latest-head unit, host-contract, SDK, and CodeQL checks passed; full-stack checks remain pending. Latest-head CI and final review closure are running. No merge or runtime rollout is claimed by this update. |
1 similar comment
|
Updated in Final quote/Companion regression suite: 63 passed. Actual MCP-interpreter SDK checks and diff checks passed. Latest-head unit, host-contract, SDK, and CodeQL checks passed; full-stack checks remain pending. Latest-head CI and final review closure are running. No merge or runtime rollout is claimed by this update. |
Executive Summary
Support existing WhatsApp groups, readable inline replies, native mentions, and Companion conversations through Codex.
Description
Groups use stable conversation IDs and isolated sessions; names are display labels, not destinations. Native mentions render with the configured agent handle, visible contact name, or verified number in direct and group messages. Companion retains existing Safe/Relaxed behavior and scoped authorization.
Inline reply context resolves only the explicit, authorized parent in the same conversation and identity. It survives queued turns and quiet Companion context without turning quoted mentions or commands into current intent. Optional parent-read failures never block delivery of the current message: transient failures are labeled temporarily unavailable, while inaccessible parents are labeled unavailable. Both retain the exact parent ID without inventing content. Quiet Companion quote-enrichment authorization failures also produce an unavailable marker rather than stopping later turns; authorization before an actual response remains mandatory. Existing source-authorization retries are unchanged. Per-conversation ordering prevents a slow quote read from being overtaken by a later correction. Existing media, reaction, request-key, and delivery-uncertainty handling remains in place.
Reason
An agent should understand which earlier message a person replied to without guessing or requiring a separate model-directed history lookup, while participating consistently in existing groups.
Decisions
Testing
b194442b777e2975383152c42fbf5ce3bfec81dd. All latest-head checks passed, including the complete full-stack workflow. Fable, Opus, and Grok found no remaining blocking findings in the final changes.Related PRs
0.7.29: WhatsApp groups, Companion, mentions and onboarding inkbox#237Installation and verification
From this reviewed checkout, use the Python environment that runs the existing gateway:
For an existing systemd installation, restart that service instead of starting a second gateway:
Preserve the identity, signing key, configuration, and retained state; do not rerun setup just to upgrade.
Manual verification