Inconsistency
SPEC.md §9 (Action fields table, lines 286-305) marks the following action fields as required:
| Field |
Required |
id |
yes |
description |
yes |
auth_required |
yes |
inputs |
yes |
outputs |
yes |
But §15 Conformance (lines 425-435) only lists action description as SHOULD:
A conforming agent.json file SHOULD:
- Declare error recovery for all expected failure states
- Include
description on every action
- Declare
sensitivity on destructive or irreversible actions
auth_required, inputs, outputs are not mentioned in §15 at all. So an implementer who reads §15 as authoritative will produce an action with only id + via + operation (since endpoint/method are conditional on via), and miss four "required" fields that §9 marks mandatory.
Example in the wild
laclawclaw.com/.well-known/agent.json (cited in v0.2 changelog as the reference implementation) shipped with skeletal actions for ~6 weeks. Just patched in LaClawClaw/laclawclaw#1. If the reference implementation can't get this right, the spec text is ambiguous.
Proposed resolution (v0.3)
Pick one of:
Option A — tighten §15. Add the §9-required action fields to the MUST list in conformance. Clear, strict, breaks any existing implementation that ships skeletal actions.
Option B — relax §9. Mark description, auth_required, inputs, outputs as recommended (not required), with a clear note that omitting them limits agent planning. Keep §15 SHOULD.
Option C — two-tier conformance. Define minimal vs full conformance levels. Minimal = top-level fields + bare actions (current §15). Full = all §9 fields populated. Implementations advertise which level they conform to via a top-level field.
Option B is most pragmatic for early adoption (low-friction onboarding). Option A is technically cleanest. Option C is most flexible but adds a new field.
Happy to draft a PR once direction is picked.
Inconsistency
SPEC.md §9 (Action fields table, lines 286-305) marks the following action fields as required:
iddescriptionauth_requiredinputsoutputsBut §15 Conformance (lines 425-435) only lists action
descriptionas SHOULD:auth_required,inputs,outputsare not mentioned in §15 at all. So an implementer who reads §15 as authoritative will produce an action with onlyid+via+operation(sinceendpoint/methodare conditional onvia), and miss four "required" fields that §9 marks mandatory.Example in the wild
laclawclaw.com/.well-known/agent.json(cited in v0.2 changelog as the reference implementation) shipped with skeletal actions for ~6 weeks. Just patched in LaClawClaw/laclawclaw#1. If the reference implementation can't get this right, the spec text is ambiguous.Proposed resolution (v0.3)
Pick one of:
Option A — tighten §15. Add the §9-required action fields to the MUST list in conformance. Clear, strict, breaks any existing implementation that ships skeletal actions.
Option B — relax §9. Mark
description,auth_required,inputs,outputsas recommended (not required), with a clear note that omitting them limits agent planning. Keep §15 SHOULD.Option C — two-tier conformance. Define
minimalvsfullconformance levels. Minimal = top-level fields + bare actions (current §15). Full = all §9 fields populated. Implementations advertise which level they conform to via a top-level field.Option B is most pragmatic for early adoption (low-friction onboarding). Option A is technically cleanest. Option C is most flexible but adds a new field.
Happy to draft a PR once direction is picked.