Repository navigation
Description
v1.3 release reconciliation — 2026-10-11
Target release: v1.3. The implementation/evidence recorded below was merged into the existing #1156 QQ feature branch, not main. Added native blocker #1156 for default-branch stack promotion and current-product qualification; preserve the fulfilled #1153 foundation and all existing owner/evidence records. Do not reimplement the accepted media slice or close it merely because the child PR was merged to a dependency branch. This is a release/integration dependency, not a new claim or authorization to merge.
Parent
QQ group chat specification #1149
What to build
Send an eligible spoken request in a QQ group, play its authorized original voice on demand in the local Channel where the format is supported, and have the Bot understand the request and answer in text through its own app in the same group.
Prefer a demonstrably available platform transcript. Otherwise qualify a supported actual model/speech-recognition capability through the existing owning seams within this runnable slice. Do not create a speculative ASR foundation issue or count audio transport as understanding.
Acceptance criteria
- Real incoming voice preserves trusted native message/group/app association and the existing eligible mention/conversation scope. Recognition and playback do not widen mentions-only collection; ordinary unmentioned voice requires an already opted-in route.
- The Channel offers source-bound original audio and on-demand, non-autoplay playback where the codec is supported. Private resources and credentials stay behind checked Provider operations and canonical media authority.
- Distinguish verified platform transcript, separately recognized output and unavailable recognition with actual provenance. A retrieved audio file is not a transcript and no text is invented when recognition is unavailable.
- Select and exercise an actual supported recognition/model path for the synthetic spoken request. Its content reaches the existing Orchestrator, and an independently inspected own-app text response in the original QQ group demonstrates correct understanding.
- The model cannot claim audio understanding merely from metadata or a fixture transcript. If a new recognition boundary is genuinely necessary, record its architecture choice, ownership and lifecycle and integrate the living architecture in this slice.
- Source acquisition, playback, recognition and text output apply existing authorization, revocation, cancellation and duration/size budgets. Unsupported codecs, expired resources, missing transcript, unavailable recognition and interrupted acquisition have clear states.
- Human playback does not mark Bot Observation or create wake/admission. Transcript/derived media facts retain original message association through canonical persistence rather than a separate voice store.
- Public-contract regressions cover voice provenance, scope, actual content handoff, refusal/unsupported states, authority loss and checked original-group text results; native unknown sends are never auto-retried.
- Run real QQ/Client/model-recognition acceptance with synthetic speech and independently inspected text answer. Record selected recognition capability, SDK/Provider/DSH/product revisions and sanitized evidence.
- Include usable Client and keyboard/focus evidence, bilingual guide/ledger updates and checks; contribute reusable QQ voice intake/transcript/playback contracts through the maintained fork and upstream.
- No outgoing native voice reply, automatic speech synthesis or video is implemented. If understanding cannot be qualified, expose the cause and retain this required slice as unfinished rather than closing it on playback alone.
Blocked by
- QQ tracer: manage conversations, Channel sync and truthful reconnect history #1153 — qualified original-group text response and authorized local conversation/media access.
Existing cross-provider playback/provenance patterns are prior art. Other providers' unfinished audio presentation tickets and QQ image/file slices do not gate this path.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 8, 2026
Agent work claim
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844(not a DSH Session)codex/1159-qq-voiceContinue from the Human-approved #1193 merge on the existing QQ stack. Use the already approved public checked dsh-im → canonical Source Event / Bot Inbox → existing Orchestrator → original-group receipt test boundary and real QQ/Client acceptance. Existing media/Grant/attachment owners remain authoritative; SDK optional voice/ASR fields require real qualification.
fix(qq): qualify audio-only consumers and ship the rebuilt voice prov…
fix(qq): expose bounded quoted voice carrier diagnostics
test(qq): assert bounded voice quote diagnostics
fix(qq): accept a spoken question without a redundant quote caption
fix(dev): pin rebuilt QQ quoted-voice compatibility
2 remaining items
docs(qq): record maintained native voice qualification
docs(qq): distinguish maintained voice proof from modern Host qualifi…
DoodleBears commentedon Oct 8, 2026
#1159 implementation complete; PR ready for review
Claim: #1159 (comment)
Product PR: #1201 — final head
1e758df5, basecodex/1156-qq-own-identities; this is a stacked implementation, not a main/release merge.Upstream contribution: xmanrui/dsh-im#334 (draft, depends on #332; modern Host live qualification remains separate).
Real qualification, 2026-10-08:
bridge_readandbridge_reply→ own-app original-group24, native provider receipt; Human confirmed receiving 24.60be59adcc17a40ff78049f51295205657fd54bc, 409 runtime files, SHA-256a940e150bfb3f807b6fec0c7efdc913320b3202aa4cbe64e73356607cd5cc6e8; installed artifact verified on DSH 0.2.0-rc.1.561f42d0, Provider55b45284) with focused final-delta checks. Shared player label and modern registry port findings were resolved.Scope: one maintained application and native quoted-ASR/SILK path. Missing ASR, other codecs and the modern Host are not real-qualified. No outgoing voice/TTS or automatic ASR credentials. Raw audio was kept private.
Sibling #1154 remains dependent on shared #1115 and Provider release #1111; #1155 remains dependent on #1154. Neither is marked complete.
DoodleBears commentedon Oct 8, 2026
Agent work outcome — merged
codex/local/01a117bf-865d-72d1-a9c6-88658c59f844(not a DSH Session)codex/1156-qq-own-identities, merge commitd68cc44893dd921247633d0d574d0cdc66578a8d. This remains a stacked feature branch, not a main/release merge.24, confirmed by the Human; original byte-identical download and actual 6.4-second keyboard playback; final automated checks passed. The PR contains screenshots, recording and PR Lens.DoodleBears commentedon Oct 13, 2026
Agent work outcome — accepted delivery merged
codex/local/01a1342d-5ce4-7872-9f9e-492a9caee393(not a DSH Session)b5285b610393df2531be6c386d15656bb45ca947. Reviewed head41c3a1c7passed full Linux verify and package preparation.b283be11into its declared dependency branch, not the default branch; no Provider package/release or production cutover is claimed.2edb56d5/ Provider1eee207c/ SDK1.0.4 / DSH RC2. The merge does not retroactively qualify the later main composition. Earlier capture/Windows limits remain disclosed.The already accepted incoming voice implementation (#1201) is now promoted to main. Actual platform-transcript understanding and original-group text responses retain their separately recorded historical revisions (24 at the original slice, 56 at 6ec097e). Actual original SILK download and bounded converted keyboard playback remain verified; the later shared audio-card UI has separate evidence. Fresh K image/file/text tests are not relabelled as new voice understanding. No outgoing voice/TTS is included.