Skip to content

feat(cli): send Telegram text without attachments (refs #518) - #3104

Merged
mblua merged 3 commits into
mainfrom
feature/518-telegram-send-message
Oct 18, 2026
Merged

mblua merged 3 commits into
mainfrom
feature/518-telegram-send-message

Conversation

@mblua

@mblua mblua commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

What changed

Adds telegram-send-message --text <TEXT> with the existing bot selectors, allowing rooms and coordinators to send text without an attachment or active Telegram bridge. It preserves the original text, rejects empty input and a conservative 4096 UTF-16-unit limit, and uses controlled errors without printing message content or bot credentials.

The image command remains compatible; the CLI reference documents the new verb.

Why

The existing CLI required an image or file even for a short status update. Closes #518.

How I tested

  • cargo +1.98.1 check --locked -p agentscommander --all-targets: passed.
  • Locked compilation of the library and five integration-test targets: passed; exact debug application/harness identities verified before and after testing.
  • 30 focused tests passed: Telegram text/image unit and CLI contracts, root/subcommand help, required arguments, three layering guards, and the existing isolation source contract. Configuration and temporary files were isolated; no live Telegram sends.
  • Format, whitespace, branch/no-plans, test-debt, module arcs/cycles, duplication and cognitive checks passed.
  • Independent code reviews passed; PRE/POST module pairs and SCC memberships are unchanged. Canonical plan v3 SHA256: BC0C786F9B12EE0C2B078655A82DD82389C89BE54AF6856A2E915F01869F374F.

Anything reviewers should know

Local validation covered Windows debug artifacts at 2168d1526d40491d137e429ac170f3f1b9fab748, including main through 01456f151b3b61cfc55709b30c49984146966f0e. The initial Windows CI failure repeated on the same commit: the new test introduced an extra process-construction route rejected by the existing isolation source guard. The test now reuses the existing isolated runner; all cases and assertions are retained, and the unchanged guard passes locally. Both independent reviewers approved this correction and integration.

Success/failure behavior uses synthetic senders; the real error-discarding helper was reviewed structurally. Full CI is requested with ci:full; every required check must succeed on the exact PR head before merge.

@mblua mblua added the ci:full Run the full PR regression gates on this PR label Oct 18, 2026
@mblua

mblua commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

Stale-base triage: unrelated delta

Compared PR head 401492d9800722ce0c371f5ab2dd0822022d215b with new main 1892e47c1896879402fd22197b98b79510798dcb, from common base 970c907972be62dd642c0d3d8219a70b206da4ff. Main advanced by five commits from PR #3103 / issue #3093.

The independent architecture review classified the delta as UNRELATED to this CLI change:

  • Incoming paths: src/shared/console-capture.ts, src/shared/ipc.transport.test.ts, src/shared/ipc.ts, src/sidebar/App.tsx, src/sidebar/components/WorkgroupGroupRail.test.tsx, src/sidebar/components/WorkgroupGroupRail.tsx, src/sidebar/rail-diagnostics.test.ts, src/sidebar/rail-diagnostics.ts, src/sidebar/stores/project.test.ts, src/sidebar/stores/project.ts.
  • No overlap with this PR's five paths, and no Rust, dependencies/lockfiles, build configuration or workflow changes.
  • The only added frontend IPC invocation, append_rail_diagnostic, already has its backend in this PR head (commands/config.rs:377). Neither side changes the Telegram frontend IPC contracts; this PR adds a CLI helper, not a Tauri command.
  • build.rs:31-40 embeds frontend assets as content. The new CLI path does not launch the GUI or read those assets; its tested behavior and imports do not depend on the rail changes. A read-only merge-tree check is clean.

Keep the current head and its 29-test/review evidence; no branch refresh, rebuild or duplicate CI is required for this delta. This does not waive full-tier CI: every required check must still actually succeed on the exact PR head before merge.

@sonarqubecloud

Copy link
Copy Markdown

@mblua
mblua merged commit ee7ff17 into main Oct 18, 2026
39 of 40 checks passed
@mblua
mblua deleted the feature/518-telegram-send-message branch October 18, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:full Run the full PR regression gates on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Telegram text/status CLI command

1 participant