Skip to content

Lark tracer: verified live sender names in shared Channel messages #1070

Open

Description

@DoodleBears

v1.3 release topology — 2026-10-11

Parent: #48 (native sub-issue relationship verified). Project #10; target milestone v1.3. Preserve the existing implementation/qualification scope, claims, accepted evidence and runtime authorization. Native parentage is coordination, not an additional execution blocker.


Parent: #48. Follows merged #1067 / closed #1061. Related Provider qualification and #1021 QA coordination; not part of #1034 group management.

Observable behavior

A freshly received, already authorized native Lark/Feishu message shows the native sender display name above the shared Channel bubble and native named @ references inside it. Name metadata preserves original message text and stable native IDs. Missing or unavailable names retain the explicit ID fallback.

Confirmed boundary

#1067 already implements platform-neutral name/mention projection and Channel rendering, with Feishu fixture coverage. The inspected Lark receiver normalizes actor.name only when the incoming event has sender.sender_name. Its ordinary checked intake has no sender-name enrichment; history reads independently request with_sender_name=true. The inspected enrichment method handles attachments only. This is a live Provider metadata gap, not another Channel renderer.

The existing dedicated Lark QA app is currently attached to the #1021 media task; do not create a competing receiver, copy its credential, stop its Profile or broaden scopes to perform this slice. Coordinate a free QA window through the Human-authorized workflow. No fresh external Lark name result is claimed by #1067 or this ticket.

Narrow delivery

  • Inspect the exact qualified Provider baseline and official message-get contract. Resolve sender metadata from the exact authenticated source with with_sender_name=true and existing message-read authority, without requesting contact-directory scopes.
  • Bind any returned name to the verified account/message/conversation/native actor and route; never trust a name as identity, membership, mention or wake authority.
  • Preserve canonical event IDs, native text, mention keys and all routing. Refusal, timeout, missing name and connection replacement must not invent a name or change source authority. Determine bounded fallback behavior explicitly so display enrichment does not break intake.
  • Keep the Provider candidate isolated. Product pin promotion and deployment are separate authorization boundaries.
  • Reuse fix: show native sender names and mention chips in shared Channels #1067 projection and rendering; avoid a provider-specific Client fork.

Acceptance

  • A focused regression fails on unnamed real-shaped receive events and passes when the exact checked native source returns a name.
  • Wrong source/account/actor/route, missing permission/name, cancellation and replacement have observable safe fallback/refusal behavior; no duplicate admission or reply.
  • Authorized real Lark text with repeated native @ references produces one canonical Source, the expected Channel placement and correct sender/chips; original body remains exact.
  • Native IDs remain available in source details/hover; known names render escaped, unknown mentions stay literal.
  • Matched light/dark and restart screenshots from the actual isolated runtime, with bounded native evidence and restored receiver/authority.
  • Exact-head Provider/BotHarness checks, bilingual qualification/release text and runnable acceptance path. Agent-operated acceptance; no manual QA gate is added.

Activity

  1. added
    ready-for-agentFully specified, ready for an AFK agent
    area:fullstackEnd-to-end Host and Client implementation
    feature:channelChannel chat, timeline, composer, and navigation
    feature:messagingMessaging module and external providers
    scope:tracerHuman-testable implementation slice
    on Oct 6, 2026
  2. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a10b17-384f-7aa1-8004-337190b6d053 (not a DSH Session)
    • Issue scope: verified native sender-name enrichment for checked live Lark intake, reused shared Channel display, bounded Provider regression and coordinated real QA only.
    • Branch: codex/1070-lark-sender-names
    • Started: 2026-10-06 17:20 UTC
    • State: active

    Human requested this Lark slice before returning to the existing Discord goal. Independent Provider baseline: ca9d37820c061841a9181f295900891ae370c812. Existing #1021 Profile, credentials and receiver are untouched; coordination authorization has been requested while implementation proceeds. No product pin promotion, release or deployment is implied.

  3. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 6, 2026
  4. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent progress — independent Provider candidate

    • Task: codex/local/01a10b17-384f-7aa1-8004-337190b6d053; state active.
    • Candidate: fix(lark): verified sender names for checked live text dsh-im#12 (draft), head 81366df from fixed baseline ca9d37820c061841a9181f295900891ae370c812.
    • Implemented: optional exact-source/native actor/topic and original-text checks before adding only actor.name; 1.5-second bounded lookup, unchanged intake/ID fallback for unavailable metadata, cancellation and connection replacement refuse stale delivery. Text-only consumers use this path independently of file negotiation.
    • Local validation: 93 focused and 3,634 full Provider tests passed, plus Host/Client build and package verification. Candidate artifacts are built from the independent checkout; no product pin changed.
    • Pending: Human-authorized coordination with Bridge tracer: Lark images in Channel bubbles with authorized retained history #1021 for the currently connected dedicated Lark QA app, then actual names/chips/original text/cold-restart and matched light/dark screenshots. No competing receiver, copied credential or external Lark success is claimed.
    • Sequence: finish this one Lark issue, then return to the existing Discord goal as the Human requested.
  5. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent checkpoint — authorized coordination, real QA window unavailable

    Human explicitly authorized contacting the existing media task on 2026-10-07. Coordination has been sent to the owner of the shared original Lark QA app; there is no pending authorization question from this task.

    The owner reports that the #1021 native image operation is incomplete and has not released the QA receiver/Profile/window. This task has not sent the unverified draft, started a competing receiver, copied a credential, modified the shared Profile or interrupted its process.

    Name candidate Provider draft #12, head 81366df6ccd77625f39ec16d1dda417ff37890d5: 93 focused and 3,634 full Provider tests passed; build and package verification passed. No hosted CI run or fresh external result is claimed.

    Independent compatibility preparation is complete: corrected media Provider plus names 6cd149db57fef3e0ca48be682675c7e1f2e853c5 passed 3,615 tests/build/package verification; media Host plus merged #1067 sender/chip projection passed type checking, 138 focused tests and build. These candidates have not been installed into the shared QA Profile.

    Remaining: mutually exclusive owner handoff, fresh native text with repeated @ references, canonical Source/admission and exact-body checks, matched light/dark/restart screenshots, exact receiver/authority restoration. The issue remains open and the PR remains Draft. After this Lark slice, return to the existing Discord goal as requested.

    Agent-Task: codex/local/01a10b17-384f-7aa1-8004-337190b6d053

  6. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent checkpoint — real runtime attempt and exact restoration

    An exclusive QA window was released and used for the #1070 candidate. The same authorized native account reported connected; authenticated channelTimeline and messagingSnapshot returned 200/ok. All three actual timeline entries parsed through the candidate Client. Local source/digest/packaging qualification passed (33 focused qualification tests; product packing passed).

    Fresh native name acceptance was not completed: the browser Channel remained in Loading messages, then navigation timed out. The original qualified Host reproduced the loading state after restoration; exiting and re-entering Bot mode restored messages on this task's page. The cause is not yet established, and the media owner's recovery is still in progress. No fresh #1070 native text, duplicate admission/reply result, or positive name screenshot is claimed.

    The original Host/Provider were restored with the supplied verified helper, one listener, exact qualified runtime digest and identical Profile manifest. Account credentials remained in place; grants, bindings, Bot memory, existing Source Events and files were not changed by this task. All task-owned QA browser pages are closed. The media owner holds the current lifecycle window; a second safe insertion was requested and remains unreleased.

    Provider draft PR #12 now records this evidence and limitation. The issue remains open; next acceptance is one real native pure-text message with repeated named @ references, source/body/ID verification, actual light/dark/restart capture and exact restoration. Then return to the existing Discord goal as requested.

    Agent-Task: codex/local/01a10b17-384f-7aa1-8004-337190b6d053

  7. added a commit that references this issue on Oct 6, 2026
  8. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome

    • Task: codex/local/01a10b17-384f-7aa1-8004-337190b6d053
    • State: handed-off — Provider source merged; real qualification remains open.
    • Human explicitly authorized this merge on 2026-10-07 after the recorded acceptance limitation.
    • Provider PR #12 is MERGED at 43604c1f90d37793db21e98da0237ccefa9ee17e, containing reviewed head 81366df6ccd77625f39ec16d1dda417ff37890d5. Main and the merge commit were verified; its file tree exactly matches the tested candidate.
    • Validation: 3,634 Provider tests passed, build/package verification passed. Fixed-point Standards/Spec review found no source blockers. Hosted CI has no run for this head; this is not a hosted-CI pass claim.
    • Remaining scope: qualify the BotHarness product pin, obtain a mutually exclusive QA window, send fresh native Lark pure text with repeated @ references, verify actual sender/chips/source/body/ID and expected admission/reply behavior, capture real light/dark/restart evidence, then restore authority and receiver. Product pin promotion, release and deployment were not performed by this merge.
    • Lark tracer: verified live sender names in shared Channel messages #1070 stays OPEN with real acceptance unchecked. The prior QA environment was restored and this task's temporary browser pages closed. No other active claim was found; agent:active is removed at this handoff rather than treating the merged source as completed qualification.

    Agent-Claim: #1070 (comment)

  9. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 6, 2026
  10. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim — qualification resumed

    Human explicitly requested continuing #1070. The previously released shared window has a changed runtime checkpoint; this task is coordinating its current owner before any receiver switch or native send. No other active #1070 claim was found.

  11. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 6, 2026
  12. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome — qualification handoff

    • Task: codex/local/01a10b17-384f-7aa1-8004-337190b6d053; resumed claim.
    • State: handed-off — awaiting a fresh mutually exclusive shared QA receiver window.
    • Provider PR #12 is already merged. This continuation did not promote the product pin or deploy.
    • The previously released receiver window was reclaimed by the media task. The task has requested a fresh window through the Human-authorized coordination workflow; it has not received a new release.
    • No fresh native Lark tracer: verified live sender names in shared Channel messages #1070 message, screenshot, or positive real acceptance result is claimed. The shared receiver, credentials and authority were not changed by this continuation.
    • Remaining: actual native sender/name and repeated @ chip acceptance, exact original body and stable IDs, matched light/dark and restart screenshots, then restoration. Lark tracer: verified live sender names in shared Channel messages #1070 remains open. Return to the existing Discord objective after completing this Lark slice.
  13. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 6, 2026
  14. DoodleBears commented on Oct 6, 2026

    @DoodleBears
    ContributorAuthor

    跨电脑交接 — 2026-10-07 JST

    Human 要求将当前进度同步到 GitHub,换电脑继续。Task codex/local/01a10b17-384f-7aa1-8004-337190b6d053 的状态为 handed-off。按已确认分工,本任务回到 Discord;Lark 由媒体/Lark 任务继续协调。接收任务尚未在 #1070 留下新 claim。

    在另一台电脑获取 Host 候选:

    git clone https://github.com/BotHarness/BotHarness.git
    cd BotHarness
    git fetch origin codex/1070-lark-names-qa-handoff
    git switch --track origin/codex/1070-lark-names-qa-handoff
    git rev-parse HEAD
    # Expected: 7adf966458d2af6d2e81da5ae9682e5917dd9bae
    pnpm install --frozen-lockfile

    下一任务先阅读本 issue 既有验收范围、此前 handoff、#1022 最新交接及 AGENTS.md,刷新依赖/claim 后记录接手。真实验收和产品 pin promotion 仍是后续工作。

    凭证、浏览器登录、旧 DSH Profile/数据库没有放进 GitHub;新电脑需通过正常授权配置恢复环境。不要同时在两台电脑为同一应用启动 receiver。

    Original claim: #1070 (comment)

  15. added this to the v1.2 milestone on Oct 8, 2026
  16. modified the milestones: v1.2, v1.3 on Oct 11, 2026
  17. modified the milestones: v1.3, v2.0 on Oct 24, 2026
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:channelChannel chat, timeline, composer, and navigationfeature: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