Skip to content

feat: Arazzo 1.1 support, source resolution, and schema index attribution - #612

Open
daveshanley wants to merge 3 commits into
mainfrom
arazz-me
Open

feat: Arazzo 1.1 support, source resolution, and schema index attribution#612
daveshanley wants to merge 3 commits into
mainfrom
arazz-me

Conversation

@daveshanley

@daveshanley daveshanley commented Jul 26, 2026

Copy link
Copy Markdown
Member

Arazzo:

  • Add 1.1 model surface: selectors, output values, version/origin helpers, and the extended step/workflow/action fields, in both low and high models.
  • Rework the runtime expression parser and evaluator with a shared symbol table, 1.1 runtime sources, and stricter grammar/version conformance.
  • Add a pluggable source description resolver (CandidateDocumentProvider, SourceDocumentResolver, and OpenAPI/AsyncAPI/Arazzo adapters) so callers can supply source documents without libopenapi performing I/O.
  • Tighten validation and error reporting, including negative 1.1 fixtures, and extend the execution engine preflight checks.

Schema and index:

  • Add SpecIndex.ResolveDocumentVersion so version dependent decisions can fall back to the rolodex root and decline when no version is reachable.
  • Correct schema index attribution during build so schemas report the file their content actually came from; document the SchemaProxy.GetIndex contract.
  • Fix inline $ref rendering for examples and v3 models.

what-changed:

  • Copy only public fields when building the allOf comparison view, avoiding a copy of the schema's internal sync.Map.

Plus extensive test coverage across arazzo, orderedmap, json, and the new index attribution fixtures.

…tion

Arazzo:
- Add 1.1 model surface: selectors, output values, version/origin helpers, and
  the extended step/workflow/action fields, in both low and high models.
- Rework the runtime expression parser and evaluator with a shared symbol table,
  1.1 runtime sources, and stricter grammar/version conformance.
- Add a pluggable source description resolver (CandidateDocumentProvider,
  SourceDocumentResolver, and OpenAPI/AsyncAPI/Arazzo adapters) so callers can
  supply source documents without libopenapi performing I/O.
- Tighten validation and error reporting, including negative 1.1 fixtures, and
  extend the execution engine preflight checks.

Schema and index:
- Add SpecIndex.ResolveDocumentVersion so version dependent decisions can fall
  back to the rolodex root and decline when no version is reachable.
- Correct schema index attribution during build so schemas report the file their
  content actually came from; document the SchemaProxy.GetIndex contract.
- Fix inline $ref rendering for examples and v3 models.

what-changed:
- Copy only public fields when building the allOf comparison view, avoiding a
  copy of the schema's internal sync.Map.

Plus extensive test coverage across arazzo, orderedmap, json, and the new
index attribution fixtures.
@daveshanley daveshanley changed the title feat: Arazzo 1.1 support, source resolution, and schema index attribu… Arazzo 1.1 support, source resolution, and schema index attribution Jul 26, 2026
@blacksmith-sh

This comment has been minimized.

@codecov

codecov Bot commented Jul 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.87%. Comparing base (0837c9b) to head (da69ee7).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #612      +/-   ##
==========================================
+ Coverage   99.78%   99.87%   +0.08%     
==========================================
  Files         283      291       +8     
  Lines       34456    36093    +1637     
==========================================
+ Hits        34382    36047    +1665     
+ Misses         46       27      -19     
+ Partials       28       19       -9     
Flag Coverage Δ
unittests 99.87% <100.00%> (+0.08%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@daveshanley daveshanley changed the title Arazzo 1.1 support, source resolution, and schema index attribution feat: Arazzo 1.1 support, source resolution, and schema index attribution Jul 27, 2026
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