Repository navigation
refactor: seal Q92 — options-only construction, factory-less singleton Extensions - #36
Merged
Merged
Conversation
…n Extensions The transport constructor internalizes as friend-assembly test surface (emitter change riding the committed regen), the pipeline's anonymous-Authorization and BaseAddress injection guards delete with the doors they defended, AddOpenCode registers one singleton client with sub-clients resolved from the same instance and drops Microsoft.Extensions.Http, the Extensions tests reshape to registration topology with a roster test keeping future families honest, and the sandbox showcase follows. PublicApi and emitter baselines re-verified.
The orphaned Microsoft.Extensions.Http pin deletes, the packed README row and the Password XML doc drop their factory/guard-era promises, the pooled-lifetime comment gains its modern-TFM qualifier, the chaining test rides the centralized endpoint, and the ROADMAP records Arc 1 as landed in the same change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Executes M3 plan Arc 1 (Q92, ADR-0010; research log Session 24). Closes #31.
What
OpenCodeClient(HttpClient, options)is now internal friend-assembly test surface — the change rode theClientEmitterand a committed regen; contract tests,ContractScenario, and the benchmarks keep compiling unchanged via the existing IVT.OpenCodeClient(OpenCodeClientOptions)is the only public construction path.Authorizationrefusal (construction + per-send), the injected-BaseAddressrefusal, and their five tests are gone; the Q90 password semantics (null= anonymous, blank refused) stay pinned, and the password-wins-over-default decoration test survives.AddOpenCoderegisters one singleton client owning its transport plusSessionsClientresolved from the same instance, returnsIServiceCollection, and dropsMicrosoft.Extensions.Http(pin removed from CPM). Tests reshape to registration topology — wire behavior stays PipelineTests' domain — and a reflection-based roster test keeps future client families from silently lagging the registration list.PasswordXML doc drop their factory/guard-era promises.ClientEmittersnapshot, both reviewed before acceptance.Review
A three-dimension adversarially-verified review ran on the branch: runtime-correctness came back clean; six confirmed doc/hygiene leftovers (orphaned CPM pin, stale README/XML-doc promises, unqualified pooled-lifetime comment, one inline literal, ROADMAP currency) were fixed in the second commit.
Verification
All six gates ALL-GREEN at each commit; 914 tests (the 21-test delta is exactly the five deleted guard tests and the Extensions topology reshape across three local legs). net472 compiles on the Windows CI lane; under the ADR-0010 singleton posture the net472 connection-lease hardening is a GA gate, tracked as M3 plan Arc 5.