Repository navigation
fix(scl): negotiate incomplete association addressing without discovery fallback - #143
Conversation
Treat omitted SCL association fields as unresolved interoperability evidence rather than malformed engineering data. Preserve explicit valid SCL values as immutable constraints, fail closed on malformed or conflicting declarations, and negotiate only the small engine-owned association profile set with fresh serial transports. Keep the exact complete-SCL plan byte-stable, retain domain-only validation after SCL-assisted association, expose accepted-candidate provenance, add deterministic synthetic regressions, and align existing source-clean wording without changing registry semantics. Signed-off-by: Ari Sulistiono <ari.sulistiono@gmail.com>
8617ade to
84e9820
Compare
|
Validation status for exact squashed head
The change remains draft because the missing-AP-title/AE compatibility lane should be accepted on the target field IED before promotion. Complete-SCL exact planning remains byte-stable and the ordinary native discovery path is unchanged. |
|
Physical SCL-assisted interoperability acceptance received on 2026-10-06 for exact engine head Sanitized acceptance evidence:
The application under test was the PR merge-test tree for ARSAS #425 and used this exact engine assembly head. No raw field file, endpoint, machine identifier, or customer capture is committed. This closes the field-validation gate for the association-resolution change. Existing discovery/model/reporting authority is not redefined by this acceptance. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Closes #142
Root cause
SCL-assisted connect required a complete called AP-title/AE/selectors before opening TCP, while native discovery already had a bounded engine-owned association profile sequence. Omitted SCL association fields were therefore treated as invalid instead of unresolved interoperability evidence.
Architecture
BuildExactas the byte-stable complete-SCL path;Regression protection
Synthetic tests cover incomplete AP-title/AE, exact golden-byte preservation, non-default explicit selectors, malformed AP-title, and conflicting duplicate critical fields.
Safety / claim boundary
No write, report activation, control, DataSet mutation, or discovery expansion is introduced. This is implemented/unit-test candidate code only until CI and authorized physical validation complete.
Provenance
Implementation uses project-owned code and synthetic documentation-range endpoints only. No external source, customer file, or raw third-party capture is committed.
I have read and agree to the repository Contributor License Agreement.