Skip to content

Resolve the Selection/Selection2 OpenAPI schema collision - #315

Merged
martsokha merged 1 commit into
mainfrom
fix/selection-schema-collision
Sep 20, 2026
Merged

martsokha merged 1 commit into
mainfrom
fix/selection-schema-collision

Conversation

@martsokha

Copy link
Copy Markdown
Member

Two elide types both produced an OpenAPI schema titled Selection, so schemars disambiguated the second to Selection2 in our generated spec:

  1. Selection (elide-core, audit/event/apply.rs) — the redaction-decision "why": { operator, matched_by, attribution }, an audit event.
  2. Selection (elide-provider, recognition/availability.rs) — a request knob: { only, skip }, selecting which registered components to run.

Both reach our spec through the Audit schema (the request selection is embedded in the pipeline audit).

Upstream renamed the request one to ComponentSelection — the better fit, since only/skip match over registered components (recognizers and enrichers, per the resolver), not recognizers alone; it also reads as the request-side twin of Availability. The audit Selection keeps its canonical name (it's a member of the audit event family alongside Redaction/Recognition).

This PR re-pins elide-runtime to pick up the rename: e0a1dc0d → 4f2d79d4 (elide and elide-provider pins unchanged). Verified the generated Audit schema now exposes Selection and ComponentSelection, with no Selection2.

Verification

cargo check, clippy --all-targets --all-features -D warnings, +nightly fmt --check, RUSTDOCFLAGS=-D warnings cargo doc clean; nvisy-server lib 185 tests pass. Pure Cargo.lock bump.

🤖 Generated with Claude Code

https://claude.ai/code/session_018bKk1YEG4tZ69jzYVQvQL8

Two elide types both generated an OpenAPI schema titled `Selection`:
the audit redaction-decision `Selection` (elide-core) and the request
component `Selection` (elide-provider), so schemars renamed the second
`Selection2` in our generated spec. Upstream renamed the request one to
`ComponentSelection` (it selects registered components — recognizers and
enrichers alike, not only recognizers).

Re-pin elide-runtime to pick it up: e0a1dc0d -> 4f2d79d4. The Audit
schema now exposes `Selection` and `ComponentSelection`, with no
`Selection2`.
@martsokha martsokha added bug something isn't working as intended dependencies dependency updates and version bumps labels Sep 20, 2026
@coderabbitai

coderabbitai Bot commented Sep 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Essentials

Run ID: 538692bc-e35a-4709-acf3-4e012ef61d69

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@martsokha martsokha self-assigned this Sep 20, 2026
@martsokha
martsokha merged commit 9725004 into main Sep 20, 2026
7 checks passed
@martsokha
martsokha deleted the fix/selection-schema-collision branch September 20, 2026 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug something isn't working as intended dependencies dependency updates and version bumps

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant