G2.7 native per-IED Dynamic RCB field capability runtime - #107
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 916af063f1
ℹ️ 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".
| /// witness. Static reporting keeps precedence. Every still-uncovered exact-resolved signal | ||
| /// may use bounded fresh verified-free dynamic RCB slots; only genuine residuals poll. | ||
| /// </summary> | ||
| public static class MmsGuardedDynamicReportNativeFieldCapabilityRuntimePlanner |
There was a problem hiding this comment.
Record the completed runtime in the required documentation
This adds a completed G2.7 runtime capability, but a repository-wide search finds no G2.7/native-field-capability entry in README.md, docs/ENGINE_MATURITY_MATRIX.md, CHANGELOG.md, or the validation documentation. Consequently, the published scope and evidence remain stale even though the new API is present; update the applicable maturity, changelog, and validation documents with the unit-tested claim and remaining physical-validation limits.
AGENTS.md reference: AGENTS.md:L115-L124
Useful? React with 👍 / 👎.
| !string.IsNullOrWhiteSpace(DataSetReference) && | ||
| !string.IsNullOrWhiteSpace(RcbActivationEvidenceId) && | ||
| !string.IsNullOrWhiteSpace(InformationReportEvidenceId) && | ||
| IncludedMemberReferences.Count > 0 && |
There was a problem hiding this comment.
Reject null included-member collections
When this durable witness is deserialized from JSON containing "IncludedMemberReferences": null (or supplied by an external caller with that property set to null), evaluating evidence?.IsSuccess throws on Count instead of returning a withheld authorization reason. Treat the collection as potentially malformed and fail validation explicitly so unsupported evidence remains visible rather than crashing planning.
AGENTS.md reference: AGENTS.md:L88-L94
Useful? React with 👍 / 👎.
Goal
Add a native per-IED field-capability path for Dynamic RCB runtime without weakening ProductionEligible.
Why
ARSAS P1.6 can generalize member coverage only for the one legacy hard-bound AA1C1F08R4 witness. A different physical IED may advertise Write + DefineNVL + free Dynamic URCB capacity yet remain polling-only because it has no identity-bound field-capability witness.
Contract
InformationReportProvenprofile whose current InformationReport proof is realDataChange;ProductionDynamicActivationAuthorized=false/ ProductionEligible independent;AR_HYB_<hash>DataSet identity.Tests cover general residual expansion beyond the commissioning envelope and fail-closed behavior when cleanup or exact binding is missing.