fix(cron): route topic targets through channel plugins#85701
Conversation
1cab374 to
645b9c0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1cab374288
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex review: needs real behavior proof before merge. Latest ClawSweeper review: 2026-05-23 11:34 UTC / May 23, 2026, 7:34 AM ET. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. source-level: PR head calls plugin PR rating Rank-up moves:
What the crustacean ranks mean
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. Real behavior proof Mantis proof suggestion Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge Security Review findings
Review detailsBest possible solution: Keep the plugin-owned parsing architecture, guard parser exceptions at the cron delivery seam, add a regression test for a throwing channel parser, then rebase and capture Telegram topic delivery proof if maintainers want transport confidence. Do we have a high-confidence way to reproduce the issue? Yes, source-level: PR head calls plugin Is this the best way to solve the issue? No, not as written. The maintainable shape is still plugin-owned parsing, but the parser seam must catch exceptions and preserve structured cron delivery errors before merge. Label changes:
Label justifications:
Full review comments:
Overall correctness: patch is incorrect Acceptance criteria:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 353dfeb108d7. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 645b9c0183
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
ClawSweeper PR egg 🔥 Warming up: real-behavior proof passed; findings, security review, or rank-up moves are still in progress. Hatch commandComment Hatchability rules:
What is this egg doing here?
|
899e5bc to
6695522
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f4cc6d4e99
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Verification before merge: Behavior addressed: Cron announce delivery now routes Telegram forum-topic target parsing through the channel plugin parser instead of cron/core Telegram-specific parsing. Supported
|
Summary
chatId:topicIdandchatId:topic:topicIdparsing in the Telegram plugin, with cron consuming only the generic channel parser contract.Thanks @etticat for the original report and PR #49704.
Verification
pnpm test src/infra/outbound/targets.test.ts src/cron/isolated-agent/delivery-target.test.ts extensions/telegram/src/targets.test.ts src/cron/isolated-agent.direct-delivery-core-channels.test.tsgit diff --checkpnpm format:docs:check.agents/skills/autoreview/scripts/autoreview --mode local --prompt "Review the refactor that moves cron delivery target topic parsing behind generic channel plugin target parsing. Focus on ownership boundary, Telegram forum topic target correctness, stale thread carry, and delivery regression risk. Do not complain about missing live Telegram proof; this is a local replacement PR prep."pnpm check:changedvia Blacksmith Testboxtbx_01ksa97e0fgg7z3m6sq5h6bc99, GitHub Actions run 26331385142Real behavior proof
Behavior addressed: cron announce delivery resolves Telegram/forum topic ids through the owning channel plugin parser instead of cron core before direct delivery.
Real environment tested: local unit/integration tests plus Blacksmith Testbox
tbx_01ksa97e0fgg7z3m6sq5h6bc99changed gate.Exact steps or command run after this patch:
pnpm test src/infra/outbound/targets.test.ts src/cron/isolated-agent/delivery-target.test.ts extensions/telegram/src/targets.test.ts src/cron/isolated-agent.direct-delivery-core-channels.test.ts;pnpm check:changed.Evidence after fix: focused tests passed 3 Vitest shards in 19.69s after rebase; Testbox changed gate exited 0 in run 26331385142.
Observed result after fix: Telegram
:topic:and:topicIdtargets resolve to base chat id plusthreadId; cron core no longer contains Telegram-specific topic stripping.What was not tested: live Telegram Bot API/forum topic delivery with a real chat was not run in this replacement PR.
Replaces #49704.