Skip to content

Staging: opt-in verified DataSet-first type hints from #155 (no rollback) - #193

Merged
masarray merged 1 commit into
stagingfrom
integration/p77-dataset-first-optin-staging-20261022
Oct 22, 2026
Merged

masarray merged 1 commit into
stagingfrom
integration/p77-dataset-first-optin-staging-20261022

Conversation

@masarray

Copy link
Copy Markdown
Owner

Isolated staging integration of #155 — no progress rollback

Source: old #155 43f8935eb636967359028a0d9df293aac1812d99. Destination baseline: current staged/PR #192 HEAD 44ac7554f43f2ba06763f3895242cb569b2e6a1c. New isolated integration commit a50c946834df4def6acc8db987f09b2ecff5cf29.

Four-file surgical patch:

  1. Exact upstream LiveIedDataSetTypeProbePlanner.cs source blob 086ead0a6....
  2. Exact upstream LiveIedDataSetTypeProbePlannerTests.cs blob 00be466692... testing late CSWI/eveGGIO roots, domain and FC spoofing, bounded budgets and idempotent expansion.
  3. Add only opt-in LiveIedVariableTypeProbeExecutor.ProbeSmartAsync(session, MmsDiscoveryResult, options, ct) overload to current LiveIedVariableTypeHierarchy.cs without replacing existing version. It admits only verified DataSet members then invokes existing single-pass root GVA type probe.
  4. Add only MaxDataSetTypeExtraLogicalNodes=48 and MaxDataSetTypeMemberHints=2048 to current MmsSmartDiscoveryOptions, keeping current negotiated-window, RCB enrichment, cancellation and other settings byte-for-byte.

No vendor-specific name guesses, no extra MMS GetNameList pass, no cyclic polls, no control command changes, no retrofit of old SmartDiscovery code. This is a code gate, not a field-qualified fix for F650 issue #162; consumer must opt in, runtime field parity/latency still needs checking.

Required gates

Linked issue: #144 / #162.

…onto current staging

Preserve the staging SmartDiscovery negotiated-window, RCB and control implementations. Copy #155 pure planner/test exact blobs and add ONLY an opt-in ProbeSmartAsync(session, discovery, options) overload plus two bounded configuration settings. Existing directory overload and default paths remain intact; no extra scans, polling, or control writes. CI qualification pending.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T13:31:11.621075Z a50c946 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: a50c946834

ℹ️ 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".

discovery,
options.MaxDataSetTypeExtraLogicalNodes,
options.MaxDataSetTypeMemberHints);
discovery.IedDirectory.AddSupplementalPoints(verified);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Promote late roots only after a successful type probe

When a DataSet contains a stale or unavailable member, or the subsequent GVA fails because of a negative response, disconnect, or cancellation, this mutates discovery.IedDirectory before any type result is verified. The new LN and point therefore remain in the canonical directory and can be consumed by export and InitialFcReadPlanner.FromLiveDirectory even though probing never confirmed them. The existing ProbeDataSetMemberTypesSmartAsync path deliberately adds membership seeds only for successful responses with non-null TypeSpecification; this overload should preserve that gate rather than publishing the hints before executing the probes.

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