Skip to content

url-asset: require url_type (or shape-defining field) to disambiguate variants #2986

Description

@bokelley

Problem

url-asset is ambiguous in practice. The schema (static/schemas/source/core/assets/url-asset.json) requires only asset_type and url; url_type is optional. As a result, a conformant asset can look like:

{ "asset_type": "url", "url": "https://..." }

…and a receiving agent cannot tell whether this is a clickthrough, a tracker pixel, a tracker script, or something else. There is no fallback rule in the spec.

Proposal

Require one of:

  • url_type present (preferred — explicit), or
  • a shape-defining field that implies intent (e.g., dimensions for a pixel)

The simplest fix: make url_type required on url-asset. Current optionality doesn't buy us meaningful flexibility and pushes disambiguation onto buyer heuristics.

Impact

Buyer-side: removes the "everyone's just guessing" failure mode.
Seller-side: one additional required field on an already-small asset shape.
Back-compat: existing agents emitting url_type continue to work; agents omitting it need to start including it (straightforward migration).

Source

Reported by Nastassia Fulconis (Scope3) in early 3.0 feedback, 2026-04-23.

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions