Skip to content

Make malformed extensions fatal in Agent Plugins 1.1 - #23

Closed
jonathanhefner wants to merge 1 commit into
start-v1.1.0from
agent/simplify-manifest-validation
Closed

Make malformed extensions fatal in Agent Plugins 1.1#23
jonathanhefner wants to merge 1 commit into
start-v1.1.0from
agent/simplify-manifest-validation

Conversation

@jonathanhefner

@jonathanhefner jonathanhefner commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Summary

Agent Plugins 1.0 permits clients to continue loading when extensions is not an object, even though the manifest does not conform to the schema. This PR removes that exception from Agent Plugins 1.1, leaving unknown top-level fields as the sole non-fatal schema violation. The resulting loading rule distinguishes unrecognized fields from malformed recognized fields.

Rationale

Unknown top-level fields remain non-fatal because they may be defined by a later Agent Plugins version. Reporting and ignoring them supports forward compatibility without assigning semantics to data the client does not understand. A non-object extensions value has no equivalent forward-compatibility role: extensions is a recognized portable field, and its object shape establishes the boundary around client-specific namespaces. Treating it like every other recognized-field violation gives 1.1 a single exception with a single purpose.

The schema remains closed rather than accepting unknown top-level fields, preserving typo detection and schema-driven completion. A separate permissive loading schema would duplicate the manifest structure and could drift from the authoring schema. Instead, the schema $comment explains how clients apply the unknown-field loading exception while validating against the strict schema.

Compatibility

The published 1.0 contract is unchanged. A client that supports both versions selects the appropriate loading behavior from the declared $schema value. This affects only schema-invalid 1.1 manifests; conforming plugins are unaffected.

Related: agentplugins#77

Validation

  • git diff --check
  • parsed schemas/1.1.0/plugin.schema.json as JSON
  • parsed all seven JSON examples in spec/1.1.0.md
  • verified the published 1.0 specification and schema are unchanged

Comment thread schemas/1.1.0/plugin.schema.json Outdated
Comment thread spec/1.1.0.md Outdated
Comment thread spec/1.1.0.md Outdated
Comment thread spec/1.1.0.md Outdated
@jonathanhefner jonathanhefner changed the title Simplify 1.1 manifest validation semantics Make malformed extensions fatal in Agent Plugins 1.1 Sep 1, 2026
Treat a non-object `extensions` field like every other recognized-field
schema violation. Keep unknown top-level fields as the sole non-fatal
exception so clients can support forward compatibility without weakening
strict authoring validation.

Leave Agent Plugins 1.0 behavior unchanged, document the loading
exception in the strict schema, and align the extension namespace,
conformance, and failure wording.
@jonathanhefner
jonathanhefner force-pushed the agent/simplify-manifest-validation branch from 906ac0f to 6b0210e Compare September 1, 2026 22:57
@jonathanhefner

Copy link
Copy Markdown
Owner Author

Submitted as agentplugins#82.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant