Skip to content

fix(feishu): wire setup runtime setter#89814

Merged
clawsweeper[bot] merged 3 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-89689
Jun 3, 2026
Merged

fix(feishu): wire setup runtime setter#89814
clawsweeper[bot] merged 3 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-89689

Conversation

@clawsweeper
Copy link
Copy Markdown
Contributor

@clawsweeper clawsweeper Bot commented Jun 3, 2026

Makes #89689 merge-ready for the ClawSweeper automerge loop.
The edit pass should inspect the live PR diff, review comments, and failing checks; rebase if needed; keep the contributor branch credited; and stop only when validation is green or an external blocker is proven.

ClawSweeper 🐠 replacement reef notes:

  • Repair fallback: GitHub rejected the repair branch push because it updates workflow files and the ClawSweeper app token does not have workflows permission

Inherited issue-closing references from the source PR:
Closes #88024

Co-author credit kept:

fish notes: model gpt-5.5, reasoning high; reviewed against cbad0c6.

@clawsweeper clawsweeper Bot added channel: feishu Channel integration: feishu size: XS clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge proof: supplied External PR includes structured after-fix real behavior proof. proof: sufficient ClawSweeper judged the real behavior proof convincing. P1 High-priority user-facing bug, regression, or broken workflow. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. clawsweeper Tracked by ClawSweeper automation labels Jun 3, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: supplied External PR includes structured after-fix real behavior proof. label Jun 3, 2026
@clawsweeper
Copy link
Copy Markdown
Contributor Author

clawsweeper Bot commented Jun 3, 2026

Codex review: passed. Reviewed June 3, 2026, 8:36 AM ET / 12:36 UTC.

Summary
The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.

PR surface: Source +7, Tests +22. Total +29 across 4 files.

Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only registration lacks setChannelRuntime, while the loader only initializes setup-runtime channel state when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Review metrics: 1 noteworthy metric.

  • Setup runtime surface: 1 Feishu setup-entry runtime setter added. This is the hook the existing setup-runtime loader uses to initialize channel runtime before registering the setup-only plugin.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🐚 platinum hermit
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • none.

Risk before merge

  • [P1] A live Feishu/Lark tenant message was not exercised; the available proof covers the setup-runtime registration path and targeted regression test.

Maintainer options:

  1. Decide the mitigation before merge
    Merge the focused Feishu setup-entry runtime setter and keep the existing setup-runtime loader contract unchanged once the latest head checks and mergeability pass.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • [P2] No repair job is needed because this automerge replacement PR already contains the focused fix and sufficient targeted proof.

Security
Cleared: The diff adds a local runtime-setter export, setup-entry wiring, and tests; it does not change dependencies, workflows, secrets handling, permissions, or package resolution.

Review details

Best possible solution:

Merge the focused Feishu setup-entry runtime setter and keep the existing setup-runtime loader contract unchanged once the latest head checks and mergeability pass.

Do we have a high-confidence way to reproduce the issue?

Yes, source inspection gives a high-confidence reproduction path: current Feishu setup-only registration lacks setChannelRuntime, while the loader only initializes setup-runtime channel state when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Is this the best way to solve the issue?

Yes, this is the best fix shape: it wires Feishu into the existing setup-entry runtime setter contract and mirrors Matrix/Slack rather than changing the loader or importing the full channel entry.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against a9f099d279a6.

Label changes

Label justifications:

  • P1: The linked bug breaks Feishu inbound dispatch, so real channel messages can fail before reaching the agent workflow.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🦞 diamond lobster.
  • status: 🚀 automerge armed: This PR is in ClawSweeper's automerge lane. Sufficient (terminal): The linked source PR body includes after-fix terminal proof for the exact setup-entry runtime setter path plus targeted regression test output, though not a live Feishu tenant message.
  • proof: sufficient: Contributor real behavior proof is sufficient. The linked source PR body includes after-fix terminal proof for the exact setup-entry runtime setter path plus targeted regression test output, though not a live Feishu tenant message.
Evidence reviewed

PR surface:

Source +7, Tests +22. Total +29 across 4 files.

View PR surface stats
Area Files Added Removed Net
Source 2 7 0 +7
Tests 2 22 0 +22
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 4 29 0 +29

What I checked:

  • Current Feishu setup entry lacks runtime wiring: On current main, defineBundledChannelSetupEntry declares plugin, migrations, and secrets for Feishu but no runtime setter, so the setup-only entry cannot initialize Feishu's runtime store. (extensions/feishu/setup-entry.ts:3, a9f099d279a6)
  • Feishu full channel entry has the setter only on the full runtime entry: The full channel entry points runtime at ./runtime-api.js and setFeishuRuntime, which does not help setup-only registration when the loader uses setup-entry.ts. (extensions/feishu/channel-entry.ts:16, a9f099d279a6)
  • Setup-entry contract supports the proposed fix: defineBundledChannelSetupEntry already accepts a runtime descriptor and exposes setChannelRuntime, so the PR uses the intended setup-entry boundary rather than adding a new core seam. (src/plugin-sdk/channel-entry-contract.ts:591, a9f099d279a6)
  • Loader applies setup-entry runtime setters: The setup-runtime loader calls mergedSetupRegistration.setChannelRuntime?.(api.runtime) when a runtime setter has not already been applied, confirming that exposing the setter from Feishu setup-entry is sufficient for this path. (src/plugins/loader.ts:2518, a9f099d279a6)
  • Runtime store is the failing dependency for inbound dispatch: Feishu stores runtime through setFeishuRuntime/getFeishuRuntime, and inbound dispatch later calls core.channel.inbound.run, matching the linked issue's undefined runtime failure mode. (extensions/feishu/src/runtime.ts:4, a9f099d279a6)
  • Sibling channels use the same setup-entry pattern: Matrix and Slack setup entries already expose narrow runtime setter descriptors, so the PR aligns Feishu with an established bundled-channel setup pattern. (extensions/matrix/setup-entry.ts:13, a9f099d279a6)

Likely related people:

  • Vincent Koc: Current Feishu setup-entry, setup-entry contract, and loader lines in this checkout blame to the same setup-runtime refactor commit. (role: recent setup-runtime contributor; confidence: high; commits: d004b80c9188; files: extensions/feishu/setup-entry.ts, src/plugin-sdk/channel-entry-contract.ts, src/plugins/loader.ts)
  • Takhoffman: The PR body says automerge was requested by @Takhoffman, and local history shows recent Feishu work under Tak Hoffman on media/card-action related channel behavior. (role: automerge requester and recent adjacent Feishu contributor; confidence: medium; commits: 3c6a49b27ea0, fa62231afca3; files: extensions/feishu)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. labels Jun 3, 2026
@clawsweeper
Copy link
Copy Markdown
Contributor Author

clawsweeper Bot commented Jun 3, 2026

🦞✅
ClawSweeper merged this PR after the passing review.

Source: clawsweeper[bot]
Feedback: structured ClawSweeper verdict: pass (sha=befd074ca62062239104ffbe7605900e081e872c)
Merge status: merged by ClawSweeper automerge
Merged at: 2026-06-03T12:36:43Z
Merge commit: a61c94b1f179

What merged:

  • The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
  • PR surface: Source +7, Tests +22. Total +29 across 4 files.
  • Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:

  • PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

The automerge loop is complete.

Automerge progress:

  • 2026-06-03 11:57:41 UTC review passed cbad0c65a8b3 (structured ClawSweeper verdict: pass (sha=cbad0c65a8b3aa9a65f8c15808045248b34a9...)
  • 2026-06-03 12:28:28 UTC review queued befd074ca620 (after repair)
  • 2026-06-03 12:36:32 UTC review passed befd074ca620 (structured ClawSweeper verdict: pass (sha=befd074ca62062239104ffbe7605900e081e8...)
  • 2026-06-03 12:36:46 UTC merged befd074ca620 (merged by ClawSweeper automerge)

@clawsweeper clawsweeper Bot force-pushed the clawsweeper/automerge-openclaw-openclaw-89689 branch from cbad0c6 to befd074 Compare June 3, 2026 12:28
@clawsweeper clawsweeper Bot merged commit a61c94b into main Jun 3, 2026
158 checks passed
@clawsweeper clawsweeper Bot deleted the clawsweeper/automerge-openclaw-openclaw-89689 branch June 3, 2026 12:36
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jun 4, 2026
Summary:
- The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
- PR surface: Source +7, Tests +22. Total +29 across 4 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

Validation:
- ClawSweeper review passed for head befd074.
- Required merge gates passed before the squash merge.

Prepared head SHA: befd074
Review: openclaw#89814 (comment)

Co-authored-by: Glenn-Agent <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request Jun 4, 2026
Summary:
- The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
- PR surface: Source +7, Tests +22. Total +29 across 4 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

Validation:
- ClawSweeper review passed for head befd074.
- Required merge gates passed before the squash merge.

Prepared head SHA: befd074
Review: openclaw#89814 (comment)

Co-authored-by: Glenn-Agent <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request Jun 4, 2026
Summary:
- The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
- PR surface: Source +7, Tests +22. Total +29 across 4 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

Validation:
- ClawSweeper review passed for head befd074.
- Required merge gates passed before the squash merge.

Prepared head SHA: befd074
Review: openclaw#89814 (comment)

Co-authored-by: Glenn-Agent <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request Jun 4, 2026
Summary:
- The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
- PR surface: Source +7, Tests +22. Total +29 across 4 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

Validation:
- ClawSweeper review passed for head befd074.
- Required merge gates passed before the squash merge.

Prepared head SHA: befd074
Review: openclaw#89814 (comment)

Co-authored-by: Glenn-Agent <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request Jun 4, 2026
Summary:
- The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
- PR surface: Source +7, Tests +22. Total +29 across 4 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

Validation:
- ClawSweeper review passed for head befd074.
- Required merge gates passed before the squash merge.

Prepared head SHA: befd074
Review: openclaw#89814 (comment)

Co-authored-by: Glenn-Agent <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request Jun 4, 2026
Summary:
- The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
- PR surface: Source +7, Tests +22. Total +29 across 4 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

Validation:
- ClawSweeper review passed for head befd074.
- Required merge gates passed before the squash merge.

Prepared head SHA: befd074
Review: openclaw#89814 (comment)

Co-authored-by: Glenn-Agent <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
849261680 pushed a commit to 849261680/openclaw that referenced this pull request Jun 7, 2026
Summary:
- The PR adds a narrow Feishu runtime-setter entrypoint, wires it into the Feishu setup entry, and adds regression coverage for setup-only runtime registration.
- PR surface: Source +7, Tests +22. Total +29 across 4 files.
- Reproducibility: yes. source inspection gives a high-confidence reproduction path: current Feishu setup-only ... ate when that setter is present. I did not run a live Feishu tenant message repro in this read-only review.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(feishu): wire setup runtime setter

Validation:
- ClawSweeper review passed for head befd074.
- Required merge gates passed before the squash merge.

Prepared head SHA: befd074
Review: openclaw#89814 (comment)

Co-authored-by: Glenn-Agent <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

channel: feishu Channel integration: feishu clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge clawsweeper Tracked by ClawSweeper automation P1 High-priority user-facing bug, regression, or broken workflow. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: XS status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feishu channel broken since 5.27: never called, dispatch fails with 'Cannot read properties of undefined (reading run)'

1 participant