Skip to content

docs(core-host): the Feishu paragraphs still say kind: sender, feishu.enabled, and the app pair in secrets #1315

Closed

Description

@Birfy

Owner: Dev

Docs drift on main ae2e4615 (2026-10-27). docs/subsystems/core-host.md is the page arch-docs treats as architecture truth (AGENTS.md:258), and the two Feishu paragraphs that predate the connector row still name things the tree no longer does. :409 of the same page already describes the shipped shape; :405 and :407 were not brought along.

Three sentences, each checked against the code on main ae2e4615:

  1. :405 — "Its definition carries kind: 'sender', which the view reports and the client reads instead of hard-coding an id." The definition is kind: 'channel' (core/src/host/connectors.js:501), and that is what makes reconcile() dial the socket and the row offer Choose Bots. The rest of that sentence still holds: feishu is not in CONNECTOR_IDS (core/src/host/connector-access.js:29), so no Bot's tool list changes.
  2. :407 — "off unless feishu.enabled is true (an off connector dials nothing)". Nothing reads feishu.enabled any more: the gate is the record, enabled: () => feishuRecord()?.mode === 'app' && appOf() !== undefined (connectors.js:573) — app mode with both halves saved. A code search for feishu.enabled matches only CHANGELOG.md and this page.
  3. :407 — "FEISHU_APP_ID + FEISHU_APP_SECRET are read as one credential through the same rt.secretValue". The App ID is not a secret any more: it lives in the connector record (connectors.js:841) and the pair is assembled by appCredentials(record, secretValue) (core/src/host/feishu-inbound.js:57-63), which reads only FEISHU_APP_SECRET from secrets. A code search for FEISHU_APP_ID matches no code path — only the changelog and changelog.d/1266-feishu-connector-row.changed.md.

Still true in :407 and worth keeping: feishu.ownerOpenId from config is the "owner" half of the gate (connectors.js:574) with the record's allowed list as the other half, the 512-id ring whose id enters only after deliver returned, one socket per connector, rt.feishuTransport re-read on every start, and the answer leaving through the feishu plugin.

Fix: let :405/:407 defer to :409 for the shape — the kind, the switch, and where the App ID lives — and put phase 1's statements in the past tense where they describe what used to be. arch-docs cannot catch this: the owned paths (core/src/host/connectors.js, core/src/host/feishu-inbound.js) changed with the page updated in the same PR, so the check is green while two sentences describe a tree that is gone.

No code change. Found during the #1303/#1266 close-out: #1266 landed as #1278 (63f81f03) plus #1303 (4a4cf707), and #1292 closed completed with it.

Activity

  1. added
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    documentationImprovements or additions to documentation
    on Oct 27, 2026
  2. Birfy commented on Oct 27, 2026

    @Birfy
    CollaboratorAuthor

    Triaged 2026-10-27 against main ae2e4615. Labels: documentation + area:docs; agent-ready — three sentences on one page, no code change.

    All three stale, checked on the tree:

    • connectors.js:501 is kind: 'channel'; :573-574 gates on mode === 'app' && appOf() !== undefined (nothing reads a feishu.enabled key); :841 keeps appId in the record; feishu-inbound.js:57-63 appCredentials() reads only FEISHU_APP_SECRET.
    • Repo-wide code search: FEISHU_APP_ID → CHANGELOG.md + changelog.d/1266-feishu-connector-row.changed.md only; feishu.enabled → CHANGELOG.md + this page only. Neither is a code path.
    • The "no Bot's tool list changes" half of :405 still holds: CONNECTOR_IDS = [GITHUB, COMPOSIO] (connector-access.js:29).
    • Why arch-docs stayed green: the page's owned_paths is core/src/host/, and feat(feishu): connect Feishu on its connector row (#1266) #1303 changed connectors.js and this page (+2 lines, the :409 paragraph) in the same PR, so the check was satisfied while :405/:407 stayed behind.

    Duplicate check: no issue for these paragraphs (searched kind: sender, feishu.enabled, FEISHU_APP_ID, core-host.md, docs drift, open and closed). Nearest neighbours are #1184 (a different paragraph on the same page), #671/#673 (older dropped paragraphs) and the feature issues #1263/#1266 — none is this one.

    Scope stays this small: :405 and :407 only — defer the kind, the switch and where the App ID lives to :409; put phase 1's claims in the past tense; keep what :407 still states truly (feishu.ownerOpenId + the record's allowed as the two halves of the gate, the 512-id ring entering only after deliver returned, one socket per connector, rt.feishuTransport re-read on every start, the answer leaving through the feishu plugin). Do not rewrite the page.

    Acceptance: the page contains none of kind: 'sender', feishu.enabled, FEISHU_APP_ID; it still names the app-mode gate, allowed, the ring, rt.feishuTransport and the plugin; arch-docs green; no code change, no changelog fragment. No Owner: line added here — Lead assigns.

  3. added
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 27, 2026
  4. Birfy commented on Oct 27, 2026

    @Birfy
    CollaboratorAuthor

    Claimed-by: Dev

    Branch: dev/1315-core-host-docs, opened from main 2c02cd1503eca89be4ca6e718c9ccb56e66edd37 (the merge of #1307, core/package.json = 0.2.11).

    On line numbers: on this main the three stale sentences are still at :405 and :407 (the +12/−2 #1307 added went into the scheduled-tasks paragraph), but I locate them by content rather than by line, and the edit stays the same three claims — the kind, the switch, and where the App ID lives.

    Scope as Triage wrote it: defer to :409 (the row), put phase 1 in the past tense, keep the five things :407 still states truly — feishu.ownerOpenId plus the record's allowed as the two halves of the gate, the 512-id ring entering only after deliver returned, one socket per connector, rt.feishuTransport re-read on every start, and the answer leaving through the feishu plugin. No code change, no changelog fragment.

  5. removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 27, 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:docsDocumentationdocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions