Summary
When using jumpstarter via MCP or CLI (jmp shell -- j ...) from an AI coding agent, there's no programmatic way to discover the correct flash workflow for a given board type. The agent has to guess, and guessing wrong results in silent hangs rather than actionable errors.
What happened
@jtligon prompted an AI coding agent (Claude Code) with:
"Build this demo for 8775 and flash that build to a board. If it fails, show me the relevant errors in the serial console log."
The agent:
- Successfully built an aarch64 disk image for the
ride4_sa8775p_sx_r3 target
- Leased a
board-type=qc8775 board via jmp create lease
- Attempted to flash the raw disk image:
j storage flash /path/to/image.aarch64.img
This hung indefinitely — the RIDE SX boards require per-partition flashing via fastboot:
j storage flash -t system_a:system_a.img -t boot_a:boot_a.img
The agent had no way to discover this from j storage flash --help, the exporter metadata, or the MCP tool schema. A human had to intervene with board-specific knowledge.
The discoverability gap
j storage flash --help shows generic examples but doesn't indicate which approach applies to the currently connected board
- Exporter/board metadata (
board-type=qc8775) doesn't expose flash requirements (partition targets, image format, flash method)
- The MCP server doesn't surface board-specific workflows or constraints
- There's no
j storage info or similar introspection command that reports what the connected board needs
Suggestions (not mutually exclusive)
-
Board-aware flash help — j storage flash --help or a new j storage info command could report the connected board's flash requirements: required partition targets, supported image formats, whether raw full-disk images are accepted vs. per-partition images required.
-
Exporter metadata — include flash-relevant info in the exporter's advertised capabilities or labels (e.g., flash-method=fastboot, flash-partitions=boot_a,system_a,system_b), queryable via jmp get exporters or MCP tools. This lets agents plan the workflow before leasing.
-
MCP tool descriptions — the MCP storage_flash tool schema could include board-specific parameter guidance when connected to a leased device, so agents know which -t targets are required.
-
Validation / early failure — if a board requires partition targets and none are provided, j storage flash should fail fast with a helpful error message listing the required partitions, rather than hanging silently. This is probably the highest-impact change regardless of agent usage.
Context
This came up during a real agentic workflow: building an automotive OS image and attempting to flash it to hardware via jumpstarter. The MCP integration exists specifically for agent use, so this discoverability gap directly undermines the agent experience. The agent successfully navigated leasing, building, and invoking the flash command — but couldn't discover the correct invocation without human knowledge of the board's fastboot partition scheme.
🤖 Generated with Claude Code
Summary
When using jumpstarter via MCP or CLI (
jmp shell -- j ...) from an AI coding agent, there's no programmatic way to discover the correct flash workflow for a given board type. The agent has to guess, and guessing wrong results in silent hangs rather than actionable errors.What happened
@jtligon prompted an AI coding agent (Claude Code) with:
The agent:
ride4_sa8775p_sx_r3targetboard-type=qc8775board viajmp create leaseThis hung indefinitely — the RIDE SX boards require per-partition flashing via fastboot:
The agent had no way to discover this from
j storage flash --help, the exporter metadata, or the MCP tool schema. A human had to intervene with board-specific knowledge.The discoverability gap
j storage flash --helpshows generic examples but doesn't indicate which approach applies to the currently connected boardboard-type=qc8775) doesn't expose flash requirements (partition targets, image format, flash method)j storage infoor similar introspection command that reports what the connected board needsSuggestions (not mutually exclusive)
Board-aware flash help —
j storage flash --helpor a newj storage infocommand could report the connected board's flash requirements: required partition targets, supported image formats, whether raw full-disk images are accepted vs. per-partition images required.Exporter metadata — include flash-relevant info in the exporter's advertised capabilities or labels (e.g.,
flash-method=fastboot,flash-partitions=boot_a,system_a,system_b), queryable viajmp get exportersor MCP tools. This lets agents plan the workflow before leasing.MCP tool descriptions — the MCP
storage_flashtool schema could include board-specific parameter guidance when connected to a leased device, so agents know which-ttargets are required.Validation / early failure — if a board requires partition targets and none are provided,
j storage flashshould fail fast with a helpful error message listing the required partitions, rather than hanging silently. This is probably the highest-impact change regardless of agent usage.Context
This came up during a real agentic workflow: building an automotive OS image and attempting to flash it to hardware via jumpstarter. The MCP integration exists specifically for agent use, so this discoverability gap directly undermines the agent experience. The agent successfully navigated leasing, building, and invoking the flash command — but couldn't discover the correct invocation without human knowledge of the board's fastboot partition scheme.
🤖 Generated with Claude Code