Skip to content

feat(decider): make the platform production-ready beyond its first consumer#486

Merged
yordis merged 24 commits into
mainfrom
yordis/decider-platform-improvements
Jul 17, 2026
Merged

feat(decider): make the platform production-ready beyond its first consumer#486
yordis merged 24 commits into
mainfrom
yordis/decider-platform-improvements

Conversation

@yordis

@yordis yordis commented Jul 17, 2026

Copy link
Copy Markdown
Member
  • A verified audit confirmed the decider platform pays O(whole-stream) replay I/O, runs blind (four log lines of telemetry total), cannot recover from a bad snapshot, and forces every consumer to re-build read-side plumbing the scheduler already hand-rolled once; those costs compound with each new decider-based service, so they are closed now, before more consumers land.
  • Capability questions that need owner sign-off rather than platform defaults (authorization, multi-tenancy, admission control, retention) are recorded as draft ADRs instead of code.
  • The per-variant wire error-code hook is dropped because freezing wire contract values is an owner decision, and an unused hook invites accidental contracts.
  • Review feedback is folded in: workflow files and mise config stay declarative with scripts behind mise tasks, and conformance suites stay human-readable.

yordis added 20 commits July 16, 2026 02:32
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
… and retention directions

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…d-trips assertable in TestCase

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…g contract review

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…drain pending snapshot writes

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…transient broker failures

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…nd a hardened host sandbox

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…s, and enforce strict conformance

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…essing primitives

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…cenario definition

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

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…cumented API surface

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…sed status

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

cursor Bot commented Jul 17, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches WASM guest wire errors, CI release paths, and new JetStream consumer semantics; draft ADRs are documentation-only but signal upcoming breaking runtime APIs.

Overview
Hardens the decider platform for more consumers: CI and local builds move inline shell out of GitHub workflows into mise tasks (build all wasm-components/* to dist/decider/, wasm validation, decider-test suites, release binaries, canary image helpers), and .mise.toml replaces single-crate artifacts:schedules-wasm with artifacts:wasm-components.

Conformance and guest bridge: trogon-decider-test becomes a library with registry-driven YAML codecs ({ utf8: ... } for bytes), multi-step scenarios, declared event coverage (strict by default), and schedules fixtures aligned to current proto JSON. The guest bridge routes Decision::Act through evaluate_decision, maps rejections to wire code rejected, and adds domain-error.details for cause chains; export_decider! resolves WIT via trogon_decider_wit::WIT_DIR.

NATS adapter: Adds reusable Projector (checkpointed catch-up) and Processor (durable pull consumer with redelivery/poison), plus provision helpers; runtime crates wire OpenTelemetry via new otel/semconv/registry/decider.yaml.

Docs: New docs/architecture/decider.md, VitePress nav link, and draft ADRs #26#29 (authorization, tenancy, admission, retention)—documented as not yet implemented.

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

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 123 files, which is 23 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52599401-19d4-4243-8ef9-9680fbaf72ef

📥 Commits

Reviewing files that changed from the base of the PR and between a4d41a5 and 179150b.

⛔ Files ignored due to path filters (4)
  • rsworkspace/Cargo.lock is excluded by !**/*.lock
  • rsworkspace/crates/trogon-semconv/src/gen/attribute.rs is excluded by !**/gen/**
  • rsworkspace/crates/trogon-semconv/src/gen/metric.rs is excluded by !**/gen/**
  • rsworkspace/crates/trogon-semconv/src/gen/span.rs is excluded by !**/gen/**
📒 Files selected for processing (125)
  • .config/mise/tasks/artifacts/wasm-components
  • .config/mise/tasks/github-actions/build-release-binary
  • .config/mise/tasks/github-actions/decider-test-suites
  • .config/mise/tasks/github-actions/dylint-tests
  • .config/mise/tasks/github-actions/image-audit-summary
  • .config/mise/tasks/github-actions/package-release-binary
  • .config/mise/tasks/github-actions/release-upload
  • .config/mise/tasks/github-actions/resolve-image
  • .config/mise/tasks/github-actions/wasm-validate
  • .github/workflows/canary-container-images.yml
  • .github/workflows/ci-rust.yml
  • .github/workflows/release-artifacts.yml
  • .mise.toml
  • docs/.vitepress/config.mts
  • docs/adr/0026-command-authorization-principal.md
  • docs/adr/0027-decider-multi-tenancy-primitive.md
  • docs/adr/0028-decider-admission-control-and-backpressure.md
  • docs/adr/0029-decider-retention-and-truncation-watermark.md
  • docs/adr/index.md
  • docs/architecture/decider.md
  • otel/semconv/registry/decider.yaml
  • rsworkspace/Cargo.toml
  • rsworkspace/cli/trogon-decider-test/Cargo.toml
  • rsworkspace/cli/trogon-decider-test/schedules.yaml
  • rsworkspace/cli/trogon-decider-test/src/codec.rs
  • rsworkspace/cli/trogon-decider-test/src/codec/tests.rs
  • rsworkspace/cli/trogon-decider-test/src/lib.rs
  • rsworkspace/cli/trogon-decider-test/src/main.rs
  • rsworkspace/cli/trogon-decider-test/src/suite.rs
  • rsworkspace/cli/trogon-decider-test/src/suite/tests.rs
  • rsworkspace/cli/trogon-decider-test/src/tests.rs
  • rsworkspace/crates/trogon-decider-guest-macros/Cargo.toml
  • rsworkspace/crates/trogon-decider-guest-macros/README.md
  • rsworkspace/crates/trogon-decider-guest-macros/src/lib.rs
  • rsworkspace/crates/trogon-decider-guest-macros/tests/compile_fail.rs
  • rsworkspace/crates/trogon-decider-guest-sdk/Cargo.toml
  • rsworkspace/crates/trogon-decider-guest-sdk/README.md
  • rsworkspace/crates/trogon-decider-guest-sdk/src/bridge.rs
  • rsworkspace/crates/trogon-decider-guest-sdk/src/bridge/tests.rs
  • rsworkspace/crates/trogon-decider-guest-sdk/src/lib.rs
  • rsworkspace/crates/trogon-decider-guest-sdk/src/snapshot.rs
  • rsworkspace/crates/trogon-decider-nats/Cargo.toml
  • rsworkspace/crates/trogon-decider-nats/README.md
  • rsworkspace/crates/trogon-decider-nats/src/lib.rs
  • rsworkspace/crates/trogon-decider-nats/src/processor.rs
  • rsworkspace/crates/trogon-decider-nats/src/processor/tests.rs
  • rsworkspace/crates/trogon-decider-nats/src/projector.rs
  • rsworkspace/crates/trogon-decider-nats/src/projector/tests.rs
  • rsworkspace/crates/trogon-decider-nats/src/provision.rs
  • rsworkspace/crates/trogon-decider-nats/src/provision/tests.rs
  • rsworkspace/crates/trogon-decider-nats/src/snapshot_store.rs
  • rsworkspace/crates/trogon-decider-nats/src/store.rs
  • rsworkspace/crates/trogon-decider-nats/src/stream_store.rs
  • rsworkspace/crates/trogon-decider-nats/src/stream_store/replay.rs
  • rsworkspace/crates/trogon-decider-nats/src/stream_store/replay/tests.rs
  • rsworkspace/crates/trogon-decider-nats/src/stream_store/tests.rs
  • rsworkspace/crates/trogon-decider-runtime/Cargo.toml
  • rsworkspace/crates/trogon-decider-runtime/README.md
  • rsworkspace/crates/trogon-decider-runtime/src/event/codec/event_decode/tests.rs
  • rsworkspace/crates/trogon-decider-runtime/src/event/codec/event_payload_error/tests.rs
  • rsworkspace/crates/trogon-decider-runtime/src/event/mod.rs
  • rsworkspace/crates/trogon-decider-runtime/src/execution.rs
  • rsworkspace/crates/trogon-decider-runtime/src/execution/tests.rs
  • rsworkspace/crates/trogon-decider-runtime/src/headers/from_entries_error.rs
  • rsworkspace/crates/trogon-decider-runtime/src/lib.rs
  • rsworkspace/crates/trogon-decider-runtime/src/memory.rs
  • rsworkspace/crates/trogon-decider-runtime/src/memory/tests.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/codec/encoded_snapshot.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/codec/snapshot_decode_error.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/codec/snapshot_encode_error.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_decode_error.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_encode_error.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/codec/snapshot_payload_decode.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/codec/snapshot_payload_encode.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/mod.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/read_snapshot.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/snapshot_type.rs
  • rsworkspace/crates/trogon-decider-runtime/src/snapshot/write_snapshot.rs
  • rsworkspace/crates/trogon-decider-runtime/src/stream/read_stream.rs
  • rsworkspace/crates/trogon-decider-sim/Cargo.toml
  • rsworkspace/crates/trogon-decider-sim/README.md
  • rsworkspace/crates/trogon-decider-sim/src/fixture.rs
  • rsworkspace/crates/trogon-decider-sim/src/host.rs
  • rsworkspace/crates/trogon-decider-sim/src/import_check.rs
  • rsworkspace/crates/trogon-decider-sim/src/ir.rs
  • rsworkspace/crates/trogon-decider-sim/src/ir/tests.rs
  • rsworkspace/crates/trogon-decider-sim/src/lib.rs
  • rsworkspace/crates/trogon-decider-sim/src/native.rs
  • rsworkspace/crates/trogon-decider-sim/src/native/tests.rs
  • rsworkspace/crates/trogon-decider-sim/src/parity.rs
  • rsworkspace/crates/trogon-decider-sim/src/parity/tests.rs
  • rsworkspace/crates/trogon-decider-sim/src/scenario.rs
  • rsworkspace/crates/trogon-decider-sim/src/session.rs
  • rsworkspace/crates/trogon-decider-sim/tests/parity.rs
  • rsworkspace/crates/trogon-decider-sim/tests/schedules.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/Cargo.toml
  • rsworkspace/crates/trogon-decider-wasm-runtime/README.md
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/domain_error_detail.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/domain_error_detail/tests.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/engine.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/engine/tests.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/execution.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/execution/tests.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/lib.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/module.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/registry.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/registry/tests.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/src/test_doubles.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/tests/schedules_execution.rs
  • rsworkspace/crates/trogon-decider-wasm-runtime/tests/support/mod.rs
  • rsworkspace/crates/trogon-decider-wit/Cargo.toml
  • rsworkspace/crates/trogon-decider-wit/README.md
  • rsworkspace/crates/trogon-decider-wit/src/lib.rs
  • rsworkspace/crates/trogon-decider-wit/wit/world.wit
  • rsworkspace/crates/trogon-decider/Cargo.toml
  • rsworkspace/crates/trogon-decider/README.md
  • rsworkspace/crates/trogon-decider/src/event/codec/event_payload_error.rs
  • rsworkspace/crates/trogon-decider/src/lib.rs
  • rsworkspace/crates/trogon-decider/src/testing.rs
  • rsworkspace/crates/trogon-decider/src/testing/codec.rs
  • rsworkspace/crates/trogon-decider/src/testing/codec/tests.rs
  • rsworkspace/crates/trogon-decider/src/testing/tests.rs
  • rsworkspace/crates/trogon-decider/src/tests.rs
  • rsworkspace/crates/trogon-decider/tests/trybuild.rs
  • rsworkspace/crates/trogon-decider/tests/ui/fail/after_then.stderr

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Review on demand using usage pricing
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/decider-platform-improvements

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.

@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 using default effort 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 3518d32. Configure here.

Comment thread rsworkspace/crates/trogon-decider-wasm-runtime/src/execution.rs
yordis added 4 commits July 17, 2026 14:57
…rm-improvements

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

# Conflicts:
#	docs/adr/index.md
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown

badge

Code Coverage Summary

Details
Filename                                                                                  Stmts    Miss  Cover    Missing
--------------------------------------------------------------------------------------  -------  ------  -------  ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
crates/trogon-aauth-as/src/test_support.rs                                                  122       0  100.00%
crates/trogon-aauth-as/src/mint.rs                                                           56       0  100.00%
crates/trogon-aauth-as/src/pending.rs                                                        26       0  100.00%
crates/trogon-aauth-as/src/policy.rs                                                         38       0  100.00%
crates/trogon-aauth-as/src/server.rs                                                        139       0  100.00%
crates/trogon-aauth-as/src/http.rs                                                           82       0  100.00%
crates/trogon-aauth-as/src/trust.rs                                                          60       0  100.00%
crates/trogon-aauth-as/src/subagent.rs                                                       10       0  100.00%
crates/trogon-aauth-as/src/verify.rs                                                         96       0  100.00%
crates/trogon-gateway/src/source/datadog/datadog_webhook_token.rs                             9       0  100.00%
crates/trogon-gateway/src/source/datadog/signature.rs                                         7       0  100.00%
crates/trogon-gateway/src/source/datadog/datadog_event_type.rs                               20       0  100.00%
crates/trogon-gateway/src/source/datadog/server.rs                                          108       0  100.00%
crates/trogon-std/src/telemetry/http.rs                                                      58       0  100.00%
crates/a2a-gateway/src/aauth.rs                                                             285       0  100.00%
crates/a2a-gateway/src/audit_ingress.rs                                                     110       0  100.00%
crates/a2a-gateway/src/gw_ingress_stream.rs                                                 144       4  97.22%   319-321, 536
crates/a2a-gateway/src/config.rs                                                             57       0  100.00%
crates/a2a-gateway/src/push_dlq_mirror.rs                                                   133      16  87.97%   162-166, 218, 223-226, 236, 261, 382-389
crates/a2a-gateway/src/agent_card_surface.rs                                                  3       0  100.00%
crates/a2a-gateway/src/main.rs                                                                1       0  100.00%
crates/a2a-gateway/src/gw_pull_backpressure.rs                                              209       3  98.56%   504, 704, 717
crates/a2a-gateway/src/lib.rs                                                                 3       0  100.00%
crates/a2a-gateway/src/runtime.rs                                                            11       0  100.00%
crates/a2a-gateway/src/jwt_caller_identity.rs                                               151       4  97.35%   165-169, 182-186
crates/trogon-decider-wit/src/lib.rs                                                         53       1  98.11%   40
crates/acp-nats-stdio/src/config.rs                                                          15       0  100.00%
crates/acp-nats-stdio/src/main.rs                                                            56       8  85.71%   69, 112-119, 131
crates/a2a-auth-callout/src/wire/nkey_public.rs                                              83       3  96.39%   102, 118-119
crates/a2a-auth-callout/src/wire/bridge_adapter.rs                                           73       0  100.00%
crates/a2a-auth-callout/src/wire/wire_codec.rs                                               58       0  100.00%
crates/a2a-auth-callout/src/wire/server_auth_request_envelope.rs                             68       1  98.53%   64
crates/a2a-auth-callout/src/wire/test_encode.rs                                              59       0  100.00%
crates/a2a-auth-callout/src/wire/nkey_seed.rs                                                20       0  100.00%
crates/a2a-auth-callout/src/wire/server_auth_request_claims.rs                              100       4  96.00%   24-26, 127
crates/a2a-auth-callout/src/wire/callout_auth_response_claims.rs                             54       3  94.44%   70-72
crates/a2a-auth-callout/src/wire/xkey_public.rs                                              23       0  100.00%
crates/trogon-identity-types/src/act_chain.rs                                                13       0  100.00%
crates/mcp-nats/src/telemetry/transport.rs                                                    6       0  100.00%
crates/trogon-nats/src/telemetry/messaging.rs                                                37       0  100.00%
crates/trogon-decider-runtime/src/headers/header_map.rs                                      54       0  100.00%
crates/trogon-decider-runtime/src/headers/header_name.rs                                     28       0  100.00%
crates/trogon-decider-runtime/src/headers/header_value.rs                                    34       0  100.00%
crates/a2a-auth-callout/src/jwt/mod.rs                                                      232       0  100.00%
crates/a2a-auth-callout/src/jwt/nats_permission_claims.rs                                    10       0  100.00%
crates/a2a-auth-callout/src/jwt/user_jwt_subject.rs                                          12       0  100.00%
crates/a2a-auth-callout/src/jwt/nats_user_jwt.rs                                            187       1  99.47%   131
crates/trogon-decider-runtime/src/memory.rs                                                 104       5  95.19%   77-82
crates/trogon-decider-runtime/src/execution.rs                                              596       3  99.50%   74, 188-189
crates/trogon-decider-runtime/src/stream/append_stream.rs                                     5       0  100.00%
crates/trogon-decider-runtime/src/stream/stream_position.rs                                  26       0  100.00%
crates/trogon-decider-runtime/src/stream/read_stream.rs                                       7       0  100.00%
crates/trogon-gateway/src/http.rs                                                            13       0  100.00%
crates/trogon-gateway/src/source_integration_id.rs                                           28       2  92.86%   58, 60
crates/trogon-gateway/src/streams.rs                                                          7       0  100.00%
crates/trogon-gateway/src/source_plugin.rs                                                  288       3  98.96%   83, 140-141
crates/trogon-gateway/src/source_status.rs                                                   12       0  100.00%
crates/trogon-gateway/src/main.rs                                                            26       0  100.00%
crates/trogon-gateway/src/config.rs                                                        1172      32  97.27%   82, 689, 856, 1003, 1006, 1015, 1101-1108, 1186, 1189, 1198, 1257, 1260, 1344, 1347, 1356, 1421, 1424, 1501, 1504, 1513, 1589, 1592, 1606, 1665, 1668, 1978-1980
crates/acp-nats/src/nats/subjects/commands/set_config_option.rs                              15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/resume.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/cancel.rs                                         15       0  100.00%
crates/acp-nats/src/nats/subjects/commands/delete.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/prompt.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/fork.rs                                           15       0  100.00%
crates/trogon-gateway/src/source/microsoft_graph/server.rs                                   73       0  100.00%
crates/trogon-gateway/src/source/microsoft_graph/client_state.rs                             14       0  100.00%
crates/trogon-gateway/src/source/slack/socket_mode.rs                                       139       0  100.00%
crates/trogon-gateway/src/source/slack/config.rs                                             32       0  100.00%
crates/trogon-gateway/src/source/slack/signature.rs                                          17       0  100.00%
crates/trogon-gateway/src/source/slack/server.rs                                            272       0  100.00%
crates/a2a-nats-http/src/handlers/mod.rs                                                    185      12  93.51%   68, 88-91, 121, 155, 169-172, 185
crates/a2a-bridge/src/auth/callout_mint.rs                                                   49       1  97.96%   94
crates/a2a-nats-server/src/noop_handler.rs                                                   22       0  100.00%
crates/a2a-nats-server/src/runtime.rs                                                        17       0  100.00%
crates/a2a-nats-server/src/main.rs                                                            1       0  100.00%
crates/a2a-nats/src/nats/subjects/stream.rs                                                  50       0  100.00%
crates/ard-registry/src/bin/ard-registry-demo/main.rs                                        64      20  68.75%   13-35
crates/a2a-nats/src/push/caller_id.rs                                                        41       0  100.00%
crates/a2a-nats/src/push/dlq.rs                                                              56       0  100.00%
crates/a2a-nats/src/push/push_delivery_semantics_registry.rs                                 17       0  100.00%
crates/a2a-nats/src/push/push_payload.rs                                                     18       0  100.00%
crates/a2a-nats/src/push/idempotency_key_header.rs                                           16       0  100.00%
crates/a2a-nats/src/push/delivery_semantics.rs                                               98       0  100.00%
crates/a2a-nats/src/push/dispatch_error.rs                                                   24       0  100.00%
crates/a2a-nats/src/push/push_notification_config_id.rs                                      17       0  100.00%
crates/a2a-nats/src/push/dlq_dedup.rs                                                        51       1  98.04%   79
crates/a2a-nats/src/push/authentication_header.rs                                            31       0  100.00%
crates/a2a-nats/src/push/status_transition_id.rs                                             15       0  100.00%
crates/a2a-nats/src/push/push_notification_config.rs                                          6       0  100.00%
crates/a2a-nats/src/push/terminal_push_task_state.rs                                         17       0  100.00%
crates/a2a-nats/src/push/push_notification_target.rs                                         32       0  100.00%
crates/a2a-nats/src/push/push_idempotency_key.rs                                             43       0  100.00%
crates/a2a-nats/src/push/nats_push_subject.rs                                                12       0  100.00%
crates/a2a-nats/src/push/target.rs                                                           19       0  100.00%
crates/acp-nats/src/acp_prefix.rs                                                            13       0  100.00%
crates/acp-nats/src/client_proxy.rs                                                          67       1  98.51%   57
crates/acp-nats/src/client_handler.rs                                                        22       0  100.00%
crates/acp-nats/src/agent_handler.rs                                                         28       0  100.00%
crates/acp-nats/src/ext_method_name.rs                                                       18       0  100.00%
crates/acp-nats/src/in_flight_slot_guard.rs                                                   7       0  100.00%
crates/acp-nats/src/lib.rs                                                                   11       0  100.00%
crates/acp-nats/src/pending_prompt_waiters.rs                                                68       0  100.00%
crates/acp-nats/src/session_id.rs                                                            21       0  100.00%
crates/acp-nats/src/wire.rs                                                                  80      14  82.50%   38, 46-60, 103
crates/acp-nats/src/req_id.rs                                                                21       0  100.00%
crates/acp-nats/src/config.rs                                                                84       0  100.00%
crates/acp-nats/src/error.rs                                                                 31       0  100.00%
crates/jsonrpc-nats/src/transport.rs                                                         92       1  98.91%   106
crates/jsonrpc-nats/src/id.rs                                                                62      20  67.74%   44-61, 81-82, 84-85, 91-92, 98-99, 112
crates/jsonrpc-nats/src/message.rs                                                           11       3  72.73%   37-39
crates/a2a-nats-stdio/src/main.rs                                                             1       0  100.00%
crates/a2a-nats-stdio/src/runtime.rs                                                         21       0  100.00%
crates/a2a-nats-stdio/src/wire.rs                                                            22       0  100.00%
crates/a2a-nats-stdio/src/dispatch.rs                                                       212       8  96.23%   121, 124-126, 234, 237-239
crates/a2a-nats-stdio/src/io_loop.rs                                                         49       0  100.00%
crates/trogon-gateway/src/source/linear/config.rs                                             9       0  100.00%
crates/trogon-gateway/src/source/linear/server.rs                                            83       0  100.00%
crates/trogon-gateway/src/source/linear/signature.rs                                          8       1  87.50%   16
crates/trogon-nats/src/mocks.rs                                                             224       0  100.00%
crates/trogon-nats/src/server_info.rs                                                        21       3  85.71%   19-21
crates/trogon-nats/src/connect.rs                                                            26       6  76.92%   42-47
crates/trogon-nats/src/auth.rs                                                               45       0  100.00%
crates/trogon-nats/src/token.rs                                                               6       0  100.00%
crates/trogon-nats/src/messaging.rs                                                         168       2  98.81%   146, 156
crates/trogon-nats/src/nats_token.rs                                                         56       0  100.00%
crates/trogon-nats/src/client.rs                                                             22      22  0.00%    50-86
crates/acp-nats/src/nats/subjects/global/session_new.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/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/providers_disable.rs                                 6       0  100.00%
crates/acp-nats/src/nats/subjects/global/providers_set.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/authenticate.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/providers_list.rs                                    6       0  100.00%
crates/acp-nats/src/nats/subjects/client_ops/elicitation_create.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/fs_read_text_file.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_write_text_file.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/elicitation_complete.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/session_request_permission.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_output.rs                              12       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/cancelled.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/progress.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/create_message.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/initialized.rs                                      12       0  100.00%
crates/trogon-scheduler/src/commands/schedule_next_occurrence.rs                             74       0  100.00%
crates/trogon-scheduler/src/commands/record_schedule_occurrence.rs                          113       1  99.12%   182
crates/a2a-auth-callout/src/credentials/api_key.rs                                           46       1  97.83%   33
crates/a2a-auth-callout/src/credentials/mtls.rs                                             153      13  91.50%   71-72, 168-169, 209-213, 216-219
crates/a2a-auth-callout/src/credentials/oidc.rs                                             188       4  97.87%   212-215
crates/trogon-decider-wasm-runtime/src/engine.rs                                            145       0  100.00%
crates/trogon-decider-wasm-runtime/src/test_doubles.rs                                       73       5  93.15%   64, 85-87, 90
crates/trogon-decider-wasm-runtime/src/registry.rs                                           94       0  100.00%
crates/trogon-decider-wasm-runtime/src/command_type.rs                                       31       0  100.00%
crates/trogon-decider-wasm-runtime/src/test_fixture.rs                                        7       0  100.00%
crates/trogon-decider-wasm-runtime/src/command_spec.rs                                       12       0  100.00%
crates/trogon-decider-wasm-runtime/src/opaque_snapshot.rs                                    18       0  100.00%
crates/trogon-decider-wasm-runtime/src/execution.rs                                         671      45  93.29%   117-125, 133-139, 450, 544, 552, 561, 719, 766-770, 818-822, 861-865, 924, 929-933, 992-996
crates/trogon-decider-wasm-runtime/src/module.rs                                             71       0  100.00%
crates/trogon-decider-wasm-runtime/src/module_version.rs                                     34       0  100.00%
crates/trogon-decider-wasm-runtime/src/domain_error_detail.rs                                 7       0  100.00%
crates/trogon-decider-wasm-runtime/src/module_name.rs                                        34       0  100.00%
crates/trogon-decider-wasm-runtime/src/snapshot_id.rs                                        15       0  100.00%
crates/trogon-decider-runtime/src/snapshot/snapshot_type.rs                                  42       0  100.00%
crates/trogon-decider-runtime/src/snapshot/mod.rs                                             3       0  100.00%
crates/trogon-decider-runtime/src/snapshot/read_snapshot.rs                                   3       0  100.00%
crates/trogon-scheduler/src/queries/read_model/message.rs                                    77       0  100.00%
crates/trogon-scheduler/src/queries/read_model/schedule.rs                                   15       0  100.00%
crates/trogon-decider/src/event/codec/event_payload_error.rs                                  5       0  100.00%
crates/trogon-decider/src/event/codec/event_decode.rs                                        13       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/go_duration.rs                40       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/rrule_wakeup_payload.rs       35       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/request.rs                   230       2  99.13%   285, 290
crates/trogon-scheduler/src/processor/execution/reconciliation/reconcile.rs                 303      13  95.71%   251-260, 325-327
crates/trogon-scheduler/src/processor/execution/reconciliation/schedule_subject.rs           31       0  100.00%
crates/trogon-scheduler/src/processor/execution/reconciliation/recorded_events.rs           241      12  95.02%   200-205, 242, 250, 271, 291, 297, 303, 336, 346, 364, 448
crates/trogon-scheduler/src/processor/execution/reconciliation/schedule_key.rs               27       0  100.00%
crates/acp-nats/src/client/terminal_release.rs                                               35       0  100.00%
crates/acp-nats/src/client/fs_write_text_file.rs                                             43       0  100.00%
crates/acp-nats/src/client/session_update.rs                                                  8       0  100.00%
crates/acp-nats/src/client/rpc_reply.rs                                                     107      43  59.81%   45-47, 61-63, 80-120
crates/acp-nats/src/client/terminal_output.rs                                                29       0  100.00%
crates/acp-nats/src/client/terminal_kill.rs                                                  41       0  100.00%
crates/acp-nats/src/client/ext_session_prompt_response.rs                                    22       0  100.00%
crates/acp-nats/src/client/ext.rs                                                            62       0  100.00%
crates/acp-nats/src/client/request_permission.rs                                             40       0  100.00%
crates/acp-nats/src/client/fs_read_text_file.rs                                              27       0  100.00%
crates/acp-nats/src/client/terminal_create.rs                                                41       0  100.00%
crates/acp-nats/src/client/mod.rs                                                           101       1  99.01%   60
crates/acp-nats/src/client/test_support.rs                                                   17       0  100.00%
crates/acp-nats/src/client/elicitation_create.rs                                             41       0  100.00%
crates/acp-nats/src/client/terminal_wait_for_exit.rs                                         55       0  100.00%
crates/acp-nats/src/client/elicitation_complete.rs                                            8       0  100.00%
crates/a2a-auth-callout/src/signing_key_source/file.rs                                       38       6  84.21%   40-42, 61-63
crates/a2a-auth-callout/src/signing_key_source/minting_material.rs                           18       0  100.00%
crates/a2a-auth-callout/src/signing_key_source/signing_key_handle.rs                         15       0  100.00%
crates/a2a-auth-callout/src/signing_key_source/env.rs                                        40       0  100.00%
crates/a2a-auth-callout/src/signing_key_source/key_version.rs                                16       0  100.00%
crates/a2a-auth-callout/src/signing_key_source/loader.rs                                     23       0  100.00%
crates/a2a-auth-callout/src/signing_key_source/static_source.rs                              25       0  100.00%
crates/a2a-auth-callout/src/signing_key_source/vault.rs                                       3       0  100.00%
crates/a2a-redaction/src/wasm_bundle_path.rs                                                 18       0  100.00%
crates/a2a-redaction/src/tier3_sentinel.rs                                                   12       0  100.00%
crates/a2a-redaction/src/skill_manifest.rs                                                  310      14  95.48%   139, 169-171, 177, 184-188, 358-360, 452
crates/a2a-redaction/src/a2a_method.rs                                                       41       0  100.00%
crates/a2a-redaction/src/redactor.rs                                                         32       0  100.00%
crates/a2a-redaction/src/skill_id.rs                                                         26       0  100.00%
crates/trogon-std/src/time/system.rs                                                          9       0  100.00%
crates/trogon-std/src/time/mock.rs                                                           32       0  100.00%
crates/trogon-decider-guest-macros/src/lib.rs                                               136      28  79.41%   14-19, 29-40, 116-119, 437-446, 450
crates/acp-nats/src/telemetry/metrics.rs                                                     22       0  100.00%
crates/trogon-scheduler-domain/src/commands/pause_schedule.rs                                31       0  100.00%
crates/trogon-scheduler-domain/src/commands/resume_schedule.rs                               34       0  100.00%
crates/trogon-scheduler-domain/src/commands/remove_schedule.rs                               30       0  100.00%
crates/trogon-scheduler-domain/src/commands/create_schedule.rs                               32       0  100.00%
crates/trogon-scheduler-domain/src/commands/state.rs                                         82       0  100.00%
crates/trogon-scheduler-domain/src/commands/proto_wire.rs                                   138       1  99.28%   231
crates/a2a-auth-callout/src/main.rs                                                           1       1  0.00%    226
crates/a2a-auth-callout/src/permissions.rs                                                   85       0  100.00%
crates/a2a-auth-callout/src/subscriber.rs                                                    96      96  0.00%    27-178
crates/a2a-auth-callout/src/caller_jwt_header.rs                                             20       0  100.00%
crates/a2a-auth-callout/src/test_support.rs                                                  20      20  0.00%    16-36
crates/a2a-auth-callout/src/denial_claims.rs                                                 68       0  100.00%
crates/a2a-auth-callout/src/error.rs                                                          3       0  100.00%
crates/a2a-auth-callout/src/denial_category.rs                                               29       0  100.00%
crates/a2a-auth-callout/src/account_resolver.rs                                              31       0  100.00%
crates/a2a-auth-callout/src/denial_reason.rs                                                 15       0  100.00%
crates/a2a-auth-callout/src/dispatcher.rs                                                    34      13  61.76%   83-112
crates/trogon-gateway/src/source/incidentio/incidentio_signing_secret.rs                     22       0  100.00%
crates/trogon-gateway/src/source/incidentio/signature.rs                                      8       0  100.00%
crates/trogon-gateway/src/source/incidentio/server.rs                                        72       0  100.00%
crates/trogon-gateway/src/source/incidentio/incidentio_event_type.rs                         20       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-gateway/src/source/notion/notion_event_type.rs                                 20       0  100.00%
crates/trogon-gateway/src/source/notion/server.rs                                           120       4  96.67%   116-117, 136-137
crates/trogon-gateway/src/source/notion/notion_verification_token.rs                          9       0  100.00%
crates/trogon-gateway/src/source/notion/verification_token.rs                                46       0  100.00%
crates/trogon-gateway/src/source/notion/signature.rs                                          9       0  100.00%
crates/acp-nats/src/agent/resume_session.rs                                                  16       0  100.00%
crates/acp-nats/src/agent/cancel.rs                                                          12       0  100.00%
crates/acp-nats/src/agent/test_support.rs                                                   194       0  100.00%
crates/acp-nats/src/agent/fork_session.rs                                                    16       0  100.00%
crates/acp-nats/src/agent/ext_notification.rs                                                12       0  100.00%
crates/acp-nats/src/agent/load_session.rs                                                    16       0  100.00%
crates/acp-nats/src/agent/delete_session.rs                                                  16       0  100.00%
crates/acp-nats/src/agent/providers_disable.rs                                                5       0  100.00%
crates/acp-nats/src/agent/initialize.rs                                                       6       0  100.00%
crates/acp-nats/src/agent/providers_list.rs                                                   5       0  100.00%
crates/acp-nats/src/agent/close_session.rs                                                   16       0  100.00%
crates/acp-nats/src/agent/list_sessions.rs                                                    5       0  100.00%
crates/acp-nats/src/agent/set_session_config_option.rs                                       16       0  100.00%
crates/acp-nats/src/agent/logout.rs                                                           5       0  100.00%
crates/acp-nats/src/agent/js_request.rs                                                      73       6  91.78%   84-89
crates/acp-nats/src/agent/ext_method.rs                                                      12       0  100.00%
crates/acp-nats/src/agent/prompt.rs                                                         156       7  95.51%   202-208
crates/acp-nats/src/agent/providers_set.rs                                                    5       0  100.00%
crates/acp-nats/src/agent/new_session.rs                                                      5       0  100.00%
crates/acp-nats/src/agent/rpc_call.rs                                                        23       0  100.00%
crates/acp-nats/src/agent/set_session_mode.rs                                                16       0  100.00%
crates/acp-nats/src/agent/authenticate.rs                                                     5       0  100.00%
crates/acp-nats/src/agent/bridge.rs                                                         138       4  97.10%   119-122
crates/trogon-scheduler/src/commands/domain/schedule_occurrence_sequence.rs                  16       0  100.00%
crates/trogon-scheduler/src/commands/domain/recurrence.rs                                    78       1  98.72%   99
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/mcp-nats-server/src/config.rs                                                         58       0  100.00%
crates/mcp-nats-server/src/main.rs                                                            1       1  0.00%    67
crates/mcp-nats-server/src/runtime.rs                                                       268      86  67.91%   146-164, 200-202, 220-221, 232, 265-269, 273-282, 311-319, 324-359, 385-396
crates/mcp-nats-server/src/allowed_host.rs                                                   52       0  100.00%
crates/trogon-gateway/src/source/discord/gateway.rs                                         116       1  99.14%   137
crates/trogon-gateway/src/source/discord/config.rs                                           45       0  100.00%
crates/trogon-decider-sim/src/host.rs                                                        69       0  100.00%
crates/trogon-decider-sim/src/parity.rs                                                      33       6  81.82%   69-71, 73-75
crates/trogon-decider-sim/src/native.rs                                                      73       4  94.52%   202-205
crates/trogon-decider-sim/src/import_check.rs                                                52       4  92.31%   81-83, 103
crates/trogon-decider-sim/src/scenario.rs                                                   176      12  93.18%   293-295, 307-315, 445
crates/trogon-decider-sim/src/ir.rs                                                          99      13  86.87%   173-175, 197-199, 211-213, 232-235
crates/trogon-decider-sim/src/session.rs                                                     23       4  82.61%   47-55
crates/trogon-decider-sim/src/fixture.rs                                                     18       2  88.89%   33-35
crates/trogon-nats/src/lease/provision.rs                                                    83      10  87.95%   82-92
crates/trogon-nats/src/lease/lease_bucket.rs                                                 19       0  100.00%
crates/trogon-nats/src/lease/acquire.rs                                                       5       5  0.00%    9-14
crates/trogon-nats/src/lease/mod.rs                                                         107      13  87.85%   113-126
crates/trogon-nats/src/lease/release.rs                                                       5       5  0.00%    8-12
crates/trogon-nats/src/lease/renew.rs                                                        82      19  76.83%   23-29, 48-59
crates/trogon-nats/src/lease/lease_key.rs                                                    19       0  100.00%
crates/trogon-nats/src/lease/renew_interval.rs                                               25       0  100.00%
crates/trogon-nats/src/lease/ttl.rs                                                          27       0  100.00%
crates/trogon-nats/src/lease/lease_timing.rs                                                 15       0  100.00%
crates/trogon-nats/src/lease/nats_kv_lease_config.rs                                         26       0  100.00%
crates/trogon-scheduler/src/nats.rs                                                          11       0  100.00%
crates/trogon-scheduler/src/mocks.rs                                                        401      51  87.28%   79, 119-122, 271, 288-291, 333-335, 349-353, 362, 406-410, 462-463, 467, 485-489, 506-509, 552-572
crates/trogon-scheduler/src/error.rs                                                         83      12  85.54%   131-133, 152-154, 159-161, 176-180
crates/trogon-scheduler/src/config.rs                                                        27       0  100.00%
crates/trogon-scheduler/src/projections/schedules/storage.rs                                  3       0  100.00%
crates/trogon-scheduler/src/projections/schedules/mod.rs                                    175       3  98.29%   708-710
crates/trogon-scheduler/src/projections/schedules/twin.rs                                    53       0  100.00%
crates/jsonrpc-nats/src/codec/encode.rs                                                      31       0  100.00%
crates/jsonrpc-nats/src/codec/decode.rs                                                      57       0  100.00%
crates/jsonrpc-nats/src/codec/reconstruct.rs                                                 90       5  94.44%   56-59, 91
crates/trogon-aauth-sdk/src/lib.rs                                                            3       0  100.00%
crates/trogon-aauth-sdk/src/capabilities.rs                                                   7       0  100.00%
crates/trogon-aauth-sdk/src/verify_response.rs                                               70       0  100.00%
crates/trogon-aauth-sdk/src/signer.rs                                                        91       0  100.00%
crates/trogon-aauth-sdk/src/subagent.rs                                                      34       0  100.00%
crates/trogon-aauth-sdk/src/delegation.rs                                                    15       0  100.00%
crates/a2a-pack/src/resource_tuples.rs                                                      152       0  100.00%
crates/a2a-pack/src/agent_card_schema.rs                                                     40       0  100.00%
crates/a2a-pack/src/agent_card_read.rs                                                       23       0  100.00%
crates/trogon-decider-nats/src/processor.rs                                                 109      17  84.40%   85-88, 217-220, 268-270, 277, 280-282, 308-310
crates/trogon-decider-nats/src/provision.rs                                                 100      22  78.00%   159, 164-172, 192, 197-208, 221
crates/trogon-decider-nats/src/snapshot_store.rs                                            467      48  89.72%   34-72, 260-262, 300-303, 414-420, 502, 638, 643, 739-741, 747-749, 783-784, 794-795, 814, 842-843
crates/trogon-decider-nats/src/store.rs                                                      73      45  38.36%   100-104, 151-217
crates/trogon-decider-nats/src/projector.rs                                                  80       3  96.25%   56-58
crates/trogon-decider-nats/src/stream_store.rs                                              228      18  92.11%   70-72, 262, 290-291, 294, 310-314, 429-430, 471, 484-488
crates/trogon-gateway/src/source/gitlab/gitlab_signing_token.rs                              30       0  100.00%
crates/trogon-gateway/src/source/gitlab/signature.rs                                         13       0  100.00%
crates/trogon-gateway/src/source/gitlab/server.rs                                            78       0  100.00%
crates/trogon-scheduler/src/processor/execution/checkpoints/record.rs                         6       0  100.00%
crates/trogon-scheduler/src/processor/execution/checkpoints/store.rs                        145      16  88.97%   103, 121, 125, 132, 224-230, 279-283
crates/trogon-scheduler/src/processor/execution/checkpoints/codec.rs                        318      17  94.65%   340-341, 361-362, 373-377, 405-406, 412-413, 442-443, 480, 485-487
crates/trogon-scheduler/src/processor/execution/checkpoints/failure.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/ext_ready.rs                                     12       0  100.00%
crates/acp-nats/src/nats/subjects/responses/response.rs                                      20       0  100.00%
crates/acp-nats/src/nats/subjects/responses/prompt_response.rs                               20       0  100.00%
crates/acp-nats/src/nats/subjects/responses/update.rs                                        20       0  100.00%
crates/trogon-gateway/src/source/sentry/sentry_client_secret.rs                               9       0  100.00%
crates/trogon-gateway/src/source/sentry/server.rs                                            69       0  100.00%
crates/trogon-gateway/src/source/sentry/signature.rs                                          6       0  100.00%
crates/trogon-std/src/env/enumerate_env.rs                                                    6       0  100.00%
crates/trogon-std/src/env/system.rs                                                          12       0  100.00%
crates/trogon-std/src/env/read_env.rs                                                         3       0  100.00%
crates/trogon-std/src/env/in_memory.rs                                                       30       0  100.00%
crates/trogon-aauth-sdk/src/exchange/core.rs                                                138       0  100.00%
crates/trogon-aauth-sdk/src/exchange/challenge.rs                                            50       0  100.00%
crates/trogon-aauth-sdk/src/exchange/client.rs                                              283       0  100.00%
crates/trogon-aauth-sdk/src/exchange/mod.rs                                                  17       0  100.00%
crates/mcp-nats/src/nats/subjects/server/progress.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/ping.rs                                              9       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/tool_list_changed.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/resource_updated.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_resource_templates.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/cancelled.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/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/get_task_result.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_resources.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/complete.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/get_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/set_logging_level.rs                                12       0  100.00%
crates/mcp-nats/src/nats/subjects/server/list_tasks.rs                                       12       0  100.00%
crates/a2a-nats/src/server/wire.rs                                                           34       4  88.24%   21-23, 30
crates/a2a-nats/src/server/handler.rs                                                        39       0  100.00%
crates/a2a-nats/src/server/message_stream.rs                                                 56       6  89.29%   155-157, 165-167
crates/a2a-nats/src/server/push_set.rs                                                       12       0  100.00%
crates/a2a-nats/src/server/message_send.rs                                                   15       0  100.00%
crates/a2a-nats/src/server/bridge.rs                                                         65       0  100.00%
crates/a2a-nats/src/server/push_list.rs                                                      12       0  100.00%
crates/a2a-nats/src/server/tasks_get.rs                                                      12       0  100.00%
crates/a2a-nats/src/server/tasks_list.rs                                                     12       0  100.00%
crates/a2a-nats/src/server/agent_card.rs                                                     16       0  100.00%
crates/a2a-nats/src/server/tasks_cancel.rs                                                   12       0  100.00%
crates/a2a-nats/src/server/dispatch.rs                                                       33       0  100.00%
crates/a2a-nats/src/server/push_delete.rs                                                    12       0  100.00%
crates/a2a-nats/src/server/tasks_resubscribe.rs                                              12       0  100.00%
crates/a2a-nats/src/server/push_get.rs                                                       12       0  100.00%
crates/a2a-nats/src/server/test_support.rs                                                   81      25  69.14%   134-159
crates/trogon-aauth-verify/src/test_support.rs                                               86       0  100.00%
crates/trogon-aauth-verify/src/token.rs                                                     184       1  99.46%   181
crates/trogon-aauth-verify/src/upstream.rs                                                   20       0  100.00%
crates/trogon-aauth-verify/src/time_source.rs                                                10       0  100.00%
crates/trogon-aauth-verify/src/http_pop.rs                                                  268       0  100.00%
crates/trogon-aauth-verify/src/jwks.rs                                                       15       0  100.00%
crates/trogon-aauth-verify/src/mission.rs                                                    33       0  100.00%
crates/trogon-aauth-verify/src/delegation.rs                                                 53       0  100.00%
crates/trogon-aauth-verify/src/jkt.rs                                                        33       0  100.00%
crates/trogon-aauth-verify/src/jwks_cache.rs                                                 39       0  100.00%
crates/trogon-aauth-verify/src/nats_pop.rs                                                  125       1  99.20%   337
crates/trogon-aauth-verify/src/replay.rs                                                     26       0  100.00%
crates/trogon-aauth-verify/src/jwks_http.rs                                                 144       0  100.00%
crates/trogon-aauth-verify/src/challenge.rs                                                  77       0  100.00%
crates/a2a-nats/src/jetstream/stream_options.rs                                              50       0  100.00%
crates/a2a-nats/src/jetstream/consumers.rs                                                   50       0  100.00%
crates/a2a-nats/src/jetstream/provision.rs                                                   16       0  100.00%
crates/a2a-nats/src/jetstream/streams.rs                                                      9       0  100.00%
crates/a2a-gateway/src/policy/tier2_cel/bundle.rs                                           120      26  78.33%   70-72, 74-76, 86, 92, 111-113, 123-127, 158, 162-164, 166-168, 171, 178, 181
crates/a2a-gateway/src/policy/tier2_cel/compiler.rs                                          25       3  88.00%   61-63
crates/a2a-gateway/src/policy/tier2_cel/evaluator.rs                                        138       0  100.00%
crates/a2a-redaction/src/signed_bundle/digest.rs                                             26       0  100.00%
crates/a2a-redaction/src/signed_bundle/signature.rs                                          30       3  90.00%   37-39
crates/a2a-redaction/src/signed_bundle/manifest.rs                                           56       1  98.21%   83
crates/a2a-redaction/src/signed_bundle/verify.rs                                             64       2  96.88%   90-91
crates/a2a-redaction/src/signed_bundle/public_key.rs                                         36       2  94.44%   44-45
crates/a2a-bridge/src/auth.rs                                                                47      15  68.09%   78-99, 148
crates/a2a-bridge/src/main.rs                                                                 1       1  0.00%    199
crates/a2a-bridge/src/identity.rs                                                            63       0  100.00%
crates/a2a-bridge/src/inbound.rs                                                            326      91  72.09%   115-119, 142-144, 191-231, 292-417, 469-471, 482, 580, 631-646, 687-692
crates/a2a-bridge/src/outbound.rs                                                            70       7  90.00%   126, 197-209
crates/a2a-bridge/src/nats_transport_harness.rs                                              42       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/card.rs                                             12       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/message_stream.rs                                   15       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/message_send.rs                                     15       0  100.00%
crates/a2a-nats-http/src/rest.rs                                                            316       8  97.47%   123-126, 282-285
crates/a2a-nats-http/src/headers.rs                                                         129       1  99.22%   159
crates/a2a-nats-http/src/runtime.rs                                                           8       8  0.00%    60-130
crates/a2a-nats-http/src/sse.rs                                                              44      27  38.64%   15-51, 61-62, 65-68
crates/a2a-nats-http/src/router.rs                                                           55      13  76.36%   60-63, 69-79
crates/a2a-nats-http/src/main.rs                                                              1       0  100.00%
crates/trogon-gateway/src/source/github/server.rs                                            50       0  100.00%
crates/trogon-gateway/src/source/github/config.rs                                             9       0  100.00%
crates/trogon-gateway/src/source/github/signature.rs                                          9       0  100.00%
crates/trogon-service-config/src/lib.rs                                                      38       0  100.00%
crates/a2a-identity-types/src/principal.rs                                                   16       0  100.00%
crates/a2a-identity-types/src/caller.rs                                                      24       0  100.00%
crates/a2a-identity-types/src/jwt.rs                                                         71       0  100.00%
crates/trogon-scheduler/src/processor/execution/worker/consumer.rs                           77       0  100.00%
crates/trogon-scheduler/src/processor/execution/worker/testkit.rs                           311       4  98.71%   458, 489-490, 495
crates/trogon-scheduler/src/processor/execution/worker/dispatcher.rs                        280       1  99.64%   200
crates/trogon-scheduler/src/processor/execution/worker/processor.rs                         303      12  96.04%   279, 339, 437-438, 444, 499-501, 533-536
crates/a2a-nats/src/catalog/import_gate/spicedb/client.rs                                    29      15  48.28%   43-69, 97-99, 108-117
crates/a2a-nats/src/catalog/import_gate/spicedb/cache.rs                                     36       0  100.00%
crates/a2a-nats/src/catalog/import_gate/spicedb/config.rs                                    70       0  100.00%
crates/a2a-nats/src/catalog/import_gate/spicedb/mod.rs                                      108       0  100.00%
crates/a2a-redaction/src/bin/sign-bundle.rs                                                   1       1  0.00%    163
crates/trogon-decider-runtime/src/snapshot/codec/encoded_snapshot.rs                         44       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_decode_error.rs            6       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_decode_error.rs                    19       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_encode_error.rs                    16       0  100.00%
crates/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_encode_error.rs            3       0  100.00%
crates/trogon-gateway/src/source/twitter/server.rs                                          144       0  100.00%
crates/trogon-gateway/src/source/twitter/signature.rs                                        16       0  100.00%
crates/trogon-gateway/src/source/twitter/config.rs                                            9       0  100.00%
crates/trogon-std/src/fs/mem.rs                                                              85       0  100.00%
crates/trogon-std/src/fs/system.rs                                                           15       0  100.00%
crates/a2a-nats/src/nats/subjects/tasks/events.rs                                            17       0  100.00%
crates/trogon-scheduler/src/queries/decode.rs                                                95       0  100.00%
crates/trogon-scheduler/src/queries/get_schedule.rs                                           3       0  100.00%
crates/trogon-scheduler/src/queries/schedule_id.rs                                           28       0  100.00%
crates/trogon-gateway/src/source/telegram/registration.rs                                    82       0  100.00%
crates/trogon-gateway/src/source/telegram/server.rs                                          53       0  100.00%
crates/trogon-gateway/src/source/telegram/signature.rs                                        7       0  100.00%
crates/trogon-gateway/src/source/telegram/config.rs                                          42       0  100.00%
crates/ard-catalog/src/catalog_manifest_wire.rs                                               3       0  100.00%
crates/ard-catalog/src/url_or_data.rs                                                        20       0  100.00%
crates/ard-catalog/src/catalog_host.rs                                                       26       0  100.00%
crates/ard-catalog/src/metadata.rs                                                           14       0  100.00%
crates/ard-catalog/src/ard_identifier.rs                                                     54       0  100.00%
crates/ard-catalog/src/catalog_entry.rs                                                     107       0  100.00%
crates/ard-catalog/src/catalog_host_wire.rs                                                   6       0  100.00%
crates/ard-catalog/src/catalog_manifest_schema.rs                                            65       4  93.85%   109-110, 112-113
crates/ard-catalog/src/display_name.rs                                                       13       0  100.00%
crates/ard-catalog/src/media_type.rs                                                         20       0  100.00%
crates/ard-catalog/src/catalog_entry_wire.rs                                                  3       0  100.00%
crates/ard-catalog/src/catalog_manifest.rs                                                   44       0  100.00%
crates/ard-catalog/src/representative_queries.rs                                             18       0  100.00%
crates/ard-catalog/src/registry_error_wire.rs                                                 8       0  100.00%
crates/ard-catalog/src/trust_manifest.rs                                                     45       1  97.78%   35
crates/ard-catalog/src/federation_mode.rs                                                     3       0  100.00%
crates/ard-catalog/src/ard_storage_key.rs                                                    10       0  100.00%
crates/acp-nats/src/nats/jsonrpc.rs                                                          51      11  78.43%   46, 54-55, 57-63, 81-83
crates/acp-nats/src/nats/parsing.rs                                                         123       0  100.00%
crates/acp-nats/src/nats/extensions.rs                                                        3       0  100.00%
crates/acp-nats/src/nats/mod.rs                                                              61      13  78.69%   22-33, 75
crates/acp-nats/src/jetstream/provision.rs                                                   13       0  100.00%
crates/acp-nats/src/jetstream/consumers.rs                                                   41       0  100.00%
crates/acp-nats/src/jetstream/ext_policy.rs                                                   3       0  100.00%
crates/acp-nats/src/jetstream/streams.rs                                                     18       0  100.00%
crates/trogon-nats/src/jetstream/stream_max_age.rs                                            8       0  100.00%
crates/trogon-nats/src/jetstream/traits.rs                                                   46      34  26.09%   181-239
crates/trogon-nats/src/jetstream/publish.rs                                                  30       0  100.00%
crates/trogon-nats/src/jetstream/mocks.rs                                                   941       1  99.89%   507
crates/trogon-nats/src/jetstream/claim_check.rs                                             104       3  97.12%   46-48
crates/trogon-nats/src/jetstream/create_conflicts.rs                                         14       0  100.00%
crates/trogonai-proto/src/codec.rs                                                           16       0  100.00%
crates/trogonai-proto/src/convert.rs                                                         53       0  100.00%
crates/trogonai-proto/src/lib.rs                                                             18       0  100.00%
crates/trogon-telemetry/src/metric.rs                                                        18       1  94.44%   30
crates/trogon-telemetry/src/lib.rs                                                          135      23  82.96%   119, 124, 129, 139-140, 146-164, 200, 203, 206, 212
crates/trogon-telemetry/src/log.rs                                                           36       0  100.00%
crates/trogon-telemetry/src/resource_attribute.rs                                            13       0  100.00%
crates/trogon-telemetry/src/service_name.rs                                                  17       0  100.00%
crates/trogon-telemetry/src/trace.rs                                                         15       1  93.33%   24
crates/acp-nats/src/nats/subjects/subscriptions/all_client.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_agent_ext.rs                              9       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/one_client.rs                                15       0  100.00%
crates/acp-nats/src/nats/subjects/subscriptions/global_all.rs                                 9       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_session.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/one_session.rs                               12       0  100.00%
crates/a2a-nats/src/a2a_prefix.rs                                                            16       0  100.00%
crates/a2a-nats/src/req_id.rs                                                                21       0  100.00%
crates/a2a-nats/src/config.rs                                                               114       0  100.00%
crates/a2a-nats/src/context_id.rs                                                            22       0  100.00%
crates/a2a-nats/src/agent_id.rs                                                              21       0  100.00%
crates/a2a-nats/src/gateway_ingress.rs                                                      153      21  86.27%   165-168, 172, 186, 194-200, 233, 248-254
crates/a2a-nats/src/task_id.rs                                                               22       0  100.00%
crates/a2a-nats/src/wire.rs                                                                  59       2  96.61%   85, 98
crates/a2a-nats/src/jsonrpc.rs                                                               27       0  100.00%
crates/acp-nats-agent/src/connection.rs                                                     482       1  99.79%   726
crates/a2a-nats/src/catalog/import_gate/allow_all.rs                                          2       0  100.00%
crates/a2a-nats/src/catalog/import_gate/principal.rs                                          9       0  100.00%
crates/a2a-gateway/src/policy/spicedb_tier1.rs                                              157      13  91.72%   226-228, 381, 451, 453-461
crates/a2a-gateway/src/policy/per_skill.rs                                                   87       0  100.00%
crates/a2a-gateway/src/policy/error.rs                                                       16       0  100.00%
crates/a2a-gateway/src/policy/wasmtime_substrate.rs                                          31       0  100.00%
crates/a2a-nats/src/push/dispatcher/nats.rs                                                  37       0  100.00%
crates/a2a-nats/src/push/dispatcher/composite.rs                                             15       0  100.00%
crates/a2a-nats/src/push/dispatcher/mod.rs                                                   16       0  100.00%
crates/a2a-nats/src/push/dispatcher/http.rs                                                  19       0  100.00%
crates/a2a-nats/src/push/dispatcher/jetstream.rs                                             45       0  100.00%
crates/acp-nats/src/nats/subjects/stream.rs                                                  56       0  100.00%
crates/trogon-scheduler/src/processor/execution/checkpoints/codec/twin.rs                    96       0  100.00%
crates/a2a-nats/src/audit/emitter.rs                                                         58       0  100.00%
crates/a2a-nats/src/audit/task_lifecycle.rs                                                  17       0  100.00%
crates/a2a-nats/src/audit/envelope.rs                                                        57       0  100.00%
crates/trogon-identity-types/src/aauth/mod.rs                                                69       0  100.00%
crates/trogon-identity-types/src/aauth/error.rs                                              14       0  100.00%
crates/trogon-identity-types/src/aauth/person_server.rs                                      23       0  100.00%
crates/trogon-identity-types/src/aauth/headers.rs                                            47       0  100.00%
crates/trogon-identity-types/src/aauth/login.rs                                              78       0  100.00%
crates/trogon-identity-types/src/aauth/mission.rs                                            33       0  100.00%
crates/mcp-nats/src/nats/mod.rs                                                              23       0  100.00%
crates/mcp-nats/src/nats/parsing.rs                                                          98       0  100.00%
crates/trogon-scheduler/src/processor/execution/execution_schedules/mod.rs                   82       0  100.00%
crates/ard-nats/src/memory_catalog_store.rs                                                  32       0  100.00%
crates/ard-nats/src/catalog_index.rs                                                         82       2  97.56%   37, 104
crates/ard-nats/src/catalog_subject.rs                                                       14       3  78.57%   19-21
crates/ard-nats/src/store.rs                                                                  3       0  100.00%
crates/ard-nats/src/catalog_event.rs                                                         71       0  100.00%
crates/a2a-redaction/src/wasm/engine.rs                                                      62      11  82.26%   46-48, 80-81, 93-95, 99-101
crates/a2a-redaction/src/wasm/mod.rs                                                        110       9  91.82%   132-134, 147-149, 162-164
crates/trogon-decider/src/decision.rs                                                        27       0  100.00%
crates/trogon-decider/src/act.rs                                                             62       0  100.00%
crates/trogon-decider/src/testing.rs                                                        282       0  100.00%
crates/trogon-decider/src/events.rs                                                          49       0  100.00%
crates/trogon-aauth-person/src/pending.rs                                                    73       0  100.00%
crates/trogon-aauth-person/src/interaction.rs                                                 2       0  100.00%
crates/trogon-aauth-person/src/login.rs                                                       3       0  100.00%
crates/trogon-aauth-person/src/mint.rs                                                       59       0  100.00%
crates/trogon-aauth-person/src/mission.rs                                                    65       0  100.00%
crates/trogon-aauth-person/src/error.rs                                                      48       0  100.00%
crates/trogon-aauth-person/src/store.rs                                                      21       0  100.00%
crates/trogon-aauth-person/src/agent.rs                                                      84       0  100.00%
crates/trogon-aauth-person/src/server.rs                                                    353       0  100.00%
crates/trogon-aauth-person/src/subagent.rs                                                   10       0  100.00%
crates/trogon-scheduler-domain/src/commands/domain/schedule.rs                              383       5  98.69%   326, 334, 349-351
crates/trogon-scheduler-domain/src/commands/domain/schedule_event_sampling_source.rs         11       0  100.00%
crates/trogon-scheduler-domain/src/commands/domain/schedule_event_schedule.rs                35       0  100.00%
crates/trogon-scheduler-domain/src/commands/domain/message.rs                               139       0  100.00%
crates/trogon-scheduler-domain/src/commands/domain/schedule_event_status.rs                   6       0  100.00%
crates/trogon-scheduler-domain/src/commands/domain/schedule_id.rs                            37       0  100.00%
crates/trogon-scheduler-domain/src/commands/domain/schedule_event_delivery.rs                14       0  100.00%
crates/trogon-aauth-person/src/http/mod.rs                                                  213       0  100.00%
crates/trogon-scheduler-domain/src/subject.rs                                                26       0  100.00%
crates/trogonai-proto/src/scheduler/schedules/codec.rs                                       57       0  100.00%
crates/acp-nats/src/boundary/connect_agent_boundary.rs                                      101       0  100.00%
crates/acp-nats/src/boundary/abort_on_drop.rs                                                16       0  100.00%
crates/acp-nats/src/boundary/eof_signal_reader.rs                                            20       0  100.00%
crates/acp-nats/src/boundary/connection_client.rs                                            29       0  100.00%
crates/a2a-nats/src/client/handle.rs                                                        218       0  100.00%
crates/a2a-nats/src/client/resubscribe.rs                                                    28       0  100.00%
crates/a2a-nats/src/client/wire.rs                                                           13       0  100.00%
crates/a2a-nats/src/client/unary.rs                                                          39       1  97.44%   57
crates/a2a-nats/src/client/event_stream.rs                                                   76       0  100.00%
crates/a2a-nats/src/client/gateway_headers.rs                                                19       0  100.00%
crates/a2a-nats/src/client/streaming.rs                                                      73       0  100.00%
crates/a2a-nats/src/client/error.rs                                                          14       0  100.00%
crates/trogon-decider-nats/src/stream_store/replay.rs                                       135      10  92.59%   115, 143, 161, 217-225
crates/trogon-scheduler/src/telemetry/metrics.rs                                             27       0  100.00%
crates/trogon-scheduler/src/telemetry/trace.rs                                               20       0  100.00%
crates/trogon-decider/src/testing/codec.rs                                                   14       0  100.00%
crates/a2a-gateway/src/runtime/reply.rs                                                       5       0  100.00%
crates/a2a-gateway/src/runtime/tier1_denial.rs                                               34       1  97.06%   60
crates/a2a-gateway/src/runtime/audit_publish.rs                                              16       0  100.00%
crates/a2a-gateway/src/runtime/policy_stack.rs                                               78      31  60.26%   84, 91, 103-112, 119-120, 135-145, 154-170, 175
crates/a2a-gateway/src/runtime/streaming.rs                                                  35       0  100.00%
crates/a2a-gateway/src/runtime/aauth_env.rs                                                 162       0  100.00%
crates/a2a-gateway/src/runtime/tier1.rs                                                      30       0  100.00%
crates/a2a-gateway/src/runtime/env.rs                                                        55       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/push/list.rs                                        15       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/push/get.rs                                         12       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/push/set.rs                                         12       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/push/delete.rs                                      15       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/tasks/cancel.rs                                     15       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/tasks/resubscribe.rs                                15       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/tasks/list.rs                                       15       0  100.00%
crates/a2a-nats/src/nats/subjects/agents/tasks/get.rs                                        15       0  100.00%
crates/a2a-nats/src/nats/subjects/subscriptions/task_all_events.rs                            9       0  100.00%
crates/a2a-nats/src/nats/subjects/subscriptions/task_one_events.rs                           12       0  100.00%
crates/a2a-nats/src/nats/subjects/subscriptions/agent_all.rs                                 12       0  100.00%
crates/trogon-scheduler/src/processor/execution/wakeup.rs                                    91       1  98.90%   127
crates/trogon-std/src/http.rs                                                                 8       0  100.00%
crates/trogon-std/src/json.rs                                                                23       0  100.00%
crates/trogon-std/src/args.rs                                                                12       9  25.00%   11-28
crates/trogon-std/src/signal.rs                                                              22      12  45.45%   6-11, 18-25, 34
crates/trogon-std/src/secret_string.rs                                                       13       0  100.00%
crates/trogon-std/src/duration.rs                                                            15       0  100.00%
crates/trogon-std/src/uuid.rs                                                                 3       0  100.00%
crates/mcp-nats-stdio/src/config.rs                                                          26       0  100.00%
crates/mcp-nats-stdio/src/main.rs                                                            36       0  100.00%
crates/acp-nats-server/src/main.rs                                                           68       1  98.53%   109
crates/acp-nats-server/src/transport.rs                                                    1018     101  90.08%   245, 293-295, 530, 548, 575, 629, 634, 654, 673, 716-729, 818, 841-843, 895, 912-915, 1011-1014, 1082, 1085, 1088, 1097, 1101, 1104, 1107-1110, 1139, 1172-1175, 1183-1188, 1200-1204, 1208-1217, 1229-1230, 1248-1249, 1259, 1275-1279, 1307-1313, 1333-1335, 1340-1344, 1357, 1368, 1450-1451, 1463-1464, 1484-1485
crates/acp-nats-server/src/acp_connection_id.rs                                              14       0  100.00%
crates/acp-nats-server/src/config.rs                                                         39       0  100.00%
crates/acp-nats-server/src/connection.rs                                                    102      22  78.43%   83-90, 102, 113-115, 124-125, 130, 134, 138, 141, 149, 153, 156, 159-163
crates/a2a-nats/src/catalog/store.rs                                                        117       0  100.00%
crates/a2a-nats/src/catalog/registrar.rs                                                     56       0  100.00%
crates/a2a-nats/src/catalog/nats_kv.rs                                                        8       0  100.00%
crates/a2a-nats/src/catalog/spicedb_permission.rs                                           178      17  90.45%   151-156, 175, 340-344, 373-374, 385-387, 394-396
crates/a2a-nats/src/catalog/watch.rs                                                         18       0  100.00%
crates/a2a-nats/src/catalog/agent_view.rs                                                    47       0  100.00%
crates/trogon-jwks-publisher/src/provider.rs                                                118       0  100.00%
crates/trogon-jwks-publisher/src/publisher.rs                                                92       0  100.00%
crates/trogon-std/src/dirs/system.rs                                                         39       0  100.00%
crates/trogon-std/src/dirs/fixed.rs                                                          32       0  100.00%
crates/trogon-gateway/src/source/standard_webhooks.rs                                       138       0  100.00%
crates/ard-registry/src/lexical_rank.rs                                                      55       2  96.36%   15, 64
crates/ard-registry/src/list_agents_request.rs                                               21       0  100.00%
crates/ard-registry/src/router.rs                                                            33       0  100.00%
crates/ard-registry/src/search_filters.rs                                                    28       0  100.00%
crates/ard-registry/src/search_request.rs                                                    32       1  96.88%   43
crates/ard-registry/src/filters.rs                                                           31       0  100.00%
crates/ard-registry/src/registry_config.rs                                                   16       0  100.00%
crates/ard-registry/src/source_url.rs                                                        26       1  96.15%   30
crates/ard-registry/src/http_error.rs                                                        17       0  100.00%
crates/ard-registry/src/facet_field.rs                                                       13       0  100.00%
crates/ard-registry/src/extract.rs                                                           12       0  100.00%
crates/ard-registry/src/explore_request.rs                                                   30       0  100.00%
crates/ard-registry/src/page_token.rs                                                        14       0  100.00%
crates/ard-registry/src/registry.rs                                                         134       3  97.76%   78, 174, 183
crates/a2a-gateway/src/policy/tier1_declarative/bundle.rs                                    57       0  100.00%
crates/a2a-gateway/src/policy/tier1_declarative/time_predicate.rs                           118       2  98.31%   103, 125
crates/a2a-gateway/src/policy/tier1_declarative/loader.rs                                    85       9  89.41%   95-97, 99-101, 126-128
crates/a2a-gateway/src/policy/tier1_declarative/evaluator.rs                                158      13  91.77%   24-26, 147, 196-198, 268-272, 295
crates/mcp-nats/src/wire.rs                                                                  18       0  100.00%
crates/mcp-nats/src/client.rs                                                                12       0  100.00%
crates/mcp-nats/src/mcp_peer_id.rs                                                           15       0  100.00%
crates/mcp-nats/src/config.rs                                                                59       0  100.00%
crates/mcp-nats/src/transport.rs                                                            263      10  96.20%   244, 256-258, 376-379, 388-389
crates/mcp-nats/src/jsonrpc.rs                                                                5       0  100.00%
crates/mcp-nats/src/server.rs                                                                12       0  100.00%
crates/mcp-nats/src/mcp_prefix.rs                                                            15       0  100.00%
crates/a2a-gateway/src/policy/tier3_redaction/manifest.rs                                    69       3  95.65%   112, 121, 132
crates/a2a-gateway/src/policy/tier3_redaction/gate.rs                                         3       0  100.00%
crates/a2a-gateway/src/policy/tier3_redaction/rewrite.rs                                     49       0  100.00%
crates/a2a-gateway/src/policy/tier3_redaction/context.rs                                     40       0  100.00%
crates/a2a-gateway/src/policy/tier3_redaction/real_gate.rs                                  138      33  76.09%   18-26, 42-44, 67, 76-80, 119, 148-152, 155-159, 170-174, 192, 265
crates/a2a-gateway/src/policy/tier3_redaction/decision.rs                                    22       0  100.00%
crates/a2a-gateway/src/policy/tier3_redaction/json_path.rs                                   84       5  94.05%   37, 49, 85, 104, 115
crates/a2a-gateway/src/policy/tier3_redaction/mod.rs                                         33       2  93.94%   54, 58
crates/a2a-gateway/src/policy/tier2/rule_name.rs                                             19       0  100.00%
crates/a2a-gateway/src/policy/tier2/mod.rs                                                   46       0  100.00%
TOTAL                                                                                     38719    1718  95.56%

Diff against main

Filename                                                         Stmts    Miss  Cover
-------------------------------------------------------------  -------  ------  --------
crates/trogon-decider-runtime/src/memory.rs                       +104      +5  +95.19%
crates/trogon-decider-runtime/src/execution.rs                    +217      +3  -0.50%
crates/trogon-decider-wasm-runtime/src/engine.rs                  +102       0  +100.00%
crates/trogon-decider-wasm-runtime/src/test_doubles.rs             +73      +5  +93.15%
crates/trogon-decider-wasm-runtime/src/registry.rs                 +66       0  +100.00%
crates/trogon-decider-wasm-runtime/src/execution.rs               +308     +45  -6.71%
crates/trogon-decider-wasm-runtime/src/module.rs                    +7       0  +100.00%
crates/trogon-decider-wasm-runtime/src/domain_error_detail.rs       +1       0  +100.00%
crates/trogon-decider-guest-macros/src/lib.rs                      +15     +12  -7.37%
crates/trogon-decider-sim/src/host.rs                              +34       0  +100.00%
crates/trogon-decider-sim/src/parity.rs                            +33      +6  +81.82%
crates/trogon-decider-sim/src/native.rs                            +73      +4  +94.52%
crates/trogon-decider-sim/src/scenario.rs                          +34      +8  -4.00%
crates/trogon-decider-sim/src/ir.rs                                +99     +13  +86.87%
crates/trogon-decider-sim/src/session.rs                            +8      +4  -17.39%
crates/trogon-decider-nats/src/processor.rs                       +109     +17  +84.40%
crates/trogon-decider-nats/src/provision.rs                       +100     +22  +78.00%
crates/trogon-decider-nats/src/snapshot_store.rs                   +21     +21  -4.22%
crates/trogon-decider-nats/src/projector.rs                        +80      +3  +96.25%
crates/trogon-decider-nats/src/stream_store.rs                     -39       0  -1.15%
crates/trogon-nats/src/jetstream/traits.rs                           0      -6  +13.04%
crates/trogon-decider/src/testing.rs                                +8       0  +100.00%
crates/trogon-decider-nats/src/stream_store/replay.rs             +135     +10  +92.59%
crates/trogon-decider/src/testing/codec.rs                         +14       0  +100.00%
TOTAL                                                            +1602    +172  -0.27%

Results for commit: 179150b

Minimum allowed coverage is 95%

♻️ This comment has been updated with latest results

@yordis yordis added the rust:coverage-baseline-reset Relax Rust coverage gate to establish a new baseline label Jul 17, 2026
@yordis
yordis merged commit 47b9d99 into main Jul 17, 2026
18 of 20 checks passed
@yordis
yordis deleted the yordis/decider-platform-improvements branch July 17, 2026 21:42
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