Repository navigation
Closed
Labels
V1.1Milestone v1.1; mirrors the GitHub milestoneMilestone v1.1; mirrors the GitHub milestonearea:docsDocumentation, research, or planning artifactDocumentation, research, or planning artifactfeature:messagingMessaging module and external providersMessaging module and external providersscope:researchEvidence-gathering or mechanism spikeEvidence-gathering or mechanism spikewayfinder:researchWayfinder research ticketWayfinder research ticket
Milestone
Description
Current ownership — 2026-09-30
Feature Project: IM Identities & Messaging. Supply only current official provider facts and real sandbox evidence needed by the next #117/#12 tracer; no broad speculative provider survey.
Why
#71 已定义通用 Messaging/Provider Capability/Service Grant/Outbox contract;#48 仍需要一份以 Feishu/Lark 官方能力为依据的 adapter contract,避免把 provider 特性泄漏进 Messaging deep module。
Research and contract
- verified sender/account identity、tenant/app/bot/account fingerprint。
- new message、recall、可用的 edit/current-message fetch、thread/reply、reaction/card/file events。
- webhook/long-connection verification、event id/version/time、out-of-order 与 replay behavior。
- reply route、proactive post、attachment fetch/upload、provider idempotency/outcome lookup。
- permissions/scopes、rate limits、credential rotation、account removal。
- 每 account 的 Provider Capability 声明与 unsupported behavior。
Acceptance criteria
- 只使用飞书/Lark 官方文档和可重复的 sandbox evidence;每条能力有来源与验证日期。
- capability matrix 映射到 ADR-0036~0039,不把 capability 当 authorization。
- 明确 edit/recall/echo/reconciliation 的 supported/unsupported/unknown。
- 给 IM identities and messaging: provider coordination #48 提供 adapter interface、event normalization 和 acceptance fixtures。
- 更新现有 research note,避免另建互相冲突的事实清单。
Related
- Parent Bridge implementation: IM identities and messaging: provider coordination #48
- Architecture foundation: 架构地基:显式 Session 归属与 deep modules(GrokBot-on-DSH 对齐) #71
- Existing research:
docs/research/2026-09-20-feishu-message-edit-recall-events.md
Delivery relationship
- IM tracer: dsh-im outbound adapter and explicit Bot binding #117 is outbound-only and may proceed after Messaging: external ingress, Provider contracts and Outbox #46 without waiting for an exhaustive Feishu/Lark capability matrix.
- IM tracer: work-group @Bot → PersonaBot Inbox → same-topic reply #12 consumes the minimum official Feishu/Lark and sandbox evidence required by its real work-group @bot / same-topic reply tracer.
- Research beyond IM tracer: work-group @Bot → PersonaBot Inbox → same-topic reply #12's exercised capabilities remains incremental and must not block unrelated providers.
Metadata
Metadata
Assignees
Labels
V1.1Milestone v1.1; mirrors the GitHub milestoneMilestone v1.1; mirrors the GitHub milestonearea:docsDocumentation, research, or planning artifactDocumentation, research, or planning artifactfeature:messagingMessaging module and external providersMessaging module and external providersscope:researchEvidence-gathering or mechanism spikeEvidence-gathering or mechanism spikewayfinder:researchWayfinder research ticketWayfinder research ticket
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Sep 30, 2026
Agent work claim
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)codex/117-im-outbound5 remaining items
Add explicit Profile IM grants and durable outbound text records (#587)
DoodleBears commentedon Sep 30, 2026
Agent work outcome
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)a3d88bbab25d2479ae435c9a8c1441c747cea20eThe Human bound the real Lark account/destination in Profile, sent a text and confirmed receipt, then authorized merge. Exact final head
db2ce29cddb4406c0d8240373aa71526a992807dpassed GitHub lint/format/typecheck/test/build/docs and CodeRabbit checks; local integration was 1462 pass / 1 skip. Canonical grant, intent and one settled accepted attempt were verified without another external send. Main integration retains the concurrent Human Inbox reply, usage and Host file actions.Released legacy dsh-im remains disabled. The compatible authenticated-account/checked-send contract is proposed in xmanrui/dsh-im#293 and has not been accepted or released. This does not complete #117's compatible pinned artifact or #46/#78's inbound scope.
The Human clarified work-group collaboration as the priority. #12 now verifies work-group @bot → the bound PersonaBot Inbox/Orchestrator → trusted same-group/topic reply; DM is a compatibility follow-up. See #12 (comment).
DoodleBears commentedon Sep 30, 2026
Agent work claim
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)codex/78-lark-group-contractThis is the first frontier under the Human's requested goal. Complete E2E evidence and a screenshot/recording-bearing PR, then pause the goal for Human QA before starting another issue. #117's Human-accepted outbound slice is merged; #12's full Inbox/Orchestrator integration is not yet delivered.
DoodleBears commentedon Sep 30, 2026
Agent work outcome
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)ae8b7e537f10da59f7f4059eb35f0e2191f7734fThe real Lark paths covered ordinary group @bot, @bot inside an existing topic, and a new group message after cold Host restart. Substituted group/topic routes were refused. The screenshot is explicitly a report from real provider records, not a PersonaBot product screenshot. Native IDs, credentials and unrelated chat content remain local. Eight probe regressions passed. Provider fork
19d88f14bf85d74d4abf035a0c749d0b4a640257remains an unreleased proposal; this qualification does not deliver #12's canonical Source Event/Inbox/Orchestrator/Outbox integration.Final-head lint, format, typecheck, build and docs build passed. Full local suite: 1507 pass / 1 existing Human DM steering 15-second timeout / 1 skip. One isolated diagnostic run passed 4/4; this is not a claimed fix and the first failure is preserved in the PR. Exact-head GitHub CI is running, not yet a confirmed pass.
Human QA: open BotHarness IM QA #78, select the real Bot mention and send
[BH78 ROOT]in the main group or[BH78 TOPIC]in the prepared topic; expect one matching ACK in place. The isolated test consumer remains available. No merge or next issue until Human feedback; this issue stays open pending QA/merge.DoodleBears commentedon Sep 30, 2026
Human QA design follow-up — external group policy
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95.The Human observed an unmentioned Thread reply not entering the current probe's accepted records. The probe requires an authenticated @mention on every qualifying source; its successful @mention-in-Thread reply does not prove automatic Thread following or ordinary-message reception. Lark read status is not the probe's durable acceptance/Observation/reply receipt.
Confirmed defaults: direct-mention-only external Inbox admission and @addressed responses. Human may enable ordinary group admission with existing time/count digest harvest or immediate wake. Bot explicitly chooses Thread follow/unfollow within the authorized scope; answering once does not auto-follow. Admission, wake and whether to answer are independent. Thread support is optional and adapted provider by provider, with group-only behavior for adapters without it.
For the next selected context-read/following tracer, qualify exact Bot-identity permissions for ordinary message delivery, Chat history, Thread history, surrounding-context assembly and native search separately. The official Lark history API supports tenant-token Chat/Thread reads, requires stated group permissions and Bot membership, and warns that Chat listing returns only Thread roots in ordinary groups; replies require Thread listing. Thread listing cannot currently use a time range. Therefore bounded nearby-context assembly must report coverage honestly. Native search support under the concrete Bot identity is not verified here; do not silently borrow Human credentials. These are follow-up capability gates, not claims that #607 has implemented them or new blockers expanding its exercised acceptance.
DoodleBears commentedon Sep 30, 2026
Agent work claim — Human-authorized merge follow-up
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)codex/78-lark-group-contractNo PersonaBot integration or broader provider behavior is added to this PR. The Human authorized merge and continuation; the proposed subsequent ticket breakdown is separately awaiting confirmation.
Release delayed QA consumer leases after disposal
research: qualify Lark work-group provider contract (#78) (#607)
DoodleBears commentedon Sep 30, 2026
Agent work outcome
codex/local/01a0f14c-5338-7020-853b-0fe54b87aa95(not a DSH Session)2ef0bddbc33f50395123ea03a6c5e3277ac64d19bdecd0da167e450e1ac65da981f22dcce0bd7204Exact-head CI (lint, format, typecheck, tests, build, docs) and CodeRabbit passed. The review's late-consumer cleanup finding was reproduced by two failing regressions and fixed; all 10 probe tests passed. Original real Lark records and screenshot retain their original probe hash rather than claiming a new platform run after this cleanup-only correction. The Human accepted the provider qualification and authorized continuation.
Confirmed Group / optional Thread design remains in #48. New approved follow-ups #612 and #613 depend on #12; #614 depends on #613. They are native children of #48 in Project 10 / v1.1. #12's canonical PersonaBot integration and #117's compatible artifact adoption remain separate unfinished scope.