Skip to content

fix: preserve native system-target calls by default - #3

Merged
KSemenenko merged 1 commit into
mainfrom
codex/graph-system-target-tracking
Oct 2, 2026
Merged

KSemenenko merged 1 commit into
mainfrom
codex/graph-system-target-tracking

Conversation

@KSemenenko

Copy link
Copy Markdown
Member

Application-defined Orleans grain services were treated as application grains because their assembly names do not start with Orleans.. Strict graph policies therefore rejected real system-target RPCs, including calls during GrainService.Init. Default tracking now recognizes the native target identity; TrackOrleansCalls = true retains runtime-call enforcement and ordinary grain policies remain intact.

Six TUnit/Shouldly regressions use two actual Orleans silos and real GrainServiceClient calls. They cover the initialization lifecycle stage, local and remote silo calls, ordinary-grain callers, application transition enforcement, and explicit incoming/outgoing tracking. The shared fixture has a scoped serialization key and restores its real tracking setting in finally.

Validation:

  • Full suite: 82 passed, 0 failed, 0 skipped. The unchanged baseline passed 76 tests; the serialized defect regression reproduced four failures before the repair, including initialization stage 4000.
  • Release build, analyzer build and formatter verification passed with zero compiler warnings/errors.
  • Canonical coverage gate passed: 85.17% line and 79.53% branch coverage; all six branches in the changed native-skip condition were exercised.
  • Canonical NuGet packaging validated version 10.0.6.

The patch version is 10.0.6. Release runs formatting verification before tests, and a NuGet publication failure now fails the job. Publication and feed verification follow the main release workflow.

@KSemenenko
KSemenenko merged commit 6174665 into main Oct 2, 2026
3 checks passed
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