Skip to content

refactor(runtime): split member chaining and bound-member collection into named steps - #1340

Merged
HuiJun merged 2 commits into
developfrom
fix/sonar-exec-runtime
Oct 21, 2026
Merged

HuiJun merged 2 commits into
developfrom
fix/sonar-exec-runtime

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Clears the SonarCloud findings on develop under internal/exec/runtime:

  • go:S3776 on (*Context).withBoundMembers (binding.go): the walk over an owner's types, their bindings and binding ends that names the members bound through a path is now membersBoundThrough; withBoundMembers keeps the ownership walk and the held/added bookkeeping.
  • go:S3776 on (*EvalContext).chainMemberValue (eval.go): the array/vector/quantity/frame branch is chainThroughStructured, the object tail (reference value, shaped array, clock, feature value, variant) is chainObjectMember, and the fallbacks for a member no feature value holds (calc usage run, derived Kernel collection, holder default, Kernel member) are chainUnheldMember.
  • godre:S8193 in subsetting_test.go: a temporary that was only compared once is gone.

Pure refactor with no behaviour change; the kernel of each helper is the code it replaced, moved verbatim. No changelog fragment.

Deferred from this group: godre:S8196 in solve/differential_test.go, which #1312 edits; it lands after that PR.

A pull request gets no SonarCloud analysis (the CircleCI scan job runs on develop and main only); the proof that these findings clear is the post-merge scan of develop.

How it was verified

gofmt -l . empty, go build ./..., go vet ./..., make lint, go test ./internal/exec/runtime ./tests/hygiene pass locally (the pilot-corpora gated tests skip without the corpora). The SonarCloud analyzer run over the edited files reports no go:S3776 on the three functions any more.

Checklist

  • make test and make lint pass locally
  • Tests added or updated for the change
  • Documentation extended where it already covers the surface (see CONTRIBUTING.md)
  • Changelog entry added as changes/unreleased/<slug>.<section>.md, not as an edit to CHANGELOG.md
  • baselines regenerated and make docs-counts run if a gate count moved (compliance rows need nothing: the census is counted at docs build)
  • No internal work-item labels (waves, slices, F4, K5) in the body, docs, or changelog

Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/c2b1ac4ad6de4d8788e78fd86c7c1729
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/c2b1ac4ad6de4d8788e78fd86c7c1729?variant=devin
Requested by: @HuiJun

Overlap with the open perf PRs

Dry-merged against the current heads of #1347 (perf/memoize-expression-footprints, 2cff947), #1348 (perf/enumerate-children-without-route-walks, 22a1a46) and #1349 (perf/conform-by-symbol, 55b542a, stacked on #1348): all three merge clean with no textual conflict, and the merged trees build, pass go vet on internal/semantic/... and internal/exec/runtime, and pass the model tests. No merge commit was needed; if one of those heads moves onto the same lines before this merges, the resolution is a merge of that head, not a redo of its change.

…into named steps

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

devin-ai-integration[bot]

This comment was marked as resolved.

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration
devin-ai-integration Bot marked this pull request as ready for review October 21, 2026 08:48
@HuiJun
HuiJun merged commit f99d740 into develop Oct 21, 2026
50 checks passed
@HuiJun
HuiJun deleted the fix/sonar-exec-runtime branch October 21, 2026 19:38
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