fix(mcp): test passes timeout_seconds and check_ignore to runners that reject them
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 67/100
調査の方向性
Start with _parseTest in lib/src/mcp/mcp_server.dart, then read the runner option definitions in lib/src/commands/test/test.dart and lib/src/commands/dart/commands/dart_test_command.dart. Reproduce both argument combinations from the issue and check the MCP schema descriptions. Done when each combination either works on both runners or returns a clear validation failure naming the unsupported argument and runner.
索引モデルが issue の本文から書いたものです。
説明
Description
The MCP test tool builds a command line from its arguments without checking which runner will receive it. Two arguments are accepted by the tool schema but rejected by one of the two runners, so the call fails with exit 64 before any test runs.
| Tool arguments | Command built | Result |
|---|---|---|
dart: true, timeout_seconds: 180 |
very_good dart test --timeout 180 -- … |
Could not find an option named "--timeout". |
check_ignore: true on a Flutter package |
very_good test --coverage --min-coverage 100 --check-ignore … |
Could not find an option named "--check-ignore". |
The cause is visible on main (8c772f3):
_parseTestinlib/src/mcp/mcp_server.dartappends--check-ignoreand--timeoutunconditionally, whichever runnerdartselects.--timeoutis registered only onvery_good test(lib/src/commands/test/test.dart).--check-ignoreis registered only onvery_good dart test(lib/src/commands/dart/commands/dart_test_command.dart).- Neither the
timeout_secondsnor thecheck_ignoreschema description says it is runner-specific.
This bites agents twice: an agent told to "always set timeout_seconds" cannot test a pure Dart package, and an agent told to pass check_ignore cannot test a Flutter one. The plugin's green-gate skill currently instructs both (VeryGoodOpenSource/vgv-ai-flutter-plugin#178).
Steps To Reproduce
- Call the MCP
testtool on a pure Dart package with{"dart": true, "timeout_seconds": 60}. - Observe
partial_failure/validation:Could not find an option named "--timeout". - Call the MCP
testtool on a Flutter package with{"check_ignore": true}. - Observe
partial_failure/validation:Could not find an option named "--check-ignore".
Expected Behavior
One of the following, in order of preference:
- Each argument works on both runners:
very_good dart testgains--timeout(ideally the wall-clock kill from #1765 / #1766) andvery_good testgains--check-ignore. - Otherwise, the handler validates combinations before running and returns a
validationfailure that names the argument and the runner it applies to, and the schema descriptions say which runner each argument supports.
Additional Context
-
Seen in field use in 3 of 310 calls (sessions
2007f494on 2026-10-07 and493ade61on 2026-10-14). Transcript excerpts are available on request. -
very_good_cli 1.5.0, Dart 3.13.5, Flutter 3.47.6, macOS 26.5 arm64, Claude Code 2.1.302.
-
Related: #1765 (timeout does not kill a hung run), #1705 (MCP surface narrower than the CLI).
-
Tracking issue: VeryGoodOpenSource/vgv-ai-flutter-plugin#180
- 主要言語
- Dart
- スター
- 2.4k
- フォーク
- 244
- 平均マージ
- 2日 16時間
- マージ済み PR(30日)
- 21
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
VeryGoodOpenSource/very_good_cli のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
VeryGoodOpenSource/very_good_cli#1783 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 57/100
VeryGoodOpenSource/very_good_cli#1784 ·
メンテナーはふだん 1 日以内に返信
-
feature
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
VeryGoodOpenSource/very_good_cli#1782 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 1〜2日 初心者へのやさしさ 55/100
VeryGoodOpenSource/very_good_cli#1781 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
VeryGoodOpenSource/very_good_cli#1780 ·
メンテナーはふだん 1 日以内に返信
VeryGoodOpenSource/very_good_cli の issue をすべて見る
似ている issue
-
area/ci-build bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
DarkFlippers/qUnleashed#423 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
google/skills_lint.dart#152 ·
メンテナーはふだん 1 日以内に返信
-
Docs: correct the unbuilt "full re-verify" claim and three untrue sync comments対応中かも @ibanner56 が今日担当しました。 オープンarea: sync priority: low severity: trivial type: docs
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
ibanner56/CallersCompendium#1942 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: 编辑器替换栏关闭按钮错位オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
appshubcc/Bettbox#584 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信