Skip to content

[DMS-1183] Extend MetaEd and DMS OpenAPI for Change Queries#514

Merged
simpat-adam merged 28 commits into
mainfrom
DMS-1183
Jun 11, 2026
Merged

[DMS-1183] Extend MetaEd and DMS OpenAPI for Change Queries#514
simpat-adam merged 28 commits into
mainfrom
DMS-1183

Conversation

@bradbanister

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings June 10, 2026 18:37
@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown

Test Results

    1 files    460 suites   11m 25s ⏱️
5 572 tests 5 569 ✅ 3 💤 0 ❌
6 378 runs  6 375 ✅ 3 💤 0 ❌

Results for commit db78918.

♻️ This comment has been updated with latest results.

Copilot AI 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.

Pull request overview

Extends the metaed-plugin-edfi-api-schema OpenAPI surface to support Change Queries by adding a core-only changeQueries base document, emitting /availableChangeVersions, generating /deletes and /keyChanges paths with strongly-typed tracked-change schemas, and removing snapshot-only OpenAPI artifacts. The PR also updates authoritative integration artifacts and adds an integration validation test that composes generated documents and validates them via swagger-parser.

Changes:

  • Added changeQueries as an OpenAPI document type and emitted a core-only standalone Change Queries base document containing GET /availableChangeVersions.
  • Generated tracked-change schemas and emitted /deletes + /keyChanges paths for resources/descriptors (plus coverage for SchoolYearType and extension-defined entities), while removing snapshot-only OpenAPI headers/responses.
  • Updated authoritative integration artifacts and added a composed-document OpenAPI validation integration test.

Reviewed changes

Copilot reviewed 24 out of 31 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tasks.json Story/task checklist capturing the Change Query OpenAPI contract and verification steps.
progress.txt Implementation log and verification notes for each completed task.
packages/metaed-plugin-edfi-api-schema/test/integration/OpenApiGeneratedDocumentValidation.test.ts New integration test composing generated OpenAPI docs and validating them with swagger-parser.
packages/metaed-plugin-edfi-api-schema/test/integration/artifact/v7_3/homograph-api-schema-authoritative.json Authoritative artifact updates reflecting tracked-change paths/schemas and snapshot cleanup.
packages/metaed-plugin-edfi-api-schema/test/integration/artifact/v7_3/ds-6.1-homograph-api-schema-authoritative.json Additional authoritative artifact updates for DS 6.1 homograph scenario.
packages/metaed-plugin-edfi-api-schema/test/enhancer/OpenApiResourceFragmentEnhancer.test.ts Expanded unit coverage for tracked-change paths, live change-version params, profile compatibility, and extension behaviors.
packages/metaed-plugin-edfi-api-schema/test/enhancer/OpenApiChangeQuerySchemaBuilder.test.ts New unit tests for tracked-change schema derivation from identity/query-field metadata.
packages/metaed-plugin-edfi-api-schema/test/enhancer/OpenApiBaseDocumentEnhancer.test.ts Coverage for changeQueries base document and assertions that snapshot/security artifacts are absent.
packages/metaed-plugin-edfi-api-schema/test/enhancer/IdentityJsonPathsEnhancer.test.ts Added SchoolYearEnumeration identity JSONPath assertion ($.schoolYear).
packages/metaed-plugin-edfi-api-schema/test/enhancer/ApiSchemaBuildingEnhancer.test.ts Validates core-only emission/copying of OpenAPI base documents and unchanged apiSchemaVersion.
packages/metaed-plugin-edfi-api-schema/src/model/Namespace.ts Adds documentation and typing around namespace-level API Schema/OpenAPI base document storage.
packages/metaed-plugin-edfi-api-schema/src/model/EntityApiSchemaData.ts Initializes identityJsonPaths on entity API schema data.
packages/metaed-plugin-edfi-api-schema/src/model/api-schema/ProjectSchema.ts Clarifies that openApiBaseDocuments are core-only.
packages/metaed-plugin-edfi-api-schema/src/model/api-schema/OpenApiDocumentType.ts Adds CHANGE_QUERIES document type and documents the supported values.
packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiSpecificationEnhancerBase.ts Removes snapshot-only artifacts and adds tracked-change operation/path generation helpers.
packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiResourceFragmentEnhancer.ts Includes tracked-change schemas in generated fragments for resources and descriptors.
packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiChangeQuerySchemaBuilder.ts New builder to generate tracked-change key/delete/keyChange schemas from semantic metadata.
packages/metaed-plugin-edfi-api-schema/src/enhancer/OpenApiBaseDocumentEnhancer.ts Emits changeQueries base document with /availableChangeVersions and document-type keyed base docs.
packages/metaed-plugin-edfi-api-schema/src/enhancer/IdentityJsonPathsEnhancer.ts Adds SchoolYearEnumeration identity JSONPaths required for tracked-change key schemas.
packages/metaed-plugin-edfi-api-schema/src/enhancer/ApiSchemaBuildingEnhancer.ts Ensures OpenAPI base documents are copied into core project schemas only (not extension projects).

@simpat-adam simpat-adam merged commit dade99c into main Jun 11, 2026
10 checks passed
@simpat-adam simpat-adam deleted the DMS-1183 branch June 11, 2026 16:11
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.

3 participants