Repository navigation
fix: apply current Nuplane options per completion - #162
Conversation
|
PR opened: #162 on organization branch |
|
Review round 1: CI37843878579 failed one existing concurrent-drain test (794/795 library passed;31/31 end-to-end passed; build zero warnings/errors). All adapter cases passed. Source diagnosis: the old test issues synchronous LINQ calls with no drain handler barrier, so a drain can complete and release its pointer before subsequent calls; it then asserts identity across completed, separate operations. Shell.PublishedDrain explicitly releases completed operations, matching established teardown retention policy. Root is correcting this required test to hold the existing blocking drain fixture while concurrent callers observe the same in-flight operation, with no lifecycle product change. Scope extension is test-only CI stabilization within PR162; no merge or gate bypass. Verification Failed until corrected exact-head checks pass. Copilot not requested. |
|
Review round 2: pushed |
|
Green source/PR gate at |
The root-owned Nuplane integration coordinator captured options at construction, so reloading configuration did not change refresh/reload policy for later package completions. It now reads
IOptionsMonitor.CurrentValueonce per eligible completion and copies the four policy values before any side effects. An admitted operation keeps that policy through refresh, reload, and result reporting; later deliveries see current settings.Disabled deliveries record no new epochs, while existing freshness and failed reload work survive disabled or reload-off periods. Build participants consume recorded freshness independently of observer settings. Undefined triggers and monitor/validation errors fail before recording work. Normal binding, fluent configuration, and dependency-aware configuration remain supported; direct
IOptions-only replacement is documented as unsupported.Related to #161, child of #142; program Foundation #2500. Keep #161 open until public-package acceptance. Scope is the existing optional adapter, tests, documentation, and official Spec023. The required CI run exposed an existing drain identity test race; its test-only correction holds the operation open while concurrent callers compare its identity, without changing lifecycle product code. Foundation adoption and stable releases remain separate.
Validation on product/test source
8cb10fba9e58c68040da993a9e634fad02f4a372(later commits record validation and correct the existing drain test):d2f1000d7e2a87b8731a6a187a8288320ee91f75: root/independent delta review and all five affected tests passed. First CI run built with zero warnings/errors, passed 794/795 library plus 31/31 end-to-end, and failed only this previously unblocked drain test. Corrected-head hosted CI remains required.Hosted full-solution CI, normal main publication, all ten public archive audits, and an outside-checkout fresh-cache .NET8/9/10 consumer remain required. Copilot was not requested; Greptile is optional under the maintainer's D15 decision.