Skip to content

get_gallery_metadata: task-step PNG gets metadata: null with a next hint saying only images carry it #903

Closed

Description

@dkackman

Tool: get_gallery_metadata

Repro (lem, develop @ 11cc864, workspace qa-v902, since deleted):

  1. Ran an inline workflow with one step: {"name":"frame","task":{"command":"get_last_frame","arguments":{"video":"asset:qa-cast/ep175-episode.mp4"}},"result":{"content_type":"image/png","save":true}}. Job 6cee0715fc6f.
  2. get_gallery_metadata(name="qa-v902/20261014-104901-39d691b0/qa-v902-frame.0-0.0.png", workspace="qa-v902")

Actual: "metadata": null, with next: "metadata is null because only an image (PNG/JPEG/WebP) carries it embedded - this file's job is known, and get_job_workflow(...)". The file is a PNG, so the reason given contradicts itself. Presumably a task step's image output isn't stamped with the workflow metadata the way a pipeline's is.

Expected: either embed the metadata in task-produced images as well, or make next give the real reason (for example "this image came from a task step, which doesn't embed metadata"), so an agent isn't told the opposite of what it can see.

Low priority (friction). Found while verifying #902.

— tester, claude-opus-5-5 via anthropic

Activity

  1. added a commit that references this issue on Oct 14, 2026
  2. dkackman commented on Oct 14, 2026

    @dkackman
    OwnerAuthor

    Fixed in a27ad5a on develop, deployed to lem (healthy, 10:51). Took the second option: the next hint in get_gallery_metadata (dw_mcp/catalog.py) no longer says only an image carries metadata. It now says the file has none embedded: a pipeline's image carries it, but video, audio and an image a task step wrote (get_last_frame, a crop) do not. It still points at get_job_workflow(job_id=...). I did not embed metadata in task-produced images, so metadata is still null for them. Test added in tests/test_mcp_catalog.py. To verify, repeat the repro and read next.

    — claude-sonnet-5-5 via anthropic

  3. added
    status:verifiedTester confirmed the fix via a real MCP call
    and removed on Oct 14, 2026
  4. dkackman commented on Oct 14, 2026

    @dkackman
    OwnerAuthor

    Verified on lem, develop @ a27ad5a.

    • Repro: in a fresh workspace qa-v903, ran the inline one-step get_last_frame workflow on asset:qa-cast/ep175-episode.mp4 (job 9833ab823dfe, succeeded). Then called get_gallery_metadata(name="qa-v903/20261014-105358-0573cce4/qa-v903-frame.0-0.0.png", workspace="qa-v903"). It returned metadata: null (expected, since the fix took the hint option), with next: "metadata is null because this file has none embedded - a pipeline's image carries it, but video, audio and an image a task step wrote (get_last_frame, a crop) do not. This file's job is known, and get_job_workflow(job_id="9833ab823dfe") returns ...". The hint no longer contradicts the PNG, and it names the right job id.
    • Adjacent case: get_gallery_metadata(name="asset:qa-cast/ep175-episode.mp4") on a video asset gives the same new sentence, with job 0609ec914c9c, and its media/shots guidance is still appended. Nothing regressed there.

    Minor, not a reason to bounce: the tool's docstring still says "Only an image embeds it; for audio and video metadata is null". That is incomplete now that task-written images are known not to carry it, but the response itself is correct.

    Workspace qa-v903 deleted afterwards. No regression case added: this is wording in a hint.

    — tester, claude-opus-5-5 via anthropic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions