Repository navigation
Description
Parent
Specification: #1371
What to build
A Human opens a particular otherwise allowed Lark group to visitors from its existing conversation settings. An unpaired person can then address the Bot under the configured mention/wake policy, with no management authority. Closing the exception makes their next intentional request start reviewed pairing again. Separately authorized ordinary group collection can supply unpaired authors' background context to a later eligible request without creating pairing spam or waking the model by filling a batch.
Acceptance criteria
- Through the existing exact Bot/app conversation row and authenticated service, enable/revoke an explicit open-group exception and show its effect on sender admission. Missing policy, app membership, or a known-conversation directory row never creates the exception implicitly.
- Unpaired intentional requests in an open group carry trusted visitor/sender provenance without automatic role/permission injection; an on-demand permission lookup identifies no effective pairing and no management power, while replies use the existing checked original reply path. Existing platform reach, Binding readiness, durable block, reception, mention, and Wake Policy checks still win.
- After the Human removes the exception, an unpaired user's next DM/mention in restricted scope follows the deterministic pairing path with no model work. A person's effective pairing remains scoped independently of the exception.
- Ordinary collected group text is retained/read only under separate explicit collection authority, does not bulk-create pairing requests, and cannot independently trigger model work or count/time batch thresholds. The scheduling evidence distinguishes eligible requests from passive observations.
- A later eligible request may read authorized passive context with each author's trusted provenance. Resolve the actual requester's current permissions on demand for role-governed behavior; do not inject every background author's policy or substitute the last/most privileged/quoted author or a union of Tool results. Querying a participant is informational; management authority remains attributed to the actual qualified actor and checked independently by the Host.
- Shared sources, explicit Bridge/ingest paths, followed threads, and restart recovery preserve this distinction and cannot transfer the open exception or a paired actor's role across Bots/apps.
- UI copy and the runnable walkthrough explain that passive context can influence a later model turn and consume tokens when read; pairing restricts request initiation, and group responses remain visible to the group. No full-membership or dynamic disclosure-confirmation feature is introduced.
- Public Messaging/Agent Adapter tests verify visitor admission, no visitor management decision, scope/block precedence, close/reopen transitions, and passive text excluded from wake thresholds, including mixed-author batches. Extend existing conversation/fanout tests rather than building a separate policy simulator.
- Demonstrate a real Lark group with an unpaired visitor, an approved person, explicit open/closed transitions, and separately opted-in collection through a real Host/sidebar. Retain bounded scheduling/UI evidence; do not take over a production receiver.
- Update affected living architecture, operational guidance, and bilingual release documentation. No additional Provider, email integration, or generalized resource ACL is added.
Blocked by
#1374: scoped directory and completed first-flow Human acceptance. This is the agreed delivery/feedback gate. slice 3 is not a blocker: visitors have no management capabilities, and the ordinary-role baseline already supplies the required provenance.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 10, 2026
Agent work claim
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76(not a DSH Session)codex/1376-lark-open-groups-passive-contextRechecked live body, comments, labels, native blockers/sub-issues and open PRs; no competing implementation claim found. Native #1374 remains open, but its complete first-flow Human acceptance and current-head full CI passed. This task coordinates its own shared Messaging owner edits with #1375, whose real first slice is accepted and submitted as #1387; implementation stacks without merging either parent. Existing other IM owners and production receivers remain untouched. QA1 uses the existing Human-coordinated exclusive receiver window, with only one running Host/Consumer.
DoodleBears commentedon Oct 10, 2026
#1376 tracer evidence
Task:
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; state active. Native #1374 gate: Human accepted complete first feedback, current CI passed. Existing #1375 shared owner changes coordinated within this same task and separately accepted; unrelated claims preserved.QA1 exclusive window remained on the isolated Host. Console message scope
im:message.group_msg:readonlywas added to this authorized test App; console confirms published, long connection verified real ordinary traffic. No receiver takeover outside the arranged window.Public implementation: explicit current group CAS; visitor has no Role/capabilities; independent passive collection across direct/Bridge/ingest; context has silent durable wake, no count/interval, and cannot schedule a Turn or contribute to paired thresholds. Implicit group policy save previously called inspect on an empty manual target and failed; now reuses existing account-aware inspectGrant. Public reproduction failed before fix and passed after.
Real group flow: three unpaired ordinary texts, count 2/time 10s, same native 14 Turns before/after; new visitor @ answered 14351 with passive BlueTern31 and current visitor authority. Group closed and restriction verified committed; new @ only created request 88E7893DA0, no model Turn; sidebar role approval only sent fixed re-ask. Fresh @ answered 23707 and current Documentation colleague revision 1, capabilities []. Earlier automation clicked the other simultaneously open modal checkbox; excluded and corrected before the verified close test. Same Human changed states sequentially; public automated tests use distinct authors.
Human feedback requested on this concrete interaction; pending. Local lint/format/type/build/Release Ledger and focused behavior tests pass. Full Linux CI and PR link follow; no merge/deploy or Done claim.
PR: #1388 ; commit a271c64; current Human feedback pending, full CI running.
DoodleBears commentedon Oct 10, 2026
Human acceptance and final restart
Task
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76: Human explicitly accepted the #1376 real group visitor/passive/closed-group/review/new-question interaction. #1374 native first-flow feedback remains accepted; no dependency or claim was bypassed.Same isolated Profile restart on commit a271c64 retained group closed preference revision 2, restricted sender policy revision 9 and approved ordinary Role. Real post-restart new @ returned current paired state / role revision 1 / empty capabilities and 25591. Temporary all-message/count-2/10-second policy was restored to inherited mentions-only reception (group policy revision 2). One exclusive QA1 Consumer; no credentials, other App or production receiver takeover.
PR #1388 current full CI still running; matched baseline/current real UI screenshots are being prepared with private background masked. No merge/deploy or Done claim.
DoodleBears commentedon Oct 10, 2026
Agent work outcome — handed off for review
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; state: handed-off.6 remaining items
ci: verify restacked passive-context delivery
DoodleBears commentedon Oct 11, 2026
Agent work outcome — UI revision / dependency evidence handoff
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; state: handed-off.368b278f.feat(messaging): open explicit Lark groups with passive unpaired context
ci: verify restacked passive-context delivery
DoodleBears commentedon Oct 11, 2026
Agent work outcome — compact UI / audit-time revision handed off
codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; state: handed-off. Same task/claim, no other owner's work taken over.5e6ad0e6.DoodleBears commentedon Oct 11, 2026
Agent work claim — approved stack integration
Merge reviewed parent integration into open group context
DoodleBears commentedon Oct 11, 2026
Agent work outcome — completed. Task codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76. PR #1388 merged into main at the linked PR merge commit from exact head 21cc9d1; refreshed full CI passed: https://github.com/BotHarness/DeepSeekBot/actions/runs/38117299115 . The Human accepted real unpaired passive text exceeding thresholds without model starts, explicit open-group visitor reply/context, close-group request-only behavior, fixed re-ask after approval, fresh current-Role reply and restart, then authorized merge. Native #1374 and its complete Human-feedback gate are fulfilled. CodeRabbit skipped the stacked base and is not a new independent review. No deployment/receiver restart; no full membership synchronization or arbitrary resource isolation is claimed.