Skip to content

fix: release the reference lock before resolving its pointer - #230

Merged
TristanSpeakEasy merged 8 commits into
speakeasy-api:mainfrom
OmarAlJarrah:fix/reference-resolve-self-deadlock
Aug 6, 2026
Merged

fix: release the reference lock before resolving its pointer#230
TristanSpeakEasy merged 8 commits into
speakeasy-api:mainfrom
OmarAlJarrah:fix/reference-resolve-self-deadlock

Conversation

@OmarAlJarrah

@OmarAlJarrah OmarAlJarrah commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

A JSON pointer that passes through the reference it is resolving breaks three separate things: resolution deadlocks, GetObject recurses until the stack is gone, and the parent links are left pointing in a loop. Each is fixed below.

1. Resolution deadlocks

Reference.resolve held the reference's own cacheMutex write lock across the call to references.Resolve (reference.go#L537-L557). That call navigates the document, and navigating into a reference calls GetObject, which takes a read lock on that reference (reference.go#L293).

sync.RWMutex is not reentrant, so a $ref whose JSON pointer passes through the reference being resolved blocks forever on a lock its own goroutine holds. No concurrency is involved — this is a single-goroutine self-deadlock, and standalone it aborts with fatal error: all goroutines are asleep - deadlock!.

An 83-byte document is enough:

openapi: 3.1.0
info: {title: t, version: "1"}
paths:
  /a: {$ref: '#/paths/~1a/t'}

ResolveAllReferences never returns.

How the pointer reaches the in-flight reference

Directly, when the pointer's own prefix names it — the case above. The final /t segment is never evaluated; the walk deadlocks on the #/paths/~1a prefix.

Through the cache delegation at reference.go#L299, where GetObject forwards to referenceResolutionCache.Object.GetObject(). An already-resolved reference forwards into the one currently resolving:

paths:
  /a: {$ref: '#/paths/~1b'}
  /b: {$ref: '#/paths/~1a/t'}

Resolving /a completes, then resolving /b navigates to /a, which forwards straight back into /b while /b's write lock is held.

Neither shape is caught by resolveObjectWithTracking: its referenceChain is only extended once a hop completes, so a hop that re-enters itself is never compared against it.

The change. Take the write lock only for the double-check, release it while resolving, and re-acquire to publish the result — re-checking the cache in case another goroutine published first.

Concurrent resolution of the same reference may now duplicate work. The published result is whichever completes first and every caller returns it, so the resolved value is consistent; the cost is a second traversal, and the discarded result's entry in the root document's object cache.

2. GetObject recurses through a cyclic resolution cache

Independent of the lock, and not fixed by changing it. When a resolution chain closes a loop, the references involved are left holding caches that point back into it, and GetObject's delegation walked that by recursing into the next reference's GetObject. A loop there exhausts the goroutine stack and aborts the process:

runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow

Two shapes reach it. A reference can resolve to itself, because GetJSONPointer trims the pointer, so '#/paths/~1a ' — one trailing space — names /a:

paths:
  /a:
    $ref: '#/paths/~1a '
    get: {operationId: a, responses: {"200": {description: ok}}}

Or two references can resolve to each other, where neither is a self-reference:

paths:
  /a:
    $ref: '#/paths/~1b '
    get: {operationId: a, responses: {"200": {description: ok}}}
  /b:
    $ref: '#/paths/~1a '
    get: {operationId: b, responses: {"200": {description: ok}}}

Both report the circular reference they should — circular reference detected: test.yaml#/paths/~1a -> test.yaml#/paths/~1a and the two-hop equivalent — but the tracker only reaches that verdict on the hop after the caches are published, so the loop is already in place by the time it returns. Any consumer that then calls GetObject takes the process down.

Legitimate circular references are unaffected: there the last hop is never resolved, so its cache stays empty and the chain terminates.

The change. GetObject walks the chain iteratively, tracking what it has seen and returning nil once a reference repeats. That covers a cycle of any length and leaves the resolution errors and the published cache exactly as they were. Suppressing the publish instead is not viable — resolveObjectWithTracking reads ref.referenceResolutionCache.ResolvedDocument as soon as resolve returns a next reference, so an empty cache trades the overflow for a nil dereference.

3. Parent links close the same loop

resolveObjectWithTracking sets SetParent/SetTopLevelParent on each hop before recursing, including the hop that closes a cycle. In the two-reference case that leaves a.parent = b alongside b.parent = a, so a caller walking the public GetParent or GetTopLevelParent loops forever.

The absolute references the tracker already collects cannot answer this on their own: a pointer can name a reference that is already in the chain, so one reference value can appear under two different absolute references.

The change. Carry the reference values alongside referenceChain and skip the links for any value the chain has already been through. The cycle is still reported by the recursive call, and anything that resolves cleanly keeps its links.

Test plan

TestResolveAllReferences_PointerTraversingItsOwnReference covers seven shapes: direct prefix, prefix with a resolving pointer, the cache-delegation chain, the components spelling (#/components/pathItems/A/t), the webhooks spelling, the trimmed-pointer self-reference, and the two-reference cycle. Each asserts the specific error the document should produce, then calls GetObject and walks the parent links, which is where the second and third defects live.

TestGetObject_ChainWalking pins both ends of the chain walk: a three-hop chain still reaches its object, and a legitimate circular reference still reports no object.

The resolve runs in a goroutine with a 30-second bound, so a deadlock regression fails the test rather than hanging the suite.

  • Without the lock change: the five deadlock shapes fail on the timeout.
  • Without the GetObject walk: both cycle shapes abort the binary with fatal error: stack overflow.
  • Without the parent-link tracking: the two-reference case fails on /a: parent links cycle.
  • go test ./... — 44 packages, 0 failures.
  • go test -race ./openapi/... ./references/... ./jsonpointer/... — clean.
  • golangci-lint run ./openapi/... — 0 issues.

Found by fuzzing a downstream consumer, where the deadlock presented as workers dying with no diagnostic — go test -fuzz wires worker stderr to /dev/null, so it only ever surfaced as EOF.

Note: the schema resolver has the same defect, not fixed here

jsonschema/oas3 resolves schema references through its own tracker, and that one still recurses forever on a reference cycle. It is unchanged by this PR and reproduces identically on main and on this branch, so it is called out here rather than folded in.

It needs a schema whose entire body is a $ref — an alias — participating in a cycle:

components:
  schemas:
    A: {$ref: '#/components/schemas/B'}
    B: {$ref: '#/components/schemas/A'}

ResolveAllReferences aborts the process with fatal error: stack overflow in resolveJSONSchemaWithTracking. A bare self-alias (A: {$ref: '#/components/schemas/A'}) does the same.

Ordinary recursive schemas are unaffected — a schema referencing itself through a property, or two schemas referencing each other through properties, both resolve cleanly. Spelled with path items instead of schemas, the alias cycle above is already reported correctly as circular reference detected: test.yaml#/components/pathItems/A -> ... -> test.yaml#/components/pathItems/A, so this is an asymmetry between the two resolvers rather than a gap in cycle handling generally.

The cause is the cache short-circuit at resolution.go#L173-L177, which returns nil in place of the reference chain:

if s.referenceResolutionCache != nil {
    if s.referenceResolutionCache.Object != nil {
        return nil, nil, nil        // chain discarded
    }

Every cached hop hands an empty chain back to the recursion at resolution.go#L403, so the tracker resets and never matches. Instrumenting the recursion on the self-alias case shows the chain filling once and then staying empty against a schema pointer that never changes:

depth=1 len(chain)=0 schema=0x...b08 cacheSet=false
depth=2 len(chain)=1 schema=0x...b08 cacheSet=true
depth=3 len(chain)=0 schema=0x...b08 cacheSet=true
depth=4 len(chain)=0 schema=0x...b08 cacheSet=true
...

The parent links have the matching problem: resolution.go#L398-L399 sets them unconditionally, so the same probe shows schema.parent == schema and schema.topLevelParent == schema from the second hop on — the schema-side version of the parent-link fix in this PR.

Worth a follow-up.


Summary by cubic

Prevents self-deadlocks, stack overflows, and parent-link cycles during $ref resolution. Resolution, GetObject, and parent-link access are now safe under cycles and concurrency; cyclic/self-refs return clear circular/unresolved errors instead of crashing.

  • Bug Fixes

    • Release per-reference cacheMutex while calling references.Resolve; re-check and publish under lock to avoid self-deadlocks when traversal hits the in-flight ref.
    • Walk the resolution cache chain in GetObject iteratively with cycle detection; return nil on loops instead of recursing.
    • Guard parent links with an ancestry check and publish under a shared referenceParentMutex; GetParent/GetTopLevelParent/Set* use the same lock to prevent races, skip linking when the next ref is already an ancestor/self, and stop concurrent resolvers from rebuilding cycles.
  • Refactors

    • Flattened the double-check in Reference.resolve: read caches under lock, unlock, branch on copies; re-lock only to publish.

Written for commit abd2b11. Summary will update on new commits.

Review in cubic

Reference.resolve held the reference's own cacheMutex write lock across the
call to references.Resolve. That call navigates the document, and navigating
into a reference calls GetObject, which takes a read lock on that reference.
sync.RWMutex is not reentrant, so a $ref whose JSON pointer passes through the
reference being resolved blocked forever on a lock its own goroutine held.

A pointer reaches the in-flight reference either directly, when its own prefix
names it:

    paths:
      /a: {$ref: '#/paths/~1a/t'}

or through GetObject's cache delegation, when an already-resolved reference
forwards to the one currently resolving:

    paths:
      /a: {$ref: '#/paths/~1b'}
      /b: {$ref: '#/paths/~1a/t'}

Both hang the process. Neither is caught by resolveObjectWithTracking, whose
reference chain is only extended once a hop completes, so a hop that re-enters
itself is never compared against it.

The same lock scope caused a second failure. When a reference resolved to
itself -- reachable because GetJSONPointer trims the pointer, so
'#/paths/~1a ' names /a -- the resolution cache was left pointing at its own
reference, and GetObject's delegation to
referenceResolutionCache.Object.GetObject() recursed until the goroutine stack
was exhausted.

Take the write lock only for the double-check, release it while resolving, and
re-acquire to publish the result, re-checking the cache in case another
goroutine published first. Concurrent resolution of the same reference may now
duplicate work, which is wasted effort rather than a correctness problem: the
published result is whichever completes first, and every caller returns it.

With the lock released, both shapes resolve to the errors they should always
have produced -- an unresolved reference, or "circular reference detected" from
the existing tracker.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Re-trigger cubic

@TristanSpeakEasy TristanSpeakEasy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the lock-scope change and its post-resolution cache state.

Validation:

  • go test -count=1 -run TestResolveAllReferences_PointerTraversingItsOwnReference ./openapi: passed.
  • go test -race -count=1 ./openapi ./references ./jsonpointer: passed.
  • A focused probe confirmed that the trimmed-pointer case returns a circular-reference error but leaves referenceResolutionCache.Object equal to the original reference.

Requesting changes for the resulting fatal GetObject recursion called out inline.

Comment thread openapi/reference.go
Releasing the reference lock keeps resolution from deadlocking, but it does
not change what gets published. A $ref whose pointer names a reference
already in the chain still leaves that reference holding a resolution cache
that points back into the chain, and GetObject followed it by recursing into
the next reference's GetObject. Walking a cycle that way exhausts the
goroutine stack and aborts the process.

Two shapes reach it. A reference can resolve to itself, and two references
can resolve to each other -- the tracker only reports the cycle on the hop
after both caches are published, so neither one is a self-reference. A
pointer-identity check against the reference being resolved would catch the
first and miss the second.

Walk the chain iteratively instead, tracking what has been seen and returning
nil once it repeats. That covers a cycle of any length, and it leaves the
resolution errors and the published cache exactly as they were. Also skip the
parent links when a reference resolves to itself, so GetParent and
GetTopLevelParent do not loop for anyone walking them.

The existing cases now assert the specific error they produce rather than
just that one occurred, and every case checks GetObject afterwards, which is
where the crash actually lived.

@TristanSpeakEasy TristanSpeakEasy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed the follow-up commit. The previous fatal GetObject recursion is fixed by the iterative cycle-aware chain walk, and the strengthened tests cover both self-cycles and multi-reference cycles.

Validation:

  • go test -count=1 -run 'TestResolveAllReferences_PointerTraversingItsOwnReference|TestGetObject_ChainWalking' ./openapi: passed.
  • go test -race -count=1 ./openapi ./references ./jsonpointer: passed.
  • go test -count=1 ./...: passed.
  • Same-reference concurrent-resolution race probe: passed across 10 race-enabled runs.

A focused probe against the new two-reference case confirmed a remaining cyclic parent-link state, called out inline. This review supersedes my earlier request for changes on 3efdc1c.

Comment thread openapi/reference.go Outdated
The previous guard only covered a reference that resolved to itself. With
/a and /b resolving to each other, the second hop has ref == b and
nextRef == a, so it passed the guard and published a.parent = b alongside
b.parent = a. GetObject no longer walks that, but GetParent and
GetTopLevelParent are public and a caller walking them still loops.

The absolute references the tracker already collects cannot answer this:
a pointer can name a reference that is already in the chain, so one
reference value can appear under two different absolute references. Track
the reference values alongside them and skip the links for any value the
chain has already been through. The cycle is still reported by the
recursive call, so nothing that resolves cleanly loses its links.

The two-reference case now asserts that both the parent chain and the
top-level parent terminate.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 3 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Fix all with cubic | Re-trigger cubic

Comment thread openapi/reference.go Outdated
The deferred unlock inside the conditional, paired with a bare unlock on
the branch below it, was correct but easy to break: every future edit to
the block has to reason about which of the two paths releases the lock.

Read the cache under the lock, release it, then branch on the copy. Same
behaviour, one unlock, and it matches how the read-lock check above it
already reads.

@TristanSpeakEasy TristanSpeakEasy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed the two follow-up commits. The identity-chain guard fixes parent links for a single ResolveAllReferences traversal, including cycles longer than two nodes, and the flattened cache double-check preserves the intended lock behavior.

Validation:

  • Focused cycle, chain, and parent-link tests: passed.
  • go test -race -count=1 ./openapi ./references ./jsonpointer: passed.
  • go test -count=1 ./...: passed.
  • Three-reference-cycle parent-link probe: passed.
  • Same-reference concurrent-resolution probe: passed across 10 race-enabled runs.

A focused public-API re-entry probe confirmed the parent cycle can still be recreated across two separate Reference.Resolve calls, called out inline. This review supersedes my review on d02ba760.

Comment thread openapi/reference.go Outdated
The per-call chain only knew about hops made by one Resolve. Each member
of a cycle can be resolved by its own call: resolving /a leaves
b.parent = a, and resolving /b afterwards starts a fresh chain, sees /a
as new, and adds a.parent = b on top of it. ResolveAllReferences never
hit this because it skips references already marked resolved, but
Reference.Resolve has no such guard.

Ask the links instead. A reference is unsafe to parent to another when it
is already reachable from it, which holds across calls because the links
are the record that survives them. That subsumes what the chain covered,
so the extra parameter goes away and the signature returns to what it was.

TestResolve_SeparateCallsOverCycle resolves both members of a cycle in
separate calls and walks their links; without the guard it fails on
/a: parent links cycle.

@TristanSpeakEasy TristanSpeakEasy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed the latest follow-up. The ancestry-based guard fixes the previously reported sequential public-Resolve case, including reverse call order and three-member cycles.

Validation:

  • Focused cycle, separate-call, chain, and parent-link tests: passed.
  • go test -race -count=1 ./openapi ./references ./jsonpointer: passed.
  • go test -count=1 ./...: passed.
  • Reverse-order and three-separate-call probe: passed.
  • Concurrent two-member Resolve probe under -race: failed with confirmed races on parent and topLevelParent.

The ancestry check and parent publication are still not atomic across concurrent Resolve calls, called out inline. This review supersedes my review on 9f9c8a6a.

Comment thread openapi/reference.go Outdated
@TristanSpeakEasy

Copy link
Copy Markdown
Member

Suggested regression matrix before the next re-review

To keep the fixes from moving the failure between resolution caches, GetObject, and parent links, I recommend covering these as one matrix:

Resolution and cache cycles

  • Direct pointer through itself: path, component path item, and webhook forms.
  • One-node cycle: a reference resolves to itself.
  • Two-node cycle: /a -> /b -> /a.
  • Three-node cycle: /a -> /b -> /c -> /a.
  • Successful acyclic chain with at least three hops.

For every invalid case, assert:

  • Resolution returns the specific expected resolution error; do not let an incidental validation error satisfy the test.
  • The call completes within a bound—no mutex deadlock.
  • GetObject() returns nil—no recursive cache walk or stack exhaustion.
  • Walking GetParent() terminates for every member.
  • No reference is its own GetTopLevelParent().

Public Reference.Resolve entry points

  • Resolve every member separately, not only through ResolveAllReferences.
  • Cover both call orders for a two-node cycle: a then b, and b then a.
  • Resolve all three members of a three-node cycle in separate calls.
  • Resolve the same valid reference repeatedly and preserve the same resolved behavior.
  • For valid chains, assert exact parent semantics—not just absence of a cycle: child parent, root parent, and top-level parent should all be the expected pointers.

Concurrency

Use a start barrier so both goroutines enter together; a normal parallel test may not overlap enough to expose the bug.

  • Concurrently call a.Resolve() and b.Resolve() for a mutual cycle.
  • Repeat that test under -race and assert both parent chains terminate afterward.
  • Concurrently resolve the same valid reference from many goroutines and assert all callers observe a valid result.
  • Ensure the ancestry check and parent/topLevelParent publication are synchronized as one operation; individually synchronized getters/setters are not sufficient if opposite edges can both pass the check.

Suggested validation:

go test -race -count=20 -run 'TestResolve_.*Cycle|TestResolveAllReferences_PointerTraversingItsOwnReference|TestGetObject_ChainWalking' ./openapi
go test -race -count=1 ./openapi ./references ./jsonpointer
go test -count=1 ./...

The important missing regression on the current head is the barrier-synchronized concurrent a.Resolve() / b.Resolve() case. On f58f208b, that reproduces data races on parent and topLevelParent; it also leaves the ancestry check vulnerable to both goroutines accepting opposite edges before either publishes.

Deciding whether an edge is safe means reading links that belong to other
references, so the check and the write that follows it have to be one
operation. They were not: two resolvers running concurrently could each
walk the ancestry, each see nothing, and then publish opposite edges,
rebuilding the cycle the check exists to prevent. Reading ref.topLevelParent
and walking GetParent also raced against SetParent and SetTopLevelParent,
which the race detector reports once both members of a cycle are resolved
at the same time.

Per-reference locks cannot cover this, because the state being checked
spans references. Guard the parent and topLevelParent fields of every
Reference with one lock instead, and move the check and both writes into a
single critical section under it. The accessors take it too, so the links
are safe to read while another goroutine resolves. Resolution itself is
unaffected: the links are only touched once per hop, against work that
parses and navigates documents.

Tests cover the matrix these fixes span: one, two and three node cycles;
every member resolved separately, in both orders; the links a valid chain
is expected to leave, asserted as exact pointers and unchanged by resolving
twice; and two barrier-synchronized concurrent cases, one racing both
members of a cycle and one racing many resolvers of the same valid
reference.
@OmarAlJarrah

Copy link
Copy Markdown
Contributor Author

Worked through the matrix — it is all on dc2a4df now, apart from one item folded into others.

Resolution and cache cycles: direct pointer through itself in path, component path-item and webhook forms, one-node, two-node and three-node cycles, plus a three-hop chain that resolves. Every invalid case asserts the specific circular/unresolved error rather than accepting any error, runs under a 30s bound, and then checks GetObject() is nil, that walking GetParent() terminates, and that nothing is its own GetTopLevelParent().

Public Resolve: both call orders for the two-node cycle and all three members of the three-node cycle, each resolved by its own call. Valid chains assert exact pointers — child parent, root parent, top-level parent, and that the head has no parent — and resolve twice to show the links are not disturbed.

Concurrency: barrier-synchronized, as you said, since parallel tests do not overlap reliably enough. One test races both members of a cycle, one races 16 resolvers of the same valid reference and checks every caller observes the object. Both leave the parent chains walkable.

The missing regression you called out was the real one. It reproduced the races on f58f208 at the ancestry walk and the ref.topLevelParent read; details and the fix are in the reply on that thread. The ancestry check and both link writes are now one critical section under a lock shared by the link graph, which is what makes them a single operation rather than individually-synchronized accessors.

Not taken as its own case: resolving the same valid reference repeatedly is covered sequentially by the valid-chain test and concurrently by the 16-resolver test.

All three of your validation commands are clean, plus golangci-lint run ./openapi/... at 0 issues.

@TristanSpeakEasy TristanSpeakEasy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed the graph-wide parent-link synchronization at dc2a4df.

The shared lock makes the ancestry check and both parent-link writes atomic, synchronizes the public parent accessors, and does not introduce a lock-order inversion with reference cache resolution. The expanded tests cover the full regression matrix: one-/two-/three-node cycles, separate public Resolve calls in both orders, exact valid-chain parent pointers, concurrent opposite cycle members, and concurrent same-reference resolution.

Validation:

  • go test -race -count=20 -run 'TestResolve_ConcurrentCallsOverCycle|TestResolve_ConcurrentCallsSameReference|TestResolve_SeparateCallsOverCycle|TestResolve_ValidChainParentLinks' ./openapi: passed.
  • go test -race -count=1 ./openapi ./references ./jsonpointer: passed.
  • go test -count=1 ./...: passed.
  • Full diff whitespace check: passed.
  • PR checks: successful (one check passed, one skipped, none failing/pending).

The remaining review observations are non-blocking test-strengthening or pre-existing API behavior, not regressions introduced by this PR. Approving; this review supersedes my earlier changes-requested reviews.

@TristanSpeakEasy
TristanSpeakEasy enabled auto-merge (squash) August 5, 2026 23:33
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

📊 Test Coverage Report

Current Coverage: 83.5%
Main Branch Coverage: 83.5%

Coverage Change: ✅ No change

Coverage by Package

Package Coverage
arazzo/core 🟠 65.7%
overlay/loader 🟠 65.9%
extensions/core 🟡 75.0%
arazzo 🟡 76.8%
values/core 🟡 81.7%
arazzo/criterion 🟡 83.5%
extensions 🟡 84.4%
internal/testutils 🟡 85.7%
json 🟡 85.7%
oq 🟡 86.2%
graph 🟡 86.5%
openapi 🟡 86.5%
marshaller 🟡 86.7%
overlay 🟡 86.7%
swagger/core 🟡 86.9%
references 🟡 88.0%
jsonschema/oas3 🟡 88.5%
swagger 🟡 89.8%
openapi/linter/converter 🟢 90.8%
yml 🟢 90.9%
system 🟢 91.7%
jsonpointer 🟢 91.9%
openapi/core 🟢 92.0%
expression 🟢 92.4%
hashing 🟢 92.8%
jsonschema/oas3/core 🟢 92.9%
oq/expr 🟢 92.9%
values 🟢 93.0%
walk 🟢 93.2%
linter 🟢 93.4%
openapi/linter/rules 🟢 93.5%
sequencedmap 🟢 94.1%
internal/utils 🟢 95.9%
openapi/linter 🟢 98.7%
validation 🟢 99.0%
linter/fix 🟢 99.2%
linter/format 🟢 99.3%
cache 🟢 100.0%
errors 🟢 100.0%
internal/interfaces 🟢 100.0%
internal/sliceutil 🟢 100.0%
internal/version 🟢 100.0%
pointer 🟢 100.0%
📋 Detailed Coverage by Function (click to expand)
github.com/speakeasy-api/openapi/arazzo/arazzo.go:59:							WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:67:							Unmarshal					91.7%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:90:							Marshal						100.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:95:							Sync						0.0%
github.com/speakeasy-api/openapi/arazzo/arazzo.go:103:							Validate					88.9%
github.com/speakeasy-api/openapi/arazzo/components.go:42:						Validate					84.6%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:33:						Unmarshal					90.0%
github.com/speakeasy-api/openapi/arazzo/core/criterion.go:73:						SyncChanges					72.2%
github.com/speakeasy-api/openapi/arazzo/core/factory_registration.go:11:				init						52.1%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:27:						Unmarshal					93.3%
github.com/speakeasy-api/openapi/arazzo/core/reusable.go:58:						SyncChanges					21.1%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:42:					newCondition					87.5%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:81:					Validate					60.0%
github.com/speakeasy-api/openapi/arazzo/criterion/condition.go:107:					handleQuotedString				100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:54:					Validate					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:85:					IsTypeProvided					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:105:					GetCore						100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:110:					IsTypeProvided					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:119:					GetType						100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:132:					GetVersion					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:140:					Populate					0.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:176:					Sync						66.7%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:184:					GetCondition					100.0%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:189:					Validate					94.4%
github.com/speakeasy-api/openapi/arazzo/criterion/criterion.go:229:					validateCondition				93.3%
github.com/speakeasy-api/openapi/arazzo/criterion/factory_registration.go:6:				init						50.0%
github.com/speakeasy-api/openapi/arazzo/factory_registration.go:12:					init						92.9%
github.com/speakeasy-api/openapi/arazzo/failureaction.go:58:						Validate					58.3%
github.com/speakeasy-api/openapi/arazzo/info.go:33:							Validate					75.0%
github.com/speakeasy-api/openapi/arazzo/parameter.go:50:						Validate					81.5%
github.com/speakeasy-api/openapi/arazzo/payloadreplacement.go:32:					Validate					76.5%
github.com/speakeasy-api/openapi/arazzo/requestbody.go:33:						Validate					93.3%
github.com/speakeasy-api/openapi/arazzo/reusable.go:42:							Get						66.7%
github.com/speakeasy-api/openapi/arazzo/reusable.go:50:							IsReference					100.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:54:							GetReferencedObject				7.7%
github.com/speakeasy-api/openapi/arazzo/reusable.go:102:						Validate					87.5%
github.com/speakeasy-api/openapi/arazzo/reusable.go:136:						validateReference				71.4%
github.com/speakeasy-api/openapi/arazzo/reusable.go:204:						validateComponentReference			62.5%
github.com/speakeasy-api/openapi/arazzo/reusable.go:227:						typeToComponentType				75.0%
github.com/speakeasy-api/openapi/arazzo/reusable.go:241:						componentTypeToReusableType			100.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:21:					Find						100.0%
github.com/speakeasy-api/openapi/arazzo/sourcedescription.go:57:					Validate					76.9%
github.com/speakeasy-api/openapi/arazzo/step.go:23:							Find						100.0%
github.com/speakeasy-api/openapi/arazzo/step.go:69:							Validate					80.8%
github.com/speakeasy-api/openapi/arazzo/successaction.go:53:						Validate					75.0%
github.com/speakeasy-api/openapi/arazzo/successaction.go:118:						validationActionWorkflowIDAndStepID		77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:51:							Walk						100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:60:							walk						69.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:91:							walkInfo					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:106:							walkSourceDescriptions				88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:125:							walkSourceDescription				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:140:							walkWorkflows					100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:159:							walkWorkflow					62.5%
github.com/speakeasy-api/openapi/arazzo/walk.go:199:							walkReusableParameters				88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:218:							walkReusableParameter				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:234:							walkJSONSchema					87.5%
github.com/speakeasy-api/openapi/arazzo/walk.go:254:							convertSchemaMatchFunc				100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:268:							convertSchemaLocation				100.0%
github.com/speakeasy-api/openapi/arazzo/walk.go:286:							walkSteps					88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:305:							walkStep					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:335:							walkReusableSuccessActions			88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:354:							walkReusableSuccessAction			66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:370:							walkReusableFailureActions			88.9%
github.com/speakeasy-api/openapi/arazzo/walk.go:389:							walkReusableFailureAction			66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:405:							walkComponents					64.3%
github.com/speakeasy-api/openapi/arazzo/walk.go:440:							walkComponentInputs				22.2%
github.com/speakeasy-api/openapi/arazzo/walk.go:459:							walkComponentParameters				77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:478:							walkParameter					66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:493:							walkComponentSuccessActions			77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:512:							walkSuccessAction				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:527:							walkComponentFailureActions			77.8%
github.com/speakeasy-api/openapi/arazzo/walk.go:546:							walkFailureAction				66.7%
github.com/speakeasy-api/openapi/arazzo/walk.go:610:							getMatchFunc					55.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:22:							Find						100.0%
github.com/speakeasy-api/openapi/arazzo/workflow.go:65:							Validate					62.2%
github.com/speakeasy-api/openapi/cache/manager.go:23:							ClearAllCaches					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:31:							ClearURLCache					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:38:							ClearReferenceCache				100.0%
github.com/speakeasy-api/openapi/cache/manager.go:45:							ClearFieldCache					100.0%
github.com/speakeasy-api/openapi/cache/manager.go:57:							GetAllCacheStats				100.0%
github.com/speakeasy-api/openapi/errors/errors.go:16:							Error						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:21:							Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:26:							As						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:36:							Wrap						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:45:							Error						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:52:							Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:56:							As						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:60:							Unwrap						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:67:							Is						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:72:							As						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:77:							New						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:82:							Join						100.0%
github.com/speakeasy-api/openapi/errors/errors.go:90:							UnwrapErrors					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:83:						String						100.0%
github.com/speakeasy-api/openapi/expression/expression.go:88:						Validate					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:186:						IsExpression					83.3%
github.com/speakeasy-api/openapi/expression/expression.go:214:						GetType						100.0%
github.com/speakeasy-api/openapi/expression/expression.go:220:						GetParts					91.7%
github.com/speakeasy-api/openapi/expression/expression.go:242:						GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/expression/expression.go:247:						getType						100.0%
github.com/speakeasy-api/openapi/expression/expression.go:262:						validateName					100.0%
github.com/speakeasy-api/openapi/expression/expressions.go:4:						ExtractExpressions				100.0%
github.com/speakeasy-api/openapi/expression/factory_registration.go:8:					init						50.0%
github.com/speakeasy-api/openapi/expression/value.go:11:						GetValueOrExpressionValue			91.7%
github.com/speakeasy-api/openapi/extensions/core/extensions.go:16:					UnmarshalExtensionModel				75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:29:						NewElem						100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:43:						New						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:55:						Init						100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:60:						Len						66.7%
github.com/speakeasy-api/openapi/extensions/extensions.go:68:						SetCore						75.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:77:						GetCore						100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:81:						Populate					100.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:99:						UnmarshalExtensionModel				66.7%
github.com/speakeasy-api/openapi/extensions/extensions.go:124:						GetExtensionValue				70.0%
github.com/speakeasy-api/openapi/extensions/extensions.go:146:						IsEqual						100.0%
github.com/speakeasy-api/openapi/extensions/factory_registration.go:6:					init						75.0%
github.com/speakeasy-api/openapi/graph/graph.go:108:							Build						100.0%
github.com/speakeasy-api/openapi/graph/graph.go:135:							OutEdges					100.0%
github.com/speakeasy-api/openapi/graph/graph.go:140:							InEdges						100.0%
github.com/speakeasy-api/openapi/graph/graph.go:145:							SchemaByName					100.0%
github.com/speakeasy-api/openapi/graph/graph.go:153:							SchemaByPtr					0.0%
github.com/speakeasy-api/openapi/graph/graph.go:160:							OperationSchemas				100.0%
github.com/speakeasy-api/openapi/graph/graph.go:172:							SchemaOperations				100.0%
github.com/speakeasy-api/openapi/graph/graph.go:183:							registerNodes					88.2%
github.com/speakeasy-api/openapi/graph/graph.go:256:							buildEdges					58.1%
github.com/speakeasy-api/openapi/graph/graph.go:397:							resolveChild					42.9%
github.com/speakeasy-api/openapi/graph/graph.go:413:							resolveRef					83.3%
github.com/speakeasy-api/openapi/graph/graph.go:424:							addEdge						100.0%
github.com/speakeasy-api/openapi/graph/graph.go:431:							buildOperationEdges				92.0%
github.com/speakeasy-api/openapi/graph/graph.go:488:							findOperationSchemas				89.5%
github.com/speakeasy-api/openapi/graph/graph.go:559:							reachableBFS					90.9%
github.com/speakeasy-api/openapi/graph/graph.go:580:							computeMetrics					100.0%
github.com/speakeasy-api/openapi/graph/graph.go:618:							computeDepth					90.0%
github.com/speakeasy-api/openapi/graph/graph.go:638:							detectCycle					68.8%
github.com/speakeasy-api/openapi/graph/graph.go:667:							Ancestors					100.0%
github.com/speakeasy-api/openapi/graph/graph.go:703:							ShortestBidiPath				95.1%
github.com/speakeasy-api/openapi/graph/graph.go:775:							SchemaOpCount					100.0%
github.com/speakeasy-api/openapi/graph/graph.go:782:							StronglyConnectedComponents			90.0%
github.com/speakeasy-api/openapi/graph/graph.go:841:							intStr						100.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:15:							Hash						100.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:24:							formatHash					100.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:39:							toHashableString				92.5%
github.com/speakeasy-api/openapi/hashing/hashing.go:126:						structToHashableString				87.0%
github.com/speakeasy-api/openapi/hashing/hashing.go:175:						yamlNodeToHashableString			91.7%
github.com/speakeasy-api/openapi/hashing/hashing.go:200:						sequencedMapToHashableString			85.7%
github.com/speakeasy-api/openapi/internal/interfaces/interfaces.go:41:					ImplementsInterface				100.0%
github.com/speakeasy-api/openapi/internal/sliceutil/sliceutil.go:3:					Map						100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:22:					CreateStringYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:35:					CreateIntYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:45:					CreateBoolYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:55:					CreateMapYamlNode				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:72:					isInterfaceNil					100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:85:					AssertEqualSequencedMap				100.0%
github.com/speakeasy-api/openapi/internal/testutils/utils.go:132:					DownloadFile					0.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:33:					ClassifyReference				100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:100:					IsURL						100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:109:					IsFilePath					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:118:					IsFragment					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:130:					JoinWith					87.5%
github.com/speakeasy-api/openapi/internal/utils/references.go:166:					joinURL						66.7%
github.com/speakeasy-api/openapi/internal/utils/references.go:190:					joinFilePath					100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:226:					getWindowsDir					80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:237:					joinWindowsPaths				100.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:271:					isWindowsAbsolutePath				80.0%
github.com/speakeasy-api/openapi/internal/utils/references.go:285:					JoinReference					100.0%
github.com/speakeasy-api/openapi/internal/utils/slices.go:3:						MapSlice					100.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:12:					AnyToString					100.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:48:					BuildAbsoluteReference				100.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:57:					BuildString					100.0%
github.com/speakeasy-api/openapi/internal/utils/string_builder.go:79:					JoinWithSeparator				100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:18:					ParseURLCached					100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:25:					Parse						100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:49:					Clear						100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:62:					GetURLCacheStats				100.0%
github.com/speakeasy-api/openapi/internal/utils/url_cache.go:72:					ClearGlobalURLCache				100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:17:					New						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:25:					String						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:29:					Equal						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:33:					GreaterThan					100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:49:					LessThan					100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:53:					IsOneOf						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:65:					Parse						100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:98:					MustParse					100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:106:					IsGreaterOrEqual				100.0%
github.com/speakeasy-api/openapi/internal/version/version.go:119:					IsLessThan					100.0%
github.com/speakeasy-api/openapi/json/json.go:18:							YAMLToJSON					100.0%
github.com/speakeasy-api/openapi/json/json.go:25:							YAMLToJSONWithConfig				76.9%
github.com/speakeasy-api/openapi/json/json.go:68:							isSingleLineFlowNode				88.9%
github.com/speakeasy-api/openapi/json/json.go:90:							hasSpaceAfterColon				83.3%
github.com/speakeasy-api/openapi/json/json.go:125:							hasSpaceAfterComma				85.7%
github.com/speakeasy-api/openapi/json/json.go:160:							write						100.0%
github.com/speakeasy-api/openapi/json/json.go:166:							writeByte					100.0%
github.com/speakeasy-api/openapi/json/json.go:175:							writeJSONNode					50.0%
github.com/speakeasy-api/openapi/json/json.go:210:							writeJSONObject					95.0%
github.com/speakeasy-api/openapi/json/json.go:300:							writeJSONArray					96.3%
github.com/speakeasy-api/openapi/json/json.go:358:							writeJSONScalar					89.5%
github.com/speakeasy-api/openapi/json/json.go:406:							hasInvalidJSONNumberFormat			90.0%
github.com/speakeasy-api/openapi/json/json.go:430:							resolveMergeKeys				90.0%
github.com/speakeasy-api/openapi/json/json.go:495:							shouldBeMultiLine				54.5%
github.com/speakeasy-api/openapi/json/json.go:522:							quoteJSONString					85.7%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:37:						WithStructTags					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:43:						getOptions					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:58:						String						100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:63:						Validate					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:74:						GetTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:91:						PartsToJSONPointer				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:100:					getCurrentStackTarget				100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:120:					getTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:151:					getMapTarget					78.9%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:191:					getSliceTarget					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:226:					getStructTarget					87.5%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:278:					getKeyBasedStructTarget				96.9%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:343:					getIndexBasedStructTarget			87.5%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:359:					getNavigableWithKeyTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:379:					getNavigableWithIndexTarget			80.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:399:					getNavigableNoderTarget				77.8%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:417:					buildPath					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:428:					EscapeString					100.0%
github.com/speakeasy-api/openapi/jsonpointer/jsonpointer.go:432:					escape						100.0%
github.com/speakeasy-api/openapi/jsonpointer/models.go:16:						navigateModel					87.3%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:23:						unescapeValue					100.0%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:29:						getIndex					100.0%
github.com/speakeasy-api/openapi/jsonpointer/navigation.go:39:						getNavigationStack				100.0%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:10:						getYamlNodeTarget				61.1%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:51:						getYamlDocumentTarget				66.7%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:60:						getYamlMappingTarget				88.9%
github.com/speakeasy-api/openapi/jsonpointer/yamlnode.go:117:						getYamlSequenceTarget				90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/core/factory_registration.go:10:			init						92.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:39:					GetPropertyName					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:47:					GetMapping					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:55:					GetDefaultMapping				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:63:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:71:					Validate					87.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/discriminator.go:91:					IsEqual						88.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:31:					GetDescription					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:39:					GetURL						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:47:					GetExtensions					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:55:					IsEqual						92.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/externaldoc.go:84:					Validate					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/factory_registration.go:12:				init						90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:35:						increment					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:162:						Inline						96.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:224:						analyzeReferences				74.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:408:						inlineRecursive					72.1%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:639:						getAbsRef					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:652:						inlineSchemaInPlace				81.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:675:						removeUnusedDefs				94.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:714:						generateUniqueDefName				25.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:730:						rewriteExternalReference			50.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/inline.go:810:						consolidateDefinitions				81.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:61:					NewJSONSchemaFromSchema				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:70:					NewJSONSchemaFromReference			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:81:					NewJSONSchemaFromBool				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:91:					NewReferencedScheme				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:127:					IsSchema					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:137:					GetSchema					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:147:					IsBool						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:157:					GetBool						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:165:					GetExtensions					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:182:					GetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:198:					GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:211:					SetParent					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:224:					SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:232:					IsEqual						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:247:					Validate					88.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:275:					ConcreteToReferenceable				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:283:					ReferenceableToConcrete				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:288:					ShallowCopy					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:321:					GetSchemaRegistry				80.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:338:					GetDocumentBaseURI				90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:363:					normalizeDocumentBaseURI			60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:379:					SetSchemaRegistry				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:387:					SetDocumentBaseURI				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:397:					GetEnclosingSchema				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:407:					SetEnclosingSchema				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/jsonschema.go:416:					PopulateWithContext				90.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:60:					NewSchemaRegistry				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:73:					RegisterSchema					95.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:120:					LookupByID					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:135:					LookupByAnchor					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:145:					GetBaseURI					75.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:165:					GetDocumentBaseURI				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:175:					computeBaseURI					92.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:206:					buildAnchorKey					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:216:					IsAbsoluteURI					83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:231:					IsAnchorReference				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:252:					ExtractAnchor					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:270:					ResolveURI					85.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/registry.go:301:					normalizeURI					83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:20:					IsResolved					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:29:					IsReference					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:39:					GetReference					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:49:					GetRef						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:58:					GetAbsRef					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:73:					Resolve						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:91:					GetResolvedObject				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:101:					GetResolvedSchema				88.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:140:					MustGetResolvedSchema				83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:152:					GetReferenceResolutionInfo			85.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:168:					resolve						76.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:353:					joinReferenceChain				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:364:					resolveJSONSchemaWithTracking			95.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution.go:409:					unmarshaler					71.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_chain.go:26:				GetReferenceChain				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_chain.go:63:				GetImmediateReference				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_chain.go:78:				GetTopLevelReference				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_defs.go:26:					resolveDefsReference				68.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_defs.go:80:					tryResolveLocalDefs				94.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_defs.go:158:				tryResolveDefsUsingJSONPointerNavigation	90.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_defs.go:204:				getParentJSONPointer				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_external.go:17:				resolveExternalAnchorReference			81.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_external.go:90:				resolveExternalRefWithFragment			81.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_external.go:168:				navigateJSONPointer				88.2%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_registry.go:13:				tryResolveViaRegistry				78.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_registry.go:146:				getSchemaRegistry				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_registry.go:175:				getEffectiveBaseURI				90.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_registry.go:208:				setupRemoteSchemaRegistry			90.9%
github.com/speakeasy-api/openapi/jsonschema/oas3/resolution_registry.go:241:				registerSchemaInRegistry			76.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:98:						ShallowCopy					72.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:205:						GetRef						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:213:						IsReference					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:221:						GetExclusiveMaximum				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:229:						GetExclusiveMinimum				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:237:						GetType						71.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:254:						GetAllOf					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:262:						GetOneOf					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:270:						GetAnyOf					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:278:						GetDiscriminator				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:286:						GetExamples					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:294:						GetPrefixItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:302:						GetContains					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:310:						GetMinContains					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:318:						GetMaxContains					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:326:						GetIf						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:334:						GetElse						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:342:						GetThen						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:350:						GetDependentSchemas				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:358:						GetPatternProperties				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:366:						GetPropertyNames				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:374:						GetUnevaluatedItems				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:382:						GetUnevaluatedProperties			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:390:						GetItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:398:						GetAnchor					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:407:						GetID						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:415:						GetNot						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:423:						GetProperties					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:431:						GetDefs						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:439:						GetTitle					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:447:						GetMultipleOf					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:455:						GetMaximum					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:463:						GetMinimum					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:471:						GetMaxLength					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:479:						GetMinLength					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:487:						GetPattern					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:495:						GetContentEncoding				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:503:						GetContentMediaType				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:511:						GetContentSchema				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:519:						GetFormat					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:528:						IsReferenceOnly					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:592:						GetMaxItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:600:						GetMinItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:608:						GetUniqueItems					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:616:						GetMaxProperties				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:624:						GetMinProperties				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:632:						GetRequired					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:640:						GetEnum						66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:648:						GetAdditionalProperties				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:656:						GetDescription					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:664:						GetDefault					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:672:						GetConst					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:680:						GetNullable					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:688:						GetReadOnly					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:696:						GetWriteOnly					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:704:						GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:712:						GetExample					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:720:						GetDeprecated					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:728:						GetSchema					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:736:						GetXML						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:744:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:754:						IsEqual						60.8%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1011:					GetParent					0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1020:					SetParent					66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1029:					PopulateWithContext				85.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1086:					registerWithRegistry				78.6%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1129:					GetOwningDocument				0.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1138:					SetOwningDocument				57.1%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1157:					GetEffectiveBaseURI				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1165:					SetEffectiveBaseURI				66.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1174:					GetSchemaRegistry				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1183:					equalJSONSchemas				80.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1193:					equalJSONSchemaSlices				25.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1209:					equalSequencedMaps				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1239:					equalPtrs					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1249:					equalSlices					87.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/schema.go:1265:					equalValueSlices				87.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:66:					Validate					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:78:					Validate					91.4%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:158:					getRootCauses					82.5%
github.com/speakeasy-api/openapi/jsonschema/oas3/validation.go:238:					initValidation					72.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:16:						NewExclusiveMaximumFromBool			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:22:						NewExclusiveMaximumFromFloat64			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:28:						NewExclusiveMinimumFromBool			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:34:						NewExclusiveMinimumFromFloat64			100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:40:						NewTypeFromArray				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/value.go:47:						NewTypeFromString				100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:35:						WalkExternalDocs				75.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:46:						Walk						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:55:						walkSchema					54.1%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:228:						walkExternalDocs				83.3%
github.com/speakeasy-api/openapi/jsonschema/oas3/walk.go:264:						getSchemaMatchFunc				60.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:36:						GetName						100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:44:						GetNamespace					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:52:						GetPrefix					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:60:						GetAttribute					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:68:						GetWrapped					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:76:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:84:						IsEqual						94.7%
github.com/speakeasy-api/openapi/jsonschema/oas3/xml.go:120:						Validate					100.0%
github.com/speakeasy-api/openapi/linter/config.go:45:							UnmarshalYAML					89.5%
github.com/speakeasy-api/openapi/linter/config.go:95:							UnmarshalYAML					91.7%
github.com/speakeasy-api/openapi/linter/config.go:120:							Validate					100.0%
github.com/speakeasy-api/openapi/linter/config.go:143:							GetSeverity					100.0%
github.com/speakeasy-api/openapi/linter/config.go:160:							UnmarshalYAML					90.0%
github.com/speakeasy-api/openapi/linter/config.go:187:							NewConfig					100.0%
github.com/speakeasy-api/openapi/linter/config.go:196:							parseSeverity					100.0%
github.com/speakeasy-api/openapi/linter/config_loader.go:12:						LoadConfig					88.2%
github.com/speakeasy-api/openapi/linter/config_loader.go:43:						LoadConfigFromFile				100.0%
github.com/speakeasy-api/openapi/linter/doc.go:16:							NewDocGenerator					100.0%
github.com/speakeasy-api/openapi/linter/doc.go:39:							GenerateRuleDoc					91.7%
github.com/speakeasy-api/openapi/linter/doc.go:71:							GenerateAllRuleDocs				100.0%
github.com/speakeasy-api/openapi/linter/doc.go:80:							GenerateCategoryDocs				100.0%
github.com/speakeasy-api/openapi/linter/doc.go:90:							WriteJSON					100.0%
github.com/speakeasy-api/openapi/linter/doc.go:102:							WriteMarkdown					61.9%
github.com/speakeasy-api/openapi/linter/doc.go:144:							writeRuleMarkdown				49.2%
github.com/speakeasy-api/openapi/linter/doc.go:256:							writeLine					100.0%
github.com/speakeasy-api/openapi/linter/doc.go:261:							writeEmptyLine					100.0%
github.com/speakeasy-api/openapi/linter/doc.go:266:							writeF						100.0%
github.com/speakeasy-api/openapi/linter/document.go:22:							NewDocumentInfo					100.0%
github.com/speakeasy-api/openapi/linter/document.go:30:							NewDocumentInfoWithIndex			100.0%
github.com/speakeasy-api/openapi/linter/fix/engine.go:83:						NewEngine					100.0%
github.com/speakeasy-api/openapi/linter/fix/engine.go:113:						ProcessErrors					100.0%
github.com/speakeasy-api/openapi/linter/fix/engine.go:275:						makeAppliedFix					100.0%
github.com/speakeasy-api/openapi/linter/fix/engine.go:285:						ApplyNodeFix					100.0%
github.com/speakeasy-api/openapi/linter/fix/registry.go:23:						NewFixRegistry					100.0%
github.com/speakeasy-api/openapi/linter/fix/registry.go:32:						Register					100.0%
github.com/speakeasy-api/openapi/linter/fix/registry.go:40:						GetFix						100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:21:					NewTerminalPrompter				100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:30:					writef						100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:34:					PromptFix					100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:53:					promptOne					100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:64:					promptChoice					100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:113:					promptFreeText					100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:154:					unescapeReservedControlInput			87.5%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:172:					isEscapeInput					100.0%
github.com/speakeasy-api/openapi/linter/fix/terminal_prompter.go:181:					Confirm						100.0%
github.com/speakeasy-api/openapi/linter/format/json.go:13:						NewJSONFormatter				100.0%
github.com/speakeasy-api/openapi/linter/format/json.go:50:						Format						95.8%
github.com/speakeasy-api/openapi/linter/format/summary.go:16:						NewSummaryFormatter				100.0%
github.com/speakeasy-api/openapi/linter/format/summary.go:28:						Format						100.0%
github.com/speakeasy-api/openapi/linter/format/text.go:13:						NewTextFormatter				100.0%
github.com/speakeasy-api/openapi/linter/format/text.go:17:						Format						100.0%
github.com/speakeasy-api/openapi/linter/linter.go:36:							NewLinter					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:47:							Registry					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:52:							Lint						100.0%
github.com/speakeasy-api/openapi/linter/linter.go:75:							runRules					86.8%
github.com/speakeasy-api/openapi/linter/linter.go:156:							getEnabledRules					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:213:							getRuleConfig					83.3%
github.com/speakeasy-api/openapi/linter/linter.go:240:							applySeverityOverrides				100.0%
github.com/speakeasy-api/openapi/linter/linter.go:254:							FilterErrors					80.0%
github.com/speakeasy-api/openapi/linter/linter.go:272:							formatOutput					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:279:							buildOverrides					92.9%
github.com/speakeasy-api/openapi/linter/linter.go:301:							buildMatchFilters				90.9%
github.com/speakeasy-api/openapi/linter/linter.go:330:							applyMatchFilters				87.0%
github.com/speakeasy-api/openapi/linter/linter.go:382:							HasErrors					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:397:							ErrorCount					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:412:							FormatText					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:418:							FormatJSON					100.0%
github.com/speakeasy-api/openapi/linter/linter.go:424:							FormatSummary					0.0%
github.com/speakeasy-api/openapi/linter/registry.go:15:							NewRegistry					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:23:							Register					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:28:							RegisterRuleset					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:45:							GetRule						100.0%
github.com/speakeasy-api/openapi/linter/registry.go:51:							GetRuleset					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:60:							AllRules					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:73:							AllRuleIDs					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:83:							AllCategories					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:98:							AllRulesets					100.0%
github.com/speakeasy-api/openapi/linter/registry.go:109:						RulesetsContaining				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:43:						GetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:47:						GetRootNodeLine					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:54:						SetRootNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:63:						SetDocumentNode					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:67:						GetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:71:						GetValidYaml					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:75:						DetermineValidity				85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:90:						SetValid					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:95:						SetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:99:						GetConfig					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:103:						SetUnknownProperties				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:107:						GetUnknownProperties				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:118:						GetJSONPointer					87.5%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:141:						GetJSONPath					100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:163:						Marshal						80.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:198:						resetNodeStylesForYAML				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:203:						resetNodeStylesForYAMLRecursive			86.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:245:						findNodePath					85.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:279:						findNodePathInMapping				86.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:314:						findNodePathInSequence				83.3%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:330:						resolveAlias					60.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:344:						getNodeKeyString				66.7%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:359:						buildJSONPointer				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:375:						escapeJSONPointerToken				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:383:						buildJSONPath					94.4%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:418:						needsBracketNotation				100.0%
github.com/speakeasy-api/openapi/marshaller/coremodel.go:432:						escapeJSONPathProperty				100.0%
github.com/speakeasy-api/openapi/marshaller/extensions.go:35:						UnmarshalExtension				78.6%
github.com/speakeasy-api/openapi/marshaller/extensions.go:70:						syncExtensions					84.9%
github.com/speakeasy-api/openapi/marshaller/factory.go:43:						RegisterType					87.5%
github.com/speakeasy-api/openapi/marshaller/factory.go:63:						CreateInstance					100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:82:						IsRegistered					100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:92:						isTesting					100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:97:						init						58.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:160:						buildFieldCacheForType				91.9%
github.com/speakeasy-api/openapi/marshaller/factory.go:255:						getFieldMapCached				100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:272:						ClearGlobalFieldCache				100.0%
github.com/speakeasy-api/openapi/marshaller/factory.go:285:						GetFieldCacheStats				100.0%
github.com/speakeasy-api/openapi/marshaller/marshal.go:26:						Marshal						66.7%
github.com/speakeasy-api/openapi/marshaller/marshal.go:48:						Sync						71.4%
github.com/speakeasy-api/openapi/marshaller/model.go:59:						GetCore						66.7%
github.com/speakeasy-api/openapi/marshaller/model.go:69:						GetCoreAny					100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:90:						GetRootNode					60.0%
github.com/speakeasy-api/openapi/marshaller/model.go:101:						GetRootNodeLine					80.0%
github.com/speakeasy-api/openapi/marshaller/model.go:112:						GetRootNodeColumn				80.0%
github.com/speakeasy-api/openapi/marshaller/model.go:123:						GetPropertyNode					92.3%
github.com/speakeasy-api/openapi/marshaller/model.go:156:						GetPropertyLine					100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:165:						SetCore						100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:172:						SetCoreAny					100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:180:						GetCachedReferencedObject			100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:187:						StoreReferencedObjectInCache			100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:191:						GetCachedReferenceDocument			85.7%
github.com/speakeasy-api/openapi/marshaller/model.go:203:						StoreReferenceDocumentInCache			100.0%
github.com/speakeasy-api/openapi/marshaller/model.go:207:						GetCachedExternalDocument			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:214:						StoreExternalDocumentInCache			0.0%
github.com/speakeasy-api/openapi/marshaller/model.go:218:						InitCache					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:35:							Unmarshal					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:50:							GetValue					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:54:							GetValueType					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:58:							SyncValue					85.7%
github.com/speakeasy-api/openapi/marshaller/node.go:72:							SetPresent					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:76:							GetKeyNode					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:80:							GetKeyNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:87:							GetKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:95:							GetValueNode					100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:99:							GetValueNodeOrRoot				100.0%
github.com/speakeasy-api/openapi/marshaller/node.go:106:						GetValueNodeOrRootLine				75.0%
github.com/speakeasy-api/openapi/marshaller/node.go:115:						GetSliceValueNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/marshaller/node.go:133:						GetMapKeyNodeOrRoot				88.9%
github.com/speakeasy-api/openapi/marshaller/node.go:152:						GetMapKeyNodeOrRootLine				75.0%
github.com/speakeasy-api/openapi/marshaller/node.go:161:						GetMapValueNodeOrRoot				88.9%
github.com/speakeasy-api/openapi/marshaller/node.go:180:						GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/marshaller/nodecollector.go:19:					CollectLeafNodes				100.0%
github.com/speakeasy-api/openapi/marshaller/nodecollector.go:30:					collectLeafNodesRecursive			86.4%
github.com/speakeasy-api/openapi/marshaller/nodecollector.go:79:					isNodeType					88.2%
github.com/speakeasy-api/openapi/marshaller/nodecollector.go:116:					collectFromNodeField				80.0%
github.com/speakeasy-api/openapi/marshaller/nodecollector.go:163:					isLeafValueType					50.0%
github.com/speakeasy-api/openapi/marshaller/nodecollector.go:212:					hasCoreModelerMethod				85.7%
github.com/speakeasy-api/openapi/marshaller/nodecollector.go:228:					collectYAMLNodeChildren				100.0%
github.com/speakeasy-api/openapi/marshaller/populator.go:46:						PopulateWithContext				47.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:85:						PopulateModelWithContext			81.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:192:						populateValue					75.4%
github.com/speakeasy-api/openapi/marshaller/populator.go:318:						getSequencedMapInterface			68.2%
github.com/speakeasy-api/openapi/marshaller/populator.go:366:						getSourceForPopulation				22.2%
github.com/speakeasy-api/openapi/marshaller/populator.go:385:						isEmbeddedSequencedMapType			100.0%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:25:						unmarshalSequencedMap				82.5%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:168:					populateSequencedMap				80.0%
github.com/speakeasy-api/openapi/marshaller/sequencedmap.go:243:					syncSequencedMapChanges				80.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:20:						SyncValue					85.7%
github.com/speakeasy-api/openapi/marshaller/syncer.go:100:						syncChanges					78.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:282:						syncArraySlice					84.6%
github.com/speakeasy-api/openapi/marshaller/syncer.go:376:						reorderArrayElements				75.5%
github.com/speakeasy-api/openapi/marshaller/syncer.go:475:						dereferenceAndInitializeIfNeededToLastPtr	100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:494:						dereferenceToLastPtr				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:502:						getUnderlyingValue				100.0%
github.com/speakeasy-api/openapi/marshaller/syncer.go:510:						initializeAndGetSequencedMapInterface		82.4%
github.com/speakeasy-api/openapi/marshaller/syncer.go:551:						getSourceInterface				42.9%
github.com/speakeasy-api/openapi/marshaller/syncer.go:567:						dereferenceType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:33:						Unmarshal					78.6%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:64:						UnmarshalNode					77.8%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:83:						UnmarshalCore					89.5%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:120:					UnmarshalModel					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:124:					UnmarshalKeyValuePair				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:141:					DecodeNode					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:145:					unmarshal					79.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:263:					unmarshalMapping				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:288:					unmarshalModel					88.3%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:549:					unmarshalStruct					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:553:					decodeNode					80.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:576:					unmarshalSequence				82.6%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:620:					unmarshalNode					66.7%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:671:					implementsInterface				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:692:					isEmbeddedSequencedMap				100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:697:					isStructType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:702:					isSliceType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:707:					isMapType					100.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:712:					validateNodeKind				93.5%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:773:					asTypeMismatchError				75.0%
github.com/speakeasy-api/openapi/marshaller/unmarshaller.go:782:					initializeEmbeddedSequencedMap			50.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:14:						Bootstrap					100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:31:						createBootstrapInfo				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:50:						createBootstrapServers				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:64:						createBootstrapTags				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:80:						createBootstrapPaths				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:123:						createUserResponses				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:132:						createBootstrapComponents			100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:141:						createBootstrapSchemas				100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:198:						createBootstrapResponses			100.0%
github.com/speakeasy-api/openapi/openapi/bootstrap.go:234:						createBootstrapSecuritySchemes			100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:117:							Bundle						84.6%
github.com/speakeasy-api/openapi/openapi/bundle.go:193:							bundleObject					80.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:236:							bundleSchema					83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:312:							rewriteRefsInBundledSchemas			83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:329:							prepareSourceURI				66.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:349:							rewriteRefsInSchema				73.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:389:							rewriteRefsInBundledComponents			85.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:407:							walkAndUpdateRefsInComponent			45.5%
github.com/speakeasy-api/openapi/openapi/bundle.go:436:							walkAndUpdateRefsInResponse			85.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:468:							walkAndUpdateRefsInParameter			55.6%
github.com/speakeasy-api/openapi/openapi/bundle.go:491:							walkAndUpdateRefsInRequestBody			70.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:514:							walkAndUpdateRefsInCallback			0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:530:							walkAndUpdateRefsInPathItem			0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:548:							walkAndUpdateRefsInLink				0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:554:							walkAndUpdateRefsInExample			0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:560:							walkAndUpdateRefsInSecurityScheme		0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:566:							walkAndUpdateRefsInHeader			44.4%
github.com/speakeasy-api/openapi/openapi/bundle.go:589:							updateSchemaRefWithSource			87.5%
github.com/speakeasy-api/openapi/openapi/bundle.go:605:							updateComponentRefWithSource			85.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:620:							bundleGenericReference				81.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:723:							getFinalAbsoluteRef				73.7%
github.com/speakeasy-api/openapi/openapi/bundle.go:764:							getFinalResolutionInfo				50.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:788:							generateComponentName				80.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:803:							generateComponentNameWithHashConflictResolution	90.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:833:							generateFilePathBasedNameWithConflictResolution	100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:847:							generateFilePathBasedName			92.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:904:							normalizePathForComponentName			86.5%
github.com/speakeasy-api/openapi/openapi/bundle.go:995:							generateCounterBasedName			100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:1011:						updateReferencesToComponents			79.2%
github.com/speakeasy-api/openapi/openapi/bundle.go:1068:						updateReference					100.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:1085:						addComponentsToDocument				59.6%
github.com/speakeasy-api/openapi/openapi/bundle.go:1208:						handleReference					83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:1309:						makeReferenceRelativeForNaming			73.9%
github.com/speakeasy-api/openapi/openapi/bundle.go:1365:						detectPathStyle					0.0%
github.com/speakeasy-api/openapi/openapi/bundle.go:1381:						isInternalReference				83.3%
github.com/speakeasy-api/openapi/openapi/bundle.go:1393:						extractSimpleNameFromReference			92.9%
github.com/speakeasy-api/openapi/openapi/bundle.go:1418:						findCircularReferenceMatch			33.3%
github.com/speakeasy-api/openapi/openapi/callbacks.go:30:						NewCallback					100.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:37:						Len						100.0%
github.com/speakeasy-api/openapi/openapi/callbacks.go:45:						GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/callbacks.go:52:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:71:							Clean						90.9%
github.com/speakeasy-api/openapi/openapi/clean.go:171:							trackSchemaReferences				85.7%
github.com/speakeasy-api/openapi/openapi/clean.go:200:							trackPathItemReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:213:							trackParameterReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:226:							trackExampleReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:239:							trackRequestBodyReference			100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:252:							trackResponseReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:265:							trackHeaderReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:278:							trackCallbackReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:291:							trackLinkReference				100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:304:							trackSecuritySchemeReference			28.6%
github.com/speakeasy-api/openapi/openapi/clean.go:317:							trackOperationTags				85.7%
github.com/speakeasy-api/openapi/openapi/clean.go:331:							trackSecurityRequirementNames			80.0%
github.com/speakeasy-api/openapi/openapi/clean.go:342:							extractComponentName				75.0%
github.com/speakeasy-api/openapi/openapi/clean.go:351:							removeUnusedComponentsFromDocument		100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:523:							removeUnusedTagsFromDocument			81.2%
github.com/speakeasy-api/openapi/openapi/clean.go:559:							walkAndTrackWithFilter				95.0%
github.com/speakeasy-api/openapi/openapi/clean.go:623:							extractComponentTypeAndName			81.8%
github.com/speakeasy-api/openapi/openapi/clean.go:644:							unescapeJSONPointerToken			100.0%
github.com/speakeasy-api/openapi/openapi/clean.go:653:							countTracked					92.9%
github.com/speakeasy-api/openapi/openapi/components.go:47:						GetSchemas					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:55:						GetResponses					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:63:						GetParameters					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:71:						GetExamples					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:79:						GetRequestBodies				100.0%
github.com/speakeasy-api/openapi/openapi/components.go:87:						GetHeaders					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:95:						GetSecuritySchemes				100.0%
github.com/speakeasy-api/openapi/openapi/components.go:103:						GetLinks					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:111:						GetCallbacks					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:119:						GetPathItems					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:127:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/components.go:135:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/core/callbacks.go:17:						NewCallback					100.0%
github.com/speakeasy-api/openapi/openapi/core/callbacks.go:23:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/callbacks.go:41:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/factory_registration.go:11:				init						58.5%
github.com/speakeasy-api/openapi/openapi/core/paths.go:17:						NewPaths					100.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:23:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/paths.go:41:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:64:						NewPathItem					100.0%
github.com/speakeasy-api/openapi/openapi/core/paths.go:70:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/paths.go:88:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/reference.go:28:						Unmarshal					93.3%
github.com/speakeasy-api/openapi/openapi/core/reference.go:57:						SyncChanges					66.7%
github.com/speakeasy-api/openapi/openapi/core/responses.go:18:						NewResponses					100.0%
github.com/speakeasy-api/openapi/openapi/core/responses.go:24:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/responses.go:42:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/core/security.go:31:						NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/openapi/core/security.go:37:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/openapi/core/security.go:55:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:42:						GetContentType					33.3%
github.com/speakeasy-api/openapi/openapi/encoding.go:69:						GetContentTypeValue				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:77:						GetStyle					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:86:						GetExplode					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:94:						GetAllowReserved				100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:102:						GetHeaders					100.0%
github.com/speakeasy-api/openapi/openapi/encoding.go:110:						GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/encoding.go:118:						Validate					94.4%
github.com/speakeasy-api/openapi/openapi/examples.go:40:						GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:48:						GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:56:						GetValue					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:64:						GetExternalValue				100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:72:						GetDataValue					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:80:						GetSerializedValue				100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:88:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:96:						ResolveExternalValue				100.0%
github.com/speakeasy-api/openapi/openapi/examples.go:102:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/factory_registration.go:13:					init						93.9%
github.com/speakeasy-api/openapi/openapi/header.go:48:							GetSchema					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:56:							GetRequired					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:64:							GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:72:							GetStyle					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:80:							GetExplode					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:88:							GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:96:							GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/header.go:104:							GetExamples					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:112:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:120:							GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/header.go:128:							Validate					93.8%
github.com/speakeasy-api/openapi/openapi/index.go:84:							currentDocumentPath				60.0%
github.com/speakeasy-api/openapi/openapi/index.go:250:							WithNodeOperationMap				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:257:							IsWebhookLocation				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:268:							ExtractOperationInfo				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:298:							BuildIndex					81.2%
github.com/speakeasy-api/openapi/openapi/index.go:353:							GetAllSchemas					100.0%
github.com/speakeasy-api/openapi/openapi/index.go:373:							GetAllPathItems					100.0%
github.com/speakeasy-api/openapi/openapi/index.go:391:							GetAllParameters				87.5%
github.com/speakeasy-api/openapi/openapi/index.go:409:							GetAllResponses					87.5%
github.com/speakeasy-api/openapi/openapi/index.go:427:							GetAllRequestBodies				87.5%
github.com/speakeasy-api/openapi/openapi/index.go:445:							GetAllHeaders					87.5%
github.com/speakeasy-api/openapi/openapi/index.go:463:							GetAllExamples					87.5%
github.com/speakeasy-api/openapi/openapi/index.go:481:							GetAllLinks					87.5%
github.com/speakeasy-api/openapi/openapi/index.go:499:							GetAllCallbacks					87.5%
github.com/speakeasy-api/openapi/openapi/index.go:529:							GetAllReferences				92.0%
github.com/speakeasy-api/openapi/openapi/index.go:631:							GetValidationErrors				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:639:							GetResolutionErrors				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:647:							GetCircularReferenceErrors			100.0%
github.com/speakeasy-api/openapi/openapi/index.go:655:							GetAllErrors					100.0%
github.com/speakeasy-api/openapi/openapi/index.go:667:							HasErrors					100.0%
github.com/speakeasy-api/openapi/openapi/index.go:675:							GetValidCircularRefCount			100.0%
github.com/speakeasy-api/openapi/openapi/index.go:683:							GetInvalidCircularRefCount			100.0%
github.com/speakeasy-api/openapi/openapi/index.go:693:							GetNodeOperations				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:701:							registerNodeWithOperation			88.9%
github.com/speakeasy-api/openapi/openapi/index.go:721:							buildIndex					89.7%
github.com/speakeasy-api/openapi/openapi/index.go:859:							indexSchema					91.9%
github.com/speakeasy-api/openapi/openapi/index.go:1077:							isTopLevelExternalSchema			100.0%
github.com/speakeasy-api/openapi/openapi/index.go:1094:							isFromMainDocument				80.0%
github.com/speakeasy-api/openapi/openapi/index.go:1106:							buildPathSegmentsFromStack			100.0%
github.com/speakeasy-api/openapi/openapi/index.go:1128:							buildCircularReferenceChain			100.0%
github.com/speakeasy-api/openapi/openapi/index.go:1138:							checkUnknownProperties				88.9%
github.com/speakeasy-api/openapi/openapi/index.go:1181:							indexExternalDocs				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:1188:							indexTag					100.0%
github.com/speakeasy-api/openapi/openapi/index.go:1195:							indexServer					100.0%
github.com/speakeasy-api/openapi/openapi/index.go:1202:							indexServerVariable				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:1209:							indexReferencedPathItem				84.0%
github.com/speakeasy-api/openapi/openapi/index.go:1318:							indexOperation					85.7%
github.com/speakeasy-api/openapi/openapi/index.go:1336:							indexReferencedParameter			95.1%
github.com/speakeasy-api/openapi/openapi/index.go:1425:							indexResponses					66.7%
github.com/speakeasy-api/openapi/openapi/index.go:1435:							indexReferencedResponse				95.1%
github.com/speakeasy-api/openapi/openapi/index.go:1524:							indexReferencedRequestBody			95.1%
github.com/speakeasy-api/openapi/openapi/index.go:1613:							indexReferencedHeader				85.4%
github.com/speakeasy-api/openapi/openapi/index.go:1702:							indexReferencedExample				85.4%
github.com/speakeasy-api/openapi/openapi/index.go:1791:							indexReferencedLink				85.4%
github.com/speakeasy-api/openapi/openapi/index.go:1880:							indexReferencedCallback				95.1%
github.com/speakeasy-api/openapi/openapi/index.go:1969:							indexReferencedSecurityScheme			40.0%
github.com/speakeasy-api/openapi/openapi/index.go:1997:							indexSecurityRequirement			0.0%
github.com/speakeasy-api/openapi/openapi/index.go:2008:							indexDiscriminator				66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2018:							indexXML					0.0%
github.com/speakeasy-api/openapi/openapi/index.go:2028:							indexMediaType					66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2038:							indexEncoding					0.0%
github.com/speakeasy-api/openapi/openapi/index.go:2048:							indexOAuthFlows					66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2058:							indexOAuthFlow					66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2068:							indexDescriptionNode				66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2078:							indexSummaryNode				66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2088:							indexDescriptionAndSummaryNode			66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2098:							documentPathForSchema				50.0%
github.com/speakeasy-api/openapi/openapi/index.go:2127:							applyDocumentLocation				14.3%
github.com/speakeasy-api/openapi/openapi/index.go:2151:							referenceValidationOptions			66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2167:							getCurrentResolveOptions			100.0%
github.com/speakeasy-api/openapi/openapi/index.go:2187:							documentPathForReference			71.4%
github.com/speakeasy-api/openapi/openapi/index.go:2202:							resolveAndValidateReference			69.2%
github.com/speakeasy-api/openapi/openapi/index.go:2233:							isTopLevelComponent				85.7%
github.com/speakeasy-api/openapi/openapi/index.go:2254:							getParentSchema					63.6%
github.com/speakeasy-api/openapi/openapi/index.go:2279:							buildPathSegment				95.8%
github.com/speakeasy-api/openapi/openapi/index.go:2334:							isNullable					88.9%
github.com/speakeasy-api/openapi/openapi/index.go:2357:							classifyCircularPath				80.0%
github.com/speakeasy-api/openapi/openapi/index.go:2428:							countPolymorphicBranches			46.2%
github.com/speakeasy-api/openapi/openapi/index.go:2457:							pathAllowsTermination				0.0%
github.com/speakeasy-api/openapi/openapi/index.go:2484:							joinReferenceChainWithArrows			80.0%
github.com/speakeasy-api/openapi/openapi/index.go:2502:							recordPolymorphicBranch				66.7%
github.com/speakeasy-api/openapi/openapi/index.go:2511:							finalizePolymorphicCirculars			80.0%
github.com/speakeasy-api/openapi/openapi/index.go:2564:							copyLocations					80.0%
github.com/speakeasy-api/openapi/openapi/index.go:2575:							getRefTarget					62.5%
github.com/speakeasy-api/openapi/openapi/index.go:2592:							schemaResolutionError				100.0%
github.com/speakeasy-api/openapi/openapi/index.go:2613:							getSchemaErrorNode				60.0%
github.com/speakeasy-api/openapi/openapi/info.go:42:							GetTitle					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:50:							GetVersion					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:58:							GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:66:							GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:74:							GetTermsOfService				100.0%
github.com/speakeasy-api/openapi/openapi/info.go:82:							GetContact					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:90:							GetLicense					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:98:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:106:							Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:153:							GetName						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:161:							GetURL						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:169:							GetEmail					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:177:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:185:							Validate					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:223:							GetName						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:231:							GetIdentifier					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:239:							GetURL						100.0%
github.com/speakeasy-api/openapi/openapi/info.go:247:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/info.go:255:							Validate					100.0%
github.com/speakeasy-api/openapi/openapi/inline.go:135:							Inline						88.9%
github.com/speakeasy-api/openapi/openapi/inline.go:156:							inlineObject					88.2%
github.com/speakeasy-api/openapi/openapi/inline.go:315:							inlineReference					80.0%
github.com/speakeasy-api/openapi/openapi/inline.go:364:							rewriteRefsWithMapping				65.0%
github.com/speakeasy-api/openapi/openapi/inline.go:403:							removeUnusedComponents				94.1%
github.com/speakeasy-api/openapi/openapi/join.go:66:							Join						94.1%
github.com/speakeasy-api/openapi/openapi/join.go:102:							initializeUsedNames				74.5%
github.com/speakeasy-api/openapi/openapi/join.go:194:							joinSingleDocument				83.3%
github.com/speakeasy-api/openapi/openapi/join.go:230:							joinPaths					71.4%
github.com/speakeasy-api/openapi/openapi/join.go:282:							mergePathItemOperations				92.3%
github.com/speakeasy-api/openapi/openapi/join.go:319:							createPathItemWithOperations			100.0%
github.com/speakeasy-api/openapi/openapi/join.go:331:							generateConflictPath				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:347:							joinWebhooks					83.3%
github.com/speakeasy-api/openapi/openapi/join.go:364:							joinComponents					62.5%
github.com/speakeasy-api/openapi/openapi/join.go:386:							joinSchemas					89.5%
github.com/speakeasy-api/openapi/openapi/join.go:426:							joinOtherComponents				50.3%
github.com/speakeasy-api/openapi/openapi/join.go:667:							generateJoinComponentName			75.0%
github.com/speakeasy-api/openapi/openapi/join.go:679:							generateJoinFilePathBasedName			84.6%
github.com/speakeasy-api/openapi/openapi/join.go:707:							generateJoinCounterBasedName			100.0%
github.com/speakeasy-api/openapi/openapi/join.go:719:							updateReferencesInDocument			79.2%
github.com/speakeasy-api/openapi/openapi/join.go:778:							updateComponentReference			20.0%
github.com/speakeasy-api/openapi/openapi/join.go:797:							joinTags					100.0%
github.com/speakeasy-api/openapi/openapi/join.go:820:							collectOperationIds				81.2%
github.com/speakeasy-api/openapi/openapi/join.go:857:							resolveOperationIdConflicts			69.6%
github.com/speakeasy-api/openapi/openapi/join.go:909:							generateDocumentName				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:924:							joinServersAndSecurity				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:951:							areServersIdentical				85.7%
github.com/speakeasy-api/openapi/openapi/join.go:970:							areSecurityIdentical				100.0%
github.com/speakeasy-api/openapi/openapi/join.go:986:							applyGlobalServersSecurityToOperations		83.3%
github.com/speakeasy-api/openapi/openapi/links.go:41:							GetOperationID					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:49:							GetOperationRef					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:57:							GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:65:							GetParameters					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:73:							GetRequestBody					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:81:							GetServer					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:89:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/links.go:96:							ResolveOperation				100.0%
github.com/speakeasy-api/openapi/openapi/links.go:101:							Validate					91.7%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:11:				GenerateRuleTypeScript				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:75:				generateBody					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:110:				generateDirectAccess				91.7%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:135:				generateCollectionAccess			95.2%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:179:				generateCheckCode				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:193:				generateFunctionCheck				60.7%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:256:				generatePatternCheck				56.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:288:				generateEnumerationCheck			100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:302:				generateLengthCheck				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:319:				generateCasingCheck				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:330:				generateAlphabeticalCheck			88.9%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:355:				generateXorCheck				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:369:				generateOrCheck					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:439:				generateFieldAccess				81.8%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:469:				toClassName					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:489:				escapeTS					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:499:				mapSeverityToTSSeverity				60.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:515:				inferCategory					75.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:524:				summaryFromDesc					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:539:				formatsToVersions				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:575:				buildMessage					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:596:				expandMessageTemplate				84.6%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:615:				casingRegex					66.7%
github.com/speakeasy-api/openapi/openapi/linter/converter/codegen.go:637:				joinQuoted					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:28:				WithRulesDir					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:35:				WithRulePrefix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:41:				defaultOptions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:64:				WriteFiles					79.2%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:108:				Generate					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:157:				mapExtends					92.3%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:197:				processOverride					92.3%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:261:				processCustomRule				65.2%
github.com/speakeasy-api/openapi/openapi/linter/converter/generate.go:311:				toValidationSeverity				60.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:63:					IsOverride					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:66:					IsDisabled					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:93:					PatternOptions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:107:					EnumerationOptions				76.9%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:132:					LengthOptions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:146:					CasingOptions					80.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:157:					PropertyOptions					76.9%
github.com/speakeasy-api/openapi/openapi/linter/converter/ir.go:182:					toInt						40.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:52:				MapJSONPath					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:162:				matchPathPattern				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:175:				matchPathsOperationResponses			100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:184:				matchPathsOperationRequestBody			100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:191:				matchPathsMethod				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:203:				matchPathsAllOps				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:210:				matchPathsItems					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:220:				matchParameters					80.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:231:				matchInfoContact				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:238:				matchInfoLicense				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:245:				matchInfoField					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:255:				matchInfo					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:262:				matchServersField				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:275:				matchServers					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:282:				matchTagsField					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:292:				matchTags					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:299:				matchComponentSchemas				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:306:				matchComponentResponses				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:313:				matchComponentParameters			100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:320:				matchComponentSecuritySchemes			100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:327:				matchComponentExamples				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:334:				matchDefinitions				80.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:346:				matchProperties					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:353:				matchComponents					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:360:				matchDescriptionNodes				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:367:				matchSummaryNodes				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:374:				matchRoot					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/jsonpath.go:385:				stripFilters					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/mapping.go:66:				LookupNativeRule				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/mapping.go:73:				mapSeverityToNative				100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:17:					Parse						91.7%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:44:					ParseFile					80.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:55:					parseSpectral					88.9%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:122:					parseLegacy					96.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:196:					UnmarshalYAML					80.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:228:					parseExtends					100.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:240:					UnmarshalYAML					94.4%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:293:					UnmarshalYAML					88.9%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:315:					UnmarshalYAML					75.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:343:					toRule						73.1%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:441:					normalizeSeverity				66.7%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:463:					normalizeNumericSeverity			75.0%
github.com/speakeasy-api/openapi/openapi/linter/converter/parse.go:473:					numericToSeverity				33.3%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:26:						RegisterCustomRuleLoader			100.0%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:54:						WithoutDefaultRules				100.0%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:76:						NewLinter					94.4%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:115:						Registry					100.0%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:121:						FilterErrors					100.0%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:127:						Lint						95.2%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:174:						registerDefaultRules				100.0%
github.com/speakeasy-api/openapi/openapi/linter/linter.go:244:						registerRulesets				100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:16:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:20:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:24:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:28:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:32:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:36:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:40:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:44:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/component_description.go:48:			Run						98.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:20:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:24:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:28:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:32:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:36:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:40:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:44:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/contact_properties.go:48:				Run						90.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:18:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:19:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:20:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:24:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:27:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:30:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:33:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:36:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/description_duplication.go:40:			Run						94.1%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:17:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:18:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:19:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:22:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:25:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:28:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:31:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:34:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:38:			Run						89.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:82:			findDuplicateIndices				100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:107:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:108:			Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:109:			Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:110:			SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:111:			Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:113:			ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:129:			nodeToString					66.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/duplicated_entry_in_enum.go:152:			nodeToDisplayString				66.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:6:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:7:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:8:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:9:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:10:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:11:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:12:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:13:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:14:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:15:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:16:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:17:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:18:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:19:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:20:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:21:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:22:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:23:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:24:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:25:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:26:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:27:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:28:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:29:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:30:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:31:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:32:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:33:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:34:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:35:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:36:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:37:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_available.go:38:				FixAvailable					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:22:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:25:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:26:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:27:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:28:				Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:30:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:58:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:61:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:62:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:63:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:64:				Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:66:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:114:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:117:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:118:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:127:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:135:				Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:137:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:154:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:155:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:156:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:164:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:174:				Apply						82.4%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:205:				ApplyNode					93.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:234:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:235:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:236:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:246:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:254:				Apply						75.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:276:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:295:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:296:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:297:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:303:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:311:				Apply						70.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:330:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:345:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:346:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:347:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:353:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:361:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:363:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:385:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:388:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:389:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:395:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:403:				Apply						61.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:429:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:444:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:445:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:446:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:452:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:460:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:462:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:475:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:476:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:477:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:483:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:491:				Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:509:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:510:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:511:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:521:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:529:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:531:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:548:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:551:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:552:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:558:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:570:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:572:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:588:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:589:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:590:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:597:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:614:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:616:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:634:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:637:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:638:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:648:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:656:				Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:658:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:675:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:684:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:685:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:686:				SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:687:				Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/fix_helpers.go:689:				ApplyNode					95.2%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:17:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:18:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:19:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:22:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:25:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:28:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:31:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:34:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_not_example.go:39:				Run						81.2%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:18:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:22:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:26:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:30:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:34:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:38:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:42:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:46:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:50:			Run						80.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:89:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:92:			Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:93:			Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:94:			SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:95:			Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:97:			DescribeChange					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/host_trailing_slash.go:104:			ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:17:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:18:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:21:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:24:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:27:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:30:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:33:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_contact.go:37:				Run						83.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:17:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:18:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:19:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:22:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:25:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:28:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:31:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:34:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:38:				Run						81.8%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:71:				Description					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:72:				Interactive					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:73:				Prompts						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:82:				SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_description.go:90:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:17:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:18:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:21:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:24:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:27:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:30:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:33:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/info_license.go:37:				Run						83.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:17:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:18:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:21:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:24:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:27:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:30:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:33:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/license_url.go:37:				Run						86.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:20:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:24:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:28:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:32:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:36:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:40:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:44:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/link_operation.go:48:				Run						85.2%
github.com/speakeasy-api/openapi/openapi/linter/rules/markdown_descriptions.go:16:			GetFieldValueNode				57.1%
github.com/speakeasy-api/openapi/openapi/linter/rules/markdown_descriptions.go:50:			findFieldValueInNode				87.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:17:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:18:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:19:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:22:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:25:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:28:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:31:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:34:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ambiguous_paths.go:40:				Run						86.4%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:21:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:22:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:23:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:26:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:29:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:32:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:35:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:38:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_eval_markdown.go:42:				Run						90.9%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:17:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:18:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:21:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:24:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:27:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:30:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:33:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_ref_siblings.go:38:				Run						81.8%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:21:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:22:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:23:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:26:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:29:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:32:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:35:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:38:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_script_markdown.go:42:				Run						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:17:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:21:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:25:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:29:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:33:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:37:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:41:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:45:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:64:				checkPathForVerbs				91.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/no_verbs_in_path.go:90:				Run						83.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:19:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:23:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:27:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:31:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:35:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:39:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:43:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:47:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_api_servers.go:51:				Run						89.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:17:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:20:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:23:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:26:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:29:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:32:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:35:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:38:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_example_missing.go:42:			Run						83.8%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:18:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:21:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:24:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:27:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:30:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:33:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:36:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:39:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:43:				Run						80.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:86:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:89:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:90:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:91:				SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:92:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas3_no_nullable.go:94:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:24:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:28:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:32:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:36:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:40:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:44:				Link						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:48:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:52:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:56:				Run						70.4%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:119:				validateString					90.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:184:				validateNumber					73.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:241:				validateArray					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:331:				validateObject					65.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:433:				validateBoolean					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:437:				validateNull					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:446:				checkTypeMismatchedConstraints			93.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:617:				checkPolymorphicProperty			21.1%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:657:				validateConst					20.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:699:				validateEnumConst				26.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:754:				isConstNodeValidForType				0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:781:				isFloatWhole					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/oas_schema_check.go:800:				validateDiscriminator				19.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:20:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:24:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:28:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:32:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:36:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:40:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:44:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/openapi_tags.go:48:				Run						85.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:17:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:21:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:25:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:29:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:33:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:37:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:41:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:45:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_description.go:49:			Run						88.9%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:17:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:18:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:19:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:22:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:25:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:28:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:31:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:34:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_error_response.go:38:			Run						85.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:17:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:19:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:21:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:25:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:29:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:33:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:37:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:39:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id.go:41:				Run						81.2%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:20:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:24:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:28:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:32:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:36:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:40:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:44:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:48:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_id_valid_in_url.go:52:			Run						82.4%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:17:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:18:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:19:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:22:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:25:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:28:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:31:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:34:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_singular_tag.go:38:			Run						88.9%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:19:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:21:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:23:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:27:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:31:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:35:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:39:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:43:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:45:			Run						96.8%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:113:		getOperationResponsesKeyNode			50.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_success_response.go:137:		findIntegerResponseCodes			85.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:17:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:18:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:19:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:22:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:25:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:28:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:31:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:34:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:38:			Run						91.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:94:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:97:			Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:98:			Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:99:			SetInput					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tag_defined.go:101:			Apply						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:17:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:21:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:25:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:29:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:33:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:37:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:41:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:45:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/operation_tags.go:49:				Run						88.2%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:16:	ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:19:	Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:22:	Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:25:	Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:28:	HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:31:	Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:34:	DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:37:	Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_additional_properties_constrained.go:41:	Run						96.8%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:19:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:22:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:25:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:28:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:31:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:34:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:37:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_array_limit.go:41:				Run						90.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:18:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:19:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:20:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:23:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:26:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:29:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:32:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:35:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_auth_insecure_schemes.go:39:		Run						88.9%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:17:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:18:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:21:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:24:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:27:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:30:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:33:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:36:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_401.go:40:		Run						83.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:17:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:18:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:21:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:24:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:27:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:30:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:33:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:36:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_429.go:40:		Run						83.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:17:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:18:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:21:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:24:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:27:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:30:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:33:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:36:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_responses_500.go:40:		Run						83.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:16:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:17:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:20:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:23:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:26:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:29:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:32:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:35:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_define_error_validation.go:39:		Run						81.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:16:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:19:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:22:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:25:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:28:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:31:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:34:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:37:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_format.go:41:			Run						90.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:16:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:19:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:22:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:25:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:28:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:31:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:34:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:37:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_integer_limit.go:41:			Run						92.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:19:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:22:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:25:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:28:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:31:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:34:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:37:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:40:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:44:			Run						93.1%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:120:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:123:			Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:124:			Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:125:			SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:126:			Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_jwt_best_practices.go:128:			ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:18:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:21:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:24:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:27:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:30:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:33:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:36:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:39:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:43:		Run						97.1%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:125:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:128:		Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:129:		Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:130:		SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:131:		Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_additional_properties.go:133:		ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:18:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:19:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:20:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:23:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:26:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:29:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:32:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:35:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_api_keys_in_url.go:39:			Run						88.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:24:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:25:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:26:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:29:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:32:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:35:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:38:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:41:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_credentials_in_url.go:45:		Run						86.4%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:18:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:19:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:20:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:23:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:26:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:29:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:32:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:35:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_http_basic.go:39:			Run						88.9%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:17:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:20:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:23:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:26:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:29:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:32:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:35:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:38:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:43:			isIDParameter					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_no_numeric_ids.go:51:			Run						85.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:24:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:27:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:30:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:33:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:36:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:39:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:42:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:45:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_safe.go:49:		Run						93.1%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:26:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:27:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:30:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:33:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:36:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:39:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:42:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:45:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe.go:49:		Run						93.1%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:17:	ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:20:	Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:23:	Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:26:	Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:29:	HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:32:	Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:35:	DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:38:	Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_protection_global_unsafe_strict.go:42:	Run						92.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:26:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:29:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:32:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:35:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:38:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:41:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:44:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:47:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit.go:51:				Run						89.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:16:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:19:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:22:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:25:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:28:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:31:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:34:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:37:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_rate_limit_retry_after.go:41:		Run						89.2%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:19:		ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:22:		Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:25:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:28:		Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:31:		HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:34:		Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:37:		DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:40:		Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:44:		Run						89.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:94:		Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:95:		Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:96:		Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:97:		SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:98:		Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:100:		DescribeChange					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_security_hosts_https_oas3.go:107:		ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:19:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:22:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:25:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:28:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:31:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:34:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:37:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_limit.go:41:				Run						91.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:16:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:19:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:22:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:25:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:28:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:31:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:34:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:37:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/owasp_string_restricted.go:41:			Run						91.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:16:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:20:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:24:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:28:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:32:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:36:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:40:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:44:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/parameter_description.go:48:			Run						83.9%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:17:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:18:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:19:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:22:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:25:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:28:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:31:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:34:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_declarations.go:38:				Run						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:18:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:19:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:20:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:23:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:26:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:29:				Link						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:32:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:35:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:41:				Run						89.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:119:				extractParamsFromPath				100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:130:				getPathParameters				90.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:150:				mergeParameters					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_params.go:162:				inferPathParamType				100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:17:					ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:18:					Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:19:					Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:22:					Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:25:					HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:28:					Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:31:					DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:34:					Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_query.go:38:					Run						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:18:			ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:19:			Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:20:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:23:			Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:26:			HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:29:			Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:32:			DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:35:			Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:39:			Run						83.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:73:			Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:77:			Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:78:			Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:79:			SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:80:			Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:82:			DescribeChange					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/path_trailing_slash.go:89:			ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:18:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:22:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:26:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:30:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:34:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:38:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:42:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:46:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:54:				checkPathKebabCase				84.6%
github.com/speakeasy-api/openapi/openapi/linter/rules/paths_kebab_case.go:79:				Run						84.6%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:16:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:20:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:24:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:28:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:32:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:36:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:40:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:44:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tag_description.go:48:				Run						87.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:20:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:24:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:28:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:32:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:36:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:40:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:44:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:48:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:52:				Run						85.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:105:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:106:				Interactive					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:107:				Prompts						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:108:				SetInput					0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:109:				Apply						0.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:111:				ApplyNode					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/tags_alphabetical.go:124:				getTagName					66.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:20:					ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:21:					Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:22:					Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:25:					Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:28:					HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:31:					Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:34:					DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:37:					Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:41:					Run						89.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:91:					createTypeMismatchError				100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:110:				isNullNode					60.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:121:				formatTypeArray					21.4%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:144:				formatTypeArrayWithNull				18.8%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:171:				isNodeMatchingType				63.6%
github.com/speakeasy-api/openapi/openapi/linter/rules/typed_enum.go:201:				containsType					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:20:				ID						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:21:				Category					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:22:				Description					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:25:				Summary						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:28:				HowToFix					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:31:				Link						100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:34:				DefaultSeverity					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:37:				Versions					100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:42:				Run						80.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:58:				collectReferencedComponentPointers		46.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:182:				extractComponentPointer				73.3%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:216:				checkUnusedComponents				43.5%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:382:				getComponentKeyNode				58.6%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:443:				hasUsageMarkingExtension			85.7%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:459:				createUnusedComponentError			100.0%
github.com/speakeasy-api/openapi/openapi/linter/rules/unused_components.go:487:				getComponentTypeMapNode				50.0%
github.com/speakeasy-api/openapi/openapi/localize.go:121:						Localize					60.0%
github.com/speakeasy-api/openapi/openapi/localize.go:175:						discoverExternalReferences			46.7%
github.com/speakeasy-api/openapi/openapi/localize.go:218:						discoverSchemaReference				87.1%
github.com/speakeasy-api/openapi/openapi/localize.go:292:						discoverGenericReference			4.8%
github.com/speakeasy-api/openapi/openapi/localize.go:396:						generateLocalizedFilenames			100.0%
github.com/speakeasy-api/openapi/openapi/localize.go:448:						generateLocalizedFilenameWithConflictDetection	88.9%
github.com/speakeasy-api/openapi/openapi/localize.go:469:						generatePathBasedFilenameWithConflictDetection	58.1%
github.com/speakeasy-api/openapi/openapi/localize.go:533:						generateCounterBasedFilename			100.0%
github.com/speakeasy-api/openapi/openapi/localize.go:550:						copyExternalFiles				77.8%
github.com/speakeasy-api/openapi/openapi/localize.go:571:						rewriteInternalReferences			66.7%
github.com/speakeasy-api/openapi/openapi/localize.go:593:						rewriteYAMLReferences				77.8%
github.com/speakeasy-api/openapi/openapi/localize.go:634:						rewriteReferenceValue				89.5%
github.com/speakeasy-api/openapi/openapi/localize.go:681:						resolveRelativeReference			75.9%
github.com/speakeasy-api/openapi/openapi/localize.go:747:						rewriteReferencesToLocalized			67.9%
github.com/speakeasy-api/openapi/openapi/localize.go:814:						updateGenericReference				14.3%
github.com/speakeasy-api/openapi/openapi/localize.go:845:						normalizeFilePath				80.0%
github.com/speakeasy-api/openapi/openapi/localize.go:889:						handleLocalizeReference				31.8%
github.com/speakeasy-api/openapi/openapi/marshalling.go:20:						WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:28:						Unmarshal					92.9%
github.com/speakeasy-api/openapi/openapi/marshalling.go:55:						Marshal						100.0%
github.com/speakeasy-api/openapi/openapi/marshalling.go:61:						Sync						0.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:48:						GetSchema					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:56:						GetItemSchema					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:64:						GetEncoding					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:72:						GetPrefixEncoding				100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:80:						GetItemEncoding					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:88:						GetExamples					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:96:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:104:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/mediatype.go:169:						GetExample					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:74:							NewOpenAPI					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:81:							GetOpenAPI					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:89:							GetSelf						100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:97:							GetInfo						100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:105:						GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:113:						GetTags						100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:121:						GetServers					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:129:						GetSecurity					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:137:						GetPaths					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:145:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:153:						GetWebhooks					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:161:						GetComponents					100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:169:						GetJSONSchemaDialect				100.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:179:						GetSchemaRegistry				0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:195:						GetDocumentBaseURI				0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:204:						SetSchemaRegistry				0.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:212:						Validate					94.9%
github.com/speakeasy-api/openapi/openapi/openapi.go:286:						validateOperationIDUniqueness			87.0%
github.com/speakeasy-api/openapi/openapi/openapi.go:333:						getOperationIDValueNode				66.7%
github.com/speakeasy-api/openapi/openapi/openapi.go:348:						validateParameterUniqueness			92.3%
github.com/speakeasy-api/openapi/openapi/openapi.go:397:						validateOperationParameterUniqueness		86.4%
github.com/speakeasy-api/openapi/openapi/operation.go:53:						GetOperationID					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:61:						GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:69:						GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:77:						GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:85:						GetTags						100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:93:						GetServers					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:101:						GetSecurity					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:109:						GetParameters					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:117:						GetRequestBody					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:125:						GetResponses					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:133:						GetCallbacks					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:141:						GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:149:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:159:						IsDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/operation.go:164:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/optimize.go:76:						Optimize					96.6%
github.com/speakeasy-api/openapi/openapi/optimize.go:236:						collectSchema					92.3%
github.com/speakeasy-api/openapi/openapi/optimize.go:303:						isComplexSchema					91.3%
github.com/speakeasy-api/openapi/openapi/optimize.go:362:						isTopLevelComponentSchema			83.3%
github.com/speakeasy-api/openapi/openapi/optimize.go:383:						buildJSONPointer				100.0%
github.com/speakeasy-api/openapi/openapi/optimize.go:402:						ensureUniqueName				71.4%
github.com/speakeasy-api/openapi/openapi/optimize.go:416:						replaceInlineSchema				81.2%
github.com/speakeasy-api/openapi/openapi/parameter.go:25:						String						100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:79:						GetName						100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:87:						GetIn						100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:95:						GetSchema					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:103:						GetRequired					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:111:						GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:119:						GetAllowEmptyValue				100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:134:						GetStyle					22.2%
github.com/speakeasy-api/openapi/openapi/parameter.go:155:						GetExplode					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:163:						GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:171:						GetExample					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:179:						GetExamples					66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:187:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:195:						GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/parameter.go:203:						GetAllowReserved				66.7%
github.com/speakeasy-api/openapi/openapi/parameter.go:211:						Validate					72.7%
github.com/speakeasy-api/openapi/openapi/paths.go:32:							NewPaths					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:39:							Len						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:47:							All						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:55:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:63:							Validate					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:111:							Is						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:115:							String						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:119:							IsStandardMethod				100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:149:							NewPathItem					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:156:							Len						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:164:							GetOperation					83.3%
github.com/speakeasy-api/openapi/openapi/paths.go:178:							Get						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:186:							Put						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:194:							Post						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:202:							Delete						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:210:							Options						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:218:							Head						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:226:							Patch						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:234:							Trace						66.7%
github.com/speakeasy-api/openapi/openapi/paths.go:242:							Query						100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:250:							GetAdditionalOperations				100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:258:							GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:266:							GetServers					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:274:							GetParameters					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:282:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:290:							GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/paths.go:298:							Validate					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:43:						NewReferencedPathItemFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:50:						NewReferencedPathItemFromPathItem		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:57:						NewReferencedExampleFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:64:						NewReferencedExampleFromExample			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:71:						NewReferencedParameterFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:78:						NewReferencedParameterFromParameter		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:85:						NewReferencedHeaderFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:92:						NewReferencedHeaderFromHeader			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:99:						NewReferencedRequestBodyFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:106:						NewReferencedRequestBodyFromRequestBody		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:113:						NewReferencedResponseFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:120:						NewReferencedResponseFromResponse		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:127:						NewReferencedCallbackFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:134:						NewReferencedCallbackFromCallback		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:141:						NewReferencedLinkFromRef			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:148:						NewReferencedLinkFromLink			100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:155:						NewReferencedSecuritySchemeFromRef		100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:162:						NewReferencedSecuritySchemeFromSecurityScheme	100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:221:						Resolve						83.3%
github.com/speakeasy-api/openapi/openapi/reference.go:242:						IsReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:250:						IsResolved					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:266:						GetReference					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:275:						GetResolvedObject				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:285:						GetObject					90.0%
github.com/speakeasy-api/openapi/openapi/reference.go:331:						MustGetObject					66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:345:						GetObjectAny					66.7%
github.com/speakeasy-api/openapi/openapi/reference.go:353:						GetSummary					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:361:						GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:370:						GetRootNode					77.8%
github.com/speakeasy-api/openapi/openapi/reference.go:400:						GetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:418:						GetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:433:						SetParent					100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:448:						SetTopLevelParent				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:458:						Validate					93.8%
github.com/speakeasy-api/openapi/openapi/reference.go:488:						Populate					84.6%
github.com/speakeasy-api/openapi/openapi/reference.go:514:						GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/openapi/reference.go:526:						GetReferenceResolutionInfo			70.0%
github.com/speakeasy-api/openapi/openapi/reference.go:546:						resolve						80.5%
github.com/speakeasy-api/openapi/openapi/reference.go:628:						resolveObjectWithTracking			91.4%
github.com/speakeasy-api/openapi/openapi/reference.go:710:						linkResolvedParent				90.9%
github.com/speakeasy-api/openapi/openapi/reference.go:738:						isAncestorLocked				77.8%
github.com/speakeasy-api/openapi/openapi/reference.go:756:						joinReferenceChain				80.0%
github.com/speakeasy-api/openapi/openapi/reference.go:773:						unmarshaler					75.0%
github.com/speakeasy-api/openapi/openapi/reference.go:806:						ensureMutex					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:32:						GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:40:						GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:48:						GetRequired					100.0%
github.com/speakeasy-api/openapi/openapi/requests.go:56:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:30:						NewResponses					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:37:						Len						66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:45:						GetDefault					66.7%
github.com/speakeasy-api/openapi/openapi/responses.go:53:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:60:						Populate					84.0%
github.com/speakeasy-api/openapi/openapi/responses.go:109:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:150:						GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:158:						GetHeaders					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:166:						GetContent					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:174:						GetLinks					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:182:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/responses.go:190:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/sanitize.go:171:						Sanitize					81.2%
github.com/speakeasy-api/openapi/openapi/sanitize.go:208:						LoadSanitizeConfig				85.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:223:						LoadSanitizeConfigFromFile			60.0%
github.com/speakeasy-api/openapi/openapi/sanitize.go:235:						determineRemovalAction				86.2%
github.com/speakeasy-api/openapi/openapi/sanitize.go:363:						removeExtensions				90.6%
github.com/speakeasy-api/openapi/openapi/sanitize.go:486:						removeUnknownProperties				37.5%
github.com/speakeasy-api/openapi/openapi/sanitize.go:558:						cleanUnknownPropertiesFromJSONSchema		66.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:574:						cleanUnknownPropertiesFromModel			85.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:603:						isNilAny					83.3%
github.com/speakeasy-api/openapi/openapi/sanitize.go:618:						getCoreModelFromAny				94.4%
github.com/speakeasy-api/openapi/openapi/sanitize.go:662:						getRootNodeFromAny				35.7%
github.com/speakeasy-api/openapi/openapi/sanitize.go:700:						removePropertiesFromNode			87.5%
github.com/speakeasy-api/openapi/openapi/security.go:23:						String						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:39:						String						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:79:						GetType						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:87:						GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:95:						GetName						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:103:						GetIn						100.0%
github.com/speakeasy-api/openapi/openapi/security.go:111:						GetScheme					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:119:						GetBearerFormat					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:127:						GetFlows					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:135:						GetOpenIdConnectUrl				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:143:						GetOAuth2MetadataUrl				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:151:						GetDeprecated					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:159:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:167:						Validate					96.8%
github.com/speakeasy-api/openapi/openapi/security.go:240:						getUnusedFields					90.0%
github.com/speakeasy-api/openapi/openapi/security.go:356:						NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:362:						Populate					93.8%
github.com/speakeasy-api/openapi/openapi/security.go:397:						Validate					92.9%
github.com/speakeasy-api/openapi/openapi/security.go:467:						GetImplicit					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:475:						GetPassword					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:483:						GetClientCredentials				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:491:						GetAuthorizationCode				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:499:						GetDeviceAuthorization				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:507:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:515:						Validate					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:561:						GetAuthorizationURL				100.0%
github.com/speakeasy-api/openapi/openapi/security.go:569:						GetDeviceAuthorizationURL			100.0%
github.com/speakeasy-api/openapi/openapi/security.go:577:						GetTokenURL					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:585:						GetRefreshURL					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:593:						GetScopes					100.0%
github.com/speakeasy-api/openapi/openapi/security.go:601:						GetExtensions					66.7%
github.com/speakeasy-api/openapi/openapi/security.go:609:						Validate					81.0%
github.com/speakeasy-api/openapi/openapi/serialization.go:10:						String						100.0%
github.com/speakeasy-api/openapi/openapi/server.go:43:							GetURL						100.0%
github.com/speakeasy-api/openapi/openapi/server.go:51:							GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:59:							GetName						66.7%
github.com/speakeasy-api/openapi/openapi/server.go:67:							GetVariables					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:75:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:83:							Validate					90.0%
github.com/speakeasy-api/openapi/openapi/server.go:138:							GetDefault					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:146:							GetEnum						100.0%
github.com/speakeasy-api/openapi/openapi/server.go:154:							GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:162:							Validate					100.0%
github.com/speakeasy-api/openapi/openapi/server.go:181:							resolveServerVariables				95.7%
github.com/speakeasy-api/openapi/openapi/server.go:222:							formatServerVariableName			100.0%
github.com/speakeasy-api/openapi/openapi/server.go:230:							doubleCurlyBraceHint				100.0%
github.com/speakeasy-api/openapi/openapi/snip.go:74:							Snip						88.2%
github.com/speakeasy-api/openapi/openapi/snip.go:114:							removeOperationByID				77.8%
github.com/speakeasy-api/openapi/openapi/snip.go:139:							removeOperation					76.9%
github.com/speakeasy-api/openapi/openapi/tag.go:40:							GetName						100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:48:							GetDescription					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:56:							GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:64:							GetSummary					66.7%
github.com/speakeasy-api/openapi/openapi/tag.go:72:							GetParent					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:80:							GetKind						100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:88:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:96:							Validate					100.0%
github.com/speakeasy-api/openapi/openapi/tag.go:145:							hasCircularParentReference			100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:25:					String						100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:30:					IsRegistered					100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:40:					GetRegisteredTagKinds				100.0%
github.com/speakeasy-api/openapi/openapi/tag_kind_registry.go:56:					GetTagKindDescription				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:22:							WithUpgradeSameMinorVersion			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:28:							WithUpgradeTargetVersion			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:36:							Upgrade						82.1%
github.com/speakeasy-api/openapi/openapi/upgrade.go:89:							upgradeFrom30To31				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:103:						upgradeFrom310To312				62.5%
github.com/speakeasy-api/openapi/openapi/upgrade.go:119:						upgradeFrom31To32				83.3%
github.com/speakeasy-api/openapi/openapi/upgrade.go:147:						migrateAdditionalOperations31to32		87.5%
github.com/speakeasy-api/openapi/openapi/upgrade.go:186:						migrateTags31to32				77.8%
github.com/speakeasy-api/openapi/openapi/upgrade.go:210:						migrateTagDisplayName				20.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:239:						migrateTagGroups				86.2%
github.com/speakeasy-api/openapi/openapi/upgrade.go:304:						ensureParentTagExists				80.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:331:						setTagParent					100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:359:						upgradeSchema30to31				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:371:						upgradeExample30to31				100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:384:						upgradeExclusiveMinMax30to31			100.0%
github.com/speakeasy-api/openapi/openapi/upgrade.go:404:						upgradeNullableSchema30to31			94.4%
github.com/speakeasy-api/openapi/openapi/upgrade.go:436:						createNullSchema				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:26:							ResolveAllReferences				100.0%
github.com/speakeasy-api/openapi/openapi/utils.go:91:							resolveAny					94.1%
github.com/speakeasy-api/openapi/openapi/utils.go:155:							ExtractMethodAndPath				88.9%
github.com/speakeasy-api/openapi/openapi/utils.go:191:							GetParentType					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:24:							Walk						75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:34:							walkFrom					28.2%
github.com/speakeasy-api/openapi/openapi/walk.go:119:							walk						85.7%
github.com/speakeasy-api/openapi/openapi/walk.go:166:							walkInfo					86.4%
github.com/speakeasy-api/openapi/openapi/walk.go:214:							walkPaths					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:236:							walkReferencedPathItem				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:256:							walkPathItem					71.4%
github.com/speakeasy-api/openapi/openapi/walk.go:292:							walkOperation					70.0%
github.com/speakeasy-api/openapi/openapi/walk.go:343:							walkReferencedParameters			88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:363:							walkReferencedParameter				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:383:							walkParameter					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:408:							walkReferencedRequestBody			87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:428:							walkRequestBody					80.0%
github.com/speakeasy-api/openapi/openapi/walk.go:443:							walkResponses					81.8%
github.com/speakeasy-api/openapi/openapi/walk.go:471:							walkReferencedResponse				87.5%
github.com/speakeasy-api/openapi/openapi/walk.go:491:							walkResponse					66.7%
github.com/speakeasy-api/openapi/openapi/walk.go:516:							walkMediaTypes					100.0%
github.com/speakeasy-api/openapi/openapi/walk.go:536:							walkMediaType					61.1%
github.com/speakeasy-api/openapi/openapi/walk.go:582:							walkEncodings					88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:602:							walkPrefixEncodings				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:622:							walkEncoding					75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:643:							walkReferencedHeaders				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:663:							walkReferencedHeader				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:683:							walkHeader					55.6%
github.com/speakeasy-api/openapi/openapi/walk.go:708:							walkReferencedExamples				88.9%
github.com/speakeasy-api/openapi/openapi/walk.go:728:							walkReferencedExample				75.0%
github.com/speakeasy-api/openapi/openapi/walk.go:748:							walkExample					66.7%
github.com/speakeasy-api/openapi/openapi/walk_components.go:12:						walkComponents					69.2%
github.com/speakeasy-api/openapi/openapi/walk_components.go:78:						walkComponentSchemas				100.0%
github.com/speakeasy-api/openapi/openapi/walk_components.go:98:						walkComponentResponses				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:118:					walkComponentParameters				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:138:					walkComponentExamples				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:158:					walkComponentRequestBodies			88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:178:					walkComponentHeaders				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:198:					walkComponentSecuritySchemes			100.0%
github.com/speakeasy-api/openapi/openapi/walk_components.go:218:					walkComponentLinks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:238:					walkComponentCallbacks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_components.go:258:					walkComponentPathItems				88.9%
github.com/speakeasy-api/openapi/openapi/walk_matching.go:152:						getMatchFunc					83.3%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:11:						walkSchema					100.0%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:31:						convertSchemaMatchFunc				100.0%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:45:						convertSchemaLocation				100.0%
github.com/speakeasy-api/openapi/openapi/walk_schema.go:63:						walkExternalDocs				87.5%
github.com/speakeasy-api/openapi/openapi/walk_security.go:10:						walkSecurity					100.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:30:						walkSecurityRequirement				75.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:41:						walkReferencedSecurityScheme			75.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:61:						walkSecurityScheme				80.0%
github.com/speakeasy-api/openapi/openapi/walk_security.go:76:						walkOAuthFlows					71.4%
github.com/speakeasy-api/openapi/openapi/walk_security.go:109:						walkOAuthFlow					83.3%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:10:					walkTags					85.7%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:25:					walkTag						62.5%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:44:					walkServers					100.0%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:59:					walkServer					87.5%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:77:					walkVariables					100.0%
github.com/speakeasy-api/openapi/openapi/walk_tags_servers.go:91:					walkVariable					100.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:11:					walkWebhooks					88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:31:					walkReferencedLinks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:51:					walkReferencedLink				75.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:71:					walkLink					60.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:86:					walkReferencedCallbacks				88.9%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:106:				walkReferencedCallback				75.0%
github.com/speakeasy-api/openapi/openapi/walk_webhooks_callbacks.go:126:				walkCallback					66.7%
github.com/speakeasy-api/openapi/oq/exec.go:19:								deriveResult					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:27:								run						71.4%
github.com/speakeasy-api/openapi/oq/exec.go:69:								execSource					70.3%
github.com/speakeasy-api/openapi/oq/exec.go:142:							execStageWithEnv				100.0%
github.com/speakeasy-api/openapi/oq/exec.go:155:							execStage					94.4%
github.com/speakeasy-api/openapi/oq/exec.go:260:							execWhere					90.0%
github.com/speakeasy-api/openapi/oq/exec.go:277:							execLast					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:287:							execLet						83.3%
github.com/speakeasy-api/openapi/oq/exec.go:310:							execSort					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:326:							execTake					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:336:							execUnique					93.8%
github.com/speakeasy-api/openapi/oq/exec.go:362:							execGroupBy					92.9%
github.com/speakeasy-api/openapi/oq/exec.go:419:							execTraversal					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:438:							edgeRowKey					75.0%
github.com/speakeasy-api/openapi/oq/exec.go:448:							traverseOutEdges				88.9%
github.com/speakeasy-api/openapi/oq/exec.go:469:							edgeKindMatch					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:484:							execRefs					97.7%
github.com/speakeasy-api/openapi/oq/exec.go:591:							resolveToOwner					93.3%
github.com/speakeasy-api/openapi/oq/exec.go:613:							traverseProperties				80.0%
github.com/speakeasy-api/openapi/oq/exec.go:628:							collectSchemaProperties				100.0%
github.com/speakeasy-api/openapi/oq/exec.go:640:							collectPropertiesDirect				100.0%
github.com/speakeasy-api/openapi/oq/exec.go:660:							collectAllOfProperties				85.7%
github.com/speakeasy-api/openapi/oq/exec.go:676:							collectUnionProperties				100.0%
github.com/speakeasy-api/openapi/oq/exec.go:696:							execPropertiesFixpoint				100.0%
github.com/speakeasy-api/openapi/oq/exec.go:729:							traverseUnionMembers				90.0%
github.com/speakeasy-api/openapi/oq/exec.go:753:							traverseItems					50.0%
github.com/speakeasy-api/openapi/oq/exec.go:807:							resolveRefTarget				77.8%
github.com/speakeasy-api/openapi/oq/exec.go:832:							resolveThinWrapper				76.9%
github.com/speakeasy-api/openapi/oq/exec.go:857:							execSchemasToOps				91.7%
github.com/speakeasy-api/openapi/oq/exec.go:876:							execOpsToSchemas				91.7%
github.com/speakeasy-api/openapi/oq/exec.go:895:							execBlastRadius					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:944:							execOrphans					87.5%
github.com/speakeasy-api/openapi/oq/exec.go:958:							execLeaves					85.7%
github.com/speakeasy-api/openapi/oq/exec.go:975:							hasComponentRef					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:987:							execCycles					95.5%
github.com/speakeasy-api/openapi/oq/exec.go:1033:							execClusters					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:1117:							execTagBoundary					88.9%
github.com/speakeasy-api/openapi/oq/exec.go:1134:							schemaTagCount					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:1149:							execSharedRefs					75.0%
github.com/speakeasy-api/openapi/oq/exec.go:1197:							execDuplicates					78.9%
github.com/speakeasy-api/openapi/oq/exec.go:1232:							schemaName					66.7%
github.com/speakeasy-api/openapi/oq/exec.go:1239:							edgeKindString					85.0%
github.com/speakeasy-api/openapi/oq/exec.go:1284:							buildExplain					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:1300:							describeStage					93.3%
github.com/speakeasy-api/openapi/oq/exec.go:1418:							execFields					100.0%
github.com/speakeasy-api/openapi/oq/exec.go:1640:							execOrigin					90.9%
github.com/speakeasy-api/openapi/oq/exec.go:1665:							execSample					88.9%
github.com/speakeasy-api/openapi/oq/exec.go:1684:							execPath					85.7%
github.com/speakeasy-api/openapi/oq/exec.go:1719:							execParameters					80.0%
github.com/speakeasy-api/openapi/oq/exec.go:1749:							execResponses					78.9%
github.com/speakeasy-api/openapi/oq/exec.go:1792:							execRequestBody					83.3%
github.com/speakeasy-api/openapi/oq/exec.go:1816:							execContentTypes				81.2%
github.com/speakeasy-api/openapi/oq/exec.go:1860:							execHeaders					83.3%
github.com/speakeasy-api/openapi/oq/exec.go:1887:							execSchema					87.5%
github.com/speakeasy-api/openapi/oq/exec.go:1934:							execOperation					84.6%
github.com/speakeasy-api/openapi/oq/exec.go:1969:							componentRows					58.5%
github.com/speakeasy-api/openapi/oq/exec.go:2083:							execMembers					80.0%
github.com/speakeasy-api/openapi/oq/exec.go:2097:							execGroupMembers				82.4%
github.com/speakeasy-api/openapi/oq/exec.go:2130:							execSecurity					85.0%
github.com/speakeasy-api/openapi/oq/exec.go:2172:							execCallbacks					74.2%
github.com/speakeasy-api/openapi/oq/exec.go:2229:							execLinks					83.3%
github.com/speakeasy-api/openapi/oq/exec.go:2258:							traverseAdditionalProperties			100.0%
github.com/speakeasy-api/openapi/oq/exec.go:2262:							traversePatternProperties			100.0%
github.com/speakeasy-api/openapi/oq/exec.go:2266:							buildSecuritySchemeMap				76.9%
github.com/speakeasy-api/openapi/oq/expr/expr.go:101:							Eval						93.8%
github.com/speakeasy-api/openapi/oq/expr/expr.go:132:							Eval						90.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:152:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:156:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:161:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:178:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:197:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:205:							evalFunc					77.6%
github.com/speakeasy-api/openapi/oq/expr/expr.go:305:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:309:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:313:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:321:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:332:							Eval						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:343:							toBool						83.3%
github.com/speakeasy-api/openapi/oq/expr/expr.go:358:							equal						85.7%
github.com/speakeasy-api/openapi/oq/expr/expr.go:371:							compare						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:383:							toInt						87.5%
github.com/speakeasy-api/openapi/oq/expr/expr.go:400:							toString					83.3%
github.com/speakeasy-api/openapi/oq/expr/expr.go:416:							StringVal					100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:421:							IntVal						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:426:							BoolVal						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:431:							NullVal						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:436:							ArrayVal					100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:443:							Parse						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:460:							peek						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:467:							peekAt						75.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:475:							next						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:481:							expect						100.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:489:							parseOr						90.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:505:							parseAnd					90.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:521:							parseComparison					88.6%
github.com/speakeasy-api/openapi/oq/expr/expr.go:573:							parseAlternative				90.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:589:							parseAddSub					90.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:605:							parseMulDiv					90.0%
github.com/speakeasy-api/openapi/oq/expr/expr.go:621:							parseUnary					85.7%
github.com/speakeasy-api/openapi/oq/expr/expr.go:640:							parsePrimary					86.3%
github.com/speakeasy-api/openapi/oq/expr/expr.go:762:							parseIf						83.3%
github.com/speakeasy-api/openapi/oq/expr/expr.go:802:							parseInterpolation				83.3%
github.com/speakeasy-api/openapi/oq/expr/expr.go:847:							stripQuotes					66.7%
github.com/speakeasy-api/openapi/oq/expr/expr.go:855:							tokenize					95.7%
github.com/speakeasy-api/openapi/oq/field.go:22:							Field						80.0%
github.com/speakeasy-api/openapi/oq/field.go:34:							FieldValuePublic				100.0%
github.com/speakeasy-api/openapi/oq/field.go:38:							fieldValue					74.2%
github.com/speakeasy-api/openapi/oq/field.go:446:							resultKindName					86.7%
github.com/speakeasy-api/openapi/oq/field.go:480:							schemaPropertyNames				100.0%
github.com/speakeasy-api/openapi/oq/field.go:491:							operationName					100.0%
github.com/speakeasy-api/openapi/oq/field.go:499:							schemaContentField				67.8%
github.com/speakeasy-api/openapi/oq/field.go:676:							snakeToCamel					100.0%
github.com/speakeasy-api/openapi/oq/field.go:689:							schemaRawField					100.0%
github.com/speakeasy-api/openapi/oq/field.go:708:							probeSchemaField				78.0%
github.com/speakeasy-api/openapi/oq/field.go:803:							traversalSchema					40.0%
github.com/speakeasy-api/openapi/oq/field.go:814:							isPropertyRequired				0.0%
github.com/speakeasy-api/openapi/oq/field.go:856:							operationContentField				90.0%
github.com/speakeasy-api/openapi/oq/field.go:879:							getSchema					66.7%
github.com/speakeasy-api/openapi/oq/field.go:888:							hasErrorResponse				80.0%
github.com/speakeasy-api/openapi/oq/field.go:900:							extensionFieldValue				88.9%
github.com/speakeasy-api/openapi/oq/field.go:918:							tagOperationCount				90.0%
github.com/speakeasy-api/openapi/oq/field.go:935:							compareValues					100.0%
github.com/speakeasy-api/openapi/oq/field.go:956:							valueToString					100.0%
github.com/speakeasy-api/openapi/oq/field.go:971:							rowKey						57.9%
github.com/speakeasy-api/openapi/oq/format.go:15:							FormatTable					100.0%
github.com/speakeasy-api/openapi/oq/format.go:93:							FormatJSON					100.0%
github.com/speakeasy-api/openapi/oq/format.go:134:							FormatMarkdown					100.0%
github.com/speakeasy-api/openapi/oq/format.go:184:							FormatToon					100.0%
github.com/speakeasy-api/openapi/oq/format.go:228:							FormatGCF					91.3%
github.com/speakeasy-api/openapi/oq/format.go:275:							FormatYAML					88.0%
github.com/speakeasy-api/openapi/oq/format.go:325:							getRootNode					83.3%
github.com/speakeasy-api/openapi/oq/format.go:392:							toonValue					83.3%
github.com/speakeasy-api/openapi/oq/format.go:407:							toonArrayValue					85.7%
github.com/speakeasy-api/openapi/oq/format.go:423:							toonEscape					75.0%
github.com/speakeasy-api/openapi/oq/format.go:453:							toonQuote					58.3%
github.com/speakeasy-api/openapi/oq/format.go:476:							jsonValue					92.3%
github.com/speakeasy-api/openapi/oq/format.go:504:							resolveDefaultFields				73.3%
github.com/speakeasy-api/openapi/oq/format.go:534:							expandStarFields				35.7%
github.com/speakeasy-api/openapi/oq/format.go:559:							hasEdgeAnnotations				75.0%
github.com/speakeasy-api/openapi/oq/format.go:569:							hasBidiAnnotations				0.0%
github.com/speakeasy-api/openapi/oq/format.go:578:							defaultFieldsForKind				86.7%
github.com/speakeasy-api/openapi/oq/format.go:613:							syncGroupsFromRows				100.0%
github.com/speakeasy-api/openapi/oq/format.go:639:							emitKey						80.5%
github.com/speakeasy-api/openapi/oq/format.go:707:							padRight					100.0%
github.com/speakeasy-api/openapi/oq/module.go:11:							LoadModule					90.0%
github.com/speakeasy-api/openapi/oq/module.go:30:							resolveModulePath				100.0%
github.com/speakeasy-api/openapi/oq/module.go:61:							ExpandDefs					90.6%
github.com/speakeasy-api/openapi/oq/oq.go:100:								Execute						100.0%
github.com/speakeasy-api/openapi/oq/oq.go:105:								ExecuteWithSearchPaths				82.4%
github.com/speakeasy-api/openapi/oq/parse.go:18:							parseDeclarations				92.3%
github.com/speakeasy-api/openapi/oq/parse.go:73:							ParseQuery					87.5%
github.com/speakeasy-api/openapi/oq/parse.go:106:							Parse						100.0%
github.com/speakeasy-api/openapi/oq/parse.go:114:							parsePipeline					78.9%
github.com/speakeasy-api/openapi/oq/parse.go:148:							parseStage					85.9%
github.com/speakeasy-api/openapi/oq/parse.go:414:							parseRefs					85.0%
github.com/speakeasy-api/openapi/oq/parse.go:454:							parseDepthArg					85.7%
github.com/speakeasy-api/openapi/oq/parse.go:466:							parseLet					91.7%
github.com/speakeasy-api/openapi/oq/parse.go:486:							parseFuncSig					81.0%
github.com/speakeasy-api/openapi/oq/parse.go:517:							findUnquotedSemicolon				94.1%
github.com/speakeasy-api/openapi/oq/parse.go:549:							splitKeywordCall				86.1%
github.com/speakeasy-api/openapi/oq/parse.go:606:							splitCommaArgs					100.0%
github.com/speakeasy-api/openapi/oq/parse.go:610:							parseTwoArgs					91.3%
github.com/speakeasy-api/openapi/oq/parse.go:647:							splitPipeline					100.0%
github.com/speakeasy-api/openapi/oq/parse.go:653:							splitAtDelim					92.0%
github.com/speakeasy-api/openapi/oq/parse.go:692:							splitFirst					100.0%
github.com/speakeasy-api/openapi/oq/parse.go:701:							parseCSV					100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:14:							ApplyTo						88.9%
github.com/speakeasy-api/openapi/overlay/apply.go:36:							ApplyToStrict					96.7%
github.com/speakeasy-api/openapi/overlay/apply.go:90:							validateSelectorHasAtLeastOneTarget		83.3%
github.com/speakeasy-api/openapi/overlay/apply.go:127:							applyRemoveAction				90.0%
github.com/speakeasy-api/openapi/overlay/apply.go:148:							removeNode					91.7%
github.com/speakeasy-api/openapi/overlay/apply.go:180:							applyUpdateAction				87.0%
github.com/speakeasy-api/openapi/overlay/apply.go:227:							applyMerge					72.7%
github.com/speakeasy-api/openapi/overlay/apply.go:277:							mergeNode					100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:302:							mergeMappingNode				100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:335:							nodeKindName					80.0%
github.com/speakeasy-api/openapi/overlay/apply.go:349:							mergeSequenceNode				100.0%
github.com/speakeasy-api/openapi/overlay/apply.go:354:							clone						87.5%
github.com/speakeasy-api/openapi/overlay/apply.go:378:							applyCopyAction					71.4%
github.com/speakeasy-api/openapi/overlay/compare.go:14:							Compare						75.0%
github.com/speakeasy-api/openapi/overlay/compare.go:37:							intPart						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:43:							keyPart						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:50:							String						66.7%
github.com/speakeasy-api/openapi/overlay/compare.go:57:							KeyString					0.0%
github.com/speakeasy-api/openapi/overlay/compare.go:66:							WithIndex					100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:70:							WithKey						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:74:							ToJSONPath					100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:83:							Dir						100.0%
github.com/speakeasy-api/openapi/overlay/compare.go:87:							Base						0.0%
github.com/speakeasy-api/openapi/overlay/compare.go:91:							walkTreesAndCollectActions			88.9%
github.com/speakeasy-api/openapi/overlay/compare.go:156:						yamlEquals					85.7%
github.com/speakeasy-api/openapi/overlay/compare.go:178:						walkSequenceNode				93.8%
github.com/speakeasy-api/openapi/overlay/compare.go:207:						walkMappingNode					92.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:22:						Query						75.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:35:						NewPath						100.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:65:						UsesRFC9535					100.0%
github.com/speakeasy-api/openapi/overlay/jsonpath.go:87:						mustExecute					100.0%
github.com/speakeasy-api/openapi/overlay/loader/overlay.go:12:						LoadOverlay					100.0%
github.com/speakeasy-api/openapi/overlay/loader/overlay.go:22:						LoadOverlayFromReader				0.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:21:						GetOverlayExtendsPath				61.1%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:65:						LoadExtendsSpecification			100.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:75:						LoadSpecificationFromReader			0.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:85:						LoadSpecification				100.0%
github.com/speakeasy-api/openapi/overlay/loader/spec.go:105:						LoadEitherSpecification				100.0%
github.com/speakeasy-api/openapi/overlay/parents.go:8:							newParentIndex					100.0%
github.com/speakeasy-api/openapi/overlay/parents.go:14:							indexNodeRecursively				100.0%
github.com/speakeasy-api/openapi/overlay/parents.go:21:							getParent					100.0%
github.com/speakeasy-api/openapi/overlay/parse.go:13:							ParseReader					0.0%
github.com/speakeasy-api/openapi/overlay/parse.go:28:							Parse						81.8%
github.com/speakeasy-api/openapi/overlay/parse.go:49:							Format						80.0%
github.com/speakeasy-api/openapi/overlay/parse.go:67:							Format						100.0%
github.com/speakeasy-api/openapi/overlay/schema.go:56:							IsV110OrLater					80.0%
github.com/speakeasy-api/openapi/overlay/schema.go:66:							ToString					100.0%
github.com/speakeasy-api/openapi/overlay/upgrade.go:20:							WithUpgradeTargetVersion			100.0%
github.com/speakeasy-api/openapi/overlay/upgrade.go:36:							Upgrade						100.0%
github.com/speakeasy-api/openapi/overlay/upgrade.go:77:							upgradeFrom100To110				77.8%
github.com/speakeasy-api/openapi/overlay/utils.go:9:							NewTargetSelector				100.0%
github.com/speakeasy-api/openapi/overlay/utils.go:13:							NewUpdateAction					100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:32:						Error						100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:40:						Return						100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:47:						ValidateVersion					100.0%
github.com/speakeasy-api/openapi/overlay/validate.go:60:						Validate					100.0%
github.com/speakeasy-api/openapi/pointer/pointer.go:5:							From						100.0%
github.com/speakeasy-api/openapi/pointer/pointer.go:10:							Value						100.0%
github.com/speakeasy-api/openapi/references/factory_registration.go:8:					init						50.0%
github.com/speakeasy-api/openapi/references/reference.go:21:						GetURI						75.0%
github.com/speakeasy-api/openapi/references/reference.go:30:						HasJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:34:						GetJSONPointer					100.0%
github.com/speakeasy-api/openapi/references/reference.go:51:						Validate					94.1%
github.com/speakeasy-api/openapi/references/reference.go:97:						IsAnchorReference				72.7%
github.com/speakeasy-api/openapi/references/reference.go:125:						validateComponentReference			100.0%
github.com/speakeasy-api/openapi/references/reference.go:160:						String						100.0%
github.com/speakeasy-api/openapi/references/resolution.go:50:						ResolveAbsoluteReference			100.0%
github.com/speakeasy-api/openapi/references/resolution.go:86:						Resolve						92.7%
github.com/speakeasy-api/openapi/references/resolution.go:215:						resolveAgainstURL				90.0%
github.com/speakeasy-api/openapi/references/resolution.go:236:						resolveAgainstFilePath				100.0%
github.com/speakeasy-api/openapi/references/resolution.go:246:						resolveAgainstDocument				80.0%
github.com/speakeasy-api/openapi/references/resolution.go:266:						resolveAgainstData				71.4%
github.com/speakeasy-api/openapi/references/resolution.go:335:						cast						28.6%
github.com/speakeasy-api/openapi/references/resolution_cache.go:26:					ResolveAbsoluteReferenceCached			100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:33:					Resolve						90.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:64:					resolveAbsoluteReferenceUncached		90.5%
github.com/speakeasy-api/openapi/references/resolution_cache.go:115:					Clear						100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:128:					GetStats					100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:138:					GetRefCacheStats				100.0%
github.com/speakeasy-api/openapi/references/resolution_cache.go:143:					ClearGlobalRefCache				100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:42:						NewElem						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:50:						GetKey						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:59:						GetValue					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:76:						New						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:81:						NewWithCapacity					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:85:						newMap						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:118:						Init						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:126:						IsInitialized					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:134:						Len						66.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:142:						Set						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:160:						Add						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:183:						SetAny						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:196:						AddAny						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:209:						GetAny						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:219:						DeleteAny					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:229:						KeysAny						88.9%
github.com/speakeasy-api/openapi/sequencedmap/map.go:253:						SetUntyped					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:272:						Get						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:289:						GetUntyped					90.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:309:						GetOrZero					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:324:						Has						75.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:334:						Delete						85.7%
github.com/speakeasy-api/openapi/sequencedmap/map.go:351:						First						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:360:						Last						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:369:						At						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:383:						All						88.9%
github.com/speakeasy-api/openapi/sequencedmap/map.go:408:						AllOrdered					96.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:480:						AllUntyped					88.9%
github.com/speakeasy-api/openapi/sequencedmap/map.go:503:						Keys						77.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:526:						Values						77.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:548:						GetKeyType					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:554:						GetValueType					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:561:						NavigateWithKey					93.8%
github.com/speakeasy-api/openapi/sequencedmap/map.go:592:						MarshalJSON					76.2%
github.com/speakeasy-api/openapi/sequencedmap/map.go:689:						UnmarshalYAML					89.5%
github.com/speakeasy-api/openapi/sequencedmap/map.go:734:						MarshalYAML					83.3%
github.com/speakeasy-api/openapi/sequencedmap/map.go:756:						compareKeys					100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:763:						IsEqual						100.0%
github.com/speakeasy-api/openapi/sequencedmap/map.go:804:						IsEqualFunc					94.7%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:6:						Len						100.0%
github.com/speakeasy-api/openapi/sequencedmap/utils.go:14:						From						100.0%
github.com/speakeasy-api/openapi/swagger/core/factory_registration.go:9:				init						64.1%
github.com/speakeasy-api/openapi/swagger/core/paths.go:18:						NewPaths					100.0%
github.com/speakeasy-api/openapi/swagger/core/paths.go:24:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/swagger/core/paths.go:42:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/swagger/core/paths.go:60:						NewPathItem					100.0%
github.com/speakeasy-api/openapi/swagger/core/paths.go:66:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/swagger/core/paths.go:84:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/swagger/core/reference.go:26:						Unmarshal					93.3%
github.com/speakeasy-api/openapi/swagger/core/reference.go:53:						SyncChanges					10.3%
github.com/speakeasy-api/openapi/swagger/core/response.go:21:						NewResponses					100.0%
github.com/speakeasy-api/openapi/swagger/core/response.go:27:						GetMapKeyNodeOrRoot				87.5%
github.com/speakeasy-api/openapi/swagger/core/response.go:45:						GetMapKeyNodeOrRootLine				100.0%
github.com/speakeasy-api/openapi/swagger/core/security.go:30:						NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:31:						GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:39:						GetURL						100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:47:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/externaldocs.go:55:						Validate					77.8%
github.com/speakeasy-api/openapi/swagger/factory_registration.go:11:					init						89.5%
github.com/speakeasy-api/openapi/swagger/info.go:40:							GetTitle					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:48:							GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:56:							GetTermsOfService				100.0%
github.com/speakeasy-api/openapi/swagger/info.go:64:							GetContact					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:72:							GetLicense					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:80:							GetVersion					66.7%
github.com/speakeasy-api/openapi/swagger/info.go:88:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:96:							Validate					80.0%
github.com/speakeasy-api/openapi/swagger/info.go:144:							GetName						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:152:							GetURL						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:160:							GetEmail					66.7%
github.com/speakeasy-api/openapi/swagger/info.go:168:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:176:							Validate					90.0%
github.com/speakeasy-api/openapi/swagger/info.go:212:							GetName						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:220:							GetURL						66.7%
github.com/speakeasy-api/openapi/swagger/info.go:228:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/info.go:236:							Validate					77.8%
github.com/speakeasy-api/openapi/swagger/marshalling.go:20:						WithSkipValidation				100.0%
github.com/speakeasy-api/openapi/swagger/marshalling.go:28:						Unmarshal					92.3%
github.com/speakeasy-api/openapi/swagger/marshalling.go:54:						Marshal						100.0%
github.com/speakeasy-api/openapi/swagger/marshalling.go:60:						Sync						0.0%
github.com/speakeasy-api/openapi/swagger/operation.go:51:						GetTags						100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:59:						GetSummary					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:67:						GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:75:						GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:83:						GetOperationID					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:91:						GetConsumes					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:99:						GetProduces					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:107:						GetParameters					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:115:						GetResponses					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:123:						GetSchemes					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:131:						GetDeprecated					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:139:						GetSecurity					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:147:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/operation.go:155:						Validate					90.6%
github.com/speakeasy-api/openapi/swagger/parameter.go:112:						GetName						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:120:						GetIn						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:128:						GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:136:						GetRequired					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:144:						GetSchema					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:152:						GetType						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:160:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:168:						Validate					92.9%
github.com/speakeasy-api/openapi/swagger/parameter.go:228:						validateIn					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:246:						validateParameterType				93.8%
github.com/speakeasy-api/openapi/swagger/parameter.go:359:						GetType						100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:367:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/parameter.go:375:						Validate					94.7%
github.com/speakeasy-api/openapi/swagger/paths.go:28:							NewPaths					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:35:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:43:							Validate					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:101:							NewPathItem					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:108:							GetRef						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:116:							GetParameters					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:124:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:132:							GetOperation					83.3%
github.com/speakeasy-api/openapi/swagger/paths.go:146:							Get						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:151:							Put						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:156:							Post						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:161:							Delete						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:166:							Options						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:171:							Head						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:176:							Patch						100.0%
github.com/speakeasy-api/openapi/swagger/paths.go:181:							Validate					100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:24:						NewReferencedParameterFromRef			100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:31:						NewReferencedParameterFromParameter		100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:38:						NewReferencedResponseFromRef			100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:45:						NewReferencedResponseFromResponse		100.0%
github.com/speakeasy-api/openapi/swagger/reference.go:65:						IsReference					66.7%
github.com/speakeasy-api/openapi/swagger/reference.go:73:						GetReference					66.7%
github.com/speakeasy-api/openapi/swagger/reference.go:81:						GetObject					60.0%
github.com/speakeasy-api/openapi/swagger/reference.go:94:						Validate					53.8%
github.com/speakeasy-api/openapi/swagger/reference.go:120:						Populate					72.7%
github.com/speakeasy-api/openapi/swagger/response.go:31:						NewResponses					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:38:						GetDefault					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:46:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:54:						Validate					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:100:						GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:108:						GetSchema					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:116:						GetHeaders					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:124:						GetExamples					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:132:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:140:						Validate					87.5%
github.com/speakeasy-api/openapi/swagger/response.go:205:						GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:213:						GetType						100.0%
github.com/speakeasy-api/openapi/swagger/response.go:221:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/response.go:229:						Validate					94.7%
github.com/speakeasy-api/openapi/swagger/security.go:81:						GetType						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:89:						GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:97:						GetName						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:105:						GetIn						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:113:						GetFlow						100.0%
github.com/speakeasy-api/openapi/swagger/security.go:121:						GetAuthorizationURL				100.0%
github.com/speakeasy-api/openapi/swagger/security.go:129:						GetTokenURL					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:137:						GetScopes					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:145:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/security.go:153:						Validate					93.3%
github.com/speakeasy-api/openapi/swagger/security.go:249:						NewSecurityRequirement				100.0%
github.com/speakeasy-api/openapi/swagger/security.go:256:						Validate					88.9%
github.com/speakeasy-api/openapi/swagger/swagger.go:63:							GetSwagger					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:71:							GetInfo						100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:79:							GetHost						100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:87:							GetBasePath					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:95:							GetSchemes					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:103:						GetConsumes					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:111:						GetProduces					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:119:						GetPaths					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:127:						GetDefinitions					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:135:						GetParameters					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:143:						GetResponses					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:151:						GetSecurityDefinitions				100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:159:						GetSecurity					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:167:						GetTags						100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:175:						GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:183:						GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:191:						Validate					98.0%
github.com/speakeasy-api/openapi/swagger/swagger.go:314:						validateOperationIDUniqueness			86.7%
github.com/speakeasy-api/openapi/swagger/tag.go:31:							GetName						100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:39:							GetDescription					100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:47:							GetExternalDocs					100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:55:							GetExtensions					100.0%
github.com/speakeasy-api/openapi/swagger/tag.go:63:							Validate					87.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:35:							Upgrade						93.8%
github.com/speakeasy-api/openapi/swagger/upgrade.go:81:							convertInfo					66.7%
github.com/speakeasy-api/openapi/swagger/upgrade.go:105:						convertInfoContact				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:117:						convertInfoLicense				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:128:						copyExtensions					40.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:137:						convertExternalDocs				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:148:						convertTags					87.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:167:						buildServers					85.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:202:						ensureLeadingSlash				60.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:212:						convertDefinitions				87.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:226:						convertSecuritySchemes				70.4%
github.com/speakeasy-api/openapi/swagger/upgrade.go:273:						convertOAuth2Flows				81.8%
github.com/speakeasy-api/openapi/swagger/upgrade.go:313:						cloneStringMap					83.3%
github.com/speakeasy-api/openapi/swagger/upgrade.go:324:						convertSecurityRequirements			90.9%
github.com/speakeasy-api/openapi/swagger/upgrade.go:342:						convertPaths					84.6%
github.com/speakeasy-api/openapi/swagger/upgrade.go:366:						convertPathItem					46.2%
github.com/speakeasy-api/openapi/swagger/upgrade.go:415:						convertOperation				87.3%
github.com/speakeasy-api/openapi/swagger/upgrade.go:581:						anyRequired					100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:590:						schemaForSwaggerParamType			84.8%
github.com/speakeasy-api/openapi/swagger/upgrade.go:655:						convertParameter				60.7%
github.com/speakeasy-api/openapi/swagger/upgrade.go:717:						convertReferencedResponse			80.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:763:						exampleForMediaType				50.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:780:						convertResponseHeaders				64.7%
github.com/speakeasy-api/openapi/swagger/upgrade.go:820:						convertGlobalParameters				90.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:838:						convertGlobalRequestBodies			90.5%
github.com/speakeasy-api/openapi/swagger/upgrade.go:876:						convertGlobalResponses				100.0%
github.com/speakeasy-api/openapi/swagger/upgrade.go:892:						localComponentName				71.4%
github.com/speakeasy-api/openapi/swagger/upgrade.go:904:						rewriteRefTargets				92.3%
github.com/speakeasy-api/openapi/swagger/walk.go:24:							Walk						75.0%
github.com/speakeasy-api/openapi/swagger/walk.go:34:							walkFrom					9.1%
github.com/speakeasy-api/openapi/swagger/walk.go:81:							walk						78.3%
github.com/speakeasy-api/openapi/swagger/walk.go:132:							walkInfo					86.4%
github.com/speakeasy-api/openapi/swagger/walk.go:179:							walkExternalDocs				83.3%
github.com/speakeasy-api/openapi/swagger/walk.go:194:							walkTags					77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:213:							walkTag						62.5%
github.com/speakeasy-api/openapi/swagger/walk.go:234:							walkPaths					88.9%
github.com/speakeasy-api/openapi/swagger/walk.go:256:							walkPathItem					81.8%
github.com/speakeasy-api/openapi/swagger/walk.go:284:							walkOperation					78.6%
github.com/speakeasy-api/openapi/swagger/walk.go:320:							walkReferencedParameters			100.0%
github.com/speakeasy-api/openapi/swagger/walk.go:340:							walkReferencedParameter				62.5%
github.com/speakeasy-api/openapi/swagger/walk.go:360:							walkParameter					70.0%
github.com/speakeasy-api/openapi/swagger/walk.go:386:							walkItems					87.5%
github.com/speakeasy-api/openapi/swagger/walk.go:407:							walkOperationResponses				81.8%
github.com/speakeasy-api/openapi/swagger/walk.go:435:							walkReferencedResponse				75.0%
github.com/speakeasy-api/openapi/swagger/walk.go:455:							walkResponse					80.0%
github.com/speakeasy-api/openapi/swagger/walk.go:481:							walkHeaders					100.0%
github.com/speakeasy-api/openapi/swagger/walk.go:501:							walkHeader					75.0%
github.com/speakeasy-api/openapi/swagger/walk.go:522:							walkDefinitions					77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:542:							walkSchemaConcrete				66.7%
github.com/speakeasy-api/openapi/swagger/walk.go:559:							walkSchemaReferenceable				87.5%
github.com/speakeasy-api/openapi/swagger/walk.go:581:							walkParameters					77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:601:							walkGlobalResponses				88.9%
github.com/speakeasy-api/openapi/swagger/walk.go:621:							walkSecurityDefinitions				77.8%
github.com/speakeasy-api/openapi/swagger/walk.go:641:							walkSecurityScheme				66.7%
github.com/speakeasy-api/openapi/swagger/walk.go:657:							walkSecurity					100.0%
github.com/speakeasy-api/openapi/swagger/walk.go:677:							walkSecurityRequirement				75.0%
github.com/speakeasy-api/openapi/swagger/walk_matching.go:122:						getMatchFunc					83.3%
github.com/speakeasy-api/openapi/system/filesystem.go:25:						Open						100.0%
github.com/speakeasy-api/openapi/system/filesystem.go:29:						WriteFile					75.0%
github.com/speakeasy-api/openapi/system/filesystem.go:38:						MkdirAll					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:17:						String						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:25:						Rank						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:53:						Error						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:61:						Unwrap						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:65:						GetNode						100.0%
github.com/speakeasy-api/openapi/validation/errors.go:69:						GetLineNumber					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:76:						GetColumnNumber					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:83:						GetSeverity					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:88:						GetDocumentLocation				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:112:						NewValidationError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:122:						NewValidationErrorWithDocumentLocation		100.0%
github.com/speakeasy-api/openapi/validation/errors.go:136:						NewValueError					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:158:						NewSliceError					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:180:						NewMapKeyError					100.0%
github.com/speakeasy-api/openapi/validation/errors.go:202:						NewMapValueError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:231:						NewTypeMismatchError				100.0%
github.com/speakeasy-api/openapi/validation/errors.go:242:						Error						100.0%
github.com/speakeasy-api/openapi/validation/options.go:13:						WithContextObject				100.0%
github.com/speakeasy-api/openapi/validation/options.go:22:						NewOptions					100.0%
github.com/speakeasy-api/openapi/validation/options.go:30:						GetContextObject				100.0%
github.com/speakeasy-api/openapi/validation/rules.go:124:						RuleInfoForID					100.0%
github.com/speakeasy-api/openapi/validation/rules.go:129:						RuleSummary					100.0%
github.com/speakeasy-api/openapi/validation/rules.go:133:						RuleDescription					100.0%
github.com/speakeasy-api/openapi/validation/rules.go:137:						RuleHowToFix					100.0%
github.com/speakeasy-api/openapi/validation/utils.go:10:						SortValidationErrors				100.0%
github.com/speakeasy-api/openapi/validation/utils.go:50:						compareValidationErrors				73.1%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:28:						Unmarshal					71.4%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:110:					isParentError					75.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:122:					hasTypeMismatchErrors				87.5%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:142:					filterChildErrors				80.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:153:					SyncChanges					91.9%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:224:					GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:231:					getUnwrappedErrors				85.7%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:244:					typeToName					57.1%
github.com/speakeasy-api/openapi/values/core/eithervalue.go:263:					getWorstSeverityAndRule				86.7%
github.com/speakeasy-api/openapi/values/eithervalue.go:29:						IsLeft						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:40:						GetLeft						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:52:						LeftValue					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:63:						IsRight						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:74:						GetRight					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:86:						RightValue					100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:96:						PopulateWithContext				69.2%
github.com/speakeasy-api/openapi/values/eithervalue.go:127:						GetNavigableNode				100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:140:						IsEqual						100.0%
github.com/speakeasy-api/openapi/values/eithervalue.go:163:						equalWithIsEqualMethod				72.2%
github.com/speakeasy-api/openapi/values/eithervalue.go:203:						isEmptyCollection				81.8%
github.com/speakeasy-api/openapi/walk/locations.go:30:							ToJSONPointer					100.0%
github.com/speakeasy-api/openapi/walk/locations.go:61:							IsParent					100.0%
github.com/speakeasy-api/openapi/walk/locations.go:79:							ParentKey					100.0%
github.com/speakeasy-api/openapi/walk/set.go:16:							SetAtLocation					91.7%
github.com/speakeasy-api/openapi/walk/set.go:39:							setAtMap					100.0%
github.com/speakeasy-api/openapi/walk/set.go:49:							setAtSlice					100.0%
github.com/speakeasy-api/openapi/walk/set.go:59:							setAtStruct					88.9%
github.com/speakeasy-api/openapi/walk/set.go:82:							setAtField					83.6%
github.com/speakeasy-api/openapi/walk/set.go:190:							setAtSequencedMap				75.0%
github.com/speakeasy-api/openapi/yml/config.go:13:							String						0.0%
github.com/speakeasy-api/openapi/yml/config.go:33:							ToIndent					100.0%
github.com/speakeasy-api/openapi/yml/config.go:62:							GetDefaultConfig				100.0%
github.com/speakeasy-api/openapi/yml/config.go:66:							ContextWithConfig				100.0%
github.com/speakeasy-api/openapi/yml/config.go:74:							GetConfigFromContext				77.8%
github.com/speakeasy-api/openapi/yml/config.go:90:							GetConfigFromDoc				100.0%
github.com/speakeasy-api/openapi/yml/config.go:108:							inspectData					92.7%
github.com/speakeasy-api/openapi/yml/config.go:189:							getGlobalStringStyle				92.3%
github.com/speakeasy-api/openapi/yml/config.go:246:							looksLikeNumber					75.0%
github.com/speakeasy-api/openapi/yml/config.go:258:							mostCommonStyle					92.3%
github.com/speakeasy-api/openapi/yml/nodekind.go:8:							NodeKindToString				100.0%
github.com/speakeasy-api/openapi/yml/walk.go:21:							Walk						100.0%
github.com/speakeasy-api/openapi/yml/walk.go:33:							walkNode					100.0%
github.com/speakeasy-api/openapi/yml/walk.go:56:							walkDocumentNode				75.0%
github.com/speakeasy-api/openapi/yml/walk.go:66:							walkMappingNode					87.5%
github.com/speakeasy-api/openapi/yml/walk.go:83:							walkSequenceNode				75.0%
github.com/speakeasy-api/openapi/yml/walk.go:93:							walkAliasNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:11:								CreateOrUpdateKeyNode				87.5%
github.com/speakeasy-api/openapi/yml/yml.go:32:								CreateOrUpdateScalarNode			91.7%
github.com/speakeasy-api/openapi/yml/yml.go:55:								CreateOrUpdateMapNodeElement			85.7%
github.com/speakeasy-api/openapi/yml/yml.go:85:								CreateStringNode				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:93:								CreateIntNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:101:							CreateFloatNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:109:							CreateBoolNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:117:							CreateMapNode					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:125:							DeleteMapNodeElement				90.0%
github.com/speakeasy-api/openapi/yml/yml.go:145:							CreateOrUpdateSliceNode				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:159:							GetMapElementNodes				91.7%
github.com/speakeasy-api/openapi/yml/yml.go:184:							ResolveAlias					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:198:							IsMergeKey					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:206:							ResolveMergeKeys				100.0%
github.com/speakeasy-api/openapi/yml/yml.go:211:							resolveKeyValue					75.0%
github.com/speakeasy-api/openapi/yml/yml.go:219:							resolveMergeKeys				93.5%
github.com/speakeasy-api/openapi/yml/yml.go:280:							collectMergedPairs				94.4%
github.com/speakeasy-api/openapi/yml/yml.go:318:							EqualNodes					86.4%
github.com/speakeasy-api/openapi/yml/yml.go:365:							TypeToYamlTags					100.0%
github.com/speakeasy-api/openapi/yml/yml.go:402:							NodeTagToString					100.0%
total:													(statements)					83.5%
  • 🧪 All tests passed
  • 📈 Full coverage report available in workflow artifacts

Generated by GitHub Actions

@OmarAlJarrah

Copy link
Copy Markdown
Contributor Author

Hey @TristanSpeakEasy
It seems the workflows need a maintainers approval to run in order to merge. Could you please check? Thanks!

@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 81.35593% with 11 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
openapi/reference.go 81.35% 6 Missing and 5 partials ⚠️

📢 Thoughts on this report? Let us know!

@TristanSpeakEasy
TristanSpeakEasy merged commit 84042cc into speakeasy-api:main Aug 6, 2026
13 checks passed
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.

2 participants