docs(operations): record v1 readiness evidence (#23)
quality-gate / quality (push) Failing after 1m29s
quality-gate / container (push) Has been skipped

This commit is contained in:
KyuubiYoru
2026-07-16 22:39:50 +02:00
parent 00d5ff7764
commit 95c3a4aed6
8 changed files with 327 additions and 69 deletions
+35 -35
View File
@@ -1,7 +1,7 @@
{
"schemaVersion": 2,
"evidenceVersion": "v2",
"generatedAt": "2026-07-16T14:10:53.6981858+00:00",
"generatedAt": "2026-07-16T20:28:43.2873744+00:00",
"profile": "candidate",
"runtime": {
"framework": ".NET 10.0.9",
@@ -14,14 +14,14 @@
"cpuQuota": "not-enforced",
"memoryLimit": "not-enforced",
"garbageCollector": "workstation",
"commitSha": "cf14836d48b0b4aaa67f99433f4fba3585bcd2bb",
"commitSha": "00d5ff776408e7d80ce6648953e62a7233aca35c",
"treeState": "clean",
"command": "RENDEZVOUS_CAPACITY_PROFILE=candidate RENDEZVOUS_CAPACITY_CPUSET=0,1 ./scripts/run-capacity-gate.sh",
"imageDigest": "not-containerized",
"workloadSeed": "fixed-sequences-random-identifiers",
"capacityPhaseAverageCpuPercent": 56.37724115383554,
"peakWorkingSetBytes": 169705472,
"managedBytesAfterCleanup": 35615200
"capacityPhaseAverageCpuPercent": 55.52666859166872,
"peakWorkingSetBytes": 176758784,
"managedBytesAfterCleanup": 35608984
},
"targets": {
"visibleListings": 25000,
@@ -39,10 +39,10 @@
{
"operation": "registration-and-presence",
"samples": 1000,
"p50Milliseconds": 0.003,
"p50Milliseconds": 0.0029,
"p95Milliseconds": 0.0046,
"p99Milliseconds": 0.0054,
"operationsPerSecond": 282453.96000451926,
"p99Milliseconds": 0.0055,
"operationsPerSecond": 287918.9220315559,
"minimumOperationsPerSecond": 200,
"budgetMilliseconds": 200,
"passed": true
@@ -51,9 +51,9 @@
"operation": "lease-renewal",
"samples": 1000,
"p50Milliseconds": 0.0004,
"p95Milliseconds": 0.0009,
"p99Milliseconds": 0.0021,
"operationsPerSecond": 968992.2480620155,
"p95Milliseconds": 0.0007,
"p99Milliseconds": 0.0019,
"operationsPerSecond": 1076426.264800861,
"minimumOperationsPerSecond": 200,
"budgetMilliseconds": 200,
"passed": true
@@ -61,10 +61,10 @@
{
"operation": "visible-session-browse",
"samples": 250,
"p50Milliseconds": 0.9046,
"p95Milliseconds": 3.3704,
"p99Milliseconds": 3.9471,
"operationsPerSecond": 695.5799787597697,
"p50Milliseconds": 1.0232,
"p95Milliseconds": 3.6083,
"p99Milliseconds": 4.2925,
"operationsPerSecond": 650.0325926341947,
"minimumOperationsPerSecond": 200,
"budgetMilliseconds": 200,
"passed": true
@@ -72,10 +72,10 @@
{
"operation": "join-attempt-issuance",
"samples": 1000,
"p50Milliseconds": 0.0029,
"p95Milliseconds": 0.0045,
"p99Milliseconds": 0.0055,
"operationsPerSecond": 296428.042092782,
"p50Milliseconds": 0.0028,
"p95Milliseconds": 0.0042,
"p99Milliseconds": 0.0052,
"operationsPerSecond": 135253.93927098127,
"minimumOperationsPerSecond": 200,
"budgetMilliseconds": 200,
"passed": true
@@ -83,10 +83,10 @@
{
"operation": "simultaneous-punch-pairing",
"samples": 1000,
"p50Milliseconds": 0.0043,
"p95Milliseconds": 0.0073,
"p99Milliseconds": 0.0115,
"operationsPerSecond": 109212.03516627532,
"p50Milliseconds": 0.0039,
"p95Milliseconds": 0.0069,
"p99Milliseconds": 0.0087,
"operationsPerSecond": 110619.46902654869,
"minimumOperationsPerSecond": 2000,
"budgetMilliseconds": 100,
"passed": true
@@ -94,10 +94,10 @@
{
"operation": "principal-revocation",
"samples": 50,
"p50Milliseconds": 0.518,
"p95Milliseconds": 0.7049,
"p99Milliseconds": 11.8557,
"operationsPerSecond": 1320.1773262184577,
"p50Milliseconds": 0.495,
"p95Milliseconds": 0.6508,
"p99Milliseconds": 11.011,
"operationsPerSecond": 1393.258301729591,
"minimumOperationsPerSecond": 50,
"budgetMilliseconds": 200,
"passed": true
@@ -108,7 +108,7 @@
"p50Milliseconds": 0.0001,
"p95Milliseconds": 0.0001,
"p99Milliseconds": 0.0001,
"operationsPerSecond": 1438641.9220256077,
"operationsPerSecond": 1479289.9408284025,
"minimumOperationsPerSecond": 10000,
"budgetMilliseconds": 1,
"passed": true
@@ -116,10 +116,10 @@
{
"operation": "coincident-listing-attempt-expiry",
"samples": 1,
"p50Milliseconds": 29.6882,
"p95Milliseconds": 29.6882,
"p99Milliseconds": 29.6882,
"operationsPerSecond": 33.682962483916384,
"p50Milliseconds": 27.7056,
"p95Milliseconds": 27.7056,
"p99Milliseconds": 27.7056,
"operationsPerSecond": 36.093525543388026,
"minimumOperationsPerSecond": 0,
"budgetMilliseconds": 200,
"passed": true
@@ -134,10 +134,10 @@
"finalReplayMarkers": 0,
"expiryChurn": 94906,
"maintenanceSweeps": 36307,
"soakCyclesCompleted": 75126848,
"soakDurationSeconds": 300.0000015,
"soakCyclesCompleted": 77547145,
"soakDurationSeconds": 300.0000041,
"soakPeakScheduledExpiryEntries": 7,
"soakManagedGrowthBytes": -257288,
"soakManagedGrowthBytes": -263432,
"soakHandleGrowth": 2,
"restartStartedEmpty": true,
"overloadWasTyped": true,
+18 -18
View File
@@ -1,44 +1,44 @@
{
"schemaVersion": 1,
"kind": "rendezvous-production-readiness",
"evaluatedCommit": "6bad659c123ad45ad0d9d07f93217c2e8c42d459",
"evaluatedCommit": "00d5ff776408e7d80ce6648953e62a7233aca35c",
"decision": "not-ready",
"localGates": [
{
"id": "immutable-release-artifacts",
"status": "pending",
"evidenceRef": "docs/operations/production-readiness.md",
"note": "Rebuild after the readiness tooling checkpoint."
"status": "pass",
"evidenceRef": "docs/evidence/releases/v1.0.0-local-candidate.json",
"note": "Clean candidate packages and server archive are byte reproducible and fully verified."
},
{
"id": "debug-and-release-verification",
"status": "pending",
"evidenceRef": "docs/operations/production-readiness.md",
"note": "Re-run after the readiness tooling checkpoint."
"status": "pass",
"evidenceRef": "docs/evidence/releases/v1.0.0-local-candidate.json",
"note": "All 300 tests pass in Debug and Release; the Release build has zero warnings and errors."
},
{
"id": "real-consumer-pilots",
"status": "pending",
"evidenceRef": "docs/integration/spacegame-pilot.md",
"note": "Pin and re-run both real consumer revisions."
"status": "pass",
"evidenceRef": "docs/evidence/releases/v1.0.0-local-candidate.json",
"note": "Pinned real projects restore the candidate and both game launch pilots pass direct traffic."
},
{
"id": "candidate-capacity-resilience",
"status": "pending",
"status": "pass",
"evidenceRef": "docs/evidence/capacity/v2/candidate-2cpu.json",
"note": "Re-run the five-minute candidate on the tooling checkpoint."
"note": "The clean two-CPU five-minute candidate passes all budgets with zero retained state."
},
{
"id": "production-process-recovery",
"status": "pending",
"evidenceRef": "docs/operations/capacity-and-resilience.md",
"note": "Re-run process restart, drain, and rollback gates."
"status": "pass",
"evidenceRef": "docs/evidence/releases/v1.0.0-local-candidate.json",
"note": "All selected restart, drain, socket release, overload, and recovery tests pass."
},
{
"id": "security-privacy-observability",
"status": "pending",
"evidenceRef": "docs/operations/production-readiness.md",
"note": "Re-run the combined release verification matrix."
"status": "pass",
"evidenceRef": "docs/evidence/releases/v1.0.0-local-candidate.json",
"note": "The complete security, privacy, health, audit, telemetry, and release suite passes."
}
],
"externalGates": [
@@ -0,0 +1,58 @@
{
"schemaVersion": 1,
"kind": "rendezvous-local-release-candidate",
"version": "1.0.0",
"sourceCommit": "00d5ff776408e7d80ce6648953e62a7233aca35c",
"treeState": "clean",
"result": "pass",
"artifacts": [
{
"name": "FinalFactory.Rendezvous.Client.1.0.0.nupkg",
"sha256": "f2a4b9727b5faeba284ddcb7fc575c7495f1e29b763faababa7cd71444dc2950"
},
{
"name": "FinalFactory.Rendezvous.Contracts.1.0.0.nupkg",
"sha256": "92317f153911ebf7b8ea04cd3206ec2a17f882cb4eddb26aa8ab094ffdb06627"
},
{
"name": "FinalFactory.Rendezvous.Server.1.0.0.linux-x64.tar.gz",
"sha256": "0dab8cfc696b4a55d6ffba46286c9e532df2c943ed8fd6347fb528516156b3ba"
}
],
"verification": {
"lockedRestore": "pass",
"reportedVulnerabilities": 0,
"format": "pass",
"releaseBuildWarnings": 0,
"releaseBuildErrors": 0,
"debugTestsPassed": 300,
"debugTestsFailed": 0,
"releaseTestsPassed": 300,
"releaseTestsFailed": 0,
"selectedProductionFaultTestsPassed": 17,
"byteReproduciblePackages": "pass",
"byteReproducibleServerArchive": "pass",
"sbomChecksumsAndProvenance": "pass",
"candidateConsumerFixtures": "pass",
"realConsumerRestores": "pass"
},
"consumers": [
{
"name": "SpaceGame",
"revision": "f3f5bc29810c362656cd7143bec1ddc2cfaf9f22",
"candidateRestore": "pass",
"directTrafficPilot": "pass"
},
{
"name": "Unscouted",
"revision": "f0574a7de82aadff6495ca5657dfc19cf7c2f67c",
"candidateRestore": "pass",
"directTrafficPilot": "pass"
}
],
"limitations": {
"publicRegistryRestore": "pending",
"signedPublication": "pending",
"externalNetworkCanaries": "pending"
}
}
+1 -1
View File
@@ -81,7 +81,7 @@ concurrent build, thermal throttling, or oversubscribed CI host.
The checked-in baseline is
[`candidate-2cpu.json`](../evidence/capacity/v2/candidate-2cpu.json). It was
produced on .NET 10.0.9/Linux x64 with CPU affinity restricted to two logical
CPUs. It filled 25,000 listings and 10,000 attempts, peaked at about 162 MiB,
CPUs. It filled 25,000 listings and 10,000 attempts, peaked at about 169 MiB,
and cleared all active/retained state. The five-minute baseline supersedes any
earlier local probe when its timestamp and target duration differ.
+26
View File
@@ -50,6 +50,32 @@ container bridge, or second process on one machine cannot prove it:
Failure or missing evidence is blocking. It is never converted into an accepted
risk by changing the wording of the readiness note.
When an external gate passes, add a redacted repository JSON attestation and
point that gate's `evidenceRef` to it. The checker requires this exact shape and
binds the gate to the evaluated candidate commit. `artifactDigest` is the SHA-256
of the protected evidence bundle or public release record, not a peer endpoint,
listing identifier, account identifier, or credential:
```json
{
"schemaVersion": 1,
"kind": "rendezvous-external-gate-attestation",
"gateId": "replace-with-the-exact-gate-id",
"candidateCommit": "replace-with-the-40-character-candidate-commit",
"result": "pass",
"performedAtUtc": "2026-01-01T00:00:00Z",
"artifactDigest": "replace-with-the-64-character-sha256",
"evidenceLocation": "protected-operations-record",
"reviewerRole": "independent-operator"
}
```
Allowed evidence locations are `protected-operations-record` and
`public-release-record`. Allowed reviewer roles are `release-operator`,
`network-operator`, `security-operator`, and `independent-operator`. The checker
rejects a missing file, wrong gate, wrong candidate, malformed digest, naive
timestamp, extra fields, or sensitive-data-shaped contents.
## Prepare one immutable canary build
Use the exact release candidate on every canary machine. Verify a clean checkout,