Skip to content

refactor(provenance): neutral IEC 61850 interoperability reference contract - #381

Merged
masarray merged 15 commits into
mainfrom
refactor/neutral-interoperability-reference-contract
Sep 24, 2026
Merged

masarray merged 15 commits into
mainfrom
refactor/neutral-interoperability-reference-contract

Conversation

@masarray

Copy link
Copy Markdown
Owner

Why

The current-tree benchmark contract and CI filenames used the name of an unrelated proprietary comparison tool as an ARSAS product-internal identifier. The tool was a separately operated black-box reference, not a code dependency or a source for ARSAS implementation.

Scoped migration

  • Rename the convergence workflow, active evidence JSON and engineering contract document to neutral IEC 61850 reference names.
  • Migrate evidence JSON field names and all known workflow/test consumers atomically, including R7, Smart Discovery mainline/post-merge checks and regression assertions.
  • Retain original source identification via immutable Git commit 36a4b87a3c2f6d34f73fa36c8a8a6a59763bd435, original evidence blob a853fd0ea115b320a648b1b2a52fe9a7f6af94cd. This does not imply the measurements came from another source.
  • Remove obsolete name-only exemptions in source-clean and neutralize the synthetic FAT fixture description.
  • New regression assertions lock comparison counts (417/119/156), rejected capture count, and both-edition 58/58 report-backed/zero polling acceptance.

Evidence integrity

Programmatic before/after comparison of parsed JSON confirmed all 265 numeric and Boolean values remain identical and in the same order. The app/engine SHAs, report readiness, earlier failures and physical performance target remain present. No runtime code or release changes. Workflow/job names change deliberately; verify required check configuration (no branch protection/ruleset enabled as of initiation).

Merge gate

Full Windows CI, source-clean, new interoperability workflow, deterministic guards, and post-merge verification must pass on the combined source. Physical retest is not claimed for a name/schema-only migration. SCL corrective PR #374 stays separate and is not modified.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 29963a92a6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Assert.Equal(30552, rejected.GetProperty("confirmedMmsRequests").GetInt32());

var r10 = root.GetProperty("physicalEvidence").GetProperty("arsasR10");
foreach (var edition in new[] { "edition1", "edition2" })

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Read the actual R10 reuse nodes

When NeutralAuthority_PreservesOriginalPhysicalAcceptanceMetrics runs, GetProperty("edition1") throws because physicalEvidence.arsasR10 defines the nodes as reuseEdition1 and reuseEdition2. The test therefore fails before validating either edition; use the actual schema property names.

AGENTS.md reference: AGENTS.md:L174-L178

Useful? React with 👍 / 👎.

Comment on lines +393 to +394
Assert.Contains("docs/INTEROPERABILITY_REFERENCE_CONTRACT.md", source, StringComparison.Ordinal);
Assert.Contains("evidence/interoperability-reference-target.json", source, StringComparison.Ordinal);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Align source-clean assertions with the exemption list

When the ARSAS test suite runs, this test always fails because this commit removes both neutral document/evidence paths from $ApprovedConvergenceIdentifierPaths, leaving neither literal anywhere in verify-source-clean.ps1. Assert their intended absence instead, or restore them to the exemption list if they are still meant to be approved entries.

Useful? React with 👍 / 👎.

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