Rudder Real Runtime Verifier Maintainer
Verify Rudder agent runtime behavior on the user's real local Rudder instance.
This is a black-box runtime acceptance workflow, not an implementation or code
review workflow.
Default to Chinese when the user asks in Chinese. Put the current truth first:
which runtimes passed, failed, or were blocked, and what transcript evidence
proves it.
Role Boundary
Default to verification and diagnosis only:
- Run real local runtime probes and inspect run transcripts, logs, API state,
issue state, comments, and run metadata.
- Create disposable orgs, agents, issues, and runs when needed for proof.
- Separate provider/model failure from Rudder adapter failure.
- Report exact blockers and smallest likely fixes.
- As an independent verifier, do not edit source, configs, Git state, or product
docs. Return findings to the implementer. The parent retains any existing
fix authority; verification does not require that authority to be repeated.
If the user asks to fix the issue, hand back to the lifecycle implementation
route or make the smallest explicit patch, then require this skill's real
runtime proof again before claiming done.
When This Skill Wins
Use this skill when the core question is whether an agent runtime actually did
the work through Rudder-managed tools in a real local run.
Typical prompts:
- "你所有的 agent runtime 都本地测过跑过真实环境了吗?"
- "OpenCode and Pi agent 你也测了吗?"
- "看 transcript,别让它 fallback 用 rudder cli"
- "排查所有 rudder tools,都试一遍"
- "MCP tool 报 org id/auth 问题,正常 agent 调 tool 不该传 org"
- "Codex/Claude/OpenCode/Pi 真实环境跑一下"
If the user asks for general product acceptance that is not runtime/tool-call
specific, use product-acceptance-verifier-maintainer instead. If the user
provides only one failed run id and wants root cause, use
debug-run-transcript-maintainer first, then return here for rerun proof after
a fix.
Runtime Matrix
Select the runtime matrix from the user's request and the changed integration.
Test one runtime for a runtime-specific claim. Use the full supported matrix for
an explicit all-runtime claim or a shared adapter/tool change that affects it:
Extend the matrix when the user names additional supported runtimes such as Cursor or
Gemini. Do not treat a Codex pass as proof for another runtime.
Read only the relevant reference files:
references/probe-workflow.md: real local setup, disposable data, probe
script expectations, and proof levels.
references/transcript-evidence.md: how to prove tool use and reject CLI
fallback from logs.
references/codex.md: Codex MCP transcript shape and known traps.
references/claude.md: Claude MCP transcript shape and strict config traps.
references/opencode.md: OpenCode MCP transcript shape, provider/model
caveats, JSONL parser expectations, and final-text pitfalls.
references/pi.md: Pi native extension transcript shape, schema/error
propagation traps, and 429/auth/provider separation.
references/reporting.md: verdict format, mutation ledger, and pass/fail
language.
Acceptance Standard
A runtime passes only when all are true:
- The local Rudder source of truth is identified, usually
GET /api/health on http://127.0.0.1:3100.
- A real local run was triggered for that runtime, or an existing real local
run was inspected with enough raw transcript/log evidence.
- The transcript shows the expected Rudder MCP/native tool calls.
- There is no model-visible fallback to shell, Bash, curl, or
rudder CLI for
Rudder work.
- Tool results are not internally failed (
isError, structured error,
rudder_cli_command_failed, missing required argument, auth/org failure).
- The terminal product effect was read back: issue status, comments, run
status, final text, API result, or another requested surface.
- Provider/model blockers are separated from Rudder adapter/tool blockers.
If the user requires "all tools", do not only run a happy-path issue workflow.
Run or request a manifest-driven coverage plan: list every exposed tool, verify
schemas load, check runtime-managed identity is not model-provided, and execute
representative read/mutate/file/image/pagination/error cases. Mark unexecuted
tools as not covered.
Default Probe Ladder
Use the smallest probe that answers the question, then escalate only as needed:
- Tool availability probe: call
rudder_agent_me, require final answer
to say MCP/tool path and no fallback.
- Issue workflow probe: seed an issue, then require
rudder_issue_context, rudder_issue_checkout,
rudder_issue_comment, and rudder_issue_done; read back final issue
status and comments.
- Representative matrix probe: add read/list/pagination/file/comment/image
examples such as
rudder_runs_errors, rudder_library_file_ref,
inbox/context, review, chat, or automation.
- Full manifest audit: prove every exposed Rudder tool has a stable name,
schema, description, and handler classification; execute safe read-only
tools and representative mutating tools in disposable data.
Known Judgment Rules
- A successful final answer is not enough. Inspect raw or parsed transcript.
- A tool call name in prompt text is not evidence. Use structured tool-call
events or parsed run-intelligence entries.
- A run can fail after completing the product effect. Report that separately:
tool/product effect passed; runtime finalization failed.
- A provider 429/auth/model error before any tool call is not an MCP auth/org
bug. Mark it
blocked_provider.
- If a tool result contains
isError: true but the runtime marks the tool call
completed, treat the runtime as failed or at least suspect until fixed.
- Internal runtime-owned bridges may execute a server process. That is
acceptable only if the model-visible action is a typed Rudder tool and
runtime env owns identity. It is not acceptable if the model uses Bash/curl or
runs
rudder ... itself for Rudder work.
Output
Use references/reporting.md for the full shape. At minimum include:
- overall verdict:
PASS, FAIL, or QUESTION for the requested matrix;
observed required behavior failure yields FAIL; otherwise missing required
proof or provider access yields QUESTION; complete required proof yields PASS
- verdict per runtime:
PASS, FAIL, BLOCKED_PROVIDER, PARTIAL, or
NOT_RUN
- run IDs, issue IDs, org IDs when disposable data was created
- observed tool names
- whether CLI/Bash/curl fallback was observed
- internal tool errors
- terminal product effect
- skipped coverage and why
- mutation ledger
Do not say "all green" if any runtime is blocked, substituted, partial, or only
covered by simple agent_me.
1---2name: rudder-real-runtime-verifier-maintainer3description: Use when verifying Rudder agent runtime behavior in a real local environment, especially MCP/native Rudder tools across Codex, Claude, OpenCode, Pi, or user-named runtimes. Trigger for requests like 真是/真实环境跑过吗, 排查所有 rudder tools, transcript/fallback verification, runtime MCP availability, provider matrix proof, or checking whether agents used Rudder tools instead of rudder CLI/Bash/curl fallback.4---56# Rudder Real Runtime Verifier Maintainer78Verify Rudder agent runtime behavior on the user's real local Rudder instance.9This is a black-box runtime acceptance workflow, not an implementation or code10review workflow.1112Default to Chinese when the user asks in Chinese. Put the current truth first:13which runtimes passed, failed, or were blocked, and what transcript evidence14proves it.1516## Role Boundary1718Default to verification and diagnosis only:1920- Run real local runtime probes and inspect run transcripts, logs, API state,21 issue state, comments, and run metadata.22- Create disposable orgs, agents, issues, and runs when needed for proof.23- Separate provider/model failure from Rudder adapter failure.24- Report exact blockers and smallest likely fixes.25- As an independent verifier, do not edit source, configs, Git state, or product26 docs. Return findings to the implementer. The parent retains any existing27 fix authority; verification does not require that authority to be repeated.2829If the user asks to fix the issue, hand back to the lifecycle implementation30route or make the smallest explicit patch, then require this skill's real31runtime proof again before claiming done.3233## When This Skill Wins3435Use this skill when the core question is whether an agent runtime actually did36the work through Rudder-managed tools in a real local run.3738Typical prompts:3940- "你所有的 agent runtime 都本地测过跑过真实环境了吗?"41- "OpenCode and Pi agent 你也测了吗?"42- "看 transcript,别让它 fallback 用 rudder cli"43- "排查所有 rudder tools,都试一遍"44- "MCP tool 报 org id/auth 问题,正常 agent 调 tool 不该传 org"45- "Codex/Claude/OpenCode/Pi 真实环境跑一下"4647If the user asks for general product acceptance that is not runtime/tool-call48specific, use `product-acceptance-verifier-maintainer` instead. If the user49provides only one failed run id and wants root cause, use50`debug-run-transcript-maintainer` first, then return here for rerun proof after51a fix.5253## Runtime Matrix5455Select the runtime matrix from the user's request and the changed integration.56Test one runtime for a runtime-specific claim. Use the full supported matrix for57an explicit all-runtime claim or a shared adapter/tool change that affects it:5859- Codex60- Claude61- OpenCode62- Pi6364Extend the matrix when the user names additional supported runtimes such as Cursor or65Gemini. Do not treat a Codex pass as proof for another runtime.6667Read only the relevant reference files:6869- `references/probe-workflow.md`: real local setup, disposable data, probe70 script expectations, and proof levels.71- `references/transcript-evidence.md`: how to prove tool use and reject CLI72 fallback from logs.73- `references/codex.md`: Codex MCP transcript shape and known traps.74- `references/claude.md`: Claude MCP transcript shape and strict config traps.75- `references/opencode.md`: OpenCode MCP transcript shape, provider/model76 caveats, JSONL parser expectations, and final-text pitfalls.77- `references/pi.md`: Pi native extension transcript shape, schema/error78 propagation traps, and 429/auth/provider separation.79- `references/reporting.md`: verdict format, mutation ledger, and pass/fail80 language.8182## Acceptance Standard8384A runtime passes only when all are true:85861. The local Rudder source of truth is identified, usually87 `GET /api/health` on `http://127.0.0.1:3100`.882. A real local run was triggered for that runtime, or an existing real local89 run was inspected with enough raw transcript/log evidence.903. The transcript shows the expected Rudder MCP/native tool calls.914. There is no model-visible fallback to shell, Bash, curl, or `rudder` CLI for92 Rudder work.935. Tool results are not internally failed (`isError`, structured error,94 `rudder_cli_command_failed`, missing required argument, auth/org failure).956. The terminal product effect was read back: issue status, comments, run96 status, final text, API result, or another requested surface.977. Provider/model blockers are separated from Rudder adapter/tool blockers.9899If the user requires "all tools", do not only run a happy-path issue workflow.100Run or request a manifest-driven coverage plan: list every exposed tool, verify101schemas load, check runtime-managed identity is not model-provided, and execute102representative read/mutate/file/image/pagination/error cases. Mark unexecuted103tools as not covered.104105## Default Probe Ladder106107Use the smallest probe that answers the question, then escalate only as needed:1081091. **Tool availability probe**: call `rudder_agent_me`, require final answer110 to say MCP/tool path and no fallback.1112. **Issue workflow probe**: seed an issue, then require112 `rudder_issue_context`, `rudder_issue_checkout`,113 `rudder_issue_comment`, and `rudder_issue_done`; read back final issue114 status and comments.1153. **Representative matrix probe**: add read/list/pagination/file/comment/image116 examples such as `rudder_runs_errors`, `rudder_library_file_ref`,117 inbox/context, review, chat, or automation.1184. **Full manifest audit**: prove every exposed Rudder tool has a stable name,119 schema, description, and handler classification; execute safe read-only120 tools and representative mutating tools in disposable data.121122## Known Judgment Rules123124- A successful final answer is not enough. Inspect raw or parsed transcript.125- A tool call name in prompt text is not evidence. Use structured tool-call126 events or parsed run-intelligence entries.127- A run can fail after completing the product effect. Report that separately:128 `tool/product effect passed; runtime finalization failed`.129- A provider 429/auth/model error before any tool call is not an MCP auth/org130 bug. Mark it `blocked_provider`.131- If a tool result contains `isError: true` but the runtime marks the tool call132 completed, treat the runtime as failed or at least suspect until fixed.133- Internal runtime-owned bridges may execute a server process. That is134 acceptable only if the model-visible action is a typed Rudder tool and135 runtime env owns identity. It is not acceptable if the model uses Bash/curl or136 runs `rudder ...` itself for Rudder work.137138## Output139140Use `references/reporting.md` for the full shape. At minimum include:141142- overall verdict: `PASS`, `FAIL`, or `QUESTION` for the requested matrix;143 observed required behavior failure yields `FAIL`; otherwise missing required144 proof or provider access yields `QUESTION`; complete required proof yields `PASS`145- verdict per runtime: `PASS`, `FAIL`, `BLOCKED_PROVIDER`, `PARTIAL`, or146 `NOT_RUN`147- run IDs, issue IDs, org IDs when disposable data was created148- observed tool names149- whether CLI/Bash/curl fallback was observed150- internal tool errors151- terminal product effect152- skipped coverage and why153- mutation ledger154155Do not say "all green" if any runtime is blocked, substituted, partial, or only156covered by simple `agent_me`.