Skip to content

refactor(gateway): consolidate source adapters - #153

Merged
yordis merged 3 commits into
mainfrom
yordis/docs-source-gateway
May 8, 2026
Merged

refactor(gateway): consolidate source adapters#153
yordis merged 3 commits into
mainfrom
yordis/docs-source-gateway

Conversation

@yordis

@yordis yordis commented May 8, 2026

Copy link
Copy Markdown
Member
  • Reduce package-boundary overhead now that source adapters are gateway-owned.
  • Keep provider behavior covered while making the gateway the single source boundary.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@cursor

cursor Bot commented May 8, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Medium risk due to broad refactor and dependency reshuffling across all webhook/source integrations (routing, config types, and stream provisioning), which could introduce wiring or feature-flag regressions despite largely move/rename changes.

Overview
Consolidates all source adapters into trogon-gateway. The PR removes the standalone trogon-source-* crates from the workspace and rehomes their implementations under trogon-gateway/src/source/*, with a new source module exported from the gateway.

Gateway wiring is updated to use the in-crate modules for config resolution, HTTP route mounting, JetStream stream provisioning, and Discord/Telegram runners (including Telegram webhook registration). trogon-gateway’s Cargo.toml is updated to pull in the source adapters’ direct deps, and Cargo.lock is refreshed to reflect the removed crates and dependency graph changes.

Minor API cleanup: several modules stop re-exporting SignatureError types, incidentio’s StaleTimestamp error drops its detailed fields, and a new linear webhook fixtures test module is added.

Reviewed by Cursor Bugbot for commit aa5e5ab. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai

coderabbitai Bot commented May 8, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 59 minutes and 5 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3e7eee82-664c-4bb0-995e-913137a30140

📥 Commits

Reviewing files that changed from the base of the PR and between ac2eaa3 and aa5e5ab.

⛔ Files ignored due to path filters (1)
  • rsworkspace/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (85)
  • rsworkspace/Cargo.toml
  • rsworkspace/crates/trogon-gateway/Cargo.toml
  • rsworkspace/crates/trogon-gateway/src/config.rs
  • rsworkspace/crates/trogon-gateway/src/http.rs
  • rsworkspace/crates/trogon-gateway/src/main.rs
  • rsworkspace/crates/trogon-gateway/src/source/discord/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/discord/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/discord/gateway.rs
  • rsworkspace/crates/trogon-gateway/src/source/discord/gateway_runner.rs
  • rsworkspace/crates/trogon-gateway/src/source/discord/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/github/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/github/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/github/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/github/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/github/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/gitlab/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/gitlab/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/gitlab/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/gitlab/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/gitlab/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/incidentio/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/incidentio/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/incidentio/incidentio_event_type.rs
  • rsworkspace/crates/trogon-gateway/src/source/incidentio/incidentio_signing_secret.rs
  • rsworkspace/crates/trogon-gateway/src/source/incidentio/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/incidentio/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/incidentio/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/linear/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/linear/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/linear/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/linear/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/linear/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/linear/webhook_fixtures_tests.rs
  • rsworkspace/crates/trogon-gateway/src/source/microsoft_graph/client_state.rs
  • rsworkspace/crates/trogon-gateway/src/source/microsoft_graph/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/microsoft_graph/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/microsoft_graph/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/microsoft_graph/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/notion/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/notion/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/notion/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/notion/notion_event_type.rs
  • rsworkspace/crates/trogon-gateway/src/source/notion/notion_verification_token.rs
  • rsworkspace/crates/trogon-gateway/src/source/notion/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/notion/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/sentry/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/sentry/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/sentry/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/sentry/sentry_client_secret.rs
  • rsworkspace/crates/trogon-gateway/src/source/sentry/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/sentry/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/slack/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/slack/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/slack/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/slack/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/slack/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/telegram/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/telegram/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/telegram/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/telegram/registration.rs
  • rsworkspace/crates/trogon-gateway/src/source/telegram/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/telegram/signature.rs
  • rsworkspace/crates/trogon-gateway/src/source/twitter/config.rs
  • rsworkspace/crates/trogon-gateway/src/source/twitter/constants.rs
  • rsworkspace/crates/trogon-gateway/src/source/twitter/mod.rs
  • rsworkspace/crates/trogon-gateway/src/source/twitter/server.rs
  • rsworkspace/crates/trogon-gateway/src/source/twitter/signature.rs
  • rsworkspace/crates/trogon-gateway/src/streams.rs
  • rsworkspace/crates/trogon-gateway/tests/fixtures/linear.Comment.create__comment_created_on_issue.json
  • rsworkspace/crates/trogon-gateway/tests/fixtures/linear.Issue.create__issue_created_in_backlog.json
  • rsworkspace/crates/trogon-gateway/tests/fixtures/linear.Issue.update__issue_moved_to_canceled.json
  • rsworkspace/crates/trogon-gateway/tests/fixtures/linear.Issue.update__issue_reopened_to_todo.json
  • rsworkspace/crates/trogon-gateway/tests/fixtures/linear.IssueLabel.update__label_applied.json
  • rsworkspace/crates/trogon-source-discord/Cargo.toml
  • rsworkspace/crates/trogon-source-github/Cargo.toml
  • rsworkspace/crates/trogon-source-gitlab/Cargo.toml
  • rsworkspace/crates/trogon-source-incidentio/Cargo.toml
  • rsworkspace/crates/trogon-source-linear/Cargo.toml
  • rsworkspace/crates/trogon-source-microsoft-graph/Cargo.toml
  • rsworkspace/crates/trogon-source-notion/Cargo.toml
  • rsworkspace/crates/trogon-source-sentry/Cargo.toml
  • rsworkspace/crates/trogon-source-slack/Cargo.toml
  • rsworkspace/crates/trogon-source-telegram/Cargo.toml
  • rsworkspace/crates/trogon-source-twitter/Cargo.toml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/docs-source-gateway

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown

badge

Code Coverage Summary

Details
Filename                                                                      Stmts    Miss  Cover    Missing
--------------------------------------------------------------------------  -------  ------  -------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
crates/trogon-gateway/src/source/incidentio/incidentio_event_type.rs             62       0  100.00%
crates/trogon-gateway/src/source/incidentio/incidentio_signing_secret.rs         67       0  100.00%
crates/trogon-gateway/src/source/incidentio/server.rs                           343       0  100.00%
crates/trogon-gateway/src/source/incidentio/signature.rs                        366       0  100.00%
crates/trogon-gateway/src/source/incidentio/config.rs                            16       0  100.00%
crates/acp-nats/src/client/terminal_create.rs                                   274       0  100.00%
crates/acp-nats/src/client/fs_write_text_file.rs                                418       0  100.00%
crates/acp-nats/src/client/request_permission.rs                                308       0  100.00%
crates/acp-nats/src/client/terminal_wait_for_exit.rs                            378       0  100.00%
crates/acp-nats/src/client/ext.rs                                               308       8  97.40%   163-172, 189-198
crates/acp-nats/src/client/ext_session_prompt_response.rs                       135       0  100.00%
crates/acp-nats/src/client/fs_read_text_file.rs                                 356       0  100.00%
crates/acp-nats/src/client/mod.rs                                              2851       0  100.00%
crates/acp-nats/src/client/terminal_kill.rs                                     290       0  100.00%
crates/acp-nats/src/client/terminal_release.rs                                  347       0  100.00%
crates/acp-nats/src/client/rpc_reply.rs                                          64       0  100.00%
crates/acp-nats/src/client/session_update.rs                                     55       0  100.00%
crates/acp-nats/src/client/terminal_output.rs                                   206       0  100.00%
crates/trogon-gateway/src/source/slack/config.rs                                 17       0  100.00%
crates/trogon-gateway/src/source/slack/server.rs                                863       0  100.00%
crates/trogon-gateway/src/source/slack/signature.rs                              77       0  100.00%
crates/acp-nats-agent/src/connection.rs                                        1270       1  99.92%   607
crates/acp-nats/src/nats/subjects/global/ext.rs                                   9       0  100.00%
crates/acp-nats/src/nats/subjects/global/initialize.rs                            6       0  100.00%
crates/acp-nats/src/nats/subjects/global/logout.rs                                6       0  100.00%
crates/acp-nats/src/nats/subjects/global/session_list.rs                          6       0  100.00%
crates/acp-nats/src/nats/subjects/global/session_new.rs                           6       0  100.00%
crates/acp-nats/src/nats/subjects/global/authenticate.rs                          6       0  100.00%
crates/acp-nats/src/nats/subjects/global/ext_notify.rs                            9       0  100.00%
crates/mcp-nats/src/nats/subjects/server/logging_message.rs                      12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/initialize.rs                           12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/get_task.rs                             12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/elicitation_completed.rs                12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/read_resource.rs                        12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/cancelled.rs                            12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/complete.rs                             12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/get_prompt.rs                           12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/get_task_result.rs                      12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/list_resources.rs                       12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/ping.rs                                  9       0  100.00%
crates/mcp-nats/src/nats/subjects/server/progress.rs                             12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/resource_list_changed.rs                12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/resource_updated.rs                     12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/set_logging_level.rs                    12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/list_tasks.rs                           12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/tool_list_changed.rs                    12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/subscribe_resource.rs                   12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/list_tools.rs                           12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/list_prompts.rs                         12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/call_tool.rs                            12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/prompt_list_changed.rs                  12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/cancel_task.rs                          12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/list_resource_templates.rs              12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/unsubscribe_resource.rs                 12       0  100.00%
crates/trogon-gateway/src/source/microsoft_graph/server.rs                      325       0  100.00%
crates/trogon-gateway/src/source/microsoft_graph/client_state.rs                 30       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_session.rs                   12       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/prompt_wildcard.rs                9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/global_all.rs                     9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_agent.rs                      9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_agent_ext.rs                  9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_agent.rs                     15       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_client.rs                     9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/all_session.rs                    9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_client.rs                    15       0  100.00%
crates/trogon-gateway/src/source/linear/config.rs                                17       0  100.00%
crates/trogon-gateway/src/source/linear/server.rs                               386       0  100.00%
crates/trogon-gateway/src/source/linear/signature.rs                             54       1  98.15%   16
crates/trogon-nats/src/jetstream/publish.rs                                      64       0  100.00%
crates/trogon-nats/src/jetstream/stream_max_age.rs                               18       0  100.00%
crates/trogon-nats/src/jetstream/mocks.rs                                       670      32  95.22%   364-378, 384-392, 407-413, 427-430, 494-496
crates/trogon-nats/src/jetstream/create_conflicts.rs                             24       0  100.00%
crates/trogon-nats/src/jetstream/traits.rs                                       46      46  0.00%    145-248
crates/trogon-nats/src/jetstream/claim_check.rs                                 346       0  100.00%
crates/acp-nats/src/client_proxy.rs                                             181       0  100.00%
crates/acp-nats/src/session_id.rs                                                71       0  100.00%
crates/acp-nats/src/lib.rs                                                       69       0  100.00%
crates/acp-nats/src/in_flight_slot_guard.rs                                      32       0  100.00%
crates/acp-nats/src/pending_prompt_waiters.rs                                   134       0  100.00%
crates/acp-nats/src/error.rs                                                     82       0  100.00%
crates/acp-nats/src/jsonrpc.rs                                                    6       0  100.00%
crates/acp-nats/src/req_id.rs                                                    39       0  100.00%
crates/acp-nats/src/config.rs                                                   203       0  100.00%
crates/acp-nats/src/ext_method_name.rs                                           68       0  100.00%
crates/acp-nats/src/acp_prefix.rs                                                50       0  100.00%
crates/mcp-nats-stdio/src/main.rs                                               212       0  100.00%
crates/mcp-nats-stdio/src/config.rs                                             160       0  100.00%
crates/mcp-nats/src/nats/subjects/mod.rs                                         89       0  100.00%
crates/mcp-nats/src/nats/subjects/client/roots_list_changed.rs                   12       0  100.00%
crates/mcp-nats/src/nats/subjects/client/create_message.rs                       12       0  100.00%
crates/mcp-nats/src/nats/subjects/client/create_elicitation.rs                   12       0  100.00%
crates/mcp-nats/src/nats/subjects/client/initialized.rs                          12       0  100.00%
crates/mcp-nats/src/nats/subjects/client/cancelled.rs                            12       0  100.00%
crates/mcp-nats/src/nats/subjects/client/list_roots.rs                           12       0  100.00%
crates/mcp-nats/src/nats/subjects/client/ping.rs                                  9       0  100.00%
crates/mcp-nats/src/nats/subjects/client/progress.rs                             12       0  100.00%
crates/trogon-gateway/src/source/discord/config.rs                              108       0  100.00%
crates/trogon-gateway/src/source/discord/gateway.rs                             426       1  99.77%   137
crates/acp-nats/src/nats/subjects/stream.rs                                      56       0  100.00%
crates/acp-nats/src/nats/subjects/mod.rs                                        362       0  100.00%
crates/trogon-gateway/src/config.rs                                            1946       0  100.00%
crates/trogon-gateway/src/http.rs                                               119       0  100.00%
crates/trogon-gateway/src/main.rs                                                 4       0  100.00%
crates/trogon-gateway/src/streams.rs                                            148       0  100.00%
crates/trogon-gateway/src/source_status.rs                                       28       0  100.00%
crates/acp-nats-server/src/main.rs                                              896      10  98.88%   100, 231-238, 437
crates/acp-nats-server/src/transport.rs                                        1852     106  94.28%   277, 536, 554, 581, 635, 640, 659, 671, 790, 813-815, 867, 884-887, 982-985, 1059, 1062, 1065, 1074, 1078, 1081, 1084-1087, 1106, 1138-1141, 1149-1154, 1166-1170, 1174-1183, 1195-1196, 1214-1215, 1225, 1241-1245, 1273-1279, 1298-1300, 1305-1309, 1312-1317, 1334, 1336-1337, 1419-1420, 1432-1433, 1453-1454, 1506-1522, 2218, 2261, 2313, 2368, 2380
crates/acp-nats-server/src/config.rs                                            137       9  93.43%   41, 50-61
crates/acp-nats-server/src/acp_connection_id.rs                                  45       0  100.00%
crates/acp-nats-server/src/connection.rs                                        171      32  81.29%   76-83, 88-99, 115, 117-118, 123, 132-133, 138, 142, 146, 149, 157, 161, 164, 167-171, 207
crates/trogon-gateway/src/source/notion/signature.rs                             56       1  98.21%   32
crates/trogon-gateway/src/source/notion/notion_event_type.rs                     46       3  93.48%   47-49
crates/trogon-gateway/src/source/notion/notion_verification_token.rs             17       0  100.00%
crates/trogon-gateway/src/source/notion/server.rs                               318       8  97.48%   92-96, 129-130, 149-150
crates/mcp-nats/src/nats/mod.rs                                                  99       0  100.00%
crates/mcp-nats/src/nats/parsing.rs                                             191       0  100.00%
crates/trogon-gateway/src/source/sentry/sentry_client_secret.rs                  17       0  100.00%
crates/trogon-gateway/src/source/sentry/signature.rs                             54       0  100.00%
crates/trogon-gateway/src/source/sentry/server.rs                               311       0  100.00%
crates/trogon-nats/src/lease/lease_timing.rs                                     15       0  100.00%
crates/trogon-nats/src/lease/lease_bucket.rs                                     19       0  100.00%
crates/trogon-nats/src/lease/release.rs                                           5       5  0.00%    8-12
crates/trogon-nats/src/lease/renew.rs                                           246      19  92.28%   23-29, 48-59
crates/trogon-nats/src/lease/ttl.rs                                              73       0  100.00%
crates/trogon-nats/src/lease/provision.rs                                       187      10  94.65%   82-92
crates/trogon-nats/src/lease/renew_interval.rs                                   61       0  100.00%
crates/trogon-nats/src/lease/lease_config_error.rs                               11       0  100.00%
crates/trogon-nats/src/lease/lease_key.rs                                        19       0  100.00%
crates/trogon-nats/src/lease/nats_kv_lease_config.rs                             26       0  100.00%
crates/trogon-nats/src/lease/acquire.rs                                           5       5  0.00%    9-14
crates/trogon-nats/src/lease/mod.rs                                             561      13  97.68%   180-193
crates/trogon-nats/src/telemetry/messaging.rs                                    82       0  100.00%
crates/trogon-std/src/env/system.rs                                              17       0  100.00%
crates/trogon-std/src/env/in_memory.rs                                           73       0  100.00%
crates/acp-nats/src/agent/test_support.rs                                       267       0  100.00%
crates/acp-nats/src/agent/authenticate.rs                                        49       0  100.00%
crates/acp-nats/src/agent/mod.rs                                                 65       0  100.00%
crates/acp-nats/src/agent/new_session.rs                                         82       0  100.00%
crates/acp-nats/src/agent/set_session_config_option.rs                           67       0  100.00%
crates/acp-nats/src/agent/ext_notification.rs                                    82       0  100.00%
crates/acp-nats/src/agent/js_request.rs                                         283       0  100.00%
crates/acp-nats/src/agent/logout.rs                                              49       0  100.00%
crates/acp-nats/src/agent/set_session_model.rs                                   67       0  100.00%
crates/acp-nats/src/agent/fork_session.rs                                        94       0  100.00%
crates/acp-nats/src/agent/initialize.rs                                          79       0  100.00%
crates/acp-nats/src/agent/ext_method.rs                                          82       0  100.00%
crates/acp-nats/src/agent/bridge.rs                                             123       4  96.75%   108-111
crates/acp-nats/src/agent/load_session.rs                                        89       0  100.00%
crates/acp-nats/src/agent/list_sessions.rs                                       47       0  100.00%
crates/acp-nats/src/agent/prompt.rs                                             471       0  100.00%
crates/acp-nats/src/agent/set_session_mode.rs                                    67       0  100.00%
crates/acp-nats/src/agent/close_session.rs                                       63       0  100.00%
crates/acp-nats/src/agent/cancel.rs                                             101       0  100.00%
crates/acp-nats/src/agent/resume_session.rs                                      90       0  100.00%
crates/trogon-gateway/src/source/gitlab/signature.rs                             28       0  100.00%
crates/trogon-gateway/src/source/gitlab/server.rs                               397       0  100.00%
crates/trogon-gateway/src/source/gitlab/config.rs                                17       0  100.00%
crates/acp-nats/src/jetstream/consumers.rs                                       91       0  100.00%
crates/acp-nats/src/jetstream/streams.rs                                        163       4  97.55%   206-208, 218
crates/acp-nats/src/jetstream/provision.rs                                       53       0  100.00%
crates/acp-nats/src/jetstream/ext_policy.rs                                      26       0  100.00%
crates/trogon-std/src/fs/mem.rs                                                 216      10  95.37%   61-63, 77-79, 132-134, 157
crates/trogon-std/src/fs/system.rs                                               92       0  100.00%
crates/mcp-nats/src/nats/subjects/subscriptions/one_client.rs                     9       0  100.00%
crates/mcp-nats/src/nats/subjects/subscriptions/one_server.rs                     9       0  100.00%
crates/mcp-nats/src/nats/subjects/subscriptions/all_client.rs                     6       0  100.00%
crates/mcp-nats/src/nats/subjects/subscriptions/all_server.rs                     6       0  100.00%
crates/trogon-std/src/telemetry/http.rs                                         217       0  100.00%
crates/acp-nats/src/nats/subjects/commands/set_model.rs                          15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/load.rs                               15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/set_config_option.rs                  15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/prompt.rs                             15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/fork.rs                               15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/cancel.rs                             15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/close.rs                              15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/set_mode.rs                           15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/resume.rs                             15       0  100.00%
crates/trogon-gateway/src/source/github/server.rs                               328       0  100.00%
crates/trogon-gateway/src/source/github/signature.rs                             61       0  100.00%
crates/trogon-gateway/src/source/github/config.rs                                17       0  100.00%
crates/trogon-nats/src/mocks.rs                                                 314       0  100.00%
crates/trogon-nats/src/nats_token.rs                                            157       0  100.00%
crates/trogon-nats/src/connect.rs                                                94       9  90.43%   22-23, 33, 60-65
crates/trogon-nats/src/messaging.rs                                             561       2  99.64%   144, 154
crates/trogon-nats/src/token.rs                                                   6       0  100.00%
crates/trogon-nats/src/client.rs                                                 22      22  0.00%    50-86
crates/trogon-nats/src/subject_token_violation.rs                                17       0  100.00%
crates/trogon-nats/src/auth.rs                                                  114       0  100.00%
crates/acp-nats-stdio/src/config.rs                                              66       0  100.00%
crates/acp-nats-stdio/src/main.rs                                               135      25  81.48%   65, 113-120, 126-128, 145, 174-193
crates/acp-nats/src/nats/parsing.rs                                             278       1  99.64%   151
crates/acp-nats/src/nats/extensions.rs                                            3       0  100.00%
crates/acp-nats/src/nats/mod.rs                                                  23       0  100.00%
crates/trogon-gateway/src/source/telegram/config.rs                             109       0  100.00%
crates/trogon-gateway/src/source/telegram/server.rs                             339       0  100.00%
crates/trogon-gateway/src/source/telegram/registration.rs                       324       0  100.00%
crates/trogon-gateway/src/source/telegram/signature.rs                           32       0  100.00%
crates/trogon-gateway/src/source/twitter/server.rs                              525       0  100.00%
crates/trogon-gateway/src/source/twitter/signature.rs                            69       0  100.00%
crates/trogon-gateway/src/source/twitter/config.rs                               17       0  100.00%
crates/mcp-nats/src/telemetry/transport.rs                                        6       0  100.00%
crates/trogon-std/src/time/system.rs                                             31       0  100.00%
crates/trogon-std/src/time/mock.rs                                              125       0  100.00%
crates/mcp-nats-server/src/config.rs                                            276       0  100.00%
crates/mcp-nats-server/src/allowed_host.rs                                       90       0  100.00%
crates/mcp-nats-server/src/main.rs                                              357     127  64.43%   149-166, 202-204, 214, 220-221, 228-231, 255-257, 261-270, 292-305, 310-358, 489, 492, 500-542
crates/mcp-nats/src/transport.rs                                                722       0  100.00%
crates/mcp-nats/src/client.rs                                                    31       0  100.00%
crates/mcp-nats/src/mcp_peer_id.rs                                               33       0  100.00%
crates/mcp-nats/src/mcp_prefix.rs                                                36       0  100.00%
crates/mcp-nats/src/jsonrpc.rs                                                   22       0  100.00%
crates/mcp-nats/src/server.rs                                                    31       0  100.00%
crates/mcp-nats/src/config.rs                                                   110       0  100.00%
crates/trogon-std/src/args.rs                                                    19       9  52.63%   11-28
crates/trogon-std/src/json.rs                                                    30       0  100.00%
crates/trogon-std/src/http.rs                                                    19       0  100.00%
crates/trogon-std/src/secret_string.rs                                           35       0  100.00%
crates/trogon-std/src/signal.rs                                                  26      12  53.85%   6-11, 18-25, 34
crates/trogon-std/src/uuid.rs                                                     7       0  100.00%
crates/trogon-std/src/duration.rs                                                45       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/fs_read_text_file.rs                12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/fs_write_text_file.rs               12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_output.rs                  12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/session_update.rs                   12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_release.rs                 12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/session_request_permission.rs       12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_kill.rs                    12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_create.rs                  12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/terminal_wait_for_exit.rs           12       0  100.00%
crates/acp-nats/src/telemetry/metrics.rs                                         53       0  100.00%
crates/trogon-std/src/dirs/fixed.rs                                              80       0  100.00%
crates/trogon-std/src/dirs/system.rs                                             71       0  100.00%
crates/trogon-service-config/src/lib.rs                                          92       0  100.00%
crates/trogon-telemetry/src/lib.rs                                              197      23  88.32%   94, 99, 104, 114-115, 121-139, 175, 178, 181, 187
crates/trogon-telemetry/src/service_name.rs                                      44       0  100.00%
crates/trogon-telemetry/src/trace.rs                                             23       1  95.65%   22
crates/trogon-telemetry/src/metric.rs                                            26       1  96.15%   29
crates/trogon-telemetry/src/log.rs                                               68       1  98.53%   33
crates/trogon-telemetry/src/resource_attribute.rs                                23       0  100.00%
crates/acp-nats/src/nats/subjects/responses/prompt_response.rs                   27       0  100.00%
crates/acp-nats/src/nats/subjects/responses/update.rs                            27       0  100.00%
crates/acp-nats/src/nats/subjects/responses/ext_ready.rs                         12       0  100.00%
crates/acp-nats/src/nats/subjects/responses/cancelled.rs                         15       0  100.00%
crates/acp-nats/src/nats/subjects/responses/response.rs                          20       0  100.00%
TOTAL                                                                         32118     561  98.25%

Diff against main

Filename                                                                    Stmts    Miss  Cover
------------------------------------------------------------------------  -------  ------  --------
crates/trogon-gateway/src/source/incidentio/incidentio_event_type.rs          +62       0  +100.00%
crates/trogon-gateway/src/source/incidentio/incidentio_signing_secret.rs      +67       0  +100.00%
crates/trogon-gateway/src/source/incidentio/server.rs                        +343       0  +100.00%
crates/trogon-gateway/src/source/incidentio/signature.rs                     +366       0  +100.00%
crates/trogon-gateway/src/source/incidentio/config.rs                         +16       0  +100.00%
crates/trogon-gateway/src/source/slack/config.rs                              +17       0  +100.00%
crates/trogon-gateway/src/source/slack/server.rs                             +863       0  +100.00%
crates/trogon-gateway/src/source/slack/signature.rs                           +77       0  +100.00%
crates/trogon-gateway/src/source/microsoft_graph/server.rs                   +325       0  +100.00%
crates/trogon-gateway/src/source/microsoft_graph/client_state.rs              +30       0  +100.00%
crates/trogon-gateway/src/source/linear/config.rs                             +17       0  +100.00%
crates/trogon-gateway/src/source/linear/server.rs                            +386       0  +100.00%
crates/trogon-gateway/src/source/linear/signature.rs                          +54      +1  +98.15%
crates/trogon-gateway/src/source/discord/config.rs                           +108       0  +100.00%
crates/trogon-gateway/src/source/discord/gateway.rs                          +426      +1  +99.77%
crates/trogon-gateway/src/source/notion/signature.rs                          +56      +1  +98.21%
crates/trogon-gateway/src/source/notion/notion_event_type.rs                  +46      +3  +93.48%
crates/trogon-gateway/src/source/notion/notion_verification_token.rs          +17       0  +100.00%
crates/trogon-gateway/src/source/notion/server.rs                            +318      +8  +97.48%
crates/trogon-gateway/src/source/sentry/sentry_client_secret.rs               +17       0  +100.00%
crates/trogon-gateway/src/source/sentry/signature.rs                          +54       0  +100.00%
crates/trogon-gateway/src/source/sentry/server.rs                            +311       0  +100.00%
crates/trogon-gateway/src/source/gitlab/signature.rs                          +28       0  +100.00%
crates/trogon-gateway/src/source/gitlab/server.rs                            +397       0  +100.00%
crates/trogon-gateway/src/source/gitlab/config.rs                             +17       0  +100.00%
crates/trogon-gateway/src/source/github/server.rs                            +328       0  +100.00%
crates/trogon-gateway/src/source/github/signature.rs                          +61       0  +100.00%
crates/trogon-gateway/src/source/github/config.rs                             +17       0  +100.00%
crates/trogon-gateway/src/source/telegram/config.rs                          +109       0  +100.00%
crates/trogon-gateway/src/source/telegram/server.rs                          +339       0  +100.00%
crates/trogon-gateway/src/source/telegram/registration.rs                    +324       0  +100.00%
crates/trogon-gateway/src/source/telegram/signature.rs                        +32       0  +100.00%
crates/trogon-gateway/src/source/twitter/server.rs                           +525       0  +100.00%
crates/trogon-gateway/src/source/twitter/signature.rs                         +69       0  +100.00%
crates/trogon-gateway/src/source/twitter/config.rs                            +17       0  +100.00%
TOTAL                                                                       +6239     +14  -0.00%

Results for commit: aa5e5ab

Minimum allowed coverage is 95%

♻️ This comment has been updated with latest results

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit ad180c9. Configure here.

Comment thread rsworkspace/crates/trogon-gateway/src/source/mod.rs Outdated
@yordis yordis added the rust:coverage-baseline-reset Relax Rust coverage gate to establish a new baseline label May 8, 2026
yordis added 2 commits May 8, 2026 03:34
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis merged commit aec1a44 into main May 8, 2026
7 checks passed
@yordis
yordis deleted the yordis/docs-source-gateway branch May 8, 2026 07:50
mariorha added a commit that referenced this pull request May 12, 2026
Resolves all conflicts from 5 commits:
- refactor(gateway): consolidate source adapters (#153)
- feat(mcp-nats): support distributed MCP (#149)
- refactor(telemetry): generalize service instrumentation (#152)
- fix(signal): share shutdown boundary (#151)
- fix(acp-nats): preserve typed NATS subject contracts (#150)

Key decisions:
- trogon-source-* Cargo.toml files deleted (accepted gateway consolidation)
- acp-nats-server: accepted origin/main (registry routing removed by fix #150)
- trogon-telemetry: generic resource_attributes API accepted (fix #152)
- service_name.rs: combined AcpNatsWs + McpNatsStdio/McpNatsServer variants
- Platform crates migrated from acp-telemetry to trogon-telemetry
- signal::shutdown_signal moved from acp-telemetry to trogon-std
- Orphaned trogon-source-* dirs excluded from workspace (tests preserved)
yordis added a commit that referenced this pull request Jun 16, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 22, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 22, 2026
Resolves all conflicts from 5 commits:
- refactor(gateway): consolidate source adapters (#153)
- feat(mcp-nats): support distributed MCP (#149)
- refactor(telemetry): generalize service instrumentation (#152)
- fix(signal): share shutdown boundary (#151)
- fix(acp-nats): preserve typed NATS subject contracts (#150)

Key decisions:
- trogon-source-* Cargo.toml files deleted (accepted gateway consolidation)
- acp-nats-server: accepted origin/main (registry routing removed by fix #150)
- trogon-telemetry: generic resource_attributes API accepted (fix #152)
- service_name.rs: combined AcpNatsWs + McpNatsStdio/McpNatsServer variants
- Platform crates migrated from acp-telemetry to trogon-telemetry
- signal::shutdown_signal moved from acp-telemetry to trogon-std
- Orphaned trogon-source-* dirs excluded from workspace (tests preserved)

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 22, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 23, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 23, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 23, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 25, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 25, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 26, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 26, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 26, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 26, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
yordis added a commit that referenced this pull request Jun 26, 2026
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rust:coverage-baseline-reset Relax Rust coverage gate to establish a new baseline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant