Skip to content

feat(feishu): qualify quoted native video resources for Channel playback - #31

Merged
DoodleBears merged 4 commits into
mainfrom
codex/1023-lark-media
Nov 2, 2026
Merged

DoodleBears merged 4 commits into
mainfrom
codex/1023-lark-media

Conversation

@DoodleBears

@DoodleBears DoodleBears commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Refs BotHarness/DeepSeekBot#1023 · Core PR #1950 · Task claim · Agent-Task: codex/local/01a13902-0d72-7872-ac0f-440e152155d5

Why the change

Qualify the native video and optional cover behind a Lark user's mentioned reply so the existing Channel attachment path can prepare the exact original on demand.

Special things to note

  • Merge risk: two-way door — revert the capability and source changes; medium blast radius — shared Feishu enrichment and checked resource reads, with stale-resource access as the main failure to review; no schema, permission or publication change.
  • Draft: 60 focused tests and 779 complete Feishu tests passed, with five existing POSIX-only fixture skips on Windows; build and package verification passed. Fresh native intake, byte equality, playback, installed-product E2E and Human QA remain pending, so this does not finish #1023 or qualify audio/direct native media messages.
  • Core integration retains current Channel/source/identity authority. A private HTML explainer binds Provider head f889a5808a342bb9b4abf586f115e57cb44b2b6b and Core head 5e9f2a9f067aea06f629bfa1c72bbabd178e338d; its complete content was scanned and desktop/narrow layouts inspected through a headless browser. It is not hosted reviewer evidence.

Change outline

exclusive Consumer: sourceFiles + explicit sourceVideos
  → original native user text request, mentioning this App
  → exact same-chat parent msg_type=media
  → video file_key + optional durationMs
  → optional image_key only with sourceImages
  → immutable descriptors; zero resource downloads during intake

explicit resource read
  → recheck original request and parent
  → compare full descriptor
  → original parent message ID + its file/image key
  → existing cancellable, 25 MiB bounded stream

Generic file messages keep file semantics regardless of their filename. Changed parents, changed resource descriptors and wrong conversations fail closed. Missing duration/cover remains absent; no MIME, transcript, cover or codec is invented.

Production controller tests verify that both video and image opt-ins reach runtime enrichment. Resource tests verify native association, exact resource selectors, no eager acquisition, stale-parent refusal, missing metadata and generic-file separation. The generated Host bundle is rebuilt and package verification passes.

A real isolated DSH 0.2.0-rc.2 Profile installed this exact source and verified its 421 runtime files against SHA-256 02a4b38aaca218091e52bfa8a8b91be4c98f5d41458356ca9ecd0ee928633819. The authenticated API was healthy with zero configured Lark Apps; the task-owned empty Host was stopped. This verifies installation/registration, not native intake/playback or fresh product media E2E.

The Human supplied two genuine native videos through the Lark client. The latest parent was quoted with a real Bot mention through the built-in browser. The candidate retained the canonical Source Event with the exact native parent, 6000 ms duration, video/unknown primary and image/unknown native cover; IDs were checked against the platform parent. Official DeepSeek Flash DM succeeded. However, the native identity endpoint returned HTTP 429 / 99991403, "This month's API call quota has been exceeded" (token authentication still returned 200/code 0). The result Outbox failed provider-unavailable with zero send attempts and no receipt. Managed-file and Attachment-binding counts stayed zero. No playback, download or installed-product media success is claimed. The exact task-owned receiver was unbound and stopped; QA2 is released. The remaining native gates require restoration of the Lark API quota.

Native video, playback, cover, lifecycle and installed-product E2E remain pending. Both PRs stay draft.

Issue: BotHarness/DeepSeekBot#1023

Agent-Task: codex/local/01a13902-0d72-7872-ac0f-440e152155d5
@DoodleBears
DoodleBears marked this pull request as ready for review November 2, 2026 16:17
@DoodleBears
DoodleBears merged commit e655636 into main Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant