Upgrade from 5.x to 6.0
Version 6.0 renames public types and removes seven public members whose obsolete compatibility windows have completed. It also makes signature-verification pin mismatches and missing signatures deny by default, and changes providers to sign a versioned signature input that covers the signing policy context; see Verification policy defaults and Signature input. These are intentional major-version breaks. Rebuild consumers against the 6.0 packages after migrating.
Complete obsolete-member inventory
The repository-wide inventory of source attributes (Obsolete / ObsoleteAttribute), public API baselines, warning suppressions, analyzer diagnostics, tests, samples, and documentation found exactly these seven obsolete public members. No other obsolete aliases or forwarding APIs were found.
| Removed API | Supported replacement |
|---|---|
DefaultAsiBackbonePolicyEvaluator<TContext>(constraints, decisionPolicy = null) |
Builder with AddConstraints and WithDecisionPolicy |
DefaultAsiBackbonePolicyEvaluator<TContext>(constraints, decisionPolicy, options) |
Builder with AddConstraints, WithDecisionPolicy, and WithOptions |
DefaultAsiBackbonePolicyEvaluator<TContext>(constraints, decisionPolicy, options, logger) |
Builder with AddConstraints, WithDecisionPolicy, WithOptions, and WithLogger |
DefaultAsiBackbonePolicyEvaluator<TContext>(constraints, threatModelContributors, decisionPolicy = null) |
Builder with AddConstraints, AddThreatModelContributors, and WithDecisionPolicy |
DefaultAsiBackbonePolicyEvaluator<TContext>(constraints, threatModelContributors, decisionPolicy, options) |
Builder with AddConstraints, AddThreatModelContributors, WithDecisionPolicy, and WithOptions |
RequireGovernancePolicy<TPolicy>(RouteHandlerBuilder) |
MarkGovernancePolicy<TPolicy>() for decision-policy types; MarkGovernancePolicy(typeof(TPolicy)) for plain marker types |
RequireGovernancePolicy<TBuilder>(TBuilder, Type) |
MarkGovernancePolicy(builder, policyType) |
Start manual construction with DefaultGovernancePolicyEvaluator.CreateBuilder<TContext>(), configure the dependencies, and call Build(). For any removed evaluator constructor, direct construction and dependency injection can instead use the supported full-dependency constructor:
var evaluator = new DefaultGovernancePolicyEvaluator<MyPolicyContext>(
constraints,
threatModelContributors: null,
decisionPolicy: null,
options: null,
logger: null);
Supply the host's actual contributors, decision policy, options, and logger wherever configured. Null optional dependencies retain the evaluator's defaults; empty constraints still deny by default.
Type-based dependency injection registration now has only the full constructor to activate. It requires all five dependencies to be resolvable, including the concrete evaluator options object. Hosts using the options pattern should use a factory instead, passing IOptions<GovernancePolicyOptions>.Value to WithOptions (or the full constructor), and resolving the other configured dependencies explicitly. The sample and template use this factory pattern so unregistered optional dependencies retain their defaults.
MarkGovernancePolicy records the same policy metadata. It does not resolve the policy or select/enforce constraints solely from the marker. The attribute formerly named RequireGovernancePolicyAttribute is renamed to GovernancePolicyAttribute for the same reason; see Helper member renames.
Diagnostics and compatibility validation
The internal AsiBackboneObsoletions helper and its ASIB900 message, ID, and URL constants existed solely for the removed constructors and were deleted. ASIB900 came from the compiler's obsolete attribute support, not a dedicated Roslyn analyzer; no analyzer diagnostic needed removal. Obsolete-only forwarding and attribute tests and ASIB900 project suppressions were removed. Behavioral evaluator tests now use the full constructor; builder and marker replacement tests remain.
The managed API baselines intentionally remove the seven inventoried members and apply the public type renames below. Package compatibility validation retains its previous-release comparison, with exact exceptions for the intentional type, signature, interface, and generic-constraint changes; other compatibility failures still fail packing. Historical 4.x/5.x release notes and migration guidance remain available.
Verification policy defaults
5.0 moved a signing-key pin mismatch from Escalate to Deny, because an artifact signed under the wrong key should not receive a softer outcome than one with a bad signature. 6.0 applies the same rule to the remaining pins and to missing signatures. These are runtime behavior changes with no public signature change, so they take the major-version boundary.
| Condition | 5.x category / code / default action | 6.0 category / code / default action |
|---|---|---|
VerificationPolicyContext.RequiredProvider does not match the signing provider |
ProviderUnavailable / signature.provider-unavailable / Defer |
UntrustedSigningContext / signature.provider-not-trusted / Deny |
ExpectedPolicyVersion or ExpectedPolicyHash does not match signing metadata |
CanonicalizationMismatch / signature.canonicalization-mismatch / Escalate |
UntrustedSigningContext / signature.policy-context-not-trusted / Deny |
| Canonical artifact descriptors in signing metadata do not match the artifact | CanonicalizationMismatch / signature.canonicalization-mismatch / Escalate |
Unchanged category and code / Deny |
| Signature metadata is missing | MissingSignature / signature.missing / RequireAcknowledgment |
Unchanged category and code / Deny |
ProviderUnavailable now describes only an operational failure, such as a provider exception or timeout, and still defaults to Defer. UnknownKeyVersion and Failed still default to Escalate. Only Valid allows.
Capability-grant proof validation follows the same defaults. A provider or policy-context pin mismatch now reports CapabilityTokenValidationCategory.InvalidProof with Deny instead of Failed with Defer or Escalate, and a provider-reported CanonicalizationMismatch now reports InvalidProof with Deny. Grant validation already denied a missing signature.
Migration actions:
- Update alerting, dashboards, and log queries that match
signature.provider-unavailableorsignature.canonicalization-mismatchto also matchsignature.provider-not-trustedandsignature.policy-context-not-trusted. - Hosts that persist
SignatureVerificationCategoryas an integer must accept the new valueUntrustedSigningContext = 12. Existing numeric values are unchanged. - Hosts that deliberately accept unsigned artifacts on a lower-assurance path can restore the previous behavior for that path only:
VerificationPolicyOptions lowerAssurance = VerificationPolicyOptions.Create(
new Dictionary<SignatureVerificationCategory, VerificationPolicyAction>
{
[SignatureVerificationCategory.MissingSignature] = VerificationPolicyAction.RequireAcknowledgment
});
Restoring Defer or Escalate for UntrustedSigningContext is possible through the same override but is not recommended: a retry or an approval cannot make an artifact signed under the wrong provider or policy context trustworthy.
Signature input
Before 6.0, providers signed only the UTF-8 text of the canonical payload hash, so every value in SigningMetadata was an unauthenticated label. A holder of a validly signed artifact could change policy_version or policy_hash and verification still succeeded, which also meant ExpectedPolicyVersion and ExpectedPolicyHash pins checked values the signature did not cover.
6.0 signs and verifies a versioned signature input instead. See What the signature covers for the exact format and trust model.
| Surface | 6.0 change |
|---|---|
GovernanceSignatureInput |
New. CreateV1(hash, metadata) builds the version 1 input; CreateLegacy(signingHash) builds the pre-6.0 hash-only input. |
SigningRequest.SignatureInput, SignatureVerificationRequest.SignatureInput |
New. The exact bytes to sign or verify. Falls back to the hash-only input when not supplied; UsesLegacySignatureInput reports the fallback. |
GovernanceArtifactSigner |
Supplies the version 1 input and restores the signed policy_version and policy_hash in the stored metadata. |
GovernanceArtifactVerifier |
Rebuilds and verifies the version 1 input. |
VerificationPolicyContext.WithLegacySignatureInputAllowed() |
New opt-in for artifacts signed before 6.0. |
ManagedKeySignRequest.SignatureInput |
New. The managed-key client must sign these bytes. |
| Local-development provider | Signs and verifies the supplied input, and rejects provider labels it does not own (localdev.signature.provider-not-trusted, UntrustedSigningContext, Deny). |
Migration actions:
- Host managed-key clients (
IManagedKeySigningClient) must signManagedKeySignRequest.SignatureInputinstead ofSigningHash. Pass the bytes as the message to a message-signing API, or hash them with the key's digest algorithm before calling a digest-signing API. - Host verification services (
IGovernanceSignatureVerificationService) must verifySignatureVerificationRequest.SignatureInputinstead ofSigningHash, resolve the verification key from the recorded key ID and key version, and reject provider labels they do not own. - Custom signing flows that sign signing-ready artifacts outside
GovernanceArtifactSignermust signGovernanceSignatureInput.CreateV1(canonicalHash, signingMetadata)with the same policy metadata they record. - Persistence that rehydrates signed artifacts must retain the
policy_versionandpolicy_hashsigning metadata values that were signed. The EF Core audit ledger store persists the individual signature fields but not the signing metadata dictionary, so a ledger record signed with policy metadata does not re-verify after an EF Core round trip. Records signed without policy metadata are unaffected. Hosts that need both should persist the signed policy metadata in a host-owned column. - Historical artifacts signed by 5.x providers fail version 1 verification as
InvalidSignature. Legacy retry is disabled by default; explicitly opt in by passing a context fromWithLegacySignatureInputAllowed(). Such signatures authenticate the hash only and cannot satisfy a policy pin (signature.policy-context-not-authenticated).
A provider that ignores SignatureInput and keeps signing or verifying the hash text fails closed against artifacts produced by the other side of the change, rather than silently accepting unauthenticated labels, as long as signer and verifier are not both left on the hash text. Update both together.
In-memory capability grant use store
InMemoryCapabilityGrantUseStore evicted use records once a grant had been expired for longer than EvictionGracePeriod, while CapabilityGrantValidator still accepts an expired grant within AllowedClockSkew. With a skew above the grace period, a grant's record was evicted while the grant still validated, and the next use was accepted as a first use: a replay.
6.0 changes the store as follows:
- A grant expired for longer than
EvictionGracePeriod, measured from the latest use time the store has observed, is refused withReuseLimitExceededandcapability.use-retention-elapsed(newCapabilityGrantUseResult.RetentionElapsed). Measuring from the latest observed time prevents a caller-supplied earlier time from resurrecting an evicted grant. EvictionGracePeriodrejects negative values.- New
StopGrant(issuer, grantId)andCancelGrant(issuer, grantId)overloads affect one issuer's grant. The identifier-only overloads still affect every issuer's grant using the identifier, now documented as such.
Migration action: set EvictionGracePeriod to at least the largest AllowedClockSkew used with the store. With the defaults (zero skew, five-minute grace period) no change is needed.
Helper member renames
The 6.0 terminology change also renames public helpers that operate on decision
receipts. Apart from the explicitly documented residue to receipt parameter
rename below, parameter types, return types, behavior, canonical artifact tags,
signed bytes, JSON keys, and EF table and column names are unchanged.
| 5.x member | 6.0 member |
|---|---|
CanonicalPayloadBuilder.ForAuditResidue |
ForDecisionReceipt |
CanonicalPayloadBuilder.ForAuditResidueLifecycleEvent |
ForDecisionReceiptLifecycleEvent |
GovernanceArtifactSigner.CreateUnsignedAuditResidue |
CreateUnsignedDecisionReceipt |
GovernanceArtifactSigner.CreateSigningReadyAuditResidue |
CreateSigningReadyDecisionReceipt |
GovernanceArtifactSigner.SignAuditResidueAsync |
SignDecisionReceiptAsync |
GovernanceArtifactSigner.CreateUnsignedAuditResidueLifecycleEvent |
CreateUnsignedDecisionReceiptLifecycleEvent |
GovernanceArtifactSigner.CreateSigningReadyAuditResidueLifecycleEvent |
CreateSigningReadyDecisionReceiptLifecycleEvent |
GovernanceArtifactSigner.SignAuditResidueLifecycleEventAsync |
SignDecisionReceiptLifecycleEventAsync |
AsiBackboneHttpRequestCorrelationAuditExtensions.CreateAuditResidue |
GovernanceHttpRequestCorrelationDecisionReceiptExtensions.CreateDecisionReceipt |
GovernanceDecisionContract.VerifyAuditResidue |
VerifyDecisionReceipt |
AsiBackboneAuditSinkContract.CreateAuditResidue() |
DecisionReceiptSinkContract.CreateDecisionReceipt() |
AsiBackboneAuditSinkContract.CreateAuditSink() |
DecisionReceiptSinkContract.CreateDecisionReceiptSink() |
AsiBackboneAuditSinkContract.VerifyAuditSinkAcceptsValidResidueAsync() |
DecisionReceiptSinkContract.VerifyDecisionReceiptSinkAcceptsValidReceiptAsync() |
AuditLedgerRecord.FromResidue |
FromDecisionReceipt |
DecisionReceiptLifecycleEvent.FromResidue |
FromDecisionReceipt |
GovernanceEmissionEnvelope.FromResidue |
FromDecisionReceipt |
RequireGovernancePolicyAttribute / [RequireGovernancePolicy(...)] |
GovernancePolicyAttribute / [GovernancePolicy(...)] |
Contract-test fixtures derived from DecisionReceiptSinkContract must rename
their protected CreateAuditResidue and CreateAuditSink overrides to
CreateDecisionReceipt and CreateDecisionReceiptSink, respectively. Calls to
the contract verification method must use
VerifyDecisionReceiptSinkAcceptsValidReceiptAsync.
The public IDecisionReceipt parameter on ForDecisionReceipt,
CreateUnsignedDecisionReceipt, CreateSigningReadyDecisionReceipt,
SignDecisionReceiptAsync, VerifyDecisionReceipt, and the three
FromDecisionReceipt factories is named receipt in 6.0. Named-argument callers must update residue: to receipt:.
Protocol and persisted names remain unchanged: the AuditResidueId member
family, CanonicalArtifactTypes.AuditResidue, and
CanonicalArtifactTypes.AuditResidueLifecycleEvent retain their established
wire meaning.
Public type renames
See 6.0 public API naming convention for the complete inventory, qualifier decisions, namespace review, terminology coordination with #781, and retained names. No compatibility aliases are carried forward. Namespace and generic arity stay the same.
| Package | 5.x type | 6.0 type |
|---|---|---|
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Actors.AsiBackboneHttpActorContextOptions |
AsiBackbone.AspNetCore.Actors.HttpGovernanceActorContextOptions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Actors.HttpContextAsiBackboneActorContextResolver |
AsiBackbone.AspNetCore.Actors.HttpContextGovernanceActorContextResolver |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Actors.IAsiBackboneHttpActorContextResolver |
AsiBackbone.AspNetCore.Actors.IHttpGovernanceActorContextResolver |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Correlation.AsiBackboneHttpRequestCorrelation |
AsiBackbone.AspNetCore.Correlation.GovernanceHttpRequestCorrelation |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Correlation.AsiBackboneHttpRequestCorrelationAuditExtensions |
AsiBackbone.AspNetCore.Correlation.GovernanceHttpRequestCorrelationDecisionReceiptExtensions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Correlation.AsiBackboneHttpRequestMetadataKeys |
AsiBackbone.AspNetCore.Correlation.GovernanceHttpRequestMetadataKeys |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Correlation.HttpContextAsiBackboneRequestCorrelationResolver |
AsiBackbone.AspNetCore.Correlation.HttpContextGovernanceRequestCorrelationResolver |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Correlation.IAsiBackboneHttpRequestCorrelationResolver |
AsiBackbone.AspNetCore.Correlation.IHttpGovernanceRequestCorrelationResolver |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.DependencyInjection.AsiBackboneAspNetCoreOptions |
AsiBackbone.AspNetCore.DependencyInjection.AspNetCoreGovernanceOptions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.AsiBackboneEndpointGovernanceApplicationBuilderExtensions |
AsiBackbone.AspNetCore.Endpoints.EndpointGovernanceApplicationBuilderExtensions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.AsiBackboneEndpointGovernanceDescriptor |
AsiBackbone.AspNetCore.Endpoints.EndpointGovernanceDescriptor |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.AsiBackboneEndpointGovernanceMetadataMode |
AsiBackbone.AspNetCore.Endpoints.EndpointGovernanceMetadataMode |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.AsiBackboneEndpointGovernanceMiddleware |
AsiBackbone.AspNetCore.Endpoints.EndpointGovernanceMiddleware |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.AsiBackboneEndpointGovernanceOptions |
AsiBackbone.AspNetCore.Endpoints.EndpointGovernanceOptions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.AsiBackboneEndpointGovernanceResult |
AsiBackbone.AspNetCore.Endpoints.EndpointGovernanceResult |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.AsiBackboneEndpointGovernanceRouteBuilderExtensions |
AsiBackbone.AspNetCore.Endpoints.EndpointGovernanceRouteBuilderExtensions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.DefaultAsiBackboneEndpointGovernanceService |
AsiBackbone.AspNetCore.Endpoints.DefaultEndpointGovernanceService |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointAuditEmissionMetadata |
AsiBackbone.AspNetCore.Endpoints.IEndpointAuditEmissionMetadata |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointCapabilityGrantMetadata |
AsiBackbone.AspNetCore.Endpoints.IEndpointCapabilityGrantMetadata |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointCapabilityGrantValidator |
AsiBackbone.AspNetCore.Endpoints.IEndpointCapabilityGrantValidator |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointGovernanceMetadata |
AsiBackbone.AspNetCore.Endpoints.IEndpointGovernanceMetadata |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointGovernancePolicyMetadata |
AsiBackbone.AspNetCore.Endpoints.IEndpointGovernancePolicyMetadata |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointGovernanceService |
AsiBackbone.AspNetCore.Endpoints.IEndpointGovernanceService |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointLiabilityHandshakeMetadata |
AsiBackbone.AspNetCore.Endpoints.IEndpointLiabilityHandshakeMetadata |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Endpoints.IAsiBackboneEndpointPolicyEvaluationOptionsMetadata |
AsiBackbone.AspNetCore.Endpoints.IEndpointPolicyEvaluationOptionsMetadata |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Handshakes.AsiBackboneAcknowledgmentChallenge |
AsiBackbone.AspNetCore.Handshakes.AcknowledgmentChallenge |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Handshakes.AsiBackboneAcknowledgmentChallengeOptions |
AsiBackbone.AspNetCore.Handshakes.AcknowledgmentChallengeOptions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Handshakes.AsiBackboneAcknowledgmentChallengeRequest |
AsiBackbone.AspNetCore.Handshakes.AcknowledgmentChallengeRequest |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Handshakes.AsiBackboneAcknowledgmentChallengeResult |
AsiBackbone.AspNetCore.Handshakes.AcknowledgmentChallengeResult |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Handshakes.DefaultAsiBackboneAcknowledgmentChallengeService |
AsiBackbone.AspNetCore.Handshakes.DefaultAcknowledgmentChallengeService |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Handshakes.IAsiBackboneAcknowledgmentChallengeService |
AsiBackbone.AspNetCore.Handshakes.IAcknowledgmentChallengeService |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Outbox.AsiBackboneGovernanceOutboxDrainHostedService |
AsiBackbone.AspNetCore.Outbox.GovernanceOutboxDrainHostedService |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Outbox.AsiBackboneGovernanceOutboxDrainWorkerOptions |
AsiBackbone.AspNetCore.Outbox.GovernanceOutboxDrainWorkerOptions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Results.AsiBackboneHttpResultMappingExtensions |
AsiBackbone.AspNetCore.Results.GovernanceHttpResultMappingExtensions |
AsiBackbone.AspNetCore |
AsiBackbone.AspNetCore.Results.AsiBackboneHttpResultMappingOptions |
AsiBackbone.AspNetCore.Results.GovernanceHttpResultMappingOptions |
AsiBackbone.Core |
AsiBackbone.Core.Actors.AsiBackboneActorContext |
AsiBackbone.Core.Actors.GovernanceActorContext |
AsiBackbone.Core |
AsiBackbone.Core.Actors.AsiBackboneActorType |
AsiBackbone.Core.Actors.GovernanceActorType |
AsiBackbone.Core |
AsiBackbone.Core.Actors.IAsiBackboneActorContext |
AsiBackbone.Core.Actors.IGovernanceActorContext |
AsiBackbone.Core |
AsiBackbone.Core.AsiBackboneIdentifierLimits |
AsiBackbone.Core.GovernanceIdentifierLimits |
AsiBackbone.Core |
AsiBackbone.Core.Audit.AuditResidue |
AsiBackbone.Core.Audit.DecisionReceipt |
AsiBackbone.Core |
AsiBackbone.Core.Audit.AuditResidueBuilder |
AsiBackbone.Core.Audit.DecisionReceiptBuilder |
AsiBackbone.Core |
AsiBackbone.Core.Audit.AuditResidueLifecycleEvent |
AsiBackbone.Core.Audit.DecisionReceiptLifecycleEvent |
AsiBackbone.Core |
AsiBackbone.Core.Audit.AuditResidueLifecycleStage |
AsiBackbone.Core.Audit.DecisionReceiptLifecycleStage |
AsiBackbone.Core |
AsiBackbone.Core.Audit.IAsiBackboneAuditLedgerStore |
AsiBackbone.Core.Audit.IGovernanceAuditLedgerStore |
AsiBackbone.Core |
AsiBackbone.Core.Audit.IAsiBackboneAuditResidue |
AsiBackbone.Core.Audit.IDecisionReceipt |
AsiBackbone.Core |
AsiBackbone.Core.Audit.IAsiBackboneAuditResidueLifecycleStore |
AsiBackbone.Core.Audit.IDecisionReceiptLifecycleStore |
AsiBackbone.Core |
AsiBackbone.Core.Audit.IAsiBackboneAuditSink |
AsiBackbone.Core.Audit.IDecisionReceiptSink |
AsiBackbone.Core |
AsiBackbone.Core.Classification.DefaultAsiBackboneDlpFailurePolicyResolver |
AsiBackbone.Core.Classification.DefaultDlpFailurePolicyResolver |
AsiBackbone.Core |
AsiBackbone.Core.Classification.IAsiBackboneDlpFailurePolicyResolver |
AsiBackbone.Core.Classification.IDlpFailurePolicyResolver |
AsiBackbone.Core |
AsiBackbone.Core.Constraints.AsiBackboneConstraintEvaluationContext |
AsiBackbone.Core.Constraints.GovernanceEvaluationContext |
AsiBackbone.Core |
AsiBackbone.Core.Constraints.IAsiBackboneConstraintEvaluationContext |
AsiBackbone.Core.Constraints.IGovernanceEvaluationContext |
AsiBackbone.Core |
AsiBackbone.Core.Constraints.IAsiBackboneConstraint1|AsiBackbone.Core.Constraints.IGovernanceConstraint1 |
|
AsiBackbone.Core |
AsiBackbone.Core.Emissions.IAsiBackboneGovernanceEmitter |
AsiBackbone.Core.Emissions.IGovernanceEmitter |
AsiBackbone.Core |
AsiBackbone.Core.Entities.AsiBackboneEntity |
AsiBackbone.Core.Entities.GovernanceEntity |
AsiBackbone.Core |
AsiBackbone.Core.Entities.IAsiBackboneEntity |
AsiBackbone.Core.Entities.IGovernanceEntity |
AsiBackbone.Core |
AsiBackbone.Core.Evaluation.AsiBackbonePolicyEvaluatorBuilder1|AsiBackbone.Core.Evaluation.GovernancePolicyEvaluatorBuilder1 |
|
AsiBackbone.Core |
AsiBackbone.Core.Evaluation.AsiBackbonePolicyEvaluatorOptions |
AsiBackbone.Core.Evaluation.GovernancePolicyOptions |
AsiBackbone.Core |
AsiBackbone.Core.Evaluation.DefaultAsiBackbonePolicyEvaluator |
AsiBackbone.Core.Evaluation.DefaultGovernancePolicyEvaluator |
AsiBackbone.Core |
AsiBackbone.Core.Evaluation.DefaultAsiBackbonePolicyEvaluator1|AsiBackbone.Core.Evaluation.DefaultGovernancePolicyEvaluator1 |
|
AsiBackbone.Core |
AsiBackbone.Core.Evaluation.IAsiBackboneDecisionPolicy1|AsiBackbone.Core.Evaluation.IGovernanceDecisionPolicy1 |
|
AsiBackbone.Core |
AsiBackbone.Core.Evaluation.IAsiBackbonePolicyEvaluator1|AsiBackbone.Core.Evaluation.IGovernancePolicyEvaluator1 |
|
AsiBackbone.Core |
AsiBackbone.Core.Outbox.AsiBackboneGovernanceOutboxDrain |
AsiBackbone.Core.Outbox.GovernanceOutboxDrain |
AsiBackbone.Core |
AsiBackbone.Core.Outbox.AsiBackboneGovernanceOutboxOptions |
AsiBackbone.Core.Outbox.GovernanceOutboxOptions |
AsiBackbone.Core |
AsiBackbone.Core.Outbox.IAsiBackboneGovernanceOutboxClaimOutcomeStore |
AsiBackbone.Core.Outbox.IGovernanceOutboxClaimOutcomeStore |
AsiBackbone.Core |
AsiBackbone.Core.Outbox.IAsiBackboneGovernanceOutboxClaimStore |
AsiBackbone.Core.Outbox.IGovernanceOutboxClaimStore |
AsiBackbone.Core |
AsiBackbone.Core.Outbox.IAsiBackboneGovernanceOutboxStore |
AsiBackbone.Core.Outbox.IGovernanceOutboxStore |
AsiBackbone.Core |
AsiBackbone.Core.Results.BackboneResult |
AsiBackbone.Core.Results.GovernanceOperationResult |
AsiBackbone.Core |
AsiBackbone.Core.Serialization.AsiBackboneSchemaVersions |
AsiBackbone.Core.Serialization.GovernanceSchemaVersions |
AsiBackbone.Core |
AsiBackbone.Core.Signing.IAsiBackboneSignatureVerificationService |
AsiBackbone.Core.Signing.IGovernanceSignatureVerificationService |
AsiBackbone.Core |
AsiBackbone.Core.Signing.IAsiBackboneSigningService |
AsiBackbone.Core.Signing.IGovernanceSigningService |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Audit.EfCoreAuditResidueLifecycleStore |
AsiBackbone.EntityFrameworkCore.Audit.EfCoreDecisionReceiptLifecycleStore |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneAuditLedgerMetadataEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.AuditLedgerMetadataEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneAuditLedgerReasonCodeEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.AuditLedgerReasonCodeEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneAuditLedgerRecordEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.AuditLedgerRecordEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneAuditResidueLifecycleEventEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.DecisionReceiptLifecycleEventEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneGovernanceOutboxEntryEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.GovernanceOutboxEntryEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneHandshakeAcknowledgmentEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.HandshakeAcknowledgmentEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneHandshakeAcknowledgmentMetadataEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.HandshakeAcknowledgmentMetadataEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneHandshakeRequestEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.HandshakeRequestEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneHandshakeRequestMetadataEntityConfiguration |
AsiBackbone.EntityFrameworkCore.Configurations.HandshakeRequestMetadataEntityConfiguration |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneAuditLedgerMetadataEntity |
AsiBackbone.EntityFrameworkCore.Persistence.AuditLedgerMetadataEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneAuditLedgerReasonCodeEntity |
AsiBackbone.EntityFrameworkCore.Persistence.AuditLedgerReasonCodeEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneAuditLedgerRecordEntity |
AsiBackbone.EntityFrameworkCore.Persistence.AuditLedgerRecordEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneAuditResidueLifecycleEventEntity |
AsiBackbone.EntityFrameworkCore.Persistence.DecisionReceiptLifecycleEventEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneGovernanceOutboxEntryEntity |
AsiBackbone.EntityFrameworkCore.Persistence.GovernanceOutboxEntryEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneHandshakeAcknowledgmentEntity |
AsiBackbone.EntityFrameworkCore.Persistence.HandshakeAcknowledgmentEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneHandshakeAcknowledgmentMetadataEntity |
AsiBackbone.EntityFrameworkCore.Persistence.HandshakeAcknowledgmentMetadataEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneHandshakeRequestEntity |
AsiBackbone.EntityFrameworkCore.Persistence.HandshakeRequestEntity |
AsiBackbone.EntityFrameworkCore |
AsiBackbone.EntityFrameworkCore.Persistence.AsiBackboneHandshakeRequestMetadataEntity |
AsiBackbone.EntityFrameworkCore.Persistence.HandshakeRequestMetadataEntity |
AsiBackbone.Storage.InMemory |
AsiBackbone.Storage.InMemory.Audit.InMemoryAuditResidueLifecycleStore |
AsiBackbone.Storage.InMemory.Audit.InMemoryDecisionReceiptLifecycleStore |
AsiBackbone.Testing |
AsiBackbone.Testing.AsiBackboneTestAuditSink |
AsiBackbone.Testing.GovernanceTestDecisionReceiptSink |
AsiBackbone.Testing |
AsiBackbone.Testing.AsiBackboneTestHarnessEndpointCapabilityGrantValidator |
AsiBackbone.Testing.GovernanceTestHarnessEndpointCapabilityGrantValidator |
AsiBackbone.Testing |
AsiBackbone.Testing.AsiBackboneTestHarnessOptions |
AsiBackbone.Testing.GovernanceTestHarnessOptions |
AsiBackbone.Testing |
AsiBackbone.Testing.AsiBackboneTestHarnessPolicyEvaluator |
AsiBackbone.Testing.GovernanceTestHarnessPolicyEvaluator |
AsiBackbone.Testing |
AsiBackbone.Testing.AsiBackboneTestHarnessServiceCollectionExtensions |
AsiBackbone.Testing.GovernanceTestHarnessServiceCollectionExtensions |
AsiBackbone.Testing |
AsiBackbone.Testing.AsiBackboneTestSigningService |
AsiBackbone.Testing.GovernanceTestSigningService |
AsiBackbone.Testing |
AsiBackbone.Testing.Contracts.AsiBackboneAuditSinkContract |
AsiBackbone.Testing.Contracts.DecisionReceiptSinkContract |
AsiBackbone.Testing |
AsiBackbone.Testing.Contracts.AsiBackboneConstraintContract1|AsiBackbone.Testing.Contracts.GovernanceConstraintContract1 |
|
AsiBackbone.Testing |
AsiBackbone.Testing.Contracts.AsiBackboneContractViolationException |
AsiBackbone.Testing.Contracts.GovernanceContractViolationException |
AsiBackbone.Testing |
AsiBackbone.Testing.Contracts.AsiBackboneDecisionContract |
AsiBackbone.Testing.Contracts.GovernanceDecisionContract |
AsiBackbone.Testing |
AsiBackbone.Testing.Contracts.AsiBackboneDecisionPolicyContract1|AsiBackbone.Testing.Contracts.GovernanceDecisionPolicyContract1 |
|
AsiBackbone.Testing |
AsiBackbone.Testing.Contracts.AsiBackboneEndpointCapabilityGrantValidatorContract |
AsiBackbone.Testing.Contracts.EndpointCapabilityGrantValidatorContract |
AsiBackbone.Testing |
AsiBackbone.Testing.Contracts.AsiBackbonePolicyEvaluatorContract1|AsiBackbone.Testing.Contracts.GovernancePolicyEvaluatorContract1 |
Protocol members such as AuditResidueId retain their names and wire meaning; helper methods named for the audit-residue vocabulary are renamed as listed in Helper member renames. JSON keys, schema versions, canonical tags, signed bytes, and EF table/column names are unchanged. A type rename alone does not require a data migration. Type-based DI, reflection, custom receipt implementations, and host EF model configuration must reference the new CLR types. Rebuild all dependent assemblies.