Repository navigation
Closed
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersMessaging module and external providersready-for-humanRequires human implementationRequires human implementationscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Milestone
Description
Parent
#902 — Personal WeChat capability alignment. IM coordination reference: #48.
What to build
The paired owner sends a file in WeChat; the bound PersonaBot can fetch and process that exact source attachment through existing tools, then return a file to the same authorized WeChat DM.
Scope: personal WeChat/iLink, explicitly authorized paired-owner DM. Enterprise WeChat/WeCom is excluded.
Acceptance criteria
- Admit a file-only message and a message containing text plus a file as canonical Source Events with bounded attachment metadata. Show the original filename, supported media type, size when provided, and source identity in Inbox/source details.
- Expose checked, source-scoped attachment reads through the existing Messaging attachment seam. Enforce byte limits during download as well as after decryption; reject oversized, malformed, unavailable or stale media without consuming unbounded resources.
- Resolve media references and AES/CDN transport material only inside the qualified Provider. The model and Client receive safe attachment references, never private download authority.
- Send a generated file using the acting Bot's current identity/Grant and original DM route. Preserve honest per-send receipts, cancellation and unknown outcomes; do not blindly repeat an uncertain external send.
- Real E2E: send a small test archive/document with a unique payload, have the Bot read the payload and produce a result file, receive it in WeChat, and independently verify its downloaded contents. Cover revoked authorization and an over-limit or invalid media case.
Blocked by
None — can start immediately. Completed prerequisite: #878 / PR #894.
Delivery and evidence
- Deliver one production-shaped tracer through the qualified Provider, canonical Messaging authority, applicable PersonaBot/Channel/Inbox behavior, and an operable Client path. Reuse the existing exclusive Consumer; do not create standalone dsh-im Sessions or a parallel message store.
- Keep the original external author, timestamp, lossless native message ID, Source Event ID, and trusted reply route. Every external send uses the acting Bot's own bound identity and current Grant; platform credentials, context tokens and media keys remain Provider-private.
- Qualify the changed Provider capability on the maintained fork and pin the verified artifact. Submit reusable Provider changes upstream where appropriate, without making upstream merge a release prerequisite.
- Complete fresh real WeChat E2E with the Human controlling WeChat. Include observable success and the relevant refusal/recovery behavior, focused regression coverage, and packaged-product verification. A model's claim, HTTP success, or client acknowledgement alone is not delivery/read proof.
- Preserve real screenshots or recording during acceptance; embed GitHub-renderable evidence in the PR, including before/after and applicable light/dark states for visible UI changes. Do not publish credentials or unrelated chat contents.
- Update the illustrated English and Chinese WeChat connection guide and reusable IM integration guidance with verified behavior and platform limitations; edit canonical source docs, not generated site content.
- Create one issue-linked PR, then pause for Human QA. Merge and deployment require their own Human authorization. Issue closure requires the accepted behavior, not only documentation or a capability flag.
Metadata
Metadata
Assignees
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersMessaging module and external providersready-for-humanRequires human implementationRequires human implementationscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Type
Projects
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 5, 2026
Agent work claim
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)codex/903-wechat-filesDoodleBears commentedon Oct 5, 2026
Implementation checkpoint for #903 (one issue / one PR).
DoodleBears commentedon Oct 5, 2026
Agent work outcome
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)28ae77022d92244263519d2ffffb904e2e63ea8f3364e577a3e99579372e5060d6180f13a50c7fb55c6623d91c2c1fa28255edb9.feat(wechat): process source files and return results in the original…
DoodleBears commentedon Oct 5, 2026
Agent work outcome
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)e7f07f5ea80af9d4529d0fb4512fea1b618a1180.