Skip to content

feat(spec-drift): OpenAPI diff + classification engine (1/3)#9

Open
andrewyu47 wants to merge 1 commit into
mainfrom
split/8a-spec-diff-engine
Open

feat(spec-drift): OpenAPI diff + classification engine (1/3)#9
andrewyu47 wants to merge 1 commit into
mainfrom
split/8a-spec-diff-engine

Conversation

@andrewyu47

Copy link
Copy Markdown

Part of splitting #8 (the OpenAPI spec-drift detector) into a reviewable stack. PR 1 of 3 — foundation.

Adds the core engine with no CI wiring yet:

  • .github/scripts/extract_spec_diff.py — diffs two OpenAPI version snapshots and classifies each change. Breaking-change rules cover removed / required-added params, type & format changes, removed properties / enum values, parameter relocation, and removed operations / response codes.
  • .github/spec-manifest.json — hand-seeded symbol -> docs.pinecone.io page + impacted-SDK mapping.
  • .github/scripts/tests/test_extract_spec_diff.py — 10 pytest cases (all passing locally).

Stacked PRs (review/merge in order):

  1. this PR — diff + classification engine
  2. PR 2 — PR-mode coverage check (consumes spec-diff.json + manifest)
  3. PR 3 — scheduled draft-PR opener + the GitHub Actions workflow that wires it all

Umbrella: #8

Made with Cursor

Core of the spec-drift detector: extract_spec_diff.py diffs two OpenAPI
version snapshots and classifies changes (added/removed/modified, with
breaking-change rules for removed/required-added params, type/format
changes, removed properties/enum values, param relocation, removed
operations and response codes). Ships the symbol->docs/SDK mapping in
spec-manifest.json and pytest coverage (10 tests).

Part of splitting #8 (1/3, foundation).

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant