CanaryConsumerFixture
GraphiteThemeWebConsumerFixture
SourceProvides the isolated Web-only consumer registration for the shared Graphite theme pair.
Remarks
This fixture intentionally owns the direct Web package reference. It does not reference AppSurface Docs so the registration proves that a Web consumer can configure and render the shared pair independently.
AddGraphiteThemeWebConsumer
IServiceCollection AddGraphiteThemeWebConsumer(this IServiceCollection services)
Source
Registers Graphite as the System-mode default theme and enables its Web document provider.
Parameters
servicesThe service collection receiving the Graphite Web registration.
Returns
The original services instance.
Exceptions
ArgumentNullExceptionThrown whenservicesisnull.
CanaryConsumerResult
SourceRepresents the required compatibility core and selected operator action parsed by a public consumer.
Parameters
NameThe exact registered canary name.StatusThe defined lowercase wire status.ReadyThe compatibility projection of whetherStatusispass.ReasonCodeThe optional response-only machine reason.ActionThe operator action selected from the semantic envelope.
CanaryEnvelopeConsumer
SourceParses named-canary JSON by semantic field name without depending on property order or optional fields.
Parse
CanaryConsumerResult Parse(string json)
Source
Parses and validates the required named-canary compatibility core.
Parameters
jsonThe non-null JSON envelope to parse.
Returns
The validated core fields and selected operator action.
Exceptions
ArgumentNullExceptionjsonis null.JsonExceptionA required field is absent, invalid, or semantically inconsistent.
CanarySnapshotConsumerItem
SourceRepresents one parsed aggregate snapshot item.
Parameters
NameThe exact registered canary name.OutcomeThe aggregate outcome: completed, failed, timed-out, or not-started.ResultThe nested completed envelope, present only for completed items.CodeThe safe aggregate diagnostic, present only for non-completed items.
CanarySnapshotConsumerResult
SourceRepresents the required aggregate snapshot compatibility core.
Parameters
ReadyWhether every selected canary completed with pass evidence.OverallTimedOutWhether the overall deadline stopped or canceled any selected evaluation.ElapsedMillisecondsThe non-negative aggregate elapsed time.ResultsThe ordered settled result for every selected canary.
CanarySnapshotEnvelopeConsumer
SourceParses the bounded aggregate snapshot by required field names and outcome-specific omission rules.
Parse
CanarySnapshotConsumerResult Parse(string json)
Source
Parses and validates the aggregate snapshot compatibility core.
Parameters
jsonThe non-null aggregate JSON envelope to parse.
Returns
The validated aggregate fields and settled item results.
Exceptions
ArgumentNullExceptionjsonis null.JsonExceptionA required aggregate field or outcome-specific item shape is invalid.
CanaryFixtureScenario
SourceConfigures one public consumer-fixture evaluation.
Parameters
StatusThe result status returned by the evaluator.AmbiguousWhether the forwarding fixture should return multiple ambiguous matches.
StatusOnlyCanaryEvaluator
SourceProves the original status-only result constructor remains usable from a non-friend assembly.
Parameters
scenarioThe evaluation scenario.
ForwardingProofCanaryEvaluator
SourceProduces forwarding-proof evidence using only the public named-canary API.
Parameters
scenarioThe evaluation scenario.
MigrationCompletionCanaryEvaluator
SourceProduces migration-completion evidence using only the public named-canary API.
Parameters
scenarioThe evaluation scenario.
ForwardingProofSnapshot
SourceDescribes application-owned forwarding proof returned by a protected proof store.
Parameters
StatusThe named-canary status derived by the application.ObservedAtThe time the proof was observed, when meaningful.MatchedCountThe number of matching proof records.ReasonCodeThe stable, operator-safe reason code.SummaryThe bounded, operator-safe summary.CorrelationIdThe non-secret application correlation identifier.
IForwardingProofReader
SourceReads existing forwarding proof without triggering the workflow under evaluation.
ReadAsync
ValueTask<ForwardingProofSnapshot> ReadAsync(string marker, DateTimeOffset freshSince, CancellationToken cancellationToken)
Source
Finds proof for the exact marker and freshness boundary supplied by the deploy caller.
Parameters
markerThe required opaque, potentially sensitive deploy marker. Do not log, persist, expose in telemetry, or return the raw value in a response; use only a redacted or fingerprinted representation outside the proof lookup.freshSinceThe required proof freshness boundary.cancellationTokenThe request cancellation token.
Returns
The application-owned proof decision and bounded evidence.
CompleteForwardingCanaryEvaluator
SourceEvaluates existing forwarding proof without triggering forwarding itself.
Remarks
During AddAppSurfaceCanary registration, call both RequireMarker() and RequireFreshSince() before mapping the endpoint. Missing required HTTP headers fail as ASCAN201 before evaluation. Direct evaluation validates marker and then freshness and throws InvalidOperationException with a registration diagnostic when either input is absent.
CanaryOperatorAction
SourceLists the next operator action selected from a semantic named-canary envelope.