You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(core-host): the Feishu paragraphs still say kind: sender, feishu.enabled, and the app pair in secrets #1315
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:
: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.
: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.
: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.
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-63appCredentials() 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.jsand 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.
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.
Activity
Birfy commentedon Oct 27, 2026
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:501iskind: 'channel';:573-574gates onmode === 'app' && appOf() !== undefined(nothing reads afeishu.enabledkey);:841keepsappIdin the record;feishu-inbound.js:57-63appCredentials()reads onlyFEISHU_APP_SECRET.FEISHU_APP_ID→CHANGELOG.md+changelog.d/1266-feishu-connector-row.changed.mdonly;feishu.enabled→CHANGELOG.md+ this page only. Neither is a code path.:405still holds:CONNECTOR_IDS = [GITHUB, COMPOSIO](connector-access.js:29).arch-docsstayed green: the page'sowned_pathsiscore/src/host/, and feat(feishu): connect Feishu on its connector row (#1266) #1303 changedconnectors.jsand this page (+2lines, the:409paragraph) in the same PR, so the check was satisfied while:405/:407stayed 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:
:405and:407only — defer the kind, the switch and where the App ID lives to:409; put phase 1's claims in the past tense; keep what:407still states truly (feishu.ownerOpenId+ the record'sallowedas the two halves of the gate, the 512-id ring entering only afterdeliverreturned, one socket per connector,rt.feishuTransportre-read on every start, the answer leaving through thefeishuplugin). 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.feishuTransportand the plugin;arch-docsgreen; no code change, no changelog fragment. NoOwner:line added here — Lead assigns.Birfy commentedon Oct 27, 2026
Claimed-by: Dev
Branch:
dev/1315-core-host-docs, opened frommain 2c02cd1503eca89be4ca6e718c9ccb56e66edd37(the merge of #1307,core/package.json= 0.2.11).On line numbers: on this main the three stale sentences are still at
:405and: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:407still states truly —feishu.ownerOpenIdplus the record'sallowedas the two halves of the gate, the 512-id ring entering only afterdeliverreturned, one socket per connector,rt.feishuTransportre-read on every start, and the answer leaving through thefeishuplugin. No code change, no changelog fragment.docs(core-host): the Feishu paragraphs defer to the connector row (Th…