FixtureActivationEvidence Evidence { get; }
Source
Gets evidence only after successful activation, checked drain, and physical session cleanup.
Locates the non-packable cache-behavior child process from Tailwind tests.
Process entry point for the AppSurface CLI executable.
ProgramEntryPoint
owns the command runtime seam and is covered by tests; this type only adapts the .NET process entry point to that seam.
Runs one existing opted-in Work to a named child-process crash boundary.
DurableWorkRegistration CreateRegistration(DurableProviderSafety safety, NpgsqlDataSource dataSource)
Creates the exact registration shared by the parent fixture and fresh child process.
safety
dataSource
A registration whose preparation is side-effect free.
Task RunAsync(string[] args)
Runs the execution-checkpoint child protocol.
args
ValueTask RecordProviderMutationAsync(NpgsqlDataSource dataSource, string providerKey, string activityId, int attemptNumber)
Records one committed fake-provider invocation and one idempotent logical mutation.
dataSource
providerKey
activityId
attemptNumber
Credential-free child checkpoint facts consumed by the parent integration test.
Locates the reference child-process assembly from integration tests.
Reports the exact durable checkpoint reached before the parent terminates the child.
Phase
ScopeId
WorkId
ActivityId
AttemptNumber
ObservedAtUtc
Events
Reports one privacy-safe operation checkpoint reached by the crash helper.
Operation
Outcome
TransactionBoundary
ElapsedMilliseconds
Reports the committed Flow timer boundary reached before forced process termination.
Reports test-only identifiers necessary to compare a crash-side Activity with its restarted continuation.
Reports one causal link on the test-only telemetry evidence record.
Task VerifyLaneObservationFailureCleanupAsync(string adminCs, string ownerCs, LaneProofRolePair[] pairs, Guid storeId, Guid epoch, string receiptPath, bool throwingCancellationCallback = false)
Runs the disposable regression for observation failure after real lane launch. Requires an initialized, reconciled fixture with no other service-role sessions; owns an admin table-lock transaction and the negative probe's guard and children. The lock keeps provider Work execution pending until cancellation, making the task-drain assertions deterministic. An optional throwing cancellation callback also verifies that a callback exception cannot skip either drain. Success requires both tasks terminal before releasing that lock, absent lane/guard sessions and fence, and no receipt.
This in-assembly test seam consumes synthetic fixture credentials only. It never returns activation evidence or reconciles roles. Cleanup timeouts remain failures.
Task CleanupGuardedScenarioAsync(FixtureActivationLease? activationLease, CancellationTokenSource guardLost, Task monitorTask, CancellationTokenSource monitorStop, NpgsqlConnection guard, SemaphoreSlim guardOperationGate, bool sharedGuardReleased, QueuedWriterProbe? writerProbe, QueuedWriterAttempt? writerAttempt)
Drains the activation lease, monitor, guard, and queued writer even when an earlier cleanup fails.
Each stage runs in its own finally block with an independent deadline. A terminal activation drain fault remains a proof failure; it cannot bypass guard release or leave the exclusive writer unobserved. The writer attempt records only completed release and writer operations, never attempted cleanup.
Task VerifyActivationCleanupFailureAsync(string adminCs, string ownerCs, LaneProofRolePair pair, Guid storeId, Guid epoch, string receiptPath)
Proves that a terminal real-host drain fault still drains the monitor and releases a queued writer.
Uses the same cleanup path as every guarded scenario. The internal lifecycle hook throws only after the real host, persisted drain marker, closed admission, and owned-session release have been verified. Disposal then re-awaits that same faulted task. No successful receipt is permitted, and store identity stays fixed.
Evidence for a disposable candidate-package worker, including its checked graceful shutdown.
Activates the public PostgreSQL worker host on an already initialized disposable fixture.
The controller must retain its continuously monitored shared guard through activation and drain, and pass its guard-linked token here. This helper never migrates or changes the epoch. Start returns only after the production host has admitted a worker and committed one uniquely scoped Work result. Keep the lease alive until the guarded callback finishes, then await DrainAsync with an independent cleanup token before accepting evidence. Guard loss stops the host and makes the lease ineligible for successful evidence even if drain works.
Task<FixtureActivationLease> StartAsync(string ownerConnectionString, LaneProofRolePair runtimePair, Guid storeId, Guid epoch, CancellationToken guardLinkedCancellationToken, FixtureActivationCheckpointHook? testHook)
Starts the same fixture with a deterministic lifecycle observer for tests; production callers use the five-argument overload.
Owns the actual host and all of its nonpooled connections until checked drain and disposal.
Task<FixtureActivationEvidence> DrainAsync(CancellationToken independentCleanupToken)
Stops the real host, checks durable drain and closed admission, and releases owned sessions.
Cleanup has a fresh 15-second bound independent of guard loss. The supplied token bounds the caller's wait; it never cancels the owned cleanup task. A failed persisted marker, unfinished host, identity drift, or guard loss throws instead of producing successful evidence. Repeated calls share the same terminal cleanup task.
FixtureActivationEvidence Evidence { get; }
Source
Gets evidence only after successful activation, checked drain, and physical session cleanup.
Checks one publish phase for the repository's Linux MVC pilot.
The opt-in MSBuild import owns this task; it is not a package API.
string Phase { get; set; }
Source
The required phase: paths before copying, or permissions after publish.
string RepositoryDirectory { get; set; }
Source
Root used to display safe repository-relative source names.
string ProjectDirectory { get; set; }
Source
Fallback root for source names in a separate fixture.
string PublishDirectory { get; set; }
Source
Fresh SDK publish output root for the permissions phase.
ITaskItem[] OrdinaryFiles { get; set; }
Source
Prepared ordinary copy items carrying RelativePath metadata.
ITaskItem[] StaticFiles { get; set; }
Source
Prepared static asset copy items carrying TargetPath metadata.
Process-loss checkpoints in execution order.
Deterministic lifecycle checkpoints exposed only to in-assembly tests.