CanaryConsumerFixture
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)
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)
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)
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.
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)
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.
CanaryOperatorAction
SourceLists the next operator action selected from a semantic named-canary envelope.