{"entry":{"fixtureId":"compute-benchmark-alpha-v0","appSlug":"compute-benchmark-alpha","appName":"Alpha Compute Benchmark","reportId":"lab_compute-benchmark-alpha-v0_20260605165557231","generatedAt":"2026-06-05T16:55:57.231Z","status":"pass","jsonPath":"/bundle/server-functions/default/.nocklab/compute-benchmark-alpha.report.json","markdownPath":"/bundle/server-functions/default/.nocklab/compute-benchmark-alpha.report.md","reportHash":"sha256:e5545907ad26c169e7462c7a5e567ab78597372d417ef96f354ab96ddccbf8d5","snapshotRoot":"6614492d55b394ff","badgeCandidate":{"id":"badge-candidate-compute-benchmark-alpha","label":"Alpha Compute Benchmark Verification Candidate","reportSlug":"compute-benchmark-alpha","fixtureId":"compute-benchmark-alpha-v0","status":"ready","signatureStatus":"unsigned","evidence":{"reportHash":"sha256:e5545907ad26c169e7462c7a5e567ab78597372d417ef96f354ab96ddccbf8d5","snapshotRoot":"6614492d55b394ff","invariantPacks":[]}},"stepsPassed":5,"stepsTotal":5,"invariantsPassed":4,"invariantsTotal":4,"alertsTriggered":0,"snapshotsCaptured":6,"adapterObservationCount":0,"invariantPackCount":0},"report":{"reportId":"lab_compute-benchmark-alpha-v0_20260605165557231","fixtureId":"compute-benchmark-alpha-v0","generatedAt":"2026-06-05T16:55:57.231Z","app":{"name":"Alpha Compute Benchmark","slug":"compute-benchmark-alpha","version":"0.1.0","kernel":"mock-compute-provider-v0"},"environment":{"mode":"mock-fakenet","grpcEndpoint":"127.0.0.1:5555","fakenetCommand":"nockchain --fakenet --bind-public-grpc-addr 127.0.0.1:5555 --no-default-peers","notes":["Mock compute provider benchmark for future solver and prover routing decisions.","Captures job-class latency, reproducibility, and SLA evidence for Alpha Compute."]},"summary":{"status":"pass","stepsPassed":5,"stepsFailed":0,"invariantsPassed":4,"invariantsFailed":0,"alertsClear":0,"alertsTriggered":0,"snapshotsCaptured":6,"durationMs":85},"invariantPacks":[],"steps":[{"id":"boot-fakenet","type":"fakenet","title":"Boot mock compute benchmark fakenet","status":"pass","expectation":"gRPC endpoint configured at 127.0.0.1:5555","observed":"mock-fakenet profile ready at 127.0.0.1:5555","beforeHash":"a6683c843167a059","afterHash":"a6683c843167a059","stateDiffs":[],"durationMs":19},{"id":"sample-small-jobs","type":"poke","title":"Sample small noun evaluation jobs","status":"pass","actor":"benchmark-coordinator","target":"/compute/benchmark/noun-eval-small","expectation":"provider.jobClasses.nounEvalSmall.score == 94","observed":"94","beforeHash":"a6683c843167a059","afterHash":"910e6d3832f83ad0","stateDiffs":[{"path":"provider.jobClasses.nounEvalSmall.score","before":"0","after":"94"},{"path":"provider.jobClasses.nounEvalSmall.p50Ms","before":"0","after":"180"},{"path":"provider.jobClasses.nounEvalSmall.p95Ms","before":"0","after":"420"},{"path":"provider.jobClasses.nounEvalSmall.reproducibility","before":"0","after":"0.995"},{"path":"provider.events","before":"[]","after":"[{\"type\":\"job-class-sampled\",\"class\":\"noun-eval-small\"}]"}],"durationMs":26},{"id":"sample-proof-batches","type":"poke","title":"Sample medium proof batch jobs","status":"pass","actor":"benchmark-coordinator","target":"/compute/benchmark/proof-batch-medium","expectation":"provider.jobClasses.proofBatchMedium.score == 89","observed":"89","beforeHash":"910e6d3832f83ad0","afterHash":"3a7ed5857602bc3a","stateDiffs":[{"path":"provider.jobClasses.proofBatchMedium.score","before":"0","after":"89"},{"path":"provider.jobClasses.proofBatchMedium.p50Ms","before":"0","after":"1280"},{"path":"provider.jobClasses.proofBatchMedium.p95Ms","before":"0","after":"2440"},{"path":"provider.jobClasses.proofBatchMedium.reproducibility","before":"0","after":"0.982"},{"path":"provider.events","before":"[{\"type\":\"job-class-sampled\",\"class\":\"noun-eval-small\"}]","after":"[{\"type\":\"job-class-sampled\",\"class\":\"noun-eval-small\"},{\"type\":\"job-class-sampled\",\"class\":\"proof-batch-medium\"}]"}],"durationMs":33},{"id":"finalize-provider-sla","type":"poke","title":"Finalize provider SLA sample","status":"pass","actor":"alpha-compute","target":"/compute/provider/finalize-sla","expectation":"provider.status == qualified","observed":"qualified","beforeHash":"3a7ed5857602bc3a","afterHash":"6614492d55b394ff","stateDiffs":[{"path":"provider.status","before":"pending","after":"qualified"},{"path":"provider.score","before":"0","after":"91"},{"path":"provider.sla.uptime","before":"0","after":"0.998"},{"path":"provider.sla.failureRate","before":"1","after":"0.004"},{"path":"provider.sla.sampleSize","before":"0","after":"512"},{"path":"provider.jobClasses.stateReplayLarge.score","before":"0","after":"90"},{"path":"provider.jobClasses.stateReplayLarge.p50Ms","before":"0","after":"3120"},{"path":"provider.jobClasses.stateReplayLarge.p95Ms","before":"0","after":"6100"},{"path":"provider.jobClasses.stateReplayLarge.reproducibility","before":"0","after":"0.976"},{"path":"provider.events","before":"[{\"type\":\"job-class-sampled\",\"class\":\"noun-eval-small\"},{\"type\":\"job-class-sampled\",\"class\":\"proof-batch-medium\"}]","after":"[{\"type\":\"job-class-sampled\",\"class\":\"noun-eval-small\"},{\"type\":\"job-class-sampled\",\"class\":\"proof-batch-medium\"},{\"type\":\"sla-finalized\",\"sampleSize\":512}]"}],"durationMs":40},{"id":"peek-provider-score","type":"peek","title":"Read provider benchmark score","status":"pass","target":"/compute/provider/alpha","expectation":"provider.score == 91","observed":"91","beforeHash":"6614492d55b394ff","afterHash":"6614492d55b394ff","stateDiffs":[],"durationMs":47}],"invariants":[{"id":"compute-provider-qualified","title":"Provider is qualified after benchmark finalization","severity":"high","status":"pass","observed":"qualified","expected":"provider.status == qualified"},{"id":"compute-provider-sample-size","title":"Provider benchmark has a meaningful sample size","severity":"medium","status":"pass","observed":"512","expected":"provider.sla.sampleSize >= 512"},{"id":"compute-provider-score-floor","title":"Provider benchmark score clears the routing threshold","severity":"high","status":"pass","observed":"91","expected":"provider.score >= 90"},{"id":"compute-provider-failure-alert-clear","title":"Provider failure alert remains clear","severity":"critical","status":"pass","observed":"false","expected":"alerts.failed == false"}],"alerts":[],"adapterObservations":[],"stateSnapshots":[{"label":"Initial state","stateHash":"a6683c843167a059","state":{"provider":{"slug":"alpha-compute","status":"pending","score":0,"sla":{"uptime":0,"failureRate":1,"sampleSize":0},"jobClasses":{"nounEvalSmall":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0},"proofBatchMedium":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0},"stateReplayLarge":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0}},"events":[]},"alerts":{"failed":false}}},{"label":"After boot-fakenet","stateHash":"a6683c843167a059","state":{"provider":{"slug":"alpha-compute","status":"pending","score":0,"sla":{"uptime":0,"failureRate":1,"sampleSize":0},"jobClasses":{"nounEvalSmall":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0},"proofBatchMedium":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0},"stateReplayLarge":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0}},"events":[]},"alerts":{"failed":false}},"stepId":"boot-fakenet"},{"label":"After sample-small-jobs","stateHash":"910e6d3832f83ad0","state":{"provider":{"slug":"alpha-compute","status":"pending","score":0,"sla":{"uptime":0,"failureRate":1,"sampleSize":0},"jobClasses":{"nounEvalSmall":{"score":94,"p50Ms":180,"p95Ms":420,"reproducibility":0.995},"proofBatchMedium":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0},"stateReplayLarge":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0}},"events":[{"type":"job-class-sampled","class":"noun-eval-small"}]},"alerts":{"failed":false}},"stepId":"sample-small-jobs"},{"label":"After sample-proof-batches","stateHash":"3a7ed5857602bc3a","state":{"provider":{"slug":"alpha-compute","status":"pending","score":0,"sla":{"uptime":0,"failureRate":1,"sampleSize":0},"jobClasses":{"nounEvalSmall":{"score":94,"p50Ms":180,"p95Ms":420,"reproducibility":0.995},"proofBatchMedium":{"score":89,"p50Ms":1280,"p95Ms":2440,"reproducibility":0.982},"stateReplayLarge":{"score":0,"p50Ms":0,"p95Ms":0,"reproducibility":0}},"events":[{"type":"job-class-sampled","class":"noun-eval-small"},{"type":"job-class-sampled","class":"proof-batch-medium"}]},"alerts":{"failed":false}},"stepId":"sample-proof-batches"},{"label":"After finalize-provider-sla","stateHash":"6614492d55b394ff","state":{"provider":{"slug":"alpha-compute","status":"qualified","score":91,"sla":{"uptime":0.998,"failureRate":0.004,"sampleSize":512},"jobClasses":{"nounEvalSmall":{"score":94,"p50Ms":180,"p95Ms":420,"reproducibility":0.995},"proofBatchMedium":{"score":89,"p50Ms":1280,"p95Ms":2440,"reproducibility":0.982},"stateReplayLarge":{"score":90,"p50Ms":3120,"p95Ms":6100,"reproducibility":0.976}},"events":[{"type":"job-class-sampled","class":"noun-eval-small"},{"type":"job-class-sampled","class":"proof-batch-medium"},{"type":"sla-finalized","sampleSize":512}]},"alerts":{"failed":false}},"stepId":"finalize-provider-sla"},{"label":"After peek-provider-score","stateHash":"6614492d55b394ff","state":{"provider":{"slug":"alpha-compute","status":"qualified","score":91,"sla":{"uptime":0.998,"failureRate":0.004,"sampleSize":512},"jobClasses":{"nounEvalSmall":{"score":94,"p50Ms":180,"p95Ms":420,"reproducibility":0.995},"proofBatchMedium":{"score":89,"p50Ms":1280,"p95Ms":2440,"reproducibility":0.982},"stateReplayLarge":{"score":90,"p50Ms":3120,"p95Ms":6100,"reproducibility":0.976}},"events":[{"type":"job-class-sampled","class":"noun-eval-small"},{"type":"job-class-sampled","class":"proof-batch-medium"},{"type":"sla-finalized","sampleSize":512}]},"alerts":{"failed":false}},"stepId":"peek-provider-score"}],"stateDiffs":[{"path":"provider.status","before":"pending","after":"qualified"},{"path":"provider.score","before":"0","after":"91"},{"path":"provider.sla.uptime","before":"0","after":"0.998"},{"path":"provider.sla.failureRate","before":"1","after":"0.004"},{"path":"provider.sla.sampleSize","before":"0","after":"512"},{"path":"provider.jobClasses.nounEvalSmall.score","before":"0","after":"94"},{"path":"provider.jobClasses.nounEvalSmall.p50Ms","before":"0","after":"180"},{"path":"provider.jobClasses.nounEvalSmall.p95Ms","before":"0","after":"420"},{"path":"provider.jobClasses.nounEvalSmall.reproducibility","before":"0","after":"0.995"},{"path":"provider.jobClasses.proofBatchMedium.score","before":"0","after":"89"},{"path":"provider.jobClasses.proofBatchMedium.p50Ms","before":"0","after":"1280"},{"path":"provider.jobClasses.proofBatchMedium.p95Ms","before":"0","after":"2440"},{"path":"provider.jobClasses.proofBatchMedium.reproducibility","before":"0","after":"0.982"},{"path":"provider.jobClasses.stateReplayLarge.score","before":"0","after":"90"},{"path":"provider.jobClasses.stateReplayLarge.p50Ms","before":"0","after":"3120"},{"path":"provider.jobClasses.stateReplayLarge.p95Ms","before":"0","after":"6100"},{"path":"provider.jobClasses.stateReplayLarge.reproducibility","before":"0","after":"0.976"},{"path":"provider.events","before":"[]","after":"[{\"type\":\"job-class-sampled\",\"class\":\"noun-eval-small\"},{\"type\":\"job-class-sampled\",\"class\":\"proof-batch-medium\"},{\"type\":\"sla-finalized\",\"sampleSize\":512}]"}],"nextActions":["Replace mock poke and peek execution with local fakenet adapter calls.","Replace command-backed fakenet metadata probes with stable gRPC-native probes once node surfaces are available.","Persist generated reports under a project workspace.","Add app-specific invariant packs as the NockApp interface stabilizes."]},"markdown":"# Alpha Compute Benchmark Lab Report\n\n- Report: lab_compute-benchmark-alpha-v0_20260605165557231\n- Fixture: compute-benchmark-alpha-v0\n- Status: pass\n- Steps: 5 passed, 0 failed\n- Invariants: 4 passed, 0 failed\n- Alerts: 0 clear, 0 triggered\n- Snapshots: 6\n\n## Steps\n\n- PASS boot-fakenet: mock-fakenet profile ready at 127.0.0.1:5555 (gRPC endpoint configured at 127.0.0.1:5555); a6683c843167a059 -> a6683c843167a059\n- PASS sample-small-jobs: 94 (provider.jobClasses.nounEvalSmall.score == 94); a6683c843167a059 -> 910e6d3832f83ad0\n- PASS sample-proof-batches: 89 (provider.jobClasses.proofBatchMedium.score == 89); 910e6d3832f83ad0 -> 3a7ed5857602bc3a\n- PASS finalize-provider-sla: qualified (provider.status == qualified); 3a7ed5857602bc3a -> 6614492d55b394ff\n- PASS peek-provider-score: 91 (provider.score == 91); 6614492d55b394ff -> 6614492d55b394ff\n\n## Invariants\n\n- PASS compute-provider-qualified: qualified expected provider.status == qualified\n- PASS compute-provider-sample-size: 512 expected provider.sla.sampleSize >= 512\n- PASS compute-provider-score-floor: 91 expected provider.score >= 90\n- PASS compute-provider-failure-alert-clear: false expected alerts.failed == false\n\n## Alerts\n\n- No alert policies configured.\n\n## Adapter Observations\n\n- No adapter observations captured.\n\n## State Diffs\n\n- provider.status: pending -> qualified\n- provider.score: 0 -> 91\n- provider.sla.uptime: 0 -> 0.998\n- provider.sla.failureRate: 1 -> 0.004\n- provider.sla.sampleSize: 0 -> 512\n- provider.jobClasses.nounEvalSmall.score: 0 -> 94\n- provider.jobClasses.nounEvalSmall.p50Ms: 0 -> 180\n- provider.jobClasses.nounEvalSmall.p95Ms: 0 -> 420\n- provider.jobClasses.nounEvalSmall.reproducibility: 0 -> 0.995\n- provider.jobClasses.proofBatchMedium.score: 0 -> 89\n- provider.jobClasses.proofBatchMedium.p50Ms: 0 -> 1280\n- provider.jobClasses.proofBatchMedium.p95Ms: 0 -> 2440\n- provider.jobClasses.proofBatchMedium.reproducibility: 0 -> 0.982\n- provider.jobClasses.stateReplayLarge.score: 0 -> 90\n- provider.jobClasses.stateReplayLarge.p50Ms: 0 -> 3120\n- provider.jobClasses.stateReplayLarge.p95Ms: 0 -> 6100\n- provider.jobClasses.stateReplayLarge.reproducibility: 0 -> 0.976\n- provider.events: [] -> [{\"type\":\"job-class-sampled\",\"class\":\"noun-eval-small\"},{\"type\":\"job-class-sampled\",\"class\":\"proof-batch-medium\"},{\"type\":\"sla-finalized\",\"sampleSize\":512}]\n\n## Snapshot Timeline\n\n- Initial state: a6683c843167a059\n- After boot-fakenet: a6683c843167a059\n- After sample-small-jobs: 910e6d3832f83ad0\n- After sample-proof-batches: 3a7ed5857602bc3a\n- After finalize-provider-sla: 6614492d55b394ff\n- After peek-provider-score: 6614492d55b394ff\n\n","evidence":{"stateDiffCount":18,"snapshotCount":6,"alertCount":0,"triggeredAlertCount":0,"clearAlertCount":0,"triggeredCriticalAlertCount":0,"triggeredWarningAlertCount":0,"triggeredInfoAlertCount":0,"environmentMode":"mock-fakenet","grpcEndpoint":"127.0.0.1:5555","environmentNoteCount":2,"nextActionCount":4,"firstNextAction":"Replace mock poke and peek execution with local fakenet adapter calls.","invariantPackCount":0,"invariantPackIds":[],"invariantPackDomains":[],"firstInvariantPackPath":"","changedPaths":["provider.status","provider.score","provider.sla.uptime","provider.sla.failureRate","provider.sla.sampleSize","provider.jobClasses.nounEvalSmall.score","provider.jobClasses.nounEvalSmall.p50Ms","provider.jobClasses.nounEvalSmall.p95Ms","provider.jobClasses.nounEvalSmall.reproducibility","provider.jobClasses.proofBatchMedium.score","provider.jobClasses.proofBatchMedium.p50Ms","provider.jobClasses.proofBatchMedium.p95Ms","provider.jobClasses.proofBatchMedium.reproducibility","provider.jobClasses.stateReplayLarge.score","provider.jobClasses.stateReplayLarge.p50Ms","provider.jobClasses.stateReplayLarge.p95Ms","provider.jobClasses.stateReplayLarge.reproducibility","provider.events"],"markdownPreview":"# Alpha Compute Benchmark Lab Report"}}