Skip to content

chore(agents): keep agent instructions inside runtime settings - #519

Merged
yordis merged 7 commits into
mainfrom
yordis/agent-instructions-oneof
Jul 31, 2026
Merged

chore(agents): keep agent instructions inside runtime settings#519
yordis merged 7 commits into
mainfrom
yordis/agent-instructions-oneof

Conversation

@yordis

@yordis yordis commented Jul 31, 2026

Copy link
Copy Markdown
Member
  • The platform declines a generic instruction abstraction for now: runtime prompt contracts are runtime vocabulary even in their content half (the Claude Agent SDK accepts a string, a string list, or a named preset with an append seam), so a platform-level field would be a lossy projection every adapter re-encodes. ADR#0043 records the decision, and the agent contract now names instruction content as runtime-owned settings explicitly.
  • The harness and prompt-management survey behind the decision is frozen as a research corpus so the future revisit starts from evidence instead of re-running the study.
  • The session-store markup fixes restore the docs build, which was failing before this branch and blocked validating the new documents.

Related

yordis added 3 commits July 30, 2026 22:19
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>
Copilot AI review requested due to automatic review settings July 31, 2026 02:20
@cursor

cursor Bot commented Jul 31, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Documentation and proto comments only; no wire schema or runtime behavior changes in the diff.

Overview
Adds draft ADR#0043, which decides that agent instruction and prompt content stay in runtime-owned settings (native per-runtime shape) with no new platform-level instruction field, and records the open tension with ADR#0025’s conceptual model.

Introduces a frozen agent-instructions research corpus (harness survey, prompt-management notes, index) as evidence for that ADR and future revisits.

Updates AgentConfiguration.settings documentation in agent.proto and regenerated bindings: instructions are runtime-owned like model selection, default prompt when settings are absent, and wrong Any types for the named runtime are documented as invalid (provisioning/decider rejection).

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

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@yordis, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: cbb368a3-0e4e-4c03-b165-fe3c373fb966

📥 Commits

Reviewing files that changed from the base of the PR and between 13f80e4 and 3f27612.

⛔ Files ignored due to path filters (2)
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.agent.__view.rs is excluded by !**/gen/**
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.agent.rs is excluded by !**/gen/**
📒 Files selected for processing (3)
  • docs/adr/0043-agent-instructions-ownership-and-shape.md
  • docs/research/agent-instructions/harness-survey.md
  • proto/trogonai/agents/agents/v1/agent.proto

Walkthrough

The change adds research on agent-instruction formats, adds ADR#0043 on instruction ownership and shape, links the ADR in the index, and updates AgentConfiguration documentation to describe runtime-owned instruction and prompt settings.

Changes

Agent instruction ownership

Layer / File(s) Summary
Instruction research foundation
docs/research/agent-instructions/*
Adds a research index, a cross-harness instruction survey, and a comparison of text and chat prompt representations.
Ownership decision and runtime contract
docs/adr/0043-agent-instructions-ownership-and-shape.md, docs/adr/index.md, proto/trogonai/agents/agents/v1/agent.proto
Adds ADR#0043 and documents runtime-owned instruction content, native runtime shapes, deferred abstractions, and default prompt behavior.

Estimated code review effort: 2 (Simple) | ~15 minutes

Possibly related PRs

Suggested reviewers: copilot

Poem

A rabbit reads prompts in a burrow of text,
With runtime-held rules neatly indexed next.
ADR pages bloom, and the protobufs agree,
Native shapes guide instruction decree.
“Hop to review!” says the rabbit with glee.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately summarizes the main change: agent instructions remain owned by runtime settings.
Description check ✅ Passed The description explains the ADR, runtime-owned instruction content, research corpus, and documentation validation related to the changes.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/agent-instructions-oneof

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
docs/research/agent-instructions/prompt-management.md (1)

27-46: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add primary-source anchors for the LangChain and provider claims.

The corpus method requires each document to name the sources checked. The LangChain and provider API claims in this range have no anchor or source path. Add official references so the frozen corpus remains auditable.

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

In `@docs/research/agent-instructions/prompt-management.md` around lines 27 - 46,
Add official primary-source references for the claims in the LangChain and
Provider APIs sections, naming the specific LangChain documentation and
Anthropic/OpenAI API source paths checked. Keep the existing technical content
unchanged and place the anchors directly with the corresponding claims so the
frozen corpus remains auditable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/research/agent-instructions/prompt-management.md`:
- Around line 27-46: Add official primary-source references for the claims in
the LangChain and Provider APIs sections, naming the specific LangChain
documentation and Anthropic/OpenAI API source paths checked. Keep the existing
technical content unchanged and place the anchors directly with the
corresponding claims so the frozen corpus remains auditable.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: aa9dcae9-6d67-4a3c-8827-a9932a506d8c

📥 Commits

Reviewing files that changed from the base of the PR and between 82951d5 and f591919.

⛔ Files ignored due to path filters (5)
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.agent.__view.rs is excluded by !**/gen/**
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.agent.rs is excluded by !**/gen/**
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.instructions.__view.rs is excluded by !**/gen/**
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.instructions.rs is excluded by !**/gen/**
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.mod.rs is excluded by !**/gen/**
📒 Files selected for processing (9)
  • docs/adr/0042-agent-instructions-ownership-and-shape.md
  • docs/adr/index.md
  • docs/research/agent-instructions/harness-survey.md
  • docs/research/agent-instructions/index.md
  • docs/research/agent-instructions/prompt-management.md
  • docs/research/session-store/products/claude-agent-sdk.md
  • docs/research/session-store/products/opencode.md
  • proto/trogonai/agents/agents/v1/agent.proto
  • proto/trogonai/agents/agents/v1/instructions.proto
💤 Files with no reviewable changes (1)
  • docs/research/session-store/products/opencode.md

…ions-oneof

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

# Conflicts:
#	docs/adr/index.md
#	docs/research/session-store/products/claude-agent-sdk.md
Copilot AI review requested due to automatic review settings July 31, 2026 02:57

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown

badge

Code Coverage Summary

Details
Filename                                                                                            Stmts    Miss  Cover    Missing
------------------------------------------------------------------------------------------------  -------  ------  -------  ----------------------------------------------------------------------------------------------------------------------------------------------------------------
crates/scheduler/trogon-scheduler-domain/src/subject.rs                                                26       0  100.00%
crates/a2a/a2a-auth-callout/src/account_resolver.rs                                                    31       0  100.00%
crates/a2a/a2a-auth-callout/src/denial_reason.rs                                                       15       0  100.00%
crates/a2a/a2a-auth-callout/src/caller_jwt_header.rs                                                   20       0  100.00%
crates/a2a/a2a-auth-callout/src/permissions.rs                                                         85       0  100.00%
crates/a2a/a2a-auth-callout/src/error.rs                                                                3       0  100.00%
crates/a2a/a2a-auth-callout/src/denial_claims.rs                                                       68       0  100.00%
crates/a2a/a2a-auth-callout/src/dispatcher.rs                                                          34      13  61.76%   83-112
crates/a2a/a2a-auth-callout/src/denial_category.rs                                                     29       0  100.00%
crates/a2a/a2a-auth-callout/src/subscriber.rs                                                          96      96  0.00%    23-174
crates/a2a/a2a-auth-callout/src/main.rs                                                                 1       1  0.00%    223
crates/a2a/a2a-auth-callout/src/test_support.rs                                                        20      20  0.00%    16-36
crates/acp/acp-nats-stdio/src/main.rs                                                                  56       8  85.71%   58, 101-108, 120
crates/acp/acp-nats-stdio/src/config.rs                                                                15       0  100.00%
crates/platform/jsonrpc-nats/src/codec/canonical.rs                                                   169      22  86.98%   98, 101, 166-170, 194-196, 207, 212, 214, 231-232, 239, 243-250
crates/platform/jsonrpc-nats/src/codec/decode.rs                                                       57       0  100.00%
crates/platform/jsonrpc-nats/src/codec/reconstruct.rs                                                  90       5  94.44%   56-59, 91
crates/platform/jsonrpc-nats/src/codec/encode.rs                                                       31       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/terminal_kill.rs                                      12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/session_request_permission.rs                         12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/fs_write_text_file.rs                                 12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/elicitation_create.rs                                 12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/terminal_create.rs                                    12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/elicitation_complete.rs                               12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/terminal_output.rs                                    12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/terminal_release.rs                                   12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/terminal_wait_for_exit.rs                             12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/session_update.rs                                     12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/client_ops/fs_read_text_file.rs                                  12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/prompt_wildcard.rs                                  9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/all_session.rs                                      9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/one_agent.rs                                       15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/one_session.rs                                     12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/all_agent.rs                                        9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/all_agent_ext.rs                                    9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/all_client.rs                                       9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/global_all.rs                                       9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/subscriptions/one_client.rs                                      15       0  100.00%
crates/a2a/a2a-nats/src/server/handler.rs                                                              39       0  100.00%
crates/a2a/a2a-nats/src/server/message_send.rs                                                         15       0  100.00%
crates/a2a/a2a-nats/src/server/message_stream.rs                                                       56       6  89.29%   154-156, 164-166
crates/a2a/a2a-nats/src/server/push_set.rs                                                             12       0  100.00%
crates/a2a/a2a-nats/src/server/tasks_list.rs                                                           12       0  100.00%
crates/a2a/a2a-nats/src/server/tasks_cancel.rs                                                         12       0  100.00%
crates/a2a/a2a-nats/src/server/tasks_resubscribe.rs                                                    12       0  100.00%
crates/a2a/a2a-nats/src/server/bridge.rs                                                               65       0  100.00%
crates/a2a/a2a-nats/src/server/push_delete.rs                                                          12       0  100.00%
crates/a2a/a2a-nats/src/server/tasks_get.rs                                                            12       0  100.00%
crates/a2a/a2a-nats/src/server/wire.rs                                                                 34       4  88.24%   21-23, 30
crates/a2a/a2a-nats/src/server/test_support.rs                                                         81      25  69.14%   134-159
crates/a2a/a2a-nats/src/server/dispatch.rs                                                             33       0  100.00%
crates/a2a/a2a-nats/src/server/agent_card.rs                                                           16       0  100.00%
crates/a2a/a2a-nats/src/server/push_get.rs                                                             12       0  100.00%
crates/a2a/a2a-nats/src/server/push_list.rs                                                            12       0  100.00%
crates/a2a/a2a-redaction/src/bin/sign-bundle.rs                                                         1       1  0.00%    163
crates/platform/trogon-identity-types/src/aauth/mod.rs                                                 69       0  100.00%
crates/platform/trogon-identity-types/src/aauth/error.rs                                               14       0  100.00%
crates/platform/trogon-identity-types/src/aauth/headers.rs                                             47       0  100.00%
crates/platform/trogon-identity-types/src/aauth/person_server.rs                                       23       0  100.00%
crates/platform/trogon-identity-types/src/aauth/login.rs                                               78       0  100.00%
crates/platform/trogon-identity-types/src/aauth/mission.rs                                             33       0  100.00%
crates/decider/trogon-decider-runtime/src/stream/stream_position.rs                                    26       0  100.00%
crates/decider/trogon-decider-runtime/src/stream/append_stream.rs                                       5       0  100.00%
crates/decider/trogon-decider-runtime/src/stream/read_stream.rs                                         7       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/subscriptions/one_server.rs                                       9       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/subscriptions/all_client.rs                                       6       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/subscriptions/one_client.rs                                       9       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/subscriptions/all_server.rs                                       6       0  100.00%
crates/decider/trogon-decider-runtime/src/event/event_id.rs                                            32       0  100.00%
crates/decider/trogon-decider-runtime/src/event/event_identity.rs                                       3       0  100.00%
crates/decider/trogon-decider-runtime/src/event/stream_event.rs                                         8       0  100.00%
crates/a2a/a2a-redaction/src/wasm/mod.rs                                                              110       9  91.82%   132-134, 147-149, 162-164
crates/a2a/a2a-redaction/src/wasm/engine.rs                                                            62      11  82.26%   29-31, 63-64, 76-78, 82-84
crates/platform/trogon-jwks-publisher/src/provider.rs                                                 118       0  100.00%
crates/platform/trogon-jwks-publisher/src/publisher.rs                                                 92       0  100.00%
crates/aauth/trogon-aauth-person/src/login.rs                                                           3       0  100.00%
crates/aauth/trogon-aauth-person/src/pending.rs                                                        73       0  100.00%
crates/aauth/trogon-aauth-person/src/error.rs                                                          48       0  100.00%
crates/aauth/trogon-aauth-person/src/mint.rs                                                           59       0  100.00%
crates/aauth/trogon-aauth-person/src/mission.rs                                                        65       0  100.00%
crates/aauth/trogon-aauth-person/src/server.rs                                                        353       0  100.00%
crates/aauth/trogon-aauth-person/src/store.rs                                                          21       0  100.00%
crates/aauth/trogon-aauth-person/src/agent.rs                                                          84       0  100.00%
crates/aauth/trogon-aauth-person/src/interaction.rs                                                     2       0  100.00%
crates/aauth/trogon-aauth-person/src/subagent.rs                                                       10       0  100.00%
crates/a2a/a2a-gateway/src/policy/per_skill.rs                                                         87       0  100.00%
crates/a2a/a2a-gateway/src/policy/wasmtime_substrate.rs                                                31       0  100.00%
crates/a2a/a2a-gateway/src/policy/error.rs                                                             16       0  100.00%
crates/a2a/a2a-gateway/src/policy/spicedb_tier1.rs                                                    157      13  91.72%   226-228, 381, 451, 453-461
crates/acp/acp-nats/src/client/fs_read_text_file.rs                                                    27       0  100.00%
crates/acp/acp-nats/src/client/fs_write_text_file.rs                                                   43       0  100.00%
crates/acp/acp-nats/src/client/terminal_release.rs                                                     35       0  100.00%
crates/acp/acp-nats/src/client/request_permission.rs                                                   40       0  100.00%
crates/acp/acp-nats/src/client/elicitation_complete.rs                                                  8       0  100.00%
crates/acp/acp-nats/src/client/session_update.rs                                                        8       0  100.00%
crates/acp/acp-nats/src/client/test_support.rs                                                         17       0  100.00%
crates/acp/acp-nats/src/client/terminal_output.rs                                                      29       0  100.00%
crates/acp/acp-nats/src/client/rpc_reply.rs                                                           107      43  59.81%   45-47, 61-63, 80-120
crates/acp/acp-nats/src/client/mod.rs                                                                 105       1  99.05%   59
crates/acp/acp-nats/src/client/ext_session_prompt_response.rs                                          22       0  100.00%
crates/acp/acp-nats/src/client/terminal_create.rs                                                      41       0  100.00%
crates/acp/acp-nats/src/client/terminal_kill.rs                                                        41       0  100.00%
crates/acp/acp-nats/src/client/terminal_wait_for_exit.rs                                               55       0  100.00%
crates/acp/acp-nats/src/client/ext.rs                                                                  62       0  100.00%
crates/acp/acp-nats/src/client/elicitation_create.rs                                                   41       0  100.00%
crates/platform/trogon-gateway/src/source/discord/config.rs                                            45       0  100.00%
crates/platform/trogon-gateway/src/source/discord/gateway.rs                                          116       1  99.14%   135
crates/platform/trogon-gateway/src/source/datadog/datadog_event_type.rs                                20       0  100.00%
crates/platform/trogon-gateway/src/source/datadog/server.rs                                           108       0  100.00%
crates/platform/trogon-gateway/src/source/datadog/datadog_webhook_token.rs                              9       0  100.00%
crates/platform/trogon-gateway/src/source/datadog/signature.rs                                          7       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/reconciliation/reconcile.rs                 303      13  95.71%   244-253, 318-320
crates/scheduler/trogon-scheduler/src/processor/execution/reconciliation/go_duration.rs                40       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/reconciliation/request.rs                   230       2  99.13%   270, 275
crates/scheduler/trogon-scheduler/src/processor/execution/reconciliation/schedule_key.rs               27       0  100.00%
crates/scheduler/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/scheduler/trogon-scheduler/src/processor/execution/reconciliation/rrule_wakeup_payload.rs       35       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/reconciliation/schedule_subject.rs           31       0  100.00%
crates/ard/ard-nats/src/catalog_event.rs                                                               71       0  100.00%
crates/ard/ard-nats/src/memory_catalog_store.rs                                                        32       0  100.00%
crates/ard/ard-nats/src/catalog_subject.rs                                                             14       3  78.57%   16-18
crates/ard/ard-nats/src/store.rs                                                                        3       0  100.00%
crates/ard/ard-nats/src/catalog_index.rs                                                               82       2  97.56%   37, 104
crates/platform/trogon-gateway/src/source/slack/socket_mode.rs                                        139       0  100.00%
crates/platform/trogon-gateway/src/source/slack/signature.rs                                           17       0  100.00%
crates/platform/trogon-gateway/src/source/slack/config.rs                                              32       0  100.00%
crates/platform/trogon-gateway/src/source/slack/server.rs                                             272       0  100.00%
crates/platform/trogon-nats/src/auth.rs                                                                45       0  100.00%
crates/platform/trogon-nats/src/messaging.rs                                                          168       2  98.81%   146, 156
crates/platform/trogon-nats/src/connect.rs                                                             26       6  76.92%   42-47
crates/platform/trogon-nats/src/mocks.rs                                                              246       0  100.00%
crates/platform/trogon-nats/src/server_info.rs                                                         21       3  85.71%   19-21
crates/platform/trogon-nats/src/client.rs                                                              22      22  0.00%    50-86
crates/platform/trogon-nats/src/nats_token.rs                                                          56       0  100.00%
crates/platform/trogon-nats/src/test_support.rs                                                        26       0  100.00%
crates/platform/trogon-nats/src/token.rs                                                                6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/stream.rs                                                        56       0  100.00%
crates/platform/trogon-std/src/duration.rs                                                             19       0  100.00%
crates/platform/trogon-std/src/signal.rs                                                               22      12  45.45%   6-11, 18-25, 34
crates/platform/trogon-std/src/uuid.rs                                                                  3       0  100.00%
crates/platform/trogon-std/src/args.rs                                                                 12       9  25.00%   11-28
crates/platform/trogon-std/src/secret_string.rs                                                        13       0  100.00%
crates/platform/trogon-std/src/http.rs                                                                  8       0  100.00%
crates/platform/trogon-std/src/json.rs                                                                 23       0  100.00%
crates/platform/trogon-std/src/dirs/system.rs                                                          39       0  100.00%
crates/platform/trogon-std/src/dirs/fixed.rs                                                           32       0  100.00%
crates/platform/trogonai-proto/src/agents/agents/codec.rs                                              30       0  100.00%
crates/ard/ard-catalog/src/url_or_data.rs                                                              20       0  100.00%
crates/ard/ard-catalog/src/registry_error_wire.rs                                                       8       0  100.00%
crates/ard/ard-catalog/src/ard_identifier.rs                                                           54       0  100.00%
crates/ard/ard-catalog/src/metadata.rs                                                                 14       0  100.00%
crates/ard/ard-catalog/src/catalog_entry_wire.rs                                                        3       0  100.00%
crates/ard/ard-catalog/src/media_type.rs                                                               20       0  100.00%
crates/ard/ard-catalog/src/catalog_manifest.rs                                                         44       0  100.00%
crates/ard/ard-catalog/src/catalog_manifest_wire.rs                                                     3       0  100.00%
crates/ard/ard-catalog/src/representative_queries.rs                                                   18       0  100.00%
crates/ard/ard-catalog/src/display_name.rs                                                             13       0  100.00%
crates/ard/ard-catalog/src/ard_storage_key.rs                                                          10       0  100.00%
crates/ard/ard-catalog/src/catalog_entry.rs                                                           107       0  100.00%
crates/ard/ard-catalog/src/catalog_host.rs                                                             26       0  100.00%
crates/ard/ard-catalog/src/federation_mode.rs                                                           3       0  100.00%
crates/ard/ard-catalog/src/catalog_host_wire.rs                                                         6       0  100.00%
crates/ard/ard-catalog/src/trust_manifest.rs                                                           45       1  97.78%   35
crates/ard/ard-catalog/src/catalog_manifest_schema.rs                                                  65       4  93.85%   105-106, 108-109
crates/platform/trogon-gateway/src/source/notion/notion_event_type.rs                                  20       0  100.00%
crates/platform/trogon-gateway/src/source/notion/server.rs                                            120       4  96.67%   116-117, 136-137
crates/platform/trogon-gateway/src/source/notion/signature.rs                                           9       0  100.00%
crates/platform/trogon-gateway/src/source/notion/notion_verification_token.rs                           9       0  100.00%
crates/platform/trogon-gateway/src/source/notion/verification_token.rs                                 46       0  100.00%
crates/a2a/a2a-nats/src/context_id.rs                                                                  22       0  100.00%
crates/a2a/a2a-nats/src/req_id.rs                                                                      21       0  100.00%
crates/a2a/a2a-nats/src/agent_id.rs                                                                    21       0  100.00%
crates/a2a/a2a-nats/src/config.rs                                                                     114       0  100.00%
crates/a2a/a2a-nats/src/task_id.rs                                                                     22       0  100.00%
crates/a2a/a2a-nats/src/gateway_ingress.rs                                                            153      21  86.27%   148-151, 155, 169, 177-183, 216, 231-237
crates/a2a/a2a-nats/src/wire.rs                                                                        59       2  96.61%   85, 98
crates/a2a/a2a-nats/src/jsonrpc.rs                                                                     27       0  100.00%
crates/a2a/a2a-nats/src/a2a_prefix.rs                                                                  16       0  100.00%
crates/decider/trogon-decider/src/event/codec/event_payload_error.rs                                    5       0  100.00%
crates/decider/trogon-decider/src/event/codec/event_decode.rs                                          13       0  100.00%
crates/mcp/mcp-nats/src/config.rs                                                                      59       0  100.00%
crates/mcp/mcp-nats/src/wire.rs                                                                        40       1  97.50%   49
crates/mcp/mcp-nats/src/mcp_peer_id.rs                                                                 15       0  100.00%
crates/mcp/mcp-nats/src/client.rs                                                                      12       0  100.00%
crates/mcp/mcp-nats/src/mcp_prefix.rs                                                                  15       0  100.00%
crates/mcp/mcp-nats/src/server.rs                                                                      12       0  100.00%
crates/mcp/mcp-nats/src/mcp_transport_headers.rs                                                       53       0  100.00%
crates/mcp/mcp-nats/src/jsonrpc.rs                                                                      5       0  100.00%
crates/mcp/mcp-nats/src/transport.rs                                                                  224      12  94.64%   246, 258-260, 345-346, 353-354, 357-358, 401-402
crates/acp/acp-nats/src/boundary/abort_on_drop.rs                                                      19       0  100.00%
crates/acp/acp-nats/src/boundary/connection_client.rs                                                  29       0  100.00%
crates/acp/acp-nats/src/boundary/connect_agent_boundary.rs                                            128       0  100.00%
crates/acp/acp-nats/src/boundary/eof_signal_reader.rs                                                  20       0  100.00%
crates/platform/trogon-telemetry/src/lib.rs                                                           135      23  82.96%   119, 124, 129, 139-140, 146-164, 200, 203, 206, 212
crates/platform/trogon-telemetry/src/trace.rs                                                          15       1  93.33%   24
crates/platform/trogon-telemetry/src/resource_attribute.rs                                             13       0  100.00%
crates/platform/trogon-telemetry/src/service_name.rs                                                   17       0  100.00%
crates/platform/trogon-telemetry/src/log.rs                                                            36       0  100.00%
crates/platform/trogon-telemetry/src/metric.rs                                                         18       1  94.44%   30
crates/scheduler/trogon-scheduler/src/queries/read_model/message.rs                                    77       0  100.00%
crates/scheduler/trogon-scheduler/src/queries/read_model/schedule.rs                                   15       0  100.00%
crates/a2a/a2a-nats/src/push/dispatcher/nats.rs                                                        37       0  100.00%
crates/a2a/a2a-nats/src/push/dispatcher/http.rs                                                        19       0  100.00%
crates/a2a/a2a-nats/src/push/dispatcher/composite.rs                                                   15       0  100.00%
crates/a2a/a2a-nats/src/push/dispatcher/jetstream.rs                                                   45       0  100.00%
crates/a2a/a2a-nats/src/push/dispatcher/mod.rs                                                         16       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier1_declarative/bundle.rs                                          57       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier1_declarative/evaluator.rs                                      158      13  91.77%   26-28, 146, 195-197, 267-271, 294
crates/a2a/a2a-gateway/src/policy/tier1_declarative/loader.rs                                          85       9  89.41%   93-95, 97-99, 124-126
crates/a2a/a2a-gateway/src/policy/tier1_declarative/time_predicate.rs                                 118       2  98.31%   103, 125
crates/platform/trogon-gateway/src/source/standard_webhooks.rs                                        138       0  100.00%
crates/a2a/a2a-nats-http/src/runtime.rs                                                                 8       8  0.00%    54-124
crates/a2a/a2a-nats-http/src/rest.rs                                                                  316       8  97.47%   123-126, 282-285
crates/a2a/a2a-nats-http/src/main.rs                                                                    1       0  100.00%
crates/a2a/a2a-nats-http/src/router.rs                                                                 55      13  76.36%   60-63, 69-79
crates/a2a/a2a-nats-http/src/headers.rs                                                               129       1  99.22%   154
crates/a2a/a2a-nats-http/src/sse.rs                                                                    44      27  38.64%   15-51, 61-62, 65-68
crates/platform/jsonrpc-nats/src/transport.rs                                                         102       4  96.08%   26, 30-31, 118
crates/platform/jsonrpc-nats/src/message.rs                                                            11       3  72.73%   37-39
crates/platform/jsonrpc-nats/src/id.rs                                                                 62      20  67.74%   44-61, 81-82, 84-85, 91-92, 98-99, 112
crates/acp/acp-nats/src/telemetry/metrics.rs                                                           22       0  100.00%
crates/a2a/a2a-nats-stdio/src/runtime.rs                                                               21       0  100.00%
crates/a2a/a2a-nats-stdio/src/main.rs                                                                   1       0  100.00%
crates/a2a/a2a-nats-stdio/src/dispatch.rs                                                             212       8  96.23%   119, 122-124, 232, 235-237
crates/a2a/a2a-nats-stdio/src/io_loop.rs                                                               49       0  100.00%
crates/a2a/a2a-nats-stdio/src/wire.rs                                                                  22       0  100.00%
crates/acp/acp-nats-server/src/config.rs                                                               39       0  100.00%
crates/acp/acp-nats-server/src/main.rs                                                                 31       1  96.77%   81
crates/acp/acp-nats-server/src/component.rs                                                            70       0  100.00%
crates/acp/acp-nats-server/src/compat.rs                                                              174       0  100.00%
crates/platform/trogonai-proto/src/scheduler/schedules/codec.rs                                        57       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/checkpoints/codec/twin.rs                    96       0  100.00%
crates/aauth/trogon-aauth-verify/src/jkt.rs                                                            33       0  100.00%
crates/aauth/trogon-aauth-verify/src/token.rs                                                         184       1  99.46%   181
crates/aauth/trogon-aauth-verify/src/nats_pop.rs                                                      125       1  99.20%   313
crates/aauth/trogon-aauth-verify/src/jwks_http.rs                                                     144       0  100.00%
crates/aauth/trogon-aauth-verify/src/upstream.rs                                                       20       0  100.00%
crates/aauth/trogon-aauth-verify/src/challenge.rs                                                      77       0  100.00%
crates/aauth/trogon-aauth-verify/src/mission.rs                                                        33       0  100.00%
crates/aauth/trogon-aauth-verify/src/test_support.rs                                                   86       0  100.00%
crates/aauth/trogon-aauth-verify/src/time_source.rs                                                    10       0  100.00%
crates/aauth/trogon-aauth-verify/src/replay.rs                                                         26       0  100.00%
crates/aauth/trogon-aauth-verify/src/jwks_cache.rs                                                     39       0  100.00%
crates/aauth/trogon-aauth-verify/src/jwks.rs                                                           15       0  100.00%
crates/aauth/trogon-aauth-verify/src/http_pop.rs                                                      268       0  100.00%
crates/aauth/trogon-aauth-verify/src/delegation.rs                                                     53       0  100.00%
crates/mcp/mcp-nats/src/telemetry/transport.rs                                                          6       0  100.00%
crates/aauth/trogon-aauth-sdk/src/exchange/client.rs                                                  283       0  100.00%
crates/aauth/trogon-aauth-sdk/src/exchange/core.rs                                                    138       0  100.00%
crates/aauth/trogon-aauth-sdk/src/exchange/challenge.rs                                                50       0  100.00%
crates/aauth/trogon-aauth-sdk/src/exchange/mod.rs                                                      17       0  100.00%
crates/decider/trogon-decider/src/testing/codec.rs                                                     14       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/domain/schedule_event_status.rs                   6       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/domain/schedule_event_delivery.rs                14       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/domain/schedule_event_sampling_source.rs         11       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/domain/schedule_id.rs                            40       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/domain/message.rs                               139       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/domain/schedule.rs                              383       5  98.69%   327, 335, 350-352
crates/scheduler/trogon-scheduler-domain/src/commands/domain/schedule_event_schedule.rs                35       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/checkpoints/failure.rs                       27       0  100.00%
crates/scheduler/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/scheduler/trogon-scheduler/src/processor/execution/checkpoints/record.rs                         6       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/checkpoints/store.rs                        145      16  88.97%   102, 120, 124, 131, 223-229, 278-282
crates/a2a/a2a-pack/src/agent_card_read.rs                                                             23       0  100.00%
crates/a2a/a2a-pack/src/resource_tuples.rs                                                            152       0  100.00%
crates/a2a/a2a-pack/src/agent_card_schema.rs                                                           40       0  100.00%
crates/platform/trogon-gateway/src/source/twitter/config.rs                                             9       0  100.00%
crates/platform/trogon-gateway/src/source/twitter/signature.rs                                         16       0  100.00%
crates/platform/trogon-gateway/src/source/twitter/server.rs                                           144       0  100.00%
crates/a2a/a2a-auth-callout/src/wire/callout_auth_response_claims.rs                                   54       3  94.44%   70-72
crates/a2a/a2a-auth-callout/src/wire/xkey_public.rs                                                    23       0  100.00%
crates/a2a/a2a-auth-callout/src/wire/bridge_adapter.rs                                                 73       0  100.00%
crates/a2a/a2a-auth-callout/src/wire/server_auth_request_envelope.rs                                   68       1  98.53%   64
crates/a2a/a2a-auth-callout/src/wire/nkey_public.rs                                                    83       3  96.39%   102, 118-119
crates/a2a/a2a-auth-callout/src/wire/wire_codec.rs                                                     58       0  100.00%
crates/a2a/a2a-auth-callout/src/wire/test_encode.rs                                                    59       0  100.00%
crates/a2a/a2a-auth-callout/src/wire/server_auth_request_claims.rs                                    100       4  96.00%   24-26, 127
crates/a2a/a2a-auth-callout/src/wire/nkey_seed.rs                                                      20       0  100.00%
crates/platform/trogon-gateway/src/source/microsoft_graph/client_state.rs                              14       0  100.00%
crates/platform/trogon-gateway/src/source/microsoft_graph/server.rs                                    73       0  100.00%
crates/acp/acp-nats/src/nats/extensions.rs                                                              3       0  100.00%
crates/acp/acp-nats/src/nats/parsing.rs                                                               123       0  100.00%
crates/acp/acp-nats/src/nats/mod.rs                                                                    61      13  78.69%   22-33, 75
crates/acp/acp-nats/src/nats/jsonrpc.rs                                                                51      11  78.43%   46, 54-55, 57-63, 81-83
crates/decider/trogon-decider-runtime/src/replay_limit.rs                                              26       0  100.00%
crates/decider/trogon-decider-runtime/src/execution.rs                                                627       3  99.52%   73, 187-188
crates/decider/trogon-decider-runtime/src/memory.rs                                                   104       5  95.19%   77-82
crates/a2a/a2a-nats/src/catalog/spicedb_permission.rs                                                 178      17  90.45%   148-153, 172, 337-341, 370-371, 382-384, 391-393
crates/a2a/a2a-nats/src/catalog/agent_view.rs                                                          47       0  100.00%
crates/a2a/a2a-nats/src/catalog/watch.rs                                                               18       0  100.00%
crates/a2a/a2a-nats/src/catalog/store.rs                                                              117       0  100.00%
crates/a2a/a2a-nats/src/catalog/registrar.rs                                                           56       0  100.00%
crates/a2a/a2a-nats/src/catalog/nats_kv.rs                                                              8       0  100.00%
crates/scheduler/trogon-scheduler/src/queries/get_schedule.rs                                           3       0  100.00%
crates/scheduler/trogon-scheduler/src/queries/decode.rs                                                95       0  100.00%
crates/scheduler/trogon-scheduler/src/queries/schedule_id.rs                                           28       0  100.00%
crates/a2a/a2a-nats/src/audit/envelope.rs                                                              57       0  100.00%
crates/a2a/a2a-nats/src/audit/emitter.rs                                                               58       0  100.00%
crates/a2a/a2a-nats/src/audit/task_lifecycle.rs                                                        17       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/create_message.rs                                         12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/cancelled.rs                                              12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/list_roots.rs                                             12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/progress.rs                                               12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/ping.rs                                                    9       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/initialized.rs                                            12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/roots_list_changed.rs                                     12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/client/create_elicitation.rs                                     12       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/stream.rs                                                        50       0  100.00%
crates/scheduler/trogon-scheduler/src/commands/schedule_next_occurrence.rs                             74       0  100.00%
crates/scheduler/trogon-scheduler/src/commands/record_schedule_occurrence.rs                          113       1  99.12%   182
crates/acp/acp-nats/src/agent/ext_notification.rs                                                      12       0  100.00%
crates/acp/acp-nats/src/agent/list_sessions.rs                                                          5       0  100.00%
crates/acp/acp-nats/src/agent/js_request.rs                                                            73       6  91.78%   84-89
crates/acp/acp-nats/src/agent/fork_session.rs                                                          16       0  100.00%
crates/acp/acp-nats/src/agent/new_session.rs                                                            5       0  100.00%
crates/acp/acp-nats/src/agent/close_session.rs                                                         16       0  100.00%
crates/acp/acp-nats/src/agent/load_session.rs                                                          16       0  100.00%
crates/acp/acp-nats/src/agent/ext_method.rs                                                            12       0  100.00%
crates/acp/acp-nats/src/agent/providers_disable.rs                                                      5       0  100.00%
crates/acp/acp-nats/src/agent/resume_session.rs                                                        16       0  100.00%
crates/acp/acp-nats/src/agent/test_support.rs                                                         194       0  100.00%
crates/acp/acp-nats/src/agent/providers_list.rs                                                         5       0  100.00%
crates/acp/acp-nats/src/agent/logout.rs                                                                 5       0  100.00%
crates/acp/acp-nats/src/agent/authenticate.rs                                                           5       0  100.00%
crates/acp/acp-nats/src/agent/cancel.rs                                                                12       0  100.00%
crates/acp/acp-nats/src/agent/set_session_mode.rs                                                      16       0  100.00%
crates/acp/acp-nats/src/agent/providers_set.rs                                                          5       0  100.00%
crates/acp/acp-nats/src/agent/initialize.rs                                                             6       0  100.00%
crates/acp/acp-nats/src/agent/delete_session.rs                                                        16       0  100.00%
crates/acp/acp-nats/src/agent/rpc_call.rs                                                              23       0  100.00%
crates/acp/acp-nats/src/agent/set_session_config_option.rs                                             16       0  100.00%
crates/acp/acp-nats/src/agent/bridge.rs                                                               138       4  97.10%   119-122
crates/acp/acp-nats/src/agent/prompt.rs                                                               156       7  95.51%   202-208
crates/platform/trogon-nats/src/lease/acquire.rs                                                        5       5  0.00%    9-14
crates/platform/trogon-nats/src/lease/release.rs                                                        5       5  0.00%    8-12
crates/platform/trogon-nats/src/lease/mod.rs                                                          107      13  87.85%   113-126
crates/platform/trogon-nats/src/lease/lease_key.rs                                                     19       0  100.00%
crates/platform/trogon-nats/src/lease/lease_bucket.rs                                                  19       0  100.00%
crates/platform/trogon-nats/src/lease/provision.rs                                                     83      10  87.95%   82-92
crates/platform/trogon-nats/src/lease/lease_timing.rs                                                  15       0  100.00%
crates/platform/trogon-nats/src/lease/renew_interval.rs                                                25       0  100.00%
crates/platform/trogon-nats/src/lease/ttl.rs                                                           27       0  100.00%
crates/platform/trogon-nats/src/lease/nats_kv_lease_config.rs                                          26       0  100.00%
crates/platform/trogon-nats/src/lease/renew.rs                                                         82      19  76.83%   23-29, 48-59
crates/a2a/a2a-nats-server/src/noop_handler.rs                                                         22       0  100.00%
crates/a2a/a2a-nats-server/src/main.rs                                                                  1       0  100.00%
crates/a2a/a2a-nats-server/src/runtime.rs                                                              17       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier3_redaction/mod.rs                                               33       2  93.94%   54, 58
crates/a2a/a2a-gateway/src/policy/tier3_redaction/gate.rs                                               3       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier3_redaction/decision.rs                                          22       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier3_redaction/rewrite.rs                                           49       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier3_redaction/manifest.rs                                          69       3  95.65%   112, 121, 132
crates/a2a/a2a-gateway/src/policy/tier3_redaction/context.rs                                           40       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier3_redaction/json_path.rs                                         84       5  94.05%   37, 49, 85, 104, 115
crates/a2a/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/scheduler/trogon-scheduler/src/config.rs                                                        27       0  100.00%
crates/scheduler/trogon-scheduler/src/error.rs                                                         83      12  85.54%   131-133, 152-154, 159-161, 176-180
crates/scheduler/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/scheduler/trogon-scheduler/src/nats.rs                                                          11       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/push/get.rs                                               12       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/push/list.rs                                              15       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/push/set.rs                                               12       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/push/delete.rs                                            15       0  100.00%
crates/aauth/trogon-aauth-as/src/subagent.rs                                                           10       0  100.00%
crates/aauth/trogon-aauth-as/src/pending.rs                                                            26       0  100.00%
crates/aauth/trogon-aauth-as/src/verify.rs                                                             96       0  100.00%
crates/aauth/trogon-aauth-as/src/server.rs                                                            139       0  100.00%
crates/aauth/trogon-aauth-as/src/trust.rs                                                              60       0  100.00%
crates/aauth/trogon-aauth-as/src/mint.rs                                                               56       0  100.00%
crates/aauth/trogon-aauth-as/src/test_support.rs                                                      122       0  100.00%
crates/aauth/trogon-aauth-as/src/policy.rs                                                             38       0  100.00%
crates/aauth/trogon-aauth-as/src/http.rs                                                               82       0  100.00%
crates/acp/acp-nats/src/nats/subjects/responses/ext_ready.rs                                           12       0  100.00%
crates/acp/acp-nats/src/nats/subjects/responses/prompt_response.rs                                     20       0  100.00%
crates/acp/acp-nats/src/nats/subjects/responses/cancelled.rs                                           15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/responses/response.rs                                            20       0  100.00%
crates/acp/acp-nats/src/nats/subjects/responses/update.rs                                              20       0  100.00%
crates/a2a/a2a-auth-callout/src/signing_key_source/minting_material.rs                                 18       0  100.00%
crates/a2a/a2a-auth-callout/src/signing_key_source/loader.rs                                           23       0  100.00%
crates/a2a/a2a-auth-callout/src/signing_key_source/vault.rs                                             3       0  100.00%
crates/a2a/a2a-auth-callout/src/signing_key_source/env.rs                                              40       0  100.00%
crates/a2a/a2a-auth-callout/src/signing_key_source/key_version.rs                                      16       0  100.00%
crates/a2a/a2a-auth-callout/src/signing_key_source/file.rs                                             38       6  84.21%   38-40, 59-61
crates/a2a/a2a-auth-callout/src/signing_key_source/static_source.rs                                    25       0  100.00%
crates/a2a/a2a-auth-callout/src/signing_key_source/signing_key_handle.rs                               15       0  100.00%
crates/acp/acp-nats/src/jetstream/provision.rs                                                         13       0  100.00%
crates/acp/acp-nats/src/jetstream/ext_policy.rs                                                         3       0  100.00%
crates/acp/acp-nats/src/jetstream/consumers.rs                                                         41       0  100.00%
crates/acp/acp-nats/src/jetstream/streams.rs                                                           18       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/worker/processor.rs                         308      12  96.10%   279, 339, 439-440, 446, 501-503, 535-538
crates/scheduler/trogon-scheduler/src/processor/execution/worker/testkit.rs                           311       4  98.71%   458, 489-490, 495
crates/scheduler/trogon-scheduler/src/processor/execution/worker/dispatcher.rs                        280       1  99.64%   201
crates/scheduler/trogon-scheduler/src/processor/execution/worker/consumer.rs                           77       0  100.00%
crates/platform/trogon-gateway/src/source/linear/server.rs                                             83       0  100.00%
crates/platform/trogon-gateway/src/source/linear/signature.rs                                           8       1  87.50%   16
crates/platform/trogon-gateway/src/source/linear/config.rs                                              9       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier2/mod.rs                                                         46       0  100.00%
crates/a2a/a2a-gateway/src/policy/tier2/rule_name.rs                                                   19       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/tasks/resubscribe.rs                                      15       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/tasks/list.rs                                             15       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/tasks/get.rs                                              15       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/tasks/cancel.rs                                           15       0  100.00%
crates/a2a/a2a-auth-callout/src/jwt/mod.rs                                                            232       0  100.00%
crates/a2a/a2a-auth-callout/src/jwt/user_jwt_subject.rs                                                12       0  100.00%
crates/a2a/a2a-auth-callout/src/jwt/nats_permission_claims.rs                                          10       0  100.00%
crates/a2a/a2a-auth-callout/src/jwt/nats_user_jwt.rs                                                  187       1  99.47%   129
crates/scheduler/trogon-scheduler/src/commands/domain/schedule_occurrence_sequence.rs                  16       0  100.00%
crates/scheduler/trogon-scheduler/src/commands/domain/recurrence.rs                                    78       1  98.72%   99
crates/a2a/a2a-bridge/src/main.rs                                                                       1       1  0.00%    199
crates/a2a/a2a-bridge/src/nats_transport_harness.rs                                                    42       0  100.00%
crates/a2a/a2a-bridge/src/auth.rs                                                                      47      15  68.09%   78-99, 148
crates/a2a/a2a-bridge/src/inbound.rs                                                                  326      91  72.09%   114-118, 141-143, 190-230, 291-416, 468-470, 481, 579, 630-645, 686-691
crates/a2a/a2a-bridge/src/outbound.rs                                                                  70       7  90.00%   126, 197-209
crates/a2a/a2a-bridge/src/identity.rs                                                                  63       0  100.00%
crates/platform/trogon-gateway/src/source/sentry/sentry_client_secret.rs                                9       0  100.00%
crates/platform/trogon-gateway/src/source/sentry/server.rs                                             69       0  100.00%
crates/platform/trogon-gateway/src/source/sentry/signature.rs                                           6       0  100.00%
crates/platform/trogon-std/src/fs/system.rs                                                            15       0  100.00%
crates/platform/trogon-std/src/fs/mem.rs                                                               85       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/command_spec.rs                                         12       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/execution.rs                                           756      31  95.90%   134, 556, 728, 775-779, 827-831, 870-874, 933, 938-942, 1014-1018, 1106, 1127
crates/decider/trogon-decider-wasm-runtime/src/opaque_snapshot.rs                                      18       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/registry.rs                                             94       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/snapshot_id.rs                                          18       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/module_name.rs                                          34       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/command_type.rs                                         31       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/domain_error_detail.rs                                   7       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/module.rs                                               71       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/test_doubles.rs                                         73       5  93.15%   64, 85-87, 90
crates/decider/trogon-decider-wasm-runtime/src/test_fixture.rs                                          7       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/module_version.rs                                       34       0  100.00%
crates/decider/trogon-decider-wasm-runtime/src/engine.rs                                              145       0  100.00%
crates/aauth/trogon-aauth-sdk/src/verify_response.rs                                                   70       0  100.00%
crates/aauth/trogon-aauth-sdk/src/lib.rs                                                                3       0  100.00%
crates/aauth/trogon-aauth-sdk/src/capabilities.rs                                                       7       0  100.00%
crates/aauth/trogon-aauth-sdk/src/delegation.rs                                                        15       0  100.00%
crates/aauth/trogon-aauth-sdk/src/signer.rs                                                            91       0  100.00%
crates/aauth/trogon-aauth-sdk/src/subagent.rs                                                          34       0  100.00%
crates/a2a/a2a-redaction/src/redactor.rs                                                               32       0  100.00%
crates/a2a/a2a-redaction/src/skill_manifest.rs                                                        310      14  95.48%   139, 169-171, 177, 184-188, 358-360, 452
crates/a2a/a2a-redaction/src/tier3_sentinel.rs                                                         12       0  100.00%
crates/a2a/a2a-redaction/src/wasm_bundle_path.rs                                                       18       0  100.00%
crates/a2a/a2a-redaction/src/a2a_method.rs                                                             41       0  100.00%
crates/a2a/a2a-redaction/src/skill_id.rs                                                               26       0  100.00%
crates/mcp/mcp-nats-stdio/src/config.rs                                                                26       0  100.00%
crates/mcp/mcp-nats-stdio/src/main.rs                                                                  36       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/list_resource_templates.rs                                12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/list_resources.rs                                         12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/cancel_task.rs                                            12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/discover.rs                                               12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/task_status.rs                                            12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/subscribe_resource.rs                                     12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/update_task.rs                                            12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/subscriptions_listen.rs                                   12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/get_prompt.rs                                             12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/tool_list_changed.rs                                      12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/prompt_list_changed.rs                                    12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/complete.rs                                               12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/unsubscribe_resource.rs                                   12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/resource_updated.rs                                       12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/get_task.rs                                               12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/list_tools.rs                                             12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/initialize.rs                                             12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/list_prompts.rs                                           12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/progress.rs                                               12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/call_tool.rs                                              12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/read_resource.rs                                          12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/logging_message.rs                                        12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/resource_list_changed.rs                                  12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/cancelled.rs                                              12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/subscriptions_acknowledged.rs                             12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/set_logging_level.rs                                      12       0  100.00%
crates/mcp/mcp-nats/src/nats/subjects/server/ping.rs                                                    9       0  100.00%
crates/platform/trogon-gateway/src/source/gitlab/server.rs                                             78       0  100.00%
crates/platform/trogon-gateway/src/source/gitlab/signature.rs                                          13       0  100.00%
crates/platform/trogon-gateway/src/source/gitlab/gitlab_signing_token.rs                               30       0  100.00%
crates/platform/trogon-service-config/src/lib.rs                                                       38       0  100.00%
crates/scheduler/trogon-scheduler/src/processor/execution/execution_schedules/mod.rs                   82       0  100.00%
crates/decider/trogon-decider-guest-macros/src/lib.rs                                                 136      28  79.41%   14-19, 29-40, 116-119, 437-446, 450
crates/scheduler/trogon-scheduler/src/projections/schedules/mod.rs                                    175       3  98.29%   708-710
crates/scheduler/trogon-scheduler/src/projections/schedules/twin.rs                                    53       0  100.00%
crates/scheduler/trogon-scheduler/src/projections/schedules/storage.rs                                  3       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/providers_list.rs                                          6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/ext_notify.rs                                              9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/session_list.rs                                            6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/ext.rs                                                     9       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/initialize.rs                                              6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/authenticate.rs                                            6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/providers_set.rs                                           6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/session_new.rs                                             6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/providers_disable.rs                                       6       0  100.00%
crates/acp/acp-nats/src/nats/subjects/global/logout.rs                                                  6       0  100.00%
crates/decider/trogon-decider-nats/src/stream_store/replay.rs                                         135      10  92.59%   114, 142, 160, 216-224
crates/decider/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_decode_error.rs              6       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/codec/snapshot_envelope_encode_error.rs              3       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/codec/snapshot_payload_decode.rs                     3       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/codec/snapshot_decode_error.rs                      19       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/codec/snapshot_encode_error.rs                      16       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/codec/encoded_snapshot.rs                           44       0  100.00%
crates/a2a/a2a-nats-http/src/handlers/mod.rs                                                          185      12  93.51%   68, 88-91, 121, 155, 169-172, 185
crates/acp/acp-nats-agent/src/connection.rs                                                           482       1  99.79%   726
crates/a2a/a2a-nats/src/nats/subjects/tasks/events.rs                                                  17       0  100.00%
crates/platform/trogon-nats/src/telemetry/messaging.rs                                                 37       0  100.00%
crates/a2a/a2a-nats/src/client/resubscribe.rs                                                          28       0  100.00%
crates/a2a/a2a-nats/src/client/wire.rs                                                                 13       0  100.00%
crates/a2a/a2a-nats/src/client/handle.rs                                                              218       0  100.00%
crates/a2a/a2a-nats/src/client/event_stream.rs                                                         76       0  100.00%
crates/a2a/a2a-nats/src/client/streaming.rs                                                            73       0  100.00%
crates/a2a/a2a-nats/src/client/gateway_headers.rs                                                      19       0  100.00%
crates/a2a/a2a-nats/src/client/unary.rs                                                                39       1  97.44%   57
crates/a2a/a2a-nats/src/client/error.rs                                                                14       0  100.00%
crates/a2a/a2a-bridge/src/auth/callout_mint.rs                                                         49       1  97.96%   94
crates/a2a/a2a-nats/src/jetstream/streams.rs                                                            9       0  100.00%
crates/a2a/a2a-nats/src/jetstream/stream_options.rs                                                    50       0  100.00%
crates/a2a/a2a-nats/src/jetstream/provision.rs                                                         16       0  100.00%
crates/a2a/a2a-nats/src/jetstream/consumers.rs                                                         50       0  100.00%
crates/a2a/a2a-identity-types/src/jwt.rs                                                               71       0  100.00%
crates/a2a/a2a-identity-types/src/principal.rs                                                         16       0  100.00%
crates/a2a/a2a-identity-types/src/caller.rs                                                            24       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/resume.rs                                               15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/cancel.rs                                               15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/prompt.rs                                               15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/load.rs                                                 15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/close.rs                                                15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/delete.rs                                               15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/set_config_option.rs                                    15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/set_mode.rs                                             15       0  100.00%
crates/acp/acp-nats/src/nats/subjects/commands/fork.rs                                                 15       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/read_snapshot.rs                                     3       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/snapshot_type.rs                                    42       0  100.00%
crates/decider/trogon-decider-runtime/src/snapshot/mod.rs                                               3       0  100.00%
crates/platform/trogon-gateway/src/source/telegram/registration.rs                                     82       0  100.00%
crates/platform/trogon-gateway/src/source/telegram/signature.rs                                         7       0  100.00%
crates/platform/trogon-gateway/src/source/telegram/config.rs                                           42       0  100.00%
crates/platform/trogon-gateway/src/source/telegram/server.rs                                           53       0  100.00%
crates/platform/trogon-std/src/telemetry/http.rs                                                       58       0  100.00%
crates/ard/ard-registry/src/extract.rs                                                                 12       0  100.00%
crates/ard/ard-registry/src/lexical_rank.rs                                                            55       2  96.36%   15, 64
crates/ard/ard-registry/src/page_token.rs                                                              14       0  100.00%
crates/ard/ard-registry/src/search_request.rs                                                          32       1  96.88%   43
crates/ard/ard-registry/src/registry_config.rs                                                         16       0  100.00%
crates/ard/ard-registry/src/search_filters.rs                                                          28       0  100.00%
crates/ard/ard-registry/src/source_url.rs                                                              26       1  96.15%   30
crates/ard/ard-registry/src/facet_field.rs                                                             13       0  100.00%
crates/ard/ard-registry/src/router.rs                                                                  33       0  100.00%
crates/ard/ard-registry/src/registry.rs                                                               134       3  97.76%   78, 174, 183
crates/ard/ard-registry/src/filters.rs                                                                 31       0  100.00%
crates/ard/ard-registry/src/http_error.rs                                                              17       0  100.00%
crates/ard/ard-registry/src/list_agents_request.rs                                                     21       0  100.00%
crates/ard/ard-registry/src/explore_request.rs                                                         30       0  100.00%
crates/platform/trogonai-proto/src/session/sessions/validate.rs                                       552       0  100.00%
crates/platform/trogonai-proto/src/session/sessions/codec.rs                                          152       0  100.00%
crates/platform/trogon-identity-types/src/act_chain.rs                                                 13       0  100.00%
crates/a2a/a2a-nats/src/push/push_notification_config_id.rs                                            17       0  100.00%
crates/a2a/a2a-nats/src/push/target.rs                                                                 19       0  100.00%
crates/a2a/a2a-nats/src/push/terminal_push_task_state.rs                                               17       0  100.00%
crates/a2a/a2a-nats/src/push/nats_push_subject.rs                                                      12       0  100.00%
crates/a2a/a2a-nats/src/push/push_notification_config.rs                                                6       0  100.00%
crates/a2a/a2a-nats/src/push/authentication_header.rs                                                  31       0  100.00%
crates/a2a/a2a-nats/src/push/push_notification_target.rs                                               32       0  100.00%
crates/a2a/a2a-nats/src/push/status_transition_id.rs                                                   15       0  100.00%
crates/a2a/a2a-nats/src/push/push_idempotency_key.rs                                                   43       0  100.00%
crates/a2a/a2a-nats/src/push/dlq.rs                                                                    56       0  100.00%
crates/a2a/a2a-nats/src/push/dispatch_error.rs                                                         24       0  100.00%
crates/a2a/a2a-nats/src/push/push_payload.rs                                                           18       0  100.00%
crates/a2a/a2a-nats/src/push/delivery_semantics.rs                                                     98       0  100.00%
crates/a2a/a2a-nats/src/push/dlq_dedup.rs                                                              51       1  98.04%   79
crates/a2a/a2a-nats/src/push/caller_id.rs                                                              41       0  100.00%
crates/a2a/a2a-nats/src/push/idempotency_key_header.rs                                                 16       0  100.00%
crates/a2a/a2a-nats/src/push/push_delivery_semantics_registry.rs                                       17       0  100.00%
crates/decider/trogon-decider-sim/src/session.rs                                                       23       4  82.61%   47-55
crates/decider/trogon-decider-sim/src/import_check.rs                                                  52       4  92.31%   81-83, 103
crates/decider/trogon-decider-sim/src/scenario.rs                                                     189      12  93.65%   352-354, 366-374, 504
crates/decider/trogon-decider-sim/src/host.rs                                                          69       0  100.00%
crates/decider/trogon-decider-sim/src/fixture.rs                                                       18       2  88.89%   33-35
crates/decider/trogon-decider-sim/src/ir.rs                                                           113      11  90.27%   212-214, 235, 251-253, 265-267, 283
crates/decider/trogon-decider-sim/src/native.rs                                                        81       2  97.53%   196, 214
crates/decider/trogon-decider-sim/src/parity.rs                                                        66       6  90.91%   91-93, 95-97
crates/mcp/mcp-nats/src/nats/mod.rs                                                                    23       0  100.00%
crates/mcp/mcp-nats/src/nats/parsing.rs                                                                54       1  98.15%   13
crates/a2a/a2a-nats/src/catalog/import_gate/spicedb/cache.rs                                           36       0  100.00%
crates/a2a/a2a-nats/src/catalog/import_gate/spicedb/client.rs                                          29      15  48.28%   43-69, 97-99, 108-117
crates/a2a/a2a-nats/src/catalog/import_gate/spicedb/config.rs                                          70       0  100.00%
crates/a2a/a2a-nats/src/catalog/import_gate/spicedb/mod.rs                                            108       0  100.00%
crates/decider/trogon-decider/src/events.rs                                                            49       0  100.00%
crates/decider/trogon-decider/src/act.rs                                                               62       0  100.00%
crates/decider/trogon-decider/src/testing.rs                                                          284       0  100.00%
crates/decider/trogon-decider/src/decision.rs                                                          27       0  100.00%
crates/a2a/a2a-redaction/src/signed_bundle/digest.rs                                                   26       0  100.00%
crates/a2a/a2a-redaction/src/signed_bundle/public_key.rs                                               36       2  94.44%   44-45
crates/a2a/a2a-redaction/src/signed_bundle/verify.rs                                                   64       2  96.88%   86-87
crates/a2a/a2a-redaction/src/signed_bundle/manifest.rs                                                 56       1  98.21%   82
crates/a2a/a2a-redaction/src/signed_bundle/signature.rs                                                30       3  90.00%   37-39
crates/acp/acp-nats/src/lib.rs                                                                         11       0  100.00%
crates/acp/acp-nats/src/ext_method_name.rs                                                             18       0  100.00%
crates/acp/acp-nats/src/error.rs                                                                       31       0  100.00%
crates/acp/acp-nats/src/client_proxy.rs                                                                67       1  98.51%   57
crates/acp/acp-nats/src/acp_prefix.rs                                                                  13       0  100.00%
crates/acp/acp-nats/src/pending_prompt_waiters.rs                                                      68       0  100.00%
crates/acp/acp-nats/src/req_id.rs                                                                      21       0  100.00%
crates/acp/acp-nats/src/session_id.rs                                                                  21       0  100.00%
crates/acp/acp-nats/src/wire.rs                                                                        80      14  82.50%   38, 46-60, 103
crates/acp/acp-nats/src/config.rs                                                                      84       0  100.00%
crates/acp/acp-nats/src/agent_handler.rs                                                               28       0  100.00%
crates/acp/acp-nats/src/client_handler.rs                                                              22       0  100.00%
crates/acp/acp-nats/src/in_flight_slot_guard.rs                                                         9       0  100.00%
crates/aauth/trogon-aauth-person/src/http/mod.rs                                                      213       0  100.00%
crates/decider/trogon-decider-runtime/src/headers/header_name.rs                                       28       0  100.00%
crates/decider/trogon-decider-runtime/src/headers/header_value.rs                                      34       0  100.00%
crates/decider/trogon-decider-runtime/src/headers/header_map.rs                                        54       0  100.00%
crates/a2a/a2a-auth-callout/src/credentials/oidc.rs                                                   188       4  97.87%   212-215
crates/a2a/a2a-auth-callout/src/credentials/api_key.rs                                                 46       1  97.83%   33
crates/a2a/a2a-auth-callout/src/credentials/mtls.rs                                                   153      13  91.50%   71-72, 168-169, 209-213, 216-219
crates/scheduler/trogon-scheduler-domain/src/commands/proto_wire.rs                                   138       1  99.28%   231
crates/scheduler/trogon-scheduler-domain/src/commands/remove_schedule.rs                               30       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/state.rs                                         82       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/create_schedule.rs                               32       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/pause_schedule.rs                                31       0  100.00%
crates/scheduler/trogon-scheduler-domain/src/commands/resume_schedule.rs                               34       0  100.00%
crates/a2a/a2a-nats/src/catalog/import_gate/principal.rs                                                9       0  100.00%
crates/a2a/a2a-nats/src/catalog/import_gate/allow_all.rs                                                2       0  100.00%
crates/ard/ard-registry/src/bin/ard-registry-demo/main.rs                                              64      20  68.75%   13-35
crates/platform/trogon-gateway/src/source_status.rs                                                    12       0  100.00%
crates/platform/trogon-gateway/src/http.rs                                                             13       0  100.00%
crates/platform/trogon-gateway/src/streams.rs                                                           7       0  100.00%
crates/platform/trogon-gateway/src/source_plugin.rs                                                   288       3  98.96%   83, 140-141
crates/platform/trogon-gateway/src/config.rs                                                         1198      32  97.33%   80, 724, 891, 1038, 1041, 1050, 1136-1143, 1221, 1224, 1233, 1292, 1295, 1379, 1382, 1391, 1456, 1459, 1536, 1539, 1548, 1624, 1627, 1641, 1700, 1703, 2013-2015
crates/platform/trogon-gateway/src/source_integration_id.rs                                            28       2  92.86%   58, 60
crates/platform/trogon-gateway/src/main.rs                                                             26       0  100.00%
crates/mcp/mcp-nats-server/src/main.rs                                                                  1       1  0.00%    67
crates/mcp/mcp-nats-server/src/config.rs                                                               58       0  100.00%
crates/mcp/mcp-nats-server/src/allowed_host.rs                                                         52       0  100.00%
crates/mcp/mcp-nats-server/src/runtime.rs                                                             565     275  51.33%   189-202, 249-271, 284-290, 304, 308-427, 436-439, 443-515, 520, 524-541, 580-582, 600-601, 612, 645-649, 691-699, 704-739, 765-776
crates/scheduler/trogon-scheduler/src/processor/execution/wakeup.rs                                    91       1  98.90%   125
crates/decider/trogon-decider-nats/src/snapshot_store.rs                                              467      48  89.72%   34-72, 260-262, 300-303, 413-419, 501, 637, 642, 738-740, 746-748, 782-783, 793-794, 813, 841-842
crates/decider/trogon-decider-nats/src/projector.rs                                                    88       3  96.59%   57-59
crates/decider/trogon-decider-nats/src/provision.rs                                                   100      22  78.00%   159, 164-172, 192, 197-208, 221
crates/decider/trogon-decider-nats/src/processor.rs                                                   109      17  84.40%   85-88, 217-220, 268-270, 277, 280-282, 308-310
crates/decider/trogon-decider-nats/src/store.rs                                                        73      45  38.36%   100-104, 151-217
crates/decider/trogon-decider-nats/src/stream_store.rs                                                252      18  92.86%   66-68, 280, 308-309, 312, 328-332, 448-449, 507, 520-524
crates/scheduler/trogon-scheduler/src/telemetry/metrics.rs                                             27       0  100.00%
crates/scheduler/trogon-scheduler/src/telemetry/trace.rs                                               20       0  100.00%
crates/platform/trogon-std/src/time/system.rs                                                           9       0  100.00%
crates/platform/trogon-std/src/time/mock.rs                                                            32       0  100.00%
crates/a2a/a2a-gateway/src/jwt_caller_identity.rs                                                     151       4  97.35%   164-168, 181-185
crates/a2a/a2a-gateway/src/lib.rs                                                                       3       0  100.00%
crates/a2a/a2a-gateway/src/agent_card_surface.rs                                                        3       0  100.00%
crates/a2a/a2a-gateway/src/config.rs                                                                   57       0  100.00%
crates/a2a/a2a-gateway/src/aauth.rs                                                                   288       0  100.00%
crates/a2a/a2a-gateway/src/main.rs                                                                      1       0  100.00%
crates/a2a/a2a-gateway/src/runtime.rs                                                                  11       0  100.00%
crates/a2a/a2a-gateway/src/audit_ingress.rs                                                           110       0  100.00%
crates/a2a/a2a-gateway/src/push_dlq_mirror.rs                                                         133      16  87.97%   155-159, 211, 216-219, 229, 254, 375-382
crates/a2a/a2a-gateway/src/gw_ingress_stream.rs                                                       144       4  97.22%   312-314, 529
crates/a2a/a2a-gateway/src/gw_pull_backpressure.rs                                                    209       3  98.56%   487, 687, 700
crates/platform/trogon-gateway/src/source/incidentio/incidentio_signing_secret.rs                      22       0  100.00%
crates/platform/trogon-gateway/src/source/incidentio/server.rs                                         72       0  100.00%
crates/platform/trogon-gateway/src/source/incidentio/incidentio_event_type.rs                          20       0  100.00%
crates/platform/trogon-gateway/src/source/incidentio/signature.rs                                       8       0  100.00%
crates/platform/trogonai-proto/src/convert.rs                                                          53       0  100.00%
crates/platform/trogonai-proto/src/lib.rs                                                              20       0  100.00%
crates/platform/trogonai-proto/src/codec.rs                                                            16       0  100.00%
crates/platform/trogon-nats/src/jetstream/stream_max_age.rs                                             8       0  100.00%
crates/platform/trogon-nats/src/jetstream/claim_check.rs                                              104       3  97.12%   43-45
crates/platform/trogon-nats/src/jetstream/mocks.rs                                                    941       1  99.89%   507
crates/platform/trogon-nats/src/jetstream/object_store.rs                                              11       0  100.00%
crates/platform/trogon-nats/src/jetstream/create_conflicts.rs                                          14       0  100.00%
crates/platform/trogon-nats/src/jetstream/publish.rs                                                   30       0  100.00%
crates/platform/trogon-nats/src/jetstream/traits.rs                                                    46      34  26.09%   181-239
crates/platform/trogon-nats/src/jetstream/claim_retention.rs                                           10       0  100.00%
crates/platform/trogon-std/src/env/enumerate_env.rs                                                     6       0  100.00%
crates/platform/trogon-std/src/env/read_env.rs                                                          3       0  100.00%
crates/platform/trogon-std/src/env/system.rs                                                           12       0  100.00%
crates/platform/trogon-std/src/env/in_memory.rs                                                        30       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/subscriptions/task_one_events.rs                                 12       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/subscriptions/agent_all.rs                                       12       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/subscriptions/task_all_events.rs                                  9       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/message_send.rs                                           15       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/card.rs                                                   12       0  100.00%
crates/a2a/a2a-nats/src/nats/subjects/agents/message_stream.rs                                         15       0  100.00%
crates/a2a/a2a-gateway/src/runtime/env.rs                                                              55       0  100.00%
crates/a2a/a2a-gateway/src/runtime/tier1.rs                                                            30       0  100.00%
crates/a2a/a2a-gateway/src/runtime/aauth_env.rs                                                       162       0  100.00%
crates/a2a/a2a-gateway/src/runtime/tier1_denial.rs                                                     34       1  97.06%   60
crates/a2a/a2a-gateway/src/runtime/reply.rs                                                             5       0  100.00%
crates/a2a/a2a-gateway/src/runtime/policy_stack.rs                                                     78      31  60.26%   82, 89, 101-110, 117-118, 133-143, 152-168, 173
crates/a2a/a2a-gateway/src/runtime/audit_publish.rs                                                    16       0  100.00%
crates/a2a/a2a-gateway/src/runtime/streaming.rs                                                        35       0  100.00%
crates/platform/trogon-gateway/src/source/github/signature.rs                                           9       0  100.00%
crates/platform/trogon-gateway/src/source/github/config.rs                                              9       0  100.00%
crates/platform/trogon-gateway/src/source/github/server.rs                                             50       0  100.00%
crates/decider/trogon-decider-wit/src/lib.rs                                                           53       1  98.11%   35
crates/a2a/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/a2a-gateway/src/policy/tier2_cel/compiler.rs                                                25       3  88.00%   61-63
crates/a2a/a2a-gateway/src/policy/tier2_cel/evaluator.rs                                              138       0  100.00%
TOTAL                                                                                               39413    1795  95.45%

Diff against main

Filename      Stmts    Miss  Cover
----------  -------  ------  --------
TOTAL             0       0  +100.00%

Results for commit: 3f27612

Minimum allowed coverage is 95%

♻️ This comment has been updated with latest results

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Copilot AI review requested due to automatic review settings July 31, 2026 03:27

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@yordis yordis changed the title feat(agents): carry charter instructions on the agent configuration chore(agents): keep agent instructions inside runtime settings Jul 31, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
docs/research/agent-instructions/harness-survey.md (2)

255-257: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Replace “standardized” with a qualified term.

The survey also records differing nested-file semantics and proposed specification changes. That evidence supports “de facto” or “widely adopted,” not “standardized.” Use a qualified term to avoid implying a shared contract.

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

In `@docs/research/agent-instructions/harness-survey.md` around lines 255 - 257,
Update the description in the survey’s dominant-form statement by replacing
“standardized” with a qualified term such as “de facto” or “widely adopted,”
without changing the surrounding scope or document examples.

13-17: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Correct Claude Agent SDK instructions to match the documented variants.

The TypeScript entry omits the { type: 'preset', preset: 'claude_code', ... } branch, and both line 13 and lines 259-260 list unsupported variants such as string[] and Python { type: 'file', path: str } before they were removed. Use the exact API forms documented for the pinned evidence date.

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

In `@docs/research/agent-instructions/harness-survey.md` around lines 13 - 17,
Update the Claude Agent SDK entries in the survey table and the corresponding
entries around lines 259-260 to match the pinned-date documentation: include the
TypeScript `{ type: 'preset', preset: 'claude_code', ... }` instruction branch,
and remove unsupported `string[]` and Python `{ type: 'file', path: str }`
variants. Retain only the documented API forms.

Source: MCP tools

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

Inline comments:
In `@docs/adr/0043-agent-instructions-ownership-and-shape.md`:
- Around line 39-53: Update the systemPrompt contract in the ADR evidence to
allow only a plain string or the named preset object, removing string[] from the
type. Correct the subsequent runtime claim to acknowledge that Claude accepts a
raw platform markdown string through the string form, while preserving the
distinction from Codex and Gemini surfaces used in the lossiness argument.
- Around line 150-154: The protobuf evolution statement should qualify adding
fields as wire-safe rather than unconditionally safe, while noting that
ProtoJSON may discard unknown fields by default. Restrict the oneof claim to
wire compatibility when an existing explicit-presence field is moved into a
newly created oneof, and remove any implication that existing mutually exclusive
members can be migrated this way.

In `@proto/trogonai/agents/agents/v1/agent.proto`:
- Around line 24-27: Enforce validation of populated AgentConfiguration.settings
before persisting or processing configuration: require settings.type_url to
match the configured AgentConfiguration.runtime, and reject mismatches in both
the provisioning flow and decider path. Preserve the existing default behavior
for absent settings.

---

Outside diff comments:
In `@docs/research/agent-instructions/harness-survey.md`:
- Around line 255-257: Update the description in the survey’s dominant-form
statement by replacing “standardized” with a qualified term such as “de facto”
or “widely adopted,” without changing the surrounding scope or document
examples.
- Around line 13-17: Update the Claude Agent SDK entries in the survey table and
the corresponding entries around lines 259-260 to match the pinned-date
documentation: include the TypeScript `{ type: 'preset', preset: 'claude_code',
... }` instruction branch, and remove unsupported `string[]` and Python `{ type:
'file', path: str }` variants. Retain only the documented API forms.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 87b374b8-8899-495b-baf0-f4abd5753091

📥 Commits

Reviewing files that changed from the base of the PR and between f591919 and 13f80e4.

⛔ Files ignored due to path filters (2)
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.agent.__view.rs is excluded by !**/gen/**
  • rsworkspace/crates/platform/trogonai-proto/src/gen/trogonai.agents.agents.v1.agent.rs is excluded by !**/gen/**
📒 Files selected for processing (6)
  • docs/adr/0043-agent-instructions-ownership-and-shape.md
  • docs/adr/index.md
  • docs/research/agent-instructions/harness-survey.md
  • docs/research/agent-instructions/index.md
  • docs/research/agent-instructions/prompt-management.md
  • proto/trogonai/agents/agents/v1/agent.proto
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/research/agent-instructions/prompt-management.md
  • docs/research/agent-instructions/index.md

Comment thread docs/adr/0043-agent-instructions-ownership-and-shape.md
Comment thread docs/adr/0043-agent-instructions-ownership-and-shape.md Outdated
Comment thread proto/trogonai/agents/agents/v1/agent.proto
yordis added 2 commits July 30, 2026 23:53
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Copilot AI review requested due to automatic review settings July 31, 2026 03:53

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@yordis
yordis merged commit de97086 into main Jul 31, 2026
20 checks passed
@yordis
yordis deleted the yordis/agent-instructions-oneof branch July 31, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants