Skip to content

IM identities and messaging: provider coordination #48

Open
40 of 46 issues completed
Open

Description

@DoodleBears

v1.3 release reconciliation — 2026-10-11

The Human confirmed full remaining IM Project #10 delivery in v1.3, not Lark-only. Lark is the first qualified slice; Slack/Discord/QQ/WeChat follow through supported, identity-checked platform paths. The v1.3 milestone is the release target authority. Closed historical issues retain their historical milestones and evidence.

Remaining lanes: #1107 installation/binding/setup/proactive reach; #1019 approvals, questions, saved rules, management destinations, feedback and native waits/recovery; #1020 inline Channel media; #1149 QQ; #1372 ordinary pairing/roles/groups/person exceptions and #1404 delegated pairing review / explicit one-time-code alternative, with new first card tracer #1414; #822 packaged installation qualification. Browser final-product qualification is also a release gate, not a new IM content authority.

Ownership is unchanged: #1031 / PR #1104, #1022 / PR #1077, #1115 / PR #1283, #1154 / PR #1204, #1156 / PR #1172 and #1118 / PR #1119 retain existing tasks. QQ media #1157–#1159 are merged into the #1156 feature branch, not default-branch delivery; they now retain that native integration blocker. No label, Project status or elapsed time transfers a claim.

The Human-approved group tracer #1406 and design #1392 are now closed after PR #1407 merged at 0c56a8b; this does not deliver cross-platform ordinary roles or #1404. New bounded Slack ordinary-chat tracer: #1415; separate existing native management tracer: #1046. #1161 is an unclaimed Slack feedback frontier after fulfilled #1040. These are candidates, not implementation claims.

Native topology repairs attach previously unparented #1107/#1149/#1070/#1118 here and #1123 under #1107. Existing valid parents and all active claim scopes are preserved; parentage is not execution blocking. #1042 now also waits for the current-product Discord binding qualification #1123. #1220 remains a real upstream continuation gate and is not cleared by changing a milestone.

No automatic merge, publication, deployment, receiver takeover or platform permission expansion is authorized. Each production-shaped tracer ends at native evidence and Human QA before breadth.


Current execution index — reconciled 2026-10-08 (Asia/Tokyo)

Project: IM Identities & Messaging. Original baseline closeout keeps v1.1; remaining v1.2 extensions retain their own issue milestones.

The rest of this hub preserves historical decisions and execution records. Older paused/active goal statements and baseline descriptions do not replace the latest issue-specific claims or current accepted specifications. This organization update does not claim feature completion or authorize merge/deployment.

Feature scope

Project: IM Identities & Messaging. Milestone: v1.1. Historical cross-feature parents #20/#30 are retired.

Confirmed identity model: one PersonaBot may bind multiple IM platforms; initially one account per platform per Bot, and one platform Bot account bound to one local PersonaBot. dsh-im supplies provider transport and lifecycle; explicit PersonaBot binding belongs to BotHarness. Binding selection/UI and revocation must be part of the Human-testable path.

Shared Channel and Inbox Bridge specification — confirmed 2026-10-01

Published specification: #629 — Channel- and Inbox-targeted external Bridges. Human confirmed the testing boundary: reuse the existing Messaging command/query seam; the first real Lark Channel tracer proves shared visibility with two member Bots, existing Inbox/Wake processing and a bound responder replying under its own identity. Focused overlap/restart/revocation regressions and PR screenshots/recording remain required.

The specification adds the confirmed scenario decisions: multiple sources and explicit multiple local targets; one attention unit per Bot for the same source despite overlapping receiving paths; natural multi-Bot coordination without a mandatory dispatcher or claim lock; explicit authorized Inbox-to-Channel sharing; existing bounded harvest for offline backlog; and departure/unbind closing future intake and not-yet-started applicable effects while preserving history and already-started outcomes. External replies require the responder's own bound, authorized identity; a Bot without one cannot send externally.

First-version withdrawal scope is deliberately simple: no edit/recall subscriptions, synchronized local withdrawal or proactive recall alerts for this Bridge feature. Retain the already accepted local message. A separately supported explicit source read may report not-found/retracted; permission or transport failures are not evidence of withdrawal. This does not redefine existing Source Revision paths under ADR-0037; later recall integration must reconcile that ADR explicitly.

#629 is the product specification, not evidence of completed implementation or a replacement coordination hub. #12 and #612/#613/#614 keep their existing scope and dependencies; derive any new Channel implementation ticket as a separate runnable tracer. Publication does not resume the paused goal or authorize merging #624.

Confirmed Channel-targeted and Inbox-targeted Bridges — 2026-10-01

These are general external-information paths, not a customer-service/shared-work-queue model. Livestream comments, external chat messages, notifications and webhook-like sources may use the same Messaging entry boundary. No provider is declared implemented by this specification.

Explicit local target

  • A Human configures a Bridge's authorized external source and an explicit target: an existing local Channel, or one PersonaBot's Bot Inbox. The Bridge does not fabricate a Human DM or auto-create a Group merely to retain an external conversation.
  • Channel-targeted ingress becomes a canonical Source Event with Channel placement, visible under that Channel's membership. Members may read it without all being woken. Each PersonaBot may participate in many Channels and retains its own per-Channel subscription/admission and existing Wake Policy.
  • Inbox-targeted ingress creates the canonical Source Event and eligible admission for the selected PersonaBot without requiring any local Channel placement. Its origin, receiving identity and reply context remain readable in the Bot Inbox and bounded source queries. App Channel/DM history visibility is independent from canonical persistence and Bot access.
  • Direct-mention-only remains the default for a newly bound IM work group. An explicitly configured livestream Channel can collect every eligible viewer message; its member Bots may use count/time digest harvest, immediate, mentions or silent behavior as supported by the existing attention system.

Atomic messages, grouping and presentation

  • Each viewer comment intended for independent search, author filtering, location or response retains stable source identity, sender, provider timestamp and content. Never represent the customer/viewer as the local Human or treat the Bridge as the author. Unknown fields remain unknown.
  • Bridge-specific format normalization and optional batch/group presentation are configurable. Grouping several viewer messages for display does not discard their canonical identities, authors, timestamps or individual content. A digest of attention is not a replacement transcript.
  • Common rendering initially shows sender/time/content plus external-source context. Specialized message parts or presentation may be added by the relevant provider capability later, without creating another content authority.
  • Existing subscription/admission decides which Bot receives an Inbox Admission. Existing Wake Policy decides when admitted attention is harvested into the Orchestrator: N messages / T interval, immediate or passive behavior. Do not move admission until the digest threshold, add another provider queue authority, or equate SDK receipt with Observation/handling. This preserves the user's requirement to reuse the existing mechanism.

Receiving identity, outbound-only history and replies

  • An Inbox source exposes safe provider/platform, external conversation and optional Thread references, external sender, and the authenticated receiving Bot account/principal bound to this PersonaBot. Names are presentation; opaque references and verified account identity remain authority. No credential or SDK object reaches model/Client context.
  • Each PersonaBot can discover which authorized platform identities it owns through bounded Host read models. dsh-im continues to own SDK connections, credentials and account authentication; BotHarness owns the explicit PersonaBot Binding, Source Event, admission, policy and Outbox. Reading a Channel does not silently confer use of another PersonaBot's platform identity.
  • Example: a Bot posts a morning report only to Lark. Local DM/Group placement is optional; canonical sent content, author/source correspondence and outcome remain available for that Bot to inspect. Its own post/provider echo does not create fresh self-attention merely to make the content discoverable.
  • A Human reply on Lark may target that Bot's Inbox directly, with the original report/reply context and exact receiving identity; no mirror of the conversation in local Human DM history is required. The Bot's reply returns to the authorized original external conversation/Thread through a trusted Reply Route.
  • Local Channel discussion and external reply/reaction are explicit distinct operations. Membership, capability and applicable authorization are checked at execution; internal discussion is not automatically broadcast externally. A read-only webhook or livestream source must not claim reply/reaction support it lacks.
  • Retain the one-platform-account-to-one-PersonaBot identity boundary for the current tracer. Shared team identity or cross-Bot use of one account requires a separately agreed authorization design, not implicit access through Channel membership.

Collaboration scope and delivery gates

References: CONTEXT.md; ADR-0036/0037/0038/0039; ADR-0074/0075/0077; #46, #12, #117, #612, #613, #614.

Existing work and first tracer

Native children:

#46 supplies only the provider-neutral contracts these slices exercise. Current local Bot Inbox/Wake foundations have delivered evidence under #362; remaining causal/recovery breadth is #47 and is not an automatic prerequisite for every provider experiment.

Deliver the smallest real vertical slice, including explicit binding and Human operation. Obtain feedback before creating a second-provider tracer; do not prebuild a Slack/Discord branch tree.

Confirmed external Group / Thread policy — 2026-10-01

Target design confirmed after #607 Human QA. This is not evidence that external ordinary-message admission, history tools, or Thread following are implemented. #607 remains the @mention / same-Thread provider qualification; #12 remains the first integrated PersonaBot tracer. The implementation goal stays paused at Human QA.

Keep collection, admission, wake, and response separate

  • Identify policy by PersonaBot + authenticated Provider Account Fingerprint + Chat identity; a Thread override additionally uses the verified Thread identity belonging to that Chat. Display names or unscoped external IDs are insufficient.
  • Human authorizes the provider account and exact external groups / readable scope. Platform permissions and Bot membership bound the available capabilities. Bot-owned policy may narrow or choose participation within that scope; it cannot authorize another group, credential, or operation.
  • For each authorized group, Inbox admission scope supports direct mentions only (new-binding default), all eligible messages, or disabled/unbound. Ordinary messages outside the chosen admission scope do not create this PersonaBot's Inbox Admission. Disabling/revoking the binding also closes direct-mention admission; an attention preference alone does not silence direct mentions.
  • Independently choose the existing Wake Policy for admitted ordinary messages: immediate, digest, mentions, or silent. Full admission starts with digest unless explicitly overridden. Direct mentions retain the existing immediate/safe-step behavior. Reuse ADR-0074/0075/0077 semantics: its existing mentions and silent preferences still admit ordinary messages, so neither means "do not collect/admit ordinary messages."
  • SDK receipt, canonical Source Event storage, Inbox Admission, Observation, successful handling, external reply receipt, and Lark's displayed read status are distinct facts. Admission/wake never forces a reply. The Bot decides whether it should participate or answer after seeing the relevant content.
  • The default response behavior is to answer direct @mentions. Enabling ordinary-message Inbox admission, a digest harvest, or an immediate wake does not by itself enable unsolicited ordinary-message replies. Human can configure participation behavior; within that authorized policy the Bot chooses whether to engage. Explicit Thread following is a Bot decision to participate only in that Thread, not permission to answer elsewhere. Existing trusted Reply Route / Service Grant checks still apply.
  • If a permitted ordinary event is received and retained as Channel history without admission, it stays one canonical Source Event. Do not keep an alternate transport transcript or create hidden admissions. Mention-only admission must not silently become a full provider-history mirror.

Bot-owned Thread participation

  • Thread support is optional Provider Capability, not a prerequisite for group messaging. Adapt Slack, Discord and Feishu/Lark according to each provider's verified conversation hierarchy, identity, permissions and lifecycle; do not assume identical Thread semantics. QQ / WeChat adapters without a verified sub-conversation capability expose group policy and history reads only, with no artificial Thread created from quotes, replies or Bot activity. Their group Inbox/digest/immediate behavior remains usable without Thread support. No provider is declared implemented by this design.
  • Within an authorized group, expose Host commands for the Bot to explicitly follow/unfollow an authenticated Thread and inspect/change its attention preference; Human can inspect and override the same policy.
  • Posting one reply does not automatically follow a Thread. A Thread not explicitly followed inherits group admission/wake preferences. A followed Thread admits its eligible non-mention replies even when the group's default admits only direct mentions; it inherits the group's ordinary-message Wake Policy unless given an explicit override. Its initial ordinary-message policy is digest when no effective value exists.
  • Thread overrides win over group defaults for eligible ordinary messages; direct mentions still take the direct-address path. Removing a follow override returns to group defaults, so unfollowing does not suppress messages from a group configured for full admission. A Thread override can never bypass account/group authorization or a Human restriction on following.
  • Follow/unfollow is a versioned durable Messaging Policy owned by the Host, not process-local provider subscription state. Record actor and exact effective policy revision on future admissions, and recover it across restart. Changing policy does not rewrite existing admissions or silently backfill old messages.
  • Preserve Chat / Thread / root / parent facts from authenticated provider evidence. Do not infer a Thread from a reply detail panel, Bot participation, or message text. A stale/mismatched group or Thread fails closed; it never retargets to the main group.
  • Following a Thread without new @mentions requires actual delivery capability for its ordinary replies. If platform scopes cannot supply those events, expose that limitation rather than claiming following works. The single provider SDK connection remains owned by its Plugin/Fiber; no second listener or standalone Session is introduced.
  • Client configuration and model-facing tools expose only the configured account's supported capabilities: group-only providers omit Thread controls; supported-but-missing-permission capabilities show the required setup. Provider quirks stop at the Bridge and Service Provider; Orchestrator wake handling stays source-based and does not gain per-platform runners.

Explicit history and context reads

  • Even with direct-mention-only Inbox admission, expose bounded reads of the authorized group's history, the selected message's surrounding context, and the exact Thread's history when the configured account has the corresponding Provider Capability and Human-authorized read scope.
  • Reads resolve authenticated account/Chat/Thread references through the Host, with pagination, result/text budgets, cancellation, stable message identities and explicit incomplete/unavailable results. "No matching message" is different from missing permission, an unsupported query, or a truncated window.
  • Native provider search, local search over retained Source Events, history listing, and surrounding-context reads are distinct capabilities with explicit coverage. Local search is not search over all provider history. Do not promise provider-wide search from a history-list capability or switch to a Human's credentials when Bot identity cannot perform an operation.
  • History fetched explicitly is reconciled through Messaging into canonical Source Events using account-scoped message identities; live delivery and later reads cannot produce duplicate content, admissions, attention or replies. Only content actually returned to the Bot becomes Observation. An explicit read does not automatically subscribe, admit the whole fetched history, create a new wake, or mark the provider message read. Existing admissions actually read retain the established turn handling semantics.
  • Lark's official history API supports Chat and Thread containers. For ordinary groups, Chat listing returns Thread roots, and Thread replies require a Thread listing; Thread listing currently cannot use a time window. Group history also requires the stated group-message permissions and membership. Therefore "messages near X" must be implemented as a bounded query/assembly with honest coverage, not a guaranteed native around-message endpoint. Native search under the exact Bot identity still requires qualification before enabling it.

Runnable sequence after Human QA

  1. Human QA for feat(dev): pin qualified IM provider for repeatable isolated QA #624's fixed-source optional provider adoption; merge only with the Human's instruction. Then finish IM tracer: work-group @Bot → PersonaBot Inbox → same-topic reply #12's authorized binding and real group/existing Thread @mention → canonical Inbox/existing Orchestrator → trusted same-source reply.
  2. IM tracer: mention-only reception with bounded group and Thread context reads #612: mention-only reception with explicit bounded nearby/Thread reads under the actual Bot identity.
  3. IM tracer: configure external group admission and digest or immediate wake #613: configure one group's ordinary-message admission and existing count/time digest or immediate wake; validate independently from message format and presentation.
  4. IM tracer: Bot-selected Thread following with Human override #614, natively blocked by IM tracer: configure external group admission and digest or immediate wake #613: explicitly follow/unfollow one verified Thread, including unmentioned replies, restart, Human override and missing-capability behavior.

A separate runnable Channel-targeted Bridge tracer is needed to prove shared visibility with multiple member Bots; the existing three follow-ups do not prove it. Scope its concrete provider/test path before creating it or changing native dependencies. Do not substitute a speculative shared-work-item system for Channel collaboration.

Each implementation issue gets focused coverage, real end-to-end screenshots/recording in its PR, and a pause for Human QA before the next issue. No automatic merge, goal resumption or implementation is authorized by this spec update.

References: ADR-0036/0037/0038, ADR-0074/0075/0077, #12, #78, #117, #607, #624; Lark receive permissions, Lark history listing. Provider identity/permission facts must be reverified for the concrete artifact and app before implementation.

Authority boundaries

  • Provider Plugin/Fiber owns SDK listener, authenticated provider identity, connection lifecycle, Capability declaration and cleanup.
  • Messaging owns canonical Source Events, Channel placement, Inbox Admission, trusted Reply Route, Service Grant and Outbox facts.
  • Bot Inbox/Wake Policy owns when admitted content enters an Orchestrator turn.
  • dsh-im must not independently create/wake a competing Session mapping for a claimed account; loss of the exclusive consumer fails closed.
  • Credentials and provider SDK objects remain Host-side; Browser Consumers use Typert/API Gateway.

Acceptance and ordering

References: CONTEXT, living architecture, ADR-0026/0036–0039/0041, current dsh-im integration research. Refresh upstream mechanics before implementing.

Historical scope before 2026-09-30 reconciliation (superseded where inconsistent)

Purpose

V1.1 External Messaging Provider 系列的 coordination parent。它维护 provider-neutral authority、tracer 顺序和 Human feedback gates,不作为一个可单独领取的巨型 implementation ticket。

Locked boundaries

  • Messaging: external ingress, Provider contracts and Outbox #46 Messaging deep module owns Source Event、Channel placement、Inbox Admission、trusted Reply Route、Service Grant、Outbox 与 Provider Registry/Operation contracts。
  • Provider Plugin/Fiber owns SDK listener、verified provider identity、connection lifecycle、capability declaration and cleanup;它不能直接创建或 wake DSH Agent。
  • Bot Attention: causal aggregation, escalation and recovery acceptance #47 owns committed Attention delivery and Orchestrator coordination。
  • dsh-im may supply transport/provider services, but never PersonaBot identity, Channel/Inbox authority, Session mapping or authorization.
  • Browser uses TypertRemoteService → API Gateway; credentials and provider SDK objects never enter Client state.
  • No exactly-once claim. Unknown external outcome is explicit and is not blindly retried.

Native sub-issues and tracked acceptance

Native children:

Cross-map acceptance:

After #12 receives Human acceptance, create exactly one new sibling tracer for Slack or Discord as the second-provider proof. Do not prebuild both or expand this parent into implementation.

Delivery order

  1. Messaging: external ingress, Provider contracts and Outbox #46 provider-neutral Messaging authority.
  2. IM tracer: dsh-im outbound adapter and explicit Bot binding #117 outbound Service Action through dsh-im, with Binding/Grant/Outbox and lifecycle cleanup.
  3. In parallel: Foundation:Assignment Runtime / Assignment Directory / Orchestrator tools #81 → Bot Attention: causal aggregation, escalation and recovery acceptance #47; Research:Feishu/Lark Messaging provider contract(events / capabilities / identity) #78 supplies only the Feishu/Lark behavior exercised by the next tracer.
  4. IM tracer: work-group @Bot → PersonaBot Inbox → same-topic reply #12 real inbound DM and reply.
  5. Human feedback.
  6. One second-provider tracer proving no Messaging schema/core branch.
  7. Reliability breadth: group/thread, revision/recall, attachments, proactive actions, unknown-outcome reconciliation and observability.

Completion

References

Confirmed identity and Bridge management UI

#693 refines #629 with separate PersonaBot external identity and Channel Bridge tables, row Switches, distinct delete/unbind actions and provider-specific Modals. One identity per platform is reusable across the Bot's Channels; every Channel can have multiple source configurations, with explicit DM placement separate from Inbox-only routing. Existing #635 and #637 acceptance links this management UI. Project 10 / v1.1; publication does not resume the paused goal or claim implementation completion.

Activity

  1. added this to the v1.1 milestone on Sep 18, 2026
  2. added and removed
    needs-triageMaintainer needs to evaluate this issue
    on Sep 19, 2026
  3. changed the title [-]v1.1: Bridge 接入(Lark 入站映射 + 出站路由 + 回显去重)[/-] [+]v1.1: Feishu/Lark provider adapter(Bridge / events / reply / actions)[/+] on Sep 19, 2026
  4. changed the title [-]v1.1: Feishu/Lark provider adapter(Bridge / events / reply / actions)[/-] [+]v1.1: External messaging Bridge providers(Feishu/Lark first; Slack/Discord-ready)[/+] on Sep 20, 2026
  5. 57 remaining items

  6. DoodleBears commented on Oct 8, 2026

    @DoodleBears
    ContributorAuthor

    Issue 整理记录 — 2026-10-08 (Asia/Tokyo)

    已补当前 IM 执行索引,链接现有 sidebar、one-step binding、conversation ingest、media、QQ、WeChat 和 onboarding 范围。旧的单平台单应用限制和旧目标状态以最新已接受规格/issue claim 为准;没有新增实施票、变更认领或声明功能全部完成。

  7. DoodleBears commented on Oct 9, 2026

    @DoodleBears
    ContributorAuthor

    Lark feedback tracer completion and retained qualification gates

    #1040 is complete for its original implemented receipt/answer tracer; #1207 / Provider #16 and evidence #1236 are merged. Real DM/group reaction rendering, silence/failure, reconnect and same-Profile Host restart evidence supplement focused source/Admission/Outbox and failure-isolation coverage.

    Broader candidate qualification is not silently promoted: #1250 retains exact blocked-marker arrival/rejection proof, and the existing QA matrix retains its unexercised platform cases. #1251 separately tracks the native Web assembly failure with unverified cause; no Provider/feedback attribution is established. Please retain these source-specific qualification facts when deciding package/pin eligibility. Published Provider pin 36da305c9586335a47d4bab6ee4f0025247a9d8f remains unchanged; no publication/deployment or fresh receiver window is authorized by this tracker update.

    Task: codex/local/01a11bd6-6350-7013-b7ae-79b7405f2fa6; merged runbook.

  8. DoodleBears commented on Oct 11, 2026

    @DoodleBears
    ContributorAuthor

    Project #10 live dependency / ownership audit — 2026-10-11

    Task: codex/local/01a12734-8226-7ae3-8d1b-db08bde64d76. Read all 136 Project items and the bodies, comments, native child/dependency endpoints for 57 remaining/historical-verification candidates; no API read failed. Project labels/status and this hub's historical map do not replace the Issue gates.

    Area Current authoritative gate
    #1371 / #1372 Four accepted Lark slices #1373–#1376; Human accepted the latest compact UI and authorized merging #1377 → #1379 → #1387 → #1388. Latest main integration requires refreshed exact-head CI before each merge; no release/deployment authority is inferred.
    #1019 / #1031 #1031 retains active task codex/local/01a1131c-b268-7212-9ac8-d1c7bf9b6e28, PR #1104 and pending fresh Human-authorized real Lark QA. #1034 remains natively blocked by #1031; later question/group destinations remain with their original tickets. #1033 is a distinct unclaimed saved-rule slice, not delivered by ordinary Role approvals.
    #1036–#1039 / #1220 Native exact-root continuation qualification remains open. #1036 is blocked by #1220; #1037 remains open despite its merged bounded independent-Assignment capacity slice, and does not clear same-Orchestrator/downstream gates.
    #1020 / #1022 #1022 retains active task codex/local/01a112f7-dccf-7c81-b6c5-6624e3098722, PR #1077 and media qualification. Downstream media tickets remain blocked by the appropriate native #1022/#1023/#1024/#1026/#1030 edges. Onboarding QA 824 App is not taken over.
    #1107 / #1111 / #1115 #1111 approved implementation is merged, remaining native WeChat qualification is handed off; this does not close the issue. #1115 retains active task codex/local/01a117bf-865d-72d1-a9c6-88658c59f844 and PR #1283, with broader platform/Provider qualification outstanding. #1118 / #1119 retains its Claude Code claim.
    #1144 / #1145 Both issues are closed; existing conversation-ingest delivery is retained, not rebuilt.
    #1149 / QQ #1154/#1156 retain that task's active claims and PRs #1204/#1172. Images/files/voice slices #1157–#1159 have merged evidence into the dependency branch; default-branch promotion and their remaining gates are not assumed complete from Project Todo labels.
    #822 / #1070 / #1250 Website-guide PR #1170 is merged but #822 still requires full installation/platform qualification. #1070 is explicitly handed off with real name/mention-chip acceptance outstanding. #1250 still requires a correlated real blocked-marker arrival/rejection; silence alone is not proof.

    Follow-up design remains separate: #1392 now records verified AWS IAM sources and a proposed continuous Group-authorization approach; the Human has not selected its permission-resolution contract. #1404 retains the previously recorded one-time IM pairing-code proposal with explicit reviewer/delegation/command decisions still open. Both are needs-triage/Todo under #1372, not unattended implementation claims.

    QA1 BotHarness Inline Setup QA #1111 is stopped and handback recorded. Shared machine-local App configuration remains available across worktrees/branches/sessions; no credential value is published. Arrange the next exclusive receiver window before connecting. No production receiver, mailbox test or other active task was taken over.

  9. modified the milestones: v1.1, v1.3 on Oct 11, 2026
  10. 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.

  11. modified the milestones: v1.3, v2.0 on Oct 24, 2026
  12. removed
    V1.1Milestone v1.1; mirrors the GitHub milestone
    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:docsDocumentation, research, or planning artifactfeature:messagingMessaging module and external providersscope:hubParent coordination map or epic; not a standalone implementation slicewayfinder:mapWayfinder map

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions