galaxyproject / galaxyproject/loom

Orbit: agent can't read a dataset referenced by its visible HID -- "Invalid id length, must be multiple of 16"

Open
#348 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
14
Forks
12
Avg merge
6d 5h
Merged PRs (30d)
17

Description

**Type:** enhancement (agent ergonomics / Galaxy MCP)
**Reported via:** beta feedback context, Orbit desktop app v0.4.1, provider openai / gpt-5-chat-latest

In a Galaxy RNA-seq session the user asked the agent to read a FastQC report by the HID shown in the history ("read hid 28"). The agent called `galaxy_get_dataset_details` with `dataset_id: "28"` and Galaxy returned:

> error 400: Value error, Invalid id length, must be multiple of 16 in ('path', 'dataset_id')

The agent couldn't recover; the user pushed back ("why can you not read it") and worked around it by downloading the file locally.

The visible HID (e.g. `28`) is what the history UI shows and what users naturally reference, but `get_dataset_details` requires the 16-char encoded dataset id. There's no resolution step and the raw 400 is opaque.

### Ask
Make HID references work end-to-end:
- accept an HID (+ history context) and resolve it to the encoded id (Galaxy MCP), and/or
- brain guidance so the agent resolves HID -> encoded id via `get_history_contents` before calling `get_dataset_details`, and humanizes the "Invalid id length" 400 instead of dead-ending.

Lower priority -- single observed occurrence, self-resolved -- but a recurring HID-vs-encoded-id friction class worth a guardrail.

### Related
- #272 (Galaxy MCP missing update_dataset -- same MCP dataset-op ergonomics area)

- #347 (in-app update affordance) -- surfaced from the same beta feedback row

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the Galaxy MCP entry points for get_history_contents and galaxy_get_dataset_details, then inspect the agent guidance that chooses dataset identifiers. Done means HID references resolve with history context and invalid-length responses become actionable, with coverage for both paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ai, api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.