chore(mesh): mark Phase 3 tasks 7-8 complete
Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
This commit is contained in:
@@ -89,16 +89,18 @@
|
|||||||
{
|
{
|
||||||
"id": 7,
|
"id": 7,
|
||||||
"subject": "Task 7: #485 empty/corrupt/mismatch coverage on the FetchAndCache paths",
|
"subject": "Task 7: #485 empty/corrupt/mismatch coverage on the FetchAndCache paths",
|
||||||
"status": "pending",
|
"status": "completed",
|
||||||
"classification": "high-risk",
|
"classification": "high-risk",
|
||||||
"blockedBy": [
|
"blockedBy": [
|
||||||
6
|
6
|
||||||
]
|
],
|
||||||
|
"commit": "fc568ae0",
|
||||||
|
"note": "Regression net, no new mechanism \u2014 all green (no gaps to guard). Pins the NEGATIVE on failure paths: (1) null fetch mid-steady-state -> no RebuildAddressSpace for the failed rev, revision + served state kept (publishProbe.ExpectNoMsg is the discriminator); (2) zero-length blob handed to the actor fails via ReconcileDriversFromBlob's own #485 guard (independent of the fetcher null contract); (3) corrupt cache at boot = GetCurrentUnkeyedAsync null -> Steady-no-revision, no rebuild at boot (no partial apply). Removing the #485 empty guard reddens the zero-length test. Corrupt-cache uses a stub-returns-null (the real ReassembleAsync-null-on-corrupt is LocalDbDeploymentArtifactCacheTests' job)."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 8,
|
"id": 8,
|
||||||
"subject": "Task 8: real two-Host gRPC artifact-fetch boundary test + wrong-key falsifiability control",
|
"subject": "Task 8: real two-Host gRPC artifact-fetch boundary test + wrong-key falsifiability control",
|
||||||
"status": "pending",
|
"status": "completed",
|
||||||
"classification": "high-risk",
|
"classification": "high-risk",
|
||||||
"blockedBy": [
|
"blockedBy": [
|
||||||
3,
|
3,
|
||||||
@@ -106,7 +108,9 @@
|
|||||||
],
|
],
|
||||||
"parallelizableWith": [
|
"parallelizableWith": [
|
||||||
9
|
9
|
||||||
]
|
],
|
||||||
|
"commit": "ffbcaa93",
|
||||||
|
"note": "Minimal real Host (WebApplication + h2c-only Kestrel + real ConfigServeAuthInterceptor + real DeploymentArtifactGrpcService + in-memory EF sealed deployment) driven by the REAL GrpcDeploymentArtifactFetcher. 4 green: right-key >256KB reassembles byte-equal + verifies; wrong-key null WHILE right-key succeeds on the SAME server (falsifiability control); unknown-id null; [dead-port,real-port] failover. h2c GrpcChannel.ForAddress(http://) works out of the box in .NET 10 \u2014 no AppContext switch needed. async can't have out params -> StartServerAsync returns a tuple. Tagged [Trait Category=ArtifactBoundary]."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 9,
|
"id": 9,
|
||||||
@@ -131,5 +135,5 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastUpdated": "2026-07-23T01:30:00Z"
|
"lastUpdated": "2026-07-23T02:15:00Z"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user