Skip to content

INTER-2457: [schema review prototype] flat Event from openapi#494 - #63

Draft
JuroUhlar wants to merge 3 commits into
mainfrom
INTER-2457/schema-review-prototype
Draft

JuroUhlar wants to merge 3 commits into
mainfrom
INTER-2457/schema-review-prototype

Conversation

@JuroUhlar

@JuroUhlar JuroUhlar commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Note

Schema review prototype, do not merge. This is to test the schema Event split (EventDevice | EventEdge) as part of reviewing koala#18895.

INTER-2457 | koala#18895 | schema from openapi#494 @ 78d51f2

Why

Check that the flat Event built for Java by openapi#494 does not change the generated Java SDK in a breaking way.

Things to note

  • No breaking change. The only generated source change is the Event Javadoc. All 100 compiled classes in sdk/build/classes/java/main are byte-identical between the baseline commit and the 78d51f2 commit (diff -r). Event.source is still a nullable EventSource with the same getter, setter, builder method and UNSUPPORTED_VALUE_SDK_UPGRADE_REQUIRED fallback. No new or removed classes. The EnvironmentId key move changes nothing in the Java output, so no order-sensitive API (fields, constructors, @JsonPropertyOrder) moved.
  • Tests: ./gradlew build passes (107 tests, 3 new). The new tests cover an event with no source (getSource() is null, not written back on serialization), an edge event (source: edge, no identification), and an unknown source value. The edge mock was already deserialized by the existing tests, but they only checked event_id and timestamp.
  • Drift not caused by the split. The baseline commit adds mocks/errors/504_search_timeout_exceeded.json. The 78d51f2 commit also refreshes mocks/webhook/webhook_event.json (adds source: "device" and more fields); that example change comes from the stacked openapi#493, not from the Event split. docs/Event.md and the Javadoc render the new multi-line description as one line, so the bullet list is flattened.

Change outline

Three commits, so the Event change is its own diff:

975d255 feat: sync OpenAPI schema to v3.9.0 (published baseline)
4fdf1f5 feat: sync OpenAPI schema to 78d51f2 (flat Event from openapi#494)
61b6977 test: cover Event without source, edge source and unknown source

The baseline commit is the sync workflow run on the published schema and examples. The generated code is identical to main, so the baseline brings only one new example. The second commit is the same sync on the 78d51f2 build. Generated diff of that commit:

 // sdk/src/main/java/com/fingerprint/v4/model/Event.java (Javadoc only)
- * Contains results from Fingerprint Identification and all active Smart Signals. Some Smart Signals ...
+ * Contains results from Fingerprint Identification and all active Smart Signals, or from the Automation Intelligence API. Check `source` to see which properties can be present: - `device` - ... - `edge` - ... Events stored before `source` was added don't have it; treat them as `device`. Consult the ...
 # res/fingerprint-server-api.yaml (Event.description is new, EnvironmentId moved up)
+    EnvironmentId:
+      type: string
...
-    EnvironmentId:
-      type: string

New tests, in SerializationTest:

deserializeEventWithoutSource
deserializeEdgeEvent
deserializeEventWithUnknownSource
docs/Event.md
res/fingerprint-server-api.yaml
sdk/src/main/java/com/fingerprint/v4/model/Event.java
sdk/src/test/java/com/fingerprint/v4/SerializationTest.java
sdk/src/test/resources/mocks/
  errors/504_search_timeout_exceeded.json
  webhook/webhook_event.json

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ This PR doesn't contain any changesets. If there are user-facing changes, don't forget to run:

pnpm exec changeset

to create a changeset.

@JuroUhlar JuroUhlar changed the title [schema review prototype] INTER-2457: flat Event from openapi#494 INTER-2457: [schema review prototype] flat Event from openapi#494 Oct 16, 2026

This branch has not been deployed

No deployments
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