Skip to content

Hub: Bot-scoped roles and conversation pairing #1372

Open
7 of 9 issues completed
Open

Description

@DoodleBears

Confirmed chat-access modes — 2026-10-12 (Asia/Tokyo)

The Human confirmed that ordinary users need not manage pairing/permissions merely to talk to a Bot. Describe the existing optional sender policy and conversation exceptions as chat access, not as a security bypass:

Mode Ordinary chat eligibility Management authority
Open chat With Bot-scoped restricted chat off, otherwise permitted DMs/@mentions do not require ordinary user pairing. No new management capability, Role, delegation or machine Owner right.
Paired users only Explicit restricted chat requires current reviewed ordinary pairing for intentional requests in supported scopes. Management checks remain independent and current.
Paired users only + selected open conversations Keep restricted chat on; explicitly allow unpaired visitors in an exact permitted external conversation. The exception grants request initiation only, not approval/rule saving or administrator enrollment.

The exact exception is scoped to PersonaBot + current App Binding/fingerprint + authenticated workspace/conversation ID, not a channel name or shared local Channel. Platform reach, app/Bot readiness, durable Block, current explicit Deny semantics, reception, mention/wake rules and bounds remain independent gates. “Open” means pairing-free ordinary chat, not unlimited messages, all-message collection, guaranteed model replies or arbitrary-resource/private-data isolation. Preserve the open default and explicit opt-in; do not silently apply new restrictions to existing traffic.

Current delivery and next tracer

The three-mode direction is confirmed; platform qualification remains evidence-bound. #1463 must provide focused production-seam regression, real authorized Slack evidence and GitHub-rendered UI proof, then pause at the first PR for Human QA. No implementation, receiver takeover, runtime access change, merge, package publication or deployment is authorized by this tracker update. Earlier dated coordination/acceptance sections below remain history; this section governs the chat-access clarification and new Slack tracer only.


Current extension delivery — Slack ordinary DM merged 2026-10-11

#1415 is closed/Done after PR #1436, merge 5c9614568c60d44a0823cf59afb7a1fa7f8fa0b3. The Human accepted the qualified native QA2 ordinary DM flow and authorized merge. Final acceptance records actual Web Role approval, fixed re-ask, new same-App replies/current permissions/three scoped directories and revoke/restart refusal, matched to canonical Source Event/Admission/Outbox.

Full reviewed-head CI and Standards/Spec reviews passed; the PR contains the full real workflow, light/dark/narrow revision comparisons and exact-head browser-reviewed HTML. Shared Slack QA1/QA2/QA3 setup remains machine-local alongside Lark, and the bilingual website guide now explains DM scopes, reinstallation and illustrated pairing. QA2 receiver and receiver-free screenshot Host are stopped; no production deployment or Provider pin promotion.

This acceptance covers ordinary Slack private chat only. #1046 retains native Slack management pairing/Allow once/Reject; #1404 retains later delegated pairing/code design, and all existing questions/rules/platform owners and blockers remain unchanged. Earlier dated pending #1415 summaries are superseded by this result; the Hub stays open for its remaining scope.


v1.3 release reconciliation — 2026-10-11

This Hub now tracks v1.3 cross-platform ordinary pairing/roles/group/person-authority parity, with Lark as the delivered first tracer. Preserve the native parent #1371 and closed children as historical specification/delivery; do not reopen accepted Lark slices to manufacture new work.

#1373–#1376 and #1392/#1406 are completed. PR #1407 is merged at 0c56a8b; Provider repair #20 is merged to its qualified line. The earlier ready-for-review/open-group summaries below are dated history. The first group tracer's task recorded completed; no remaining platform is inferred complete and no new owner is assigned.

Remaining behavior Owning issue / next gate
Slack ordinary DM review, primary Role, fresh-message intake, revoke/restart New native child #1415, fulfilled baseline #1373/#1406; no claim yet
Slack native management pairing and Allow once/Reject Existing #1046 under #1019; keep it separate from ordinary chat eligibility
Discord ordinary roles/groups and current permission queries Remaining parity scope; coordinate #1042 and first current-product binding gate #1123 before deriving the next tracer
QQ and WeChat ordinary pairing/groups/person exceptions Remaining parity scope; verify actual sender/conversation capabilities and equivalent secure interactions; do not assume QQ private DM or identical native controls
Multi-group union, explicit Deny, direct exceptions and actual platform management decisions Reuse #1406's canonical resolver; first Slack approval integration follows #1046 and feedback from #1415
Delegated Lark pairing review cards Native child #1414 under #1404; task codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76 handed off for review; first real group-only flow accepted, independent Reject / delayed group-person Deny / restart / fresh 667 / revoke verified, no DM route; product #1418 + Provider BotHarness/dsh-im#21; QA1 stopped/released; merge pending
Reviewed one-time pairing codes Existing #1404 retains codes as the explicit forwarding alternative after #1414 first-flow Human feedback; do not silently replace the newly confirmed card/delegation contract

Natural-language Role policy remains behavior, not arbitrary resource ACL. Direct authenticated Web Human authority is unchanged. Group membership does not create chat eligibility, and pairing does not grant machine Owner/private-input rights.

Preserve original claims, native decision authorities and real-platform/Human-QA gates. This coordination edit creates no implementation claim and no extra receiver.


Current delivery and pairing-card direction — 2026-10-11

Earlier dated sections below are history; this current section supersedes their pending-integration and undecided #1404 summaries.


Current delivery — merged 2026-10-11

The Human accepted all four real Lark flows, the complete #1374 first-flow gate, Role/approval and open-group/passive-context interactions, and the latest compact UI with complete PR-body screenshot sequences, then explicitly authorized merge.

Closed slice Merged PR / main commit Exact integrated head / full CI
#1373 #1377 / 78a57f1d 9adbf608 / passed
#1374 #1379 / cf4a9b7f 213a0314 / passed
#1375 #1387 / 11776eab d865ee81 / passed
#1376 #1388 / fe84f5fd 21cc9d1d / passed

All four implementation cards are Done. Native dependency edges are retained and fulfilled; the Human-feedback gate was satisfied before #1375/#1376 implementation. Main integration preserved both feature intents and bilingual ledgers; the previously unmerged Lark pairing ADR is 0165, avoiding main's independent ADR-0164. Local integration type/lint/format/build and 89 focused behavior tests passed. Current CodeRabbit statuses indicate rate limiting/skipped stacked reviews, not new independent review evidence.

This Hub stays In Progress/open for the two separate native design follow-ups:

  • #1392: external users/groups, default full authenticated Web Human authority. Verified AWS IAM comparison recommends continuous Group grants and separate deterministic capability resolution; permission precedence and the first tracer contract remain unapproved. No Group implementation is claimed.
  • #1404: reviewed one-time Lark/IM pairing codes, promoted from the existing Lark tracer: role changes and current-capability approval checks #1375 proposal. Reviewer/delegation authority, command/issuance and delivery contracts remain undecided. No code-flow implementation or prior-QA acceptance is claimed.

Both follow-ups remain needs-triage/Todo, without implementation claims. Project-wide live dependency/ownership audit retains existing IM owners and unresolved real-platform/native qualification. QA1 is stopped and handed back; machine-local reusable App settings remain intact. No release, deployment or receiver restart.

Task: codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; state: completed for the four reviewed implementation/merge slices. Earlier review-state sections below are historical evidence, superseded by this delivery summary.


Parent

#1371

Goal

Deliver the confirmed external-user authorization spec as four production-shaped vertical slices. The Human-approved specification now uses trusted per-message identity and on-demand single-person permission lookup instead of automatic role/permission injection (confirmed revision, 2026-10-11). This hub coordinates delivery, native child relationships, and the first Lark Human acceptance gate; it is not an implementation ticket.

Delivery map

Slice Behavior Blocked by
#1373 Lark restricted conversation: ordinary role, automatic pending, sidebar review, re-ask notice, fresh-message reply, on-demand current-permission Tool, revocation None; reuses delivered #1027 and #1029
#1374 Bot answers scoped directory queries and completes the spec's first real Lark acceptance flow #1373
#1375 Human changes roles and supported approval capabilities; fresh permission lookups and actual native decisions use current authority #1374, including recorded first-slice Human feedback
#1376 Human opens an exact group to visitors; separately collected unpaired text remains passive context without triggering a model turn #1374, including recorded first-slice Human feedback

#1375 and #1376 have no semantic dependency on each other. They may run after the first validated flow, with implementation coordination for shared owner changes. #1374 is a delivery gate for Human feedback, not a claim that a directory query is technically required to render an approval card or open-group toggle.

Tracker placement

Existing work reused

Delivered #1027 and #1029 supply reviewed Lark pairing and checked private approvals. #1019 owns the wider management roadmap; #1031, #1033, #1034, #1046 and their existing dependencies/claims remain unchanged. These new tickets do not implement native questions, save-rules, management group destinations, or other providers.

Confirmed design revision — 2026-10-11

#1373 provides trusted sender/source context and the minimal read-only current-permission Tool; #1374 adds the three directory views. Ordinary chat does not force a query, while stable behavioral guidance asks the Bot to query the actual requester before a new role-governed request. Each lookup reads current state; old Tool Results remain dated evidence. Host admission and supported management checks remain independent of model Tool usage. No new issue, dependency, provider, or hard arbitrary resource ACL is added.

The same task delivered and obtained explicit Human acceptance for all four real Lark slices. Preserve each Issue's original claim and dated QA evidence; current PR heads and outcome comments identify the latest implementation/review state.

UI review and separate user/group follow-up — 2026-10-11

The Human chose to optimize the existing single-Role model first. PR #1377 now uses a wider people/roles/requests table workspace with selected-entry details, contextual information icons and separate Role creation; PR #1387 adds the separate Role editor and single-Role reassignment. Published desktop light/dark and 390 × 844 before/after screenshots are in the PRs. The original real Lark behavior is accepted; the revised layout is available for Human visual review. The four implementation cards stay In Progress while review/merge is outstanding.

#1392 records external users/groups separately in Project #10 Todo with needs-triage. Direct authenticated Web Human input keeps default full Human/Super Admin authority without IM pairing, Role setup or prompts; local-only users need no permission configuration. Messages merely displayed or forwarded in Web do not acquire trusted Web provenance. Group/Role/direct-permission relationships and precedence still require a reviewed design and a runnable first-slice ticket before implementation.

Completion

The four slices together fulfill the spec's first-version behaviors. Every slice includes its real owning Host, durable authority, public service/adapter, appropriate sidebar interaction, focused behavioral coverage, and a runnable demonstration. The first Lark acceptance completes in #1374 before broadening the controls in #1375 and #1376. Mailbox credentials and Himalaya testing remain separate.

Compact UI and complete-flow evidence — 2026-10-11

The pairing workspace now aligns portal-scoped native corners, visibly supports search/sort, and shows compact creation/change times from canonical Messaging metadata. Role edits and reassignment preserve creation time; unknown historical fields remain unknown. PR bodies embed the entire entry/creation/save/search/sort and edit/reassignment flows with individually checked before/after, dark and narrow-window screenshots. All four cards remain In Progress pending review/merge; accepted real Lark feedback and native dependencies are unchanged. Both UI-only Hosts are stopped; QA1 was not resumed.

Activity

  1. added
    area:fullstackEnd-to-end Host and Client implementation
    feature:messagingMessaging module and external providers
    scope:hubParent coordination map or epic; not a standalone implementation slice
    on Oct 10, 2026
  2. DoodleBears commented on Oct 10, 2026

    @DoodleBears
    ContributorAuthor

    Project #10 dependency, task and Human acceptance audit

    Task: codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76 · 2026-10-11 (Asia/Tokyo).

    Read all Project items, open candidate bodies/comments, native children/blockers and associated PRs. Issue/claim/outcome evidence remains authoritative over a Project card or readiness label. No duplicate issue, owner replacement or Hub implementation claim was made.

    Existing scope Current evidence / remaining gate
    #1371 / this Hub Accepted specification / coordination only; native children #1373–#1376 retained.
    #1373 → #1374 → {#1375, #1376} This task claimed unblocked #1373 before implementation and moved only that slice to In Progress. #1374 still depends on delivery of #1373; its complete first Human feedback gates both later siblings.
    #1027 / #1029 Delivered management pairing and Lark Allow once / Reject are reused. Ordinary chat eligibility remains independent of those explicit capabilities.
    #1031 / #1033 / #1034 #1031 retains its existing task and draft #1104, awaiting a fresh guarded real-Lark QA window. #1033 → #1034 remain downstream; this task implements neither questions, saved rules nor management destinations.
    #48 / #1019 / #1036 / #1220 / #1250 Existing coordination Hubs stay open. #1036 remains blocked on the native continuation gap #1220; isolated RC2 question evidence does not upgrade the production RC1 contract. #1250 still requires exact in-window blocked-marker arrival/rejection evidence.
    #1020 / #1022 and media children Human acceptance for WeChat/QQ media is retained; Slack/Discord image/audio acceptance remains incomplete. #1022's active continuation and draft #1077 retain the Onboarding QA App; this task does not take it or start dependent media work.
    #1107 / #1111 / #1115 #1111's latest outcome supersedes its earlier active claim: Lark setup scope merged in #1231, remaining native WeChat qualification handed off. #1115 retains its own active Provider/reachable-posting task and outstanding platform gates.
    #1144 / #1145 / #1149 / #1154 / #1156 Delivered baseline tickets stay closed; QQ spec and remaining siblings stay with the original task. Draft #1204 / #1172 retain delayed-task/proactive and native Echo/visual qualification gaps.
    #822 / #1118 / #1123 #822 still needs complete fresh-install/real-Lark acceptance despite delivered tutorial UI. #1118's existing fake-IM task is not duplicated. #1123's pinned Discord contract gap is not treated as a ready implementation seam.

    Human explicitly arranged QA1 BotHarness Inline Setup QA #1111, stopped its old receiver and granted #1373 an exclusive test window. This is a current window, not an inference from old claim age or a saved idle timestamp. The isolated qualified Provider is connected and the real sidebar has bound QA1, created an ordinary empty-capability Role and enabled restricted reception. The real external request/re-ask/model-reply/revoke demonstration remains pending; no first-flow Human acceptance or downstream gate clearance is claimed.

    The reusable QA1–QA3 configuration stays machine-local outside all worktrees. No credentials, raw logs, private Profile or login URL are published. No production takeover, merge, deployment or pin promotion occurred.

  3. DoodleBears commented on Oct 10, 2026

    @DoodleBears
    ContributorAuthor

    Current delivery checkpoint — accepted slices and live CI

    Task codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76.

    Slice PR/current CI Human gate
    #1373 #1377 / passed Accepted real DM/group pairing loop.
    #1374 #1379 / passed Accepted complete first-flow feedback and all three readonly directory results; native gate for both siblings satisfied.
    #1375 #1387 / passed Accepted role edits/reassignment, real Allow once/independent Reject and delayed capability removal; same-Profile restart verified.
    #1376 draft #1388 / running Real open-group/passive/close/review/new-question loop verified; Human feedback requested and pending.

    Stack order uses the same task's coordinated shared Messaging owner edits; native dependencies remain #1373 → #1374 → {#1375,#1376}. No PR merged/deployed and no card marked Done. Re-read every Project item and refreshed #48/#1019/#1020/#1107/#1144/#1145/#1149/#822 evidence; the previous audit's other owner/blocker/Human gates remain intact. Project Todo and ready-for-agent do not supersede those claims or open capability gaps.

    QA1 remains the Human-arranged exclusive receiver window, with one isolated Host/qualified Consumer. Shared test App configuration stays machine-local across worktrees/branches/sessions. #1022's Onboarding QA App is untouched. The proposed one-time IM pairing string remains a separate extension requiring its reviewer/issuance contract; no duplicate issue or authorization by public request references.

  4. DoodleBears commented on Oct 10, 2026

    @DoodleBears
    ContributorAuthor

    Review handoff — all four accepted slices

    Task codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76 is handed off for review. #1373 / #1374 / #1375 / #1376 each have explicit Human acceptance and passing current-head full CI. PR stack: #1377 → #1379 → #1387 → #1388, all ready for review and registered with T3. #1388 full CI passed 3966 tests (10 skipped), lint/format/typecheck, slides and build; genuine matched before/after group Rules screenshots render in its Change outline.

    Issue/Project implementation cards remain In Progress until review/merge; no blanket Done or Hub implementation claim. Native issue chain is preserved. Other owners and their open platform/continuation/media/Human QA gates remain as the original audit. No duplicate tickets or automatic merge/deployment.

    QA1 BotHarness Inline Setup QA #1111: this task's isolated receiver stopped, process absent and listening port absent; the exclusive window is released for a newly coordinated receiver. Prior receiver was not restarted. Reusable credentials remain machine-local outside all worktrees; the temporary all-text count-2/10s collection policy has been restored to inherited mentions-only, group visitor exception closed, approved ordinary Role retained. No production receiver or #1022 App touched.

  5. DoodleBears commented on Oct 11, 2026

    @DoodleBears
    ContributorAuthor

    UI follow-up delivery and current stack evidence

    Task: codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76.

    The Human chose to improve the existing single-Role UI first. Wide people/roles/requests tables, contextual information icons, selected-entry details and separate Role creation/editing are implemented in #1377/#1387. Desktop light/dark and narrow-window before/after images are published and their GitHub rendering was verified. Real isolated Host creation/edit/reassignment succeeded without a Lark receiver.

    Slice / PR Final head Current-head full CI
    #1373 / #1377 3fa750b 38113281904
    #1374 / #1379 fce74d2 38113292983
    #1375 / #1387 15ce504 38113297514
    #1376 / #1388 368b278 38113306702

    All four current-head full CI runs passed; #1377 passed on attempt 2 after one existing 0.1-second CLI timeout harness failure, with no source changes or assertion weakening. The original real Lark interaction acceptance is retained for every slice, including #1374's complete first-flow feedback. Revised UI visual review/merge remains outstanding; all four Project #10 implementation cards stay In Progress, and native issue dependencies remain intact. No automatic merge/deployment or issue closure.

    #1392 is a separate native child in Project #10 Todo, needs-triage: default direct authenticated Web Human/Super Admin authority without pairing/permission prompts, and external user/group design with undecided Role/direct-permission precedence. It is not ready for unattended implementation. Existing #1031/#1033/#1034 and other IM owners/gates remain unchanged.

    The UI-only Hosts are stopped, task ports released, and QA1 remains stopped. Saved Profiles and reusable machine-local test Apps remain available; another real receiver window must be arranged explicitly.

  6. DoodleBears commented on Oct 11, 2026

    @DoodleBears
    ContributorAuthor

    Current delivery — merged 2026-10-11

    The Human accepted all four real Lark flows, the complete #1374 first-flow gate, Role/approval and open-group/passive-context interactions, and the latest compact UI with complete PR-body screenshot sequences, then explicitly authorized merge.

    Closed slice Merged PR / main commit Exact integrated head / full CI
    #1373 #1377 / 78a57f1d 9adbf608 / passed
    #1374 #1379 / cf4a9b7f 213a0314 / passed
    #1375 #1387 / 11776eab d865ee81 / passed
    #1376 #1388 / fe84f5fd 21cc9d1d / passed

    All four implementation cards are Done. Native dependency edges are retained and fulfilled; the Human-feedback gate was satisfied before #1375/#1376 implementation. Main integration preserved both feature intents and bilingual ledgers; the previously unmerged Lark pairing ADR is 0165, avoiding main's independent ADR-0164. Local integration type/lint/format/build and 89 focused behavior tests passed. Current CodeRabbit statuses indicate rate limiting/skipped stacked reviews, not new independent review evidence.

    This Hub stays In Progress/open for the two separate native design follow-ups:

    • #1392: external users/groups, default full authenticated Web Human authority. Verified AWS IAM comparison recommends continuous Group grants and separate deterministic capability resolution; permission precedence and the first tracer contract remain unapproved. No Group implementation is claimed.
    • #1404: reviewed one-time Lark/IM pairing codes, promoted from the existing Lark tracer: role changes and current-capability approval checks #1375 proposal. Reviewer/delegation authority, command/issuance and delivery contracts remain undecided. No code-flow implementation or prior-QA acceptance is claimed.

    Both follow-ups remain needs-triage/Todo, without implementation claims. Project-wide live dependency/ownership audit retains existing IM owners and unresolved real-platform/native qualification. QA1 is stopped and handed back; machine-local reusable App settings remain intact. No release, deployment or receiver restart.

    Task: codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76; state: completed for the four reviewed implementation/merge slices. Earlier review-state sections below are historical evidence, superseded by this delivery summary.

  7. moved this from Todo to In Progress in IM Identities & Messagingon Oct 11, 2026
  8. added this to the v1.3 milestone on Oct 11, 2026
  9. DoodleBears commented on Oct 11, 2026

    @DoodleBears
    ContributorAuthor

    Integration update: #1414 / product #1418 and Provider BotHarness/dsh-im#21 are merged; #1414 is completed. Exact-head product CI and package checks passed. The Human accepted the named Group behavior-permission proposal and selected #1423 as the next task; its own current claim is active. Primary Role and Host capability/delegation boundaries remain separate. Codes #1404, questions #1031, saved rules #1033 and destinations #1034 retain their existing scope and gates. QA1 remains stopped.

  10. DoodleBears commented on Oct 11, 2026

    @DoodleBears
    ContributorAuthor

    #1423 first Group behavior-item slice — ready for review

    PR #1428 is ready for review; full final-head CI passed. The Human accepted the first real Lark interaction. Current same-ID overlap/Deny resolution, shared-item revisions, affected-person previews and source removal are qualified through the existing Messaging/Operational Database/settings/model-query seams.

    The PR body now includes the complete creation-to-final workflow, 17 verified GitHub-rendered before/after screenshots, compact wide Group editing and short-screen body scrolling. Exact-head explanation and evidence.

    #1423 remains open/In progress: declared mutual exclusion, incompatible-edit gating and optional semantic advice are later slices. Natural-language items remain prompt behavior; Host management/delegation and Web Human authority are separate. QA1 receiver is stopped and its window released. Task codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76 has handed off the first slice for review; no merge or deployment has occurred.

  11. DoodleBears commented on Oct 11, 2026

    @DoodleBears
    ContributorAuthor

    Project #10 live audit — 2026-10-11

    Source: all Project items plus the live candidate Issues, comments, native sub-issues/blockers and related PRs. Issue/claim/native dependency state takes precedence over Project prose or readiness labels.

    Next gate: finish #1415's focused regression/CI and obtain real Slack pending → Web Role review → fixed re-ask → fresh own-app DM reply → revoke → restart evidence with Human feedback before any group/provider breadth.

  12. 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:messagingMessaging module and external providersscope:hubParent coordination map or epic; not a standalone implementation slice

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions