Skip to content

Preserve Nuplane observer failure diagnostics - #165

Merged
sfmskywalker merged 3 commits into
mainfrom
024-nuplane-failure-diagnostics
Oct 8, 2026
Merged

sfmskywalker merged 3 commits into
mainfrom
024-nuplane-failure-diagnostics

Conversation

@sfmskywalker

Copy link
Copy Markdown
Collaborator

Nuplane catches observer exceptions and emits a Warning containing only the exception message. When the CShells adapter fails to refresh or reload, operators therefore lose its exception diagnostics. The adapter now records one Error with the original exception, reconciliation correlation and operation name, then rethrows so Nuplane keeps its existing warning, continuation and retry behavior.

The logger is optional and supplied through the existing coordinator factory. Requested cancellation, fatal exceptions, pre-admission validation, build-only refresh and returned per-shell errors retain their existing behavior. The Nuplane runtime dependency is test-only; the adapter adds only the direct logging abstraction dependency.

Refs #164 and #142. Issue164 remains open for the owner-published preview and actual-public consumer qualification after merge.

Validation:

  • Focused Nuplane tests: 47 passed; full library suite: 808 passed, zero failures/skips.
  • Release adapter builds for net8.0, net9.0 and net10.0: zero warnings/errors.
  • Compiled mutation removing the logger call: eight expected diagnostic test failures; byte-identical restoration and rebuild: all47 passed.
  • Root full-diff review and independent hash-pinned review of edbf58283b562e9288fa5986683c0eef4b533dc8: no material findings. Follow-up task marks only reflect those retained checks. Diff whitespace check passed.
  • Real Nuplane dispatcher regression verifies Error before Warning, original exception/correlation, following-observer continuation and retained-work retry.

The human waived Copilot and Greptile; neither is requested. PR CI and resulting-main/public-package qualification are still required. No stable package promotion or downstream pin change is included.

@sfmskywalker

sfmskywalker commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator Author

Source verification passed at implementation commit edbf58283b562e9288fa5986683c0eef4b533dc8 on organization branch 024-nuplane-failure-diagnostics. Root reviewed the complete production/test diff; independent exact-head source review found no material blocker. Both reviews pin all changed files. Only task completion marks change after that reviewed implementation.

  • Focused adapter tests: 47 passed, zero failed/skipped; final run has no warnings.
  • Full library suite: 808 passed, zero failed/skipped; root inspected the TRX counters and successful incremental compilation.
  • Adapter Release builds: net8.0, net9.0, net10.0 each passed with zero warnings/errors. Final net10 build includes the last private-field cleanup.
  • Compiled mutation: in a disposable archive of the reviewed commit, removed only the Error logger call and rebuilt. Eight of 47 tests failed: seven missing-record assertions and the real dispatcher missing-Error assertion (Nuplane Warning remained). Restored byte-identical source and rebuilt: all47 passed. No mutation touched the delivery worktree.
  • git diff --check passed. Existing refresh-message assertion retained; logger DI setup and Error assertions shared.

Exact commands (all through the shared dotnet build-slot wrapper):

dotnet test tests/CShells.Tests/CShells.Tests.csproj -c Release --filter FullyQualifiedName~Nuplane --no-restore
dotnet test tests/CShells.Tests/CShells.Tests.csproj -c Release --no-restore --logger 'trx;LogFileName=full-library.trx' --results-directory <root-qa/full-library-results>
dotnet build src/CShells.Nuplane/CShells.Nuplane.csproj -c Release -f net8.0
dotnet build src/CShells.Nuplane/CShells.Nuplane.csproj -c Release -f net9.0
dotnet build src/CShells.Nuplane/CShells.Nuplane.csproj -c Release -f net10.0
dotnet build src/CShells.Nuplane/CShells.Nuplane.csproj -c Release -f net10.0 --no-restore

Mutation/restoration used FullyQualifiedName~Integration.Nuplane with TRX output and incremental compilation; restoration alone used --no-restore. Exact argv, source SHA256 and result TRXs are retained under cshells-observer-diagnostics/root-qa/mutation/. All root/independent reports, build/test logs and TRXs are retained in the program artifact workspace.

Copilot and Greptile are waived by the human; neither was requested. Normal PR CI, resulting-main package publication, ten actual-public package archive audit and PackageReference-only .NET8/9/10 diagnostics qualification remain pending. Issue164 stays open until actual-public qualification; Foundation2314 remains blocked on164. No stable release or Foundation pin change is claimed.

@sfmskywalker

Copy link
Copy Markdown
Collaborator Author

Final pre-merge gate passed for f4024e62855fa20ba5e8f35936764e2dd1f06d3c. CI https://github.com/valence-works/cshells/actions/runs/37858071769 succeeded: 808 library tests and 31 E2E tests passed; build/test logs report zero warnings/errors. Root retained the full CI log and exact-head snapshot. Independent final-head addendum verified the two task marks, unchanged production/test source, full808 TRX and causal compiled mutation/restoration evidence; no material blocker. No other review comments or reviews are present at the fresh check. Copilot/Greptile were waived by the human and were not requested.

Normal squash merge follows with an exact-head guard, without admin bypass. Resulting-main CI/package publication and actual-public ten-package/runtime qualification remain required; #164 stays open pending that acceptance.

@sfmskywalker
sfmskywalker merged commit 99b41ba into main Oct 8, 2026
1 check passed
@sfmskywalker
sfmskywalker deleted the 024-nuplane-failure-diagnostics branch October 8, 2026 23:13
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