Skip to content

chore(license): clarify ownership boundaries - #278

Merged
yordis merged 1 commit into
mainfrom
yordis/chore-license-rules
Jun 12, 2026
Merged

yordis merged 1 commit into
mainfrom
yordis/chore-license-rules

Conversation

@yordis

@yordis yordis commented Jun 12, 2026 •

Copy link
Copy Markdown
Member
  • Apache-2.0 is more adoption-friendly for companies than MIT because it includes an explicit patent grant and clearer contributor terms, removing legal ambiguity that sometimes blocks enterprise adoption
  • The project remains free and open-source under Apache-2.0 — nothing changes about that commitment
  • Aligning all crate metadata and the repository LICENSE to Apache-2.0 keeps public distribution terms consistent and makes the licensing posture unambiguous
  • The experiments/ directory is kept UNLICENSED by default so speculative work is clearly separated from the supported open-source surface — anyone looking at the repo can see exactly what is happening and what the boundaries are
  • The goal is to move out of the current ambiguous direction and into proper, well-defined licensing areas
  • Until that transition is fully settled, the intent is that everything shipped remains Apache-2.0
  • AGPL might be considered in the future for certain components, but that is purely hypothetical at this point
  • CI enforcement via enforce-cargo-license prevents future licensing drift across crates

@cursor

cursor Bot commented Jun 12, 2026 •

Copy link
Copy Markdown

PR Summary

Low Risk
Legal and CI metadata only; no application runtime or security logic changes.

Overview
Replaces the root MIT license with Apache-2.0 and aligns every rsworkspace crate’s Cargo.toml with license = "Apache-2.0" (including crates that previously used MIT or had no license field).

Experiments are explicitly UNLICENSED and proprietary by default via new experiments/LICENSE and README wording, separate from the open-source workspace.

Rust CI’s lint job now runs a composite enforce-cargo-license action that fails if any workspace package’s metadata or manifest [package] section does not match the expected SPDX expression (default Apache-2.0). Workflow path filters also trigger on LICENSE and the new action.

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

@coderabbitai

coderabbitai Bot commented Jun 12, 2026 •

Copy link
Copy Markdown

Review Change Stack

Walkthrough

This PR migrates the repository and all Rust crates from MIT to Apache-2.0 licensing. The root LICENSE file is replaced, a CI validation step enforces Apache-2.0 declarations in every crate manifest, the experiments directory is marked proprietary UNLICENSED, and 16 crates are updated to declare Apache-2.0 compliance in their Cargo.toml files.

Changes

Licensing Migration and Compliance

Layer / File(s) Summary
Root license policy and CI validation
LICENSE, .github/workflows/ci-rust.yml
Root LICENSE file replaced from MIT to Apache-2.0. CI workflow now triggers on LICENSE changes and adds an "Enforce crate licenses" step that validates every crate declares license = "Apache-2.0" in its Cargo manifest, exiting with non-zero status on violations.
Proprietary experiments directory exception
experiments/LICENSE, experiments/README.md
Experiments directory marked UNLICENSED and proprietary to Straw Hat, LLC. New LICENSE file and README documentation clarify that experiments are not covered by root Apache-2.0 unless a more specific notice applies within the directory.
Cargo crate license declarations
rsworkspace/crates/acp-nats-*/Cargo.toml, rsworkspace/crates/mcp-nats-*/Cargo.toml, rsworkspace/crates/trogon-*/Cargo.toml, rsworkspace/crates/trogonai-proto/Cargo.toml
All 16 workspace crates updated with license = "Apache-2.0" field in Cargo manifests. Three crates (trogon-decider, trogon-decider-nats, trogon-decider-runtime) migrate from MIT to Apache-2.0; remaining crates add the field for the first time.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • TrogonStack/trogonai#37: Introduces the rsworkspace/crates/acp-nats-stdio/Cargo.toml crate manifest that is updated in this PR.
  • TrogonStack/trogonai#3: Initial setup of the .github/workflows/ci-rust.yml workflow that receives the new license enforcement step in this PR.

Poem

🐰 Hopping through licenses, from MIT to Apache's glow,
Trogon crates now declare their freedom with a gleam,
CI rabbits guard the gate, ensuring all comply,
While experiments nest safely in proprietary dreams. ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore(license): clarify ownership boundaries' directly reflects the main change: updating licenses across the repository and crates, and establishing licensing policies to clarify project ownership.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description is directly related to the changeset, providing clear rationale for transitioning from MIT to Apache-2.0 licensing and explaining the UNLICENSED experiments directory.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/chore-license-rules

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 Jun 12, 2026 •

Copy link
Copy Markdown

badge

Code Coverage Summary

Details
Filename                                                                              Stmts    Miss  Cover    Missing
----------------------------------------------------------------------------------  -------  ------  -------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
crates/trogonai-proto/src/scheduler/schedules/codec.rs                                  248       0  100.00%
crates/trogon-gateway/src/source/discord/gateway.rs                                     426       1  99.77%   137
crates/trogon-gateway/src/source/discord/config.rs                                      105       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/schedule_subject.rs       48       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/recorded_events.rs       565      13  97.70%   194-199, 240, 246, 252, 285, 295, 313, 397, 482, 490, 767, 875
crates/trogon-scheduler/src/processor/execution/reconciliation/go_duration.rs            59       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/request.rs               326       3  99.08%   100, 115, 121
crates/trogon-scheduler/src/processor/execution/reconciliation/reconcile.rs             502       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/schedule_key.rs           67       0  100.00%
crates/mcp-nats/src/nats/subjects/server/ping.rs                                          9       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/get_task.rs                                     12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/progress.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/list_resource_templates.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/list_prompts.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/resource_updated.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/prompt_list_changed.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/elicitation_completed.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/initialize.rs                                   12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/logging_message.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/unsubscribe_resource.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/cancel_task.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/list_tools.rs                                   12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/resource_list_changed.rs                        12       0  100.00%
crates/mcp-nats/src/telemetry/transport.rs                                                6       0  100.00%
crates/trogon-nats/src/nats_token.rs                                                    157       0  100.00%
crates/trogon-nats/src/auth.rs                                                          114       0  100.00%
crates/trogon-nats/src/mocks.rs                                                         314       0  100.00%
crates/trogon-nats/src/connect.rs                                                        82       6  92.68%   41-46
crates/trogon-nats/src/client.rs                                                         22      22  0.00%    50-86
crates/trogon-nats/src/token.rs                                                           6       0  100.00%
crates/trogon-nats/src/subject_token_violation.rs                                        11       0  100.00%
crates/trogon-nats/src/messaging.rs                                                     534       2  99.63%   144, 154
crates/mcp-nats-server/src/allowed_host.rs                                               87       0  100.00%
crates/mcp-nats-server/src/config.rs                                                    257       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/acp-nats/src/jsonrpc.rs                                                            6       0  100.00%
crates/acp-nats/src/session_id.rs                                                        68       0  100.00%
crates/acp-nats/src/config.rs                                                           203       0  100.00%
crates/acp-nats/src/error.rs                                                             82       0  100.00%
crates/acp-nats/src/req_id.rs                                                            39       0  100.00%
crates/acp-nats/src/acp_prefix.rs                                                        46       0  100.00%
crates/acp-nats/src/in_flight_slot_guard.rs                                              32       0  100.00%
crates/acp-nats/src/ext_method_name.rs                                                   65       0  100.00%
crates/acp-nats/src/client_proxy.rs                                                     181       0  100.00%
crates/acp-nats/src/lib.rs                                                               69       0  100.00%
crates/acp-nats/src/pending_prompt_waiters.rs                                           131       0  100.00%
crates/trogon-scheduler/src/processor/execution/checkpoints/failure.rs                   38       0  100.00%
crates/trogon-scheduler/src/processor/execution/checkpoints/store.rs                    407      17  95.82%   102, 120, 124, 132, 224-230, 236, 279-283
crates/trogon-scheduler/src/processor/execution/checkpoints/record.rs                     6       0  100.00%
crates/trogon-scheduler/src/processor/execution/checkpoints/codec.rs                    641      68  89.39%   134, 140, 149, 192, 208-210, 227, 244-246, 415, 417-419, 453-464, 480-481, 486-487, 493-494, 507-508, 513-514, 519-523, 529-530, 545-546, 551-552, 558-559, 566-567, 572-573, 585-589, 595-597, 612-618, 626, 631-633, 643, 648
crates/trogon-std/src/dirs/system.rs                                                     71       0  100.00%
crates/trogon-std/src/dirs/fixed.rs                                                      80       0  100.00%
crates/acp-nats/src/client/terminal_output.rs                                           206       0  100.00%
crates/acp-nats/src/client/terminal_wait_for_exit.rs                                    364       0  100.00%
crates/acp-nats/src/client/ext.rs                                                       296       8  97.30%   146-155, 172-181
crates/acp-nats/src/client/request_permission.rs                                        298       0  100.00%
crates/acp-nats/src/client/terminal_release.rs                                          335       0  100.00%
crates/acp-nats/src/client/rpc_reply.rs                                                  64       0  100.00%
crates/acp-nats/src/client/terminal_kill.rs                                             278       0  100.00%
crates/acp-nats/src/client/fs_read_text_file.rs                                         346       0  100.00%
crates/acp-nats/src/client/fs_write_text_file.rs                                        408       0  100.00%
crates/acp-nats/src/client/mod.rs                                                      2851       0  100.00%
crates/acp-nats/src/client/ext_session_prompt_response.rs                               135       0  100.00%
crates/acp-nats/src/client/terminal_create.rs                                           264       0  100.00%
crates/acp-nats/src/client/session_update.rs                                             55       0  100.00%
crates/trogon-decider-runtime/src/stream/read_stream.rs                                   7       0  100.00%
crates/trogon-decider-runtime/src/stream/stream_position.rs                              26       0  100.00%
crates/trogon-decider-runtime/src/stream/append_stream.rs                                 5       0  100.00%
crates/trogon-decider-runtime/src/stream/mod.rs                                          38       0  100.00%
crates/acp-nats/src/nats/subjects/global/ext.rs                                           9       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/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/initialize.rs                                    6       0  100.00%
crates/acp-nats/src/nats/subjects/global/logout.rs                                        6       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/lease_bucket.rs                                             19       0  100.00%
crates/trogon-nats/src/lease/nats_kv_lease_config.rs                                     26       0  100.00%
crates/trogon-nats/src/lease/mod.rs                                                     523      13  97.51%   113-126
crates/trogon-nats/src/lease/provision.rs                                               187      10  94.65%   82-92
crates/trogon-nats/src/lease/lease_timing.rs                                             15       0  100.00%
crates/trogon-nats/src/lease/acquire.rs                                                   5       5  0.00%    9-14
crates/trogon-nats/src/lease/renew_interval.rs                                           57       0  100.00%
crates/trogon-nats/src/lease/ttl.rs                                                      68       0  100.00%
crates/trogon-nats/src/lease/lease_key.rs                                                19       0  100.00%
crates/trogon-std/src/uuid.rs                                                             7       0  100.00%
crates/trogon-std/src/json.rs                                                            30       0  100.00%
crates/trogon-std/src/duration.rs                                                        42       0  100.00%
crates/trogon-std/src/http.rs                                                            19       0  100.00%
crates/trogon-std/src/signal.rs                                                          26      12  53.85%   6-11, 18-25, 34
crates/trogon-std/src/secret_string.rs                                                   32       0  100.00%
crates/trogon-std/src/args.rs                                                            19       9  52.63%   11-28
crates/trogon-gateway/src/source/gitlab/server.rs                                       460       0  100.00%
crates/trogon-gateway/src/source/gitlab/signature.rs                                    165       0  100.00%
crates/trogon-gateway/src/source/gitlab/gitlab_signing_token.rs                          61       0  100.00%
crates/trogon-decider-runtime/src/headers/mod.rs                                         74       0  100.00%
crates/trogon-decider-runtime/src/headers/header_name.rs                                 28       0  100.00%
crates/trogon-decider-runtime/src/headers/header_map.rs                                  54       3  94.44%   20-22
crates/trogon-decider-runtime/src/headers/header_value.rs                                34       0  100.00%
crates/trogon-scheduler/src/telemetry/metrics.rs                                         52       0  100.00%
crates/trogon-scheduler/src/telemetry/trace.rs                                           41       0  100.00%
crates/acp-nats-agent/src/connection.rs                                                1260       1  99.92%   590
crates/trogon-decider-runtime/src/event/event_id.rs                                      32       0  100.00%
crates/trogon-decider-runtime/src/event/stream_event.rs                                   8       0  100.00%
crates/trogon-decider-runtime/src/event/event_identity.rs                                 3       0  100.00%
crates/trogon-decider-runtime/src/event/mod.rs                                          170       0  100.00%
crates/acp-nats-server/src/transport.rs                                                1915     106  94.46%   253, 512, 530, 557, 611, 616, 635, 647, 766, 789-791, 843, 860-863, 958-961, 1035, 1038, 1041, 1050, 1054, 1057, 1060-1063, 1082, 1114-1117, 1125-1130, 1142-1146, 1150-1159, 1171-1172, 1190-1191, 1201, 1217-1221, 1249-1255, 1275-1277, 1282-1286, 1289-1294, 1311, 1313-1314, 1396-1397, 1409-1410, 1430-1431, 1483-1499, 2204, 2248, 2301, 2357, 2370
crates/acp-nats-server/src/connection.rs                                                182      36  80.22%   95-102, 107-122, 138, 140-141, 146, 155-156, 161, 165, 169, 172, 180, 184, 187, 190-194, 232
crates/acp-nats-server/src/config.rs                                                    126       3  97.62%   41-43
crates/acp-nats-server/src/acp_connection_id.rs                                          37       0  100.00%
crates/acp-nats-server/src/main.rs                                                      896      10  98.88%   100, 231-238, 437
crates/trogon-gateway/src/source/notion/signature.rs                                     45       0  100.00%
crates/trogon-gateway/src/source/notion/notion_verification_token.rs                     17       0  100.00%
crates/trogon-gateway/src/source/notion/verification_token.rs                           220       0  100.00%
crates/trogon-gateway/src/source/notion/server.rs                                       310       4  98.71%   115-116, 135-136
crates/trogon-gateway/src/source/notion/notion_event_type.rs                             46       3  93.48%   50-52
crates/trogon-decider/src/act.rs                                                         62       0  100.00%
crates/trogon-decider/src/lib.rs                                                        138       0  100.00%
crates/trogon-decider/src/decision.rs                                                    27       0  100.00%
crates/trogon-decider/src/events.rs                                                      49       0  100.00%
crates/trogon-decider/src/testing.rs                                                    654       0  100.00%
crates/trogonai-proto/src/convert.rs                                                    120       0  100.00%
crates/trogonai-proto/src/codec.rs                                                       16       0  100.00%
crates/acp-nats/src/jetstream/consumers.rs                                               91       0  100.00%
crates/acp-nats/src/jetstream/ext_policy.rs                                              26       0  100.00%
crates/acp-nats/src/jetstream/streams.rs                                                163       4  97.55%   206-208, 218
crates/acp-nats/src/jetstream/provision.rs                                               52       0  100.00%
crates/trogon-decider-runtime/src/event/codec/event_payload_error.rs                     36       0  100.00%
crates/trogon-decider-runtime/src/event/codec/event_decode.rs                            29       0  100.00%
crates/trogon-decider-runtime/src/execution.rs                                         1432       0  100.00%
crates/acp-nats/src/nats/subjects/commands/resume.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/set_model.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/load.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/fork.rs                                       15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/set_config_option.rs                          15       0  100.00%
crates/trogon-gateway/src/source_plugin.rs                                              269       3  98.88%   82, 141-142
crates/trogon-gateway/src/streams.rs                                                    129       0  100.00%
crates/trogon-gateway/src/source_status.rs                                               24       0  100.00%
crates/trogon-gateway/src/config.rs                                                    2591      42  98.38%   84, 668, 671, 831, 888, 971, 974, 977, 981, 1065-1072, 1149, 1152, 1155, 1160, 1218, 1221, 1224, 1303, 1306, 1309, 1313, 1377, 1380, 1383, 1446, 1449, 1452, 1457, 1532, 1535, 1538, 1543, 1601, 1604, 1607, 1820-1822
crates/trogon-gateway/src/http.rs                                                       145       0  100.00%
crates/trogon-gateway/src/source_integration_id.rs                                       55       2  96.36%   58, 60
crates/trogon-gateway/src/main.rs                                                       111       0  100.00%
crates/trogon-gateway/src/source/standard_webhooks.rs                                   138       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-gateway/src/source/linear/config.rs                                        17       0  100.00%
crates/trogon-scheduler/src/processor/execution/execution_schedules/mod.rs              190       0  100.00%
crates/acp-nats/src/nats/subjects/responses/ext_ready.rs                                 12       0  100.00%
crates/acp-nats/src/nats/subjects/responses/prompt_response.rs                           27       0  100.00%
crates/acp-nats/src/nats/subjects/responses/cancelled.rs                                 15       0  100.00%
crates/acp-nats/src/nats/subjects/responses/update.rs                                    27       0  100.00%
crates/acp-nats/src/nats/subjects/responses/response.rs                                  20       0  100.00%
crates/trogon-std/src/telemetry/http.rs                                                 217       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_session.rs                           12       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_client.rs                            15       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/prompt_wildcard.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_agent.rs                              9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/global_all.rs                             9       0  100.00%
crates/trogon-gateway/src/source/twitter/signature.rs                                    58       0  100.00%
crates/trogon-gateway/src/source/twitter/config.rs                                       17       0  100.00%
crates/trogon-gateway/src/source/twitter/server.rs                                      525       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/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/trogon-decider-runtime/src/snapshot/mod.rs                                         3       0  100.00%
crates/trogon-decider-runtime/src/snapshot/snapshot_type.rs                              73       0  100.00%
crates/trogon-decider-runtime/src/snapshot/read_snapshot.rs                              11       0  100.00%
crates/trogon-service-config/src/lib.rs                                                  92       0  100.00%
crates/mcp-nats/src/nats/subjects/client/initialized.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/create_message.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/roots_list_changed.rs                           12       0  100.00%
crates/mcp-nats/src/nats/subjects/client/progress.rs                                     12       0  100.00%
crates/trogon-std/src/time/mock.rs                                                      125       0  100.00%
crates/trogon-std/src/time/system.rs                                                     31       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/github/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                                     50       0  100.00%
crates/trogon-telemetry/src/log.rs                                                       70       1  98.57%   35
crates/trogon-telemetry/src/trace.rs                                                     23       1  95.65%   24
crates/trogon-telemetry/src/metric.rs                                                    26       1  96.15%   30
crates/trogon-telemetry/src/service_name.rs                                              44       0  100.00%
crates/trogon-telemetry/src/lib.rs                                                      208      24  88.46%   54, 118, 123, 128, 138-139, 145-163, 199, 202, 205, 211
crates/trogon-telemetry/src/resource_attribute.rs                                        23       0  100.00%
crates/acp-nats/src/agent/prompt.rs                                                     471       0  100.00%
crates/acp-nats/src/agent/js_request.rs                                                 283       0  100.00%
crates/acp-nats/src/agent/set_session_model.rs                                           67       0  100.00%
crates/acp-nats/src/agent/mod.rs                                                         65       0  100.00%
crates/acp-nats/src/agent/resume_session.rs                                              90       0  100.00%
crates/acp-nats/src/agent/set_session_mode.rs                                            67       0  100.00%
crates/acp-nats/src/agent/load_session.rs                                                89       0  100.00%
crates/acp-nats/src/agent/ext_notification.rs                                            82       0  100.00%
crates/acp-nats/src/agent/close_session.rs                                               63       0  100.00%
crates/acp-nats/src/agent/bridge.rs                                                     123       4  96.75%   108-111
crates/acp-nats/src/agent/logout.rs                                                      49       0  100.00%
crates/acp-nats/src/agent/fork_session.rs                                                94       0  100.00%
crates/acp-nats/src/agent/authenticate.rs                                                49       0  100.00%
crates/acp-nats/src/agent/cancel.rs                                                     101       0  100.00%
crates/acp-nats/src/agent/initialize.rs                                                  79       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/test_support.rs                                               267       0  100.00%
crates/acp-nats/src/agent/ext_method.rs                                                  82       0  100.00%
crates/acp-nats/src/agent/list_sessions.rs                                               47       0  100.00%
crates/mcp-nats/src/nats/subjects/mod.rs                                                 89       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/mcp-nats-stdio/src/config.rs                                                     149       0  100.00%
crates/mcp-nats-stdio/src/main.rs                                                       204       0  100.00%
crates/trogon-decider-nats/src/store.rs                                                 127      47  62.99%   35-160
crates/trogon-decider-nats/src/snapshot_store.rs                                        861      27  96.86%   208-210, 248-250, 361-367, 449, 585, 590, 686-688, 694-696, 730-731, 741-742, 761, 789-790
crates/trogon-decider-nats/src/stream_store.rs                                          659      18  97.27%   70-72, 245, 273-274, 277, 293-297, 464-465, 506, 519-523
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/trogon-gateway/src/source/incidentio/config.rs                                    16       0  100.00%
crates/trogon-gateway/src/source/incidentio/server.rs                                   343       0  100.00%
crates/trogon-gateway/src/source/incidentio/signature.rs                                206       0  100.00%
crates/trogon-gateway/src/source/incidentio/incidentio_signing_secret.rs                 56       0  100.00%
crates/trogon-gateway/src/source/incidentio/incidentio_event_type.rs                     62       0  100.00%
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/source/telegram/config.rs                                      89       0  100.00%
crates/trogon-gateway/src/source/telegram/signature.rs                                   27       0  100.00%
crates/trogon-gateway/src/source/telegram/server.rs                                     339       0  100.00%
crates/trogon-gateway/src/source/telegram/registration.rs                               313       0  100.00%
crates/trogon-gateway/src/source/slack/config.rs                                         58       0  100.00%
crates/trogon-gateway/src/source/slack/socket_mode.rs                                   716       0  100.00%
crates/trogon-gateway/src/source/slack/signature.rs                                      66       0  100.00%
crates/trogon-gateway/src/source/slack/server.rs                                        854       0  100.00%
crates/acp-nats/src/nats/parsing.rs                                                     278       1  99.64%   151
crates/acp-nats/src/nats/mod.rs                                                          23       0  100.00%
crates/acp-nats/src/nats/extensions.rs                                                    3       0  100.00%
crates/trogon-nats/src/jetstream/traits.rs                                               46      40  13.04%   181-251
crates/trogon-nats/src/jetstream/mocks.rs                                              1686       1  99.94%   505
crates/trogon-nats/src/jetstream/stream_max_age.rs                                       18       0  100.00%
crates/trogon-nats/src/jetstream/claim_check.rs                                         405      10  97.53%   45-47, 116-122
crates/trogon-nats/src/jetstream/create_conflicts.rs                                     24       0  100.00%
crates/trogon-nats/src/jetstream/publish.rs                                              64       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/telemetry/metrics.rs                                                 53       0  100.00%
crates/mcp-nats/src/jsonrpc.rs                                                           22       0  100.00%
crates/mcp-nats/src/mcp_peer_id.rs                                                       31       0  100.00%
crates/mcp-nats/src/client.rs                                                            31       0  100.00%
crates/mcp-nats/src/server.rs                                                            31       0  100.00%
crates/mcp-nats/src/config.rs                                                           110       0  100.00%
crates/mcp-nats/src/mcp_prefix.rs                                                        34       0  100.00%
crates/mcp-nats/src/transport.rs                                                        698       0  100.00%
crates/trogon-nats/src/telemetry/messaging.rs                                            82       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_kill.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_create.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/terminal_wait_for_exit.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/fs_read_text_file.rs                        12       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/session_request_permission.rs               12       0  100.00%
crates/trogon-scheduler/src/processor/execution/worker/consumer.rs                      203       0  100.00%
crates/trogon-scheduler/src/processor/execution/worker/processor.rs                     913      10  98.90%   264, 324, 435-436, 442, 484-487, 579
crates/trogon-scheduler/src/processor/execution/worker/dispatcher.rs                    911      12  98.68%   171-172, 183, 187-188, 578, 917-923
crates/trogon-scheduler/src/processor/execution/worker/testkit.rs                       278       0  100.00%
crates/trogon-gateway/src/source/sentry/signature.rs                                     42       0  100.00%
crates/trogon-gateway/src/source/sentry/sentry_client_secret.rs                          17       0  100.00%
crates/trogon-gateway/src/source/sentry/server.rs                                       308       0  100.00%
crates/mcp-nats/src/nats/parsing.rs                                                     191       0  100.00%
crates/mcp-nats/src/nats/mod.rs                                                          99       0  100.00%
crates/trogon-scheduler/src/commands/resume_schedule.rs                                 165       0  100.00%
crates/trogon-scheduler/src/commands/state.rs                                           188       0  100.00%
crates/trogon-scheduler/src/commands/snapshot.rs                                          4       0  100.00%
crates/trogon-scheduler/src/commands/remove_schedule.rs                                 169       0  100.00%
crates/trogon-scheduler/src/commands/create_schedule.rs                                 182       0  100.00%
crates/trogon-scheduler/src/commands/pause_schedule.rs                                  158       0  100.00%
crates/trogon-scheduler/src/commands/domain/schedule_event_schedule.rs                   83       0  100.00%
crates/trogon-scheduler/src/commands/domain/schedule_event_status.rs                     10       0  100.00%
crates/trogon-scheduler/src/commands/domain/schedule_id.rs                               81       0  100.00%
crates/trogon-scheduler/src/commands/domain/schedule.rs                                 638       0  100.00%
crates/trogon-scheduler/src/commands/domain/message.rs                                  219       0  100.00%
crates/trogon-scheduler/src/commands/domain/schedule_event_delivery.rs                   25       0  100.00%
crates/trogon-scheduler/src/commands/domain/schedule_event_sampling_source.rs            20       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_decode_error.rs                49       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/encoded_snapshot.rs                    117       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_payload_decode.rs               3       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_encode_error.rs                36       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_decode_error.rs       28       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_encode_error.rs       14       0  100.00%
TOTAL                                                                                 47581     790  98.34%

Diff against main

Filename                                                                Stmts    Miss  Cover
--------------------------------------------------------------------  -------  ------  -------
crates/trogon-scheduler/src/processor/execution/worker/dispatcher.rs        0      -2  +0.22%
TOTAL                                                                       0      -2  +0.00%

Results for commit: d48da08

Minimum allowed coverage is 95%

♻️ This comment has been updated with latest results

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci-rust.yml:
- Around line 61-63: The current check uses packageLines.includes(...) which
compares raw text and can false-positive on formatting/comments; instead parse
the manifest TOML and compare the parsed license value to expectedLicense.
Modify the logic around pkg.license, expectedLicense, packageLines and
violations (and use pkg.manifest_path for context) to join the packageLines into
a string, parse it with a TOML parser (or toml.from_str) to extract the
package.license field, and only push a violation when the parsed license value
does not equal expectedLicense; remove the raw includes(...) text check.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7a32d476-6666-4bec-996f-49f0d012079f

📥 Commits

Reviewing files that changed from the base of the PR and between 56c614a and 5ffa477.

📒 Files selected for processing (21)
  • .github/workflows/ci-rust.yml
  • LICENSE
  • experiments/LICENSE
  • experiments/README.md
  • rsworkspace/crates/acp-nats-agent/Cargo.toml
  • rsworkspace/crates/acp-nats-server/Cargo.toml
  • rsworkspace/crates/acp-nats-stdio/Cargo.toml
  • rsworkspace/crates/acp-nats/Cargo.toml
  • rsworkspace/crates/mcp-nats-server/Cargo.toml
  • rsworkspace/crates/mcp-nats-stdio/Cargo.toml
  • rsworkspace/crates/mcp-nats/Cargo.toml
  • rsworkspace/crates/trogon-decider-nats/Cargo.toml
  • rsworkspace/crates/trogon-decider-runtime/Cargo.toml
  • rsworkspace/crates/trogon-decider/Cargo.toml
  • rsworkspace/crates/trogon-gateway/Cargo.toml
  • rsworkspace/crates/trogon-nats/Cargo.toml
  • rsworkspace/crates/trogon-scheduler/Cargo.toml
  • rsworkspace/crates/trogon-service-config/Cargo.toml
  • rsworkspace/crates/trogon-std/Cargo.toml
  • rsworkspace/crates/trogon-telemetry/Cargo.toml
  • rsworkspace/crates/trogonai-proto/Cargo.toml

Comment thread .github/workflows/ci-rust.yml Resolved
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@yordis
yordis force-pushed the yordis/chore-license-rules branch from 5ffa477 to d48da08 Compare June 12, 2026 18:49
@yordis yordis added the rust:coverage-baseline-reset Relax Rust coverage gate to establish a new baseline label Jun 12, 2026
@yordis
yordis merged commit 7bdcf72 into main Jun 12, 2026
10 of 11 checks passed
@yordis
yordis deleted the yordis/chore-license-rules branch June 12, 2026 21:08
yordis added a commit that referenced this pull request Jun 18, 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