Skip to content

Allow version, skills, domains as valid service object fields #8

Description

@a6b8

Problem

The RegistrationValidator does not recognize optional fields within service objects. Fields like version, skills, and domains inside a service entry likely trigger REG-040 at the top level or are silently ignored.

The ERC-8004 spec defines these optional service fields:

{
  "name": "OASF",
  "endpoint": "ipfs://{cid}",
  "version": "0.8",
  "skills": [],
  "domains": []
}

And:

{
  "name": "A2A",
  "endpoint": "https://agent.example/.well-known/agent-card.json",
  "version": "0.3.0"
}

Required Changes

In RegistrationValidator.mjs#validateServices():

  1. Accept version (string, optional) as a valid field on any service object
  2. Accept skills (array, optional) as a valid field — primarily for OASF services
  3. Accept domains (array, optional) as a valid field — primarily for OASF services
  4. Optionally warn if skills/domains are used on non-OASF services

Known valid service object fields per spec:

  • name (string, required) — service identifier
  • endpoint (string, required) — service URL/identifier
  • version (string, optional) — service version
  • skills (array, optional) — OASF agent skills
  • domains (array, optional) — OASF agent domains

Validation Data

version appears 3,158 times as top-level REG-040 — some of these may actually be service-level fields being misattributed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions