Skip to content

WeChat tracer: checked raw voice access and supported audio processing #906

Closed

Description

@DoodleBears

Parent

#902 — Personal WeChat capability alignment. IM coordination reference: #48.

What to build

A voice message remains usable when WeChat does not provide a transcript: BotHarness can obtain the original audio and offer supported playback or processing through existing capabilities.

Scope: personal WeChat/iLink, explicitly authorized paired-owner DM. Enterprise WeChat/WeCom is excluded.

Acceptance criteria

  • Extend checked source attachment reads to native voice media; preserve native codec, duration and sample-rate metadata when supplied, without inventing values.
  • Decode only verified supported codecs into a usable bounded audio representation, or preserve a downloadable original with an explicit unsupported-codec result. Keep keys and private media references out of Client/model context.
  • Provide an operable audio source detail/download path and playback where the format is supported. Reuse the existing processing/transcription capability when configured; do not add an unsolicited paid transcription service or treat access to bytes as understanding speech.
  • A missing transcript, decode failure or unavailable transcription capability is visible and does not become fabricated transcript text. Text reply remains available through the original authorized DM.
  • Real E2E: obtain fresh voice media, verify decoded audio by playback or an independently checked artifact, and exercise configured audio processing plus same-DM text reply. Demonstrate the path with native transcript use excluded from the processing proof.
  • Native outgoing voice bubbles are not claimed by this ticket: qualify that separate server/codec contract before adding an implementation ticket. Sending an audio file must be labelled as file delivery, not native voice.

Blocked by

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.

Activity

  1. added this to the v1.1 milestone on Oct 5, 2026
  2. added
    ready-for-agentFully specified, ready for an AFK agent
    area:fullstackEnd-to-end Host and Client implementation
    feature:messagingMessaging module and external providers
    scope:tracerHuman-testable implementation slice
    on Oct 5, 2026
  3. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95 (not a DSH Session)
    • Issue scope: explicitly authorized personal WeChat owner-DM native audio bytes, safe codec metadata, bounded supported playback/working-copy processing and original-DM text reply. No BotHarness ASR, paid transcription service, outgoing native voice or WeCom.
    • Branch: codex/906-wechat-raw-voice
    • Started: 2026-10-06 08:55 UTC
    • State: active; qualification/design while the Human-authorized WeChat: receive platform voice transcripts and reply in the original DM #1005 merge finishes CI.
    • Dependency: WeChat tracer: checked source file processing and original-DM file reply #903 closed. No existing claim or PR found for this scope. Fresh WeChat actions remain Human-controlled; local QA browser remains the only controlled UI. One issue-linked PR with real media and bilingual guides, then Human QA pause.
  4. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 6, 2026
  5. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome

    • Agent: Codex
    • Task: codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95 (not a DSH Session)
    • State: paused for Human QA
    • PR: feat(wechat): retain original voice and prepare bounded audio playback #1015
    • Head: ff90d35a754c144c16b150fbf773bcc5c13329b5
    • Delivered: personal WeChat checked original audio, safe native codec metadata, explicit bounded WAV playback, current-authority working-copy save, approved native file inspection and own-identity original-DM text reply; receiving Human confirmed BH906-AUDIO-OK.
    • Evidence: real light/dark and recovery screenshots, silent actual browser playback recording, PR Lens architecture/data-flow diagrams, bilingual screenshot guide; 2,882 Core/Client tests passed, 9 skipped; Provider 3,586 passed; package and docs checks passed. Browser-saved original download remains unconfirmed by automation; authenticated original bytes are independently verified and the limitation is stated in the PR.
    • Remaining: Human QA and exact-head CI review; merge/deploy require separate Human authorization. No ASR, native outgoing voice, WeCom or follow-on issue started.
  6. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 6, 2026
  7. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome

    • Agent: Codex
    • Task: codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95 (not a DSH Session)
    • State: completed
    • Human QA and merge authorized; PR feat(wechat): retain original voice and prepare bounded audio playback #1015 merged as 840e3aa550f8f7464c697516fd912de6317c2602.
    • Latest-main integrated regression: 2,897 passed / 9 skipped; lint, format, typecheck, build and final docs checks passed. No GitHub Actions check result was available at merge; this is not a CI-success claim.
    • Real fresh WeChat raw audio/WAV native processing, playback/recovery and own-identity original-DM recipient confirmation retained in PR. Browser original download completion remains explicitly unconfirmed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:fullstackEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersready-for-agentFully specified, ready for an AFK agentscope:tracerHuman-testable implementation slice

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions