Skip to content

Phase 4D-C3: correlate CommandTermination and LastApplError - #28

Closed
masarray wants to merge 5 commits into
agent/phase-4d-c2-control-mms-structuresfrom
agent/phase-4d-c3-command-termination
Closed

masarray wants to merge 5 commits into
agent/phase-4d-c2-control-mms-structuresfrom
agent/phase-4d-c3-command-termination

Conversation

@masarray

Copy link
Copy Markdown
Owner

Scope

Stacked on Phase 4D-C2. Port the C# enhanced-security completion decoder so an accepted Oper is not treated as complete until a correlated CommandTermination arrives.

Implemented

  • exact C# ControlError names/codes 0..3
  • exact C# AddCause names/codes 0..27
  • raw unknown numeric codes retained in diagnostics instead of collapsed
  • LastApplError structure detection for standard ctlObj,error,origin,ctlNum,addCause
  • tolerant numeric-field detection when ctlObj is omitted
  • control-object reference correlation matching the C# normalization rules
  • embedded ctlObj can correlate a LastApplError even when the report variable list is broader
  • positive LastApplError only for error=0 and AddCause unknown(0)/none(25)
  • positive CommandTermination without LastApplError requires exact CO/Oper reference
  • ordinary ST/MX process reports cannot complete an enhanced command
  • decoder output feeds the C1 enhanced planner's command_termination() boundary

Validation

Dedicated strict GCC/Clang profile covers positive Oper-only termination, negative LastApplError, omitted ctlObj layout, uncorrelated error rejection, unknown code preservation, reference normalization and end-to-end negative completion of an enhanced planner.

Deferred

  • C4 live MmsAssociationRuntime smart-control session: ctlModel discovery, TypeSpecification discovery, Select/SBOw, subscribe-before-Oper, Write execution, Cancel, termination timeout and association-loss behavior
  • physical IED control evidence remains a separate explicit lab gate

Sampled Values / ESP32-P4 work remains out of scope.

masarray commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

Closing as superseded by #43, which integrated the complete Smart Control C1–C5 implementation and live interoperability evidence onto current main. This C3 termination-correlation tranche is no longer an active branch.

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