Skip to content

EPCIS V2 Reworked#37

Merged
MilanKomsa merged 8 commits into
update/epcis-v2from
feat/epcis-v2-reworked
Feb 26, 2026
Merged

EPCIS V2 Reworked#37
MilanKomsa merged 8 commits into
update/epcis-v2from
feat/epcis-v2-reworked

Conversation

@zsculac

@zsculac zsculac commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@zsculac zsculac self-assigned this Feb 24, 2026
Zvonimir and others added 6 commits February 25, 2026 16:48
Adds OpenAI Codex-powered code review that runs on every PR and posts
inline comments like a human reviewer. Uses structured output schema
for reliable parsing and GitHub Review API for native inline comments.

- .codex/review-prompt.md: Two-pass review (blockers then maintainability)
  with comment gate, deduplication, and uncertainty guard
- .codex/review-schema.json: Strict output schema (additionalProperties: false)
- .github/workflows/codex-review.yml: SHA-pinned actions, fork PR guard,
  paginated file listing, null-patch handling, overflow comments in summary

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
If Codex returns empty or non-JSON output, the workflow now posts a
warning comment with a link to the logs instead of silently failing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tput

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

@github-actions github-actions 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.

There are two breaking changes that need attention: the removal of the /epcis/asset/*ual endpoint and the MCP epcis-query response shape change. Both are API compatibility risks and should be handled with backward-compatible shims or versioning before merge. The validation/test additions look solid, but there are still some maintainability concerns around environment variable compatibility and test import paths.

// GET /epcis/events/track - Track single EPC across full trace
api.get(
"/epcis/asset/*ual",
"/epcis/events/track",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 Bug: This introduces /epcis/events/track but removes the existing /epcis/asset/*ual endpoint. That’s a breaking API change for clients that fetch by UAL. Consider keeping the old route as an alias or providing a deprecation/redirect path.

{
summary,
count: resultCount,
events: resultData || [],

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 Bug: epcis-query now returns events as resultData (array) instead of the full graph.query response object. This changes the MCP tool response schema and can break existing clients. Consider preserving the previous shape (or adding a new field) or versioning the tool response.

}

function getPublisherEndpoint(): string {
const publisherUrl = process.env.EXPO_PUBLIC_MCP_URL;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Issue: This switches the publisher base URL env var from PUBLISHER_URL to EXPO_PUBLIC_MCP_URL. Existing deployments that only set PUBLISHER_URL will fail at runtime. Consider supporting a fallback or keeping the old env var name for backward compatibility.

import sinon from "sinon";
import request from "supertest";
import pluginEpcisPlugin from "../dist/index.js";
import { EpcisQueryService } from "../src/services/epcisQueryService.js";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Issue: Tests should import from ../dist/... per AGENTS; importing ../src/services/epcisQueryService.js bypasses the build and can hide packaging issues. Either export this from dist and import there, or test via the plugin surface.

@MilanKomsa MilanKomsa merged commit 19961ee into update/epcis-v2 Feb 26, 2026
7 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