starknet_transaction_prover: add deployment health docs and smoke script#14052
Conversation
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR SummaryLow Risk Overview
Reviewed by Cursor Bugbot for commit e2aec91. Bugbot is set up for automated code reviews on this repo. Configure here. |
5ea83ee to
3457808
Compare
49aebc4 to
0d65f02
Compare
3457808 to
ac2d30f
Compare
0d65f02 to
5f72fc7
Compare
ac2d30f to
cb3ebef
Compare
5f72fc7 to
8161746
Compare
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | ||
| SPEC_VERSION_EXPECTED=$(grep -oP 'const SPEC_VERSION: &str = "\K[^"]+' \ | ||
| "$SCRIPT_DIR/src/server/rpc_impl.rs" 2>/dev/null \ | ||
| || echo "0.10.1") |
There was a problem hiding this comment.
Stale fallback spec version causes false smoke failures
Medium Severity
The fallback value in || echo "0.10.1" doesn't match the actual SPEC_VERSION constant which is "0.10.2" in rpc_impl.rs. When the grep fails (e.g., the script is copied to a deploy host without the Rust source tree), SPEC_VERSION_EXPECTED becomes "0.10.1", while the running service returns "0.10.2", causing the check_spec_version step to report a false FAIL.
Reviewed by Cursor Bugbot for commit 8161746. Configure here.
| -d "$(cat "$TMP_DIR/prove_request_valid.json")" > "$TMP_DIR/concurrency_$i.json" | ||
| ) & | ||
| pids+=("$!") | ||
| done |
There was a problem hiding this comment.
Concurrency curl calls lack timeout, risking indefinite hang
Low Severity
The three concurrent curl calls in check_concurrency_and_recovery are the only network calls in the script without a --max-time limit. Every other call goes through rpc_call_prover or rpc_call_chain, both of which set --max-time 30. If the prover is slow or unresponsive, the wait loop blocks indefinitely, which is problematic for a script targeting a 5–10 minute runtime and likely used in CI/CD pipelines.
Reviewed by Cursor Bugbot for commit 8161746. Configure here.
Adds three operational artifacts: * MANUAL_TESTING_GUIDE.md — comprehensive manual testing reference (endpoints, negative flows, CORS matrix, compression, concurrency, load) for deep deployment validation. * DEPLOYMENT_SMOKE_TESTING_GUIDE.md — per-deploy 5-10 minute checklist covering reachability, core JSON-RPC methods, one real proving flow, invalid-request handling, and concurrency protection. * deployment_smoke.sh — automated smoke script that mirrors the smoke guide's checks, prints a PASS/FAIL summary, and supports KEEP_ARTIFACTS / TX_HASH / LOOKBACK_BLOCKS overrides for debugging.
cb3ebef to
93accf4
Compare
8161746 to
e2aec91
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 3 total unresolved issues (including 2 from previous reviews).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e2aec91. Configure here.
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | ||
| SPEC_VERSION_EXPECTED=$(grep -oP 'const SPEC_VERSION: &str = "\K[^"]+' \ | ||
| "$SCRIPT_DIR/src/server/rpc_impl.rs" 2>/dev/null \ | ||
| || echo "0.10.1") |
There was a problem hiding this comment.
Stale fallback spec version causes false failures
Medium Severity
The fallback value "0.10.1" on the grep failure path is stale — the actual SPEC_VERSION in rpc_impl.rs is "0.10.2". When grep -oP fails (e.g. on macOS where -P is unsupported, or when the script is run outside the repo), every spec-version check will incorrectly report FAIL because the expected value doesn't match the deployed service.
Reviewed by Cursor Bugbot for commit e2aec91. Configure here.



Adds three operational artifacts:
MANUAL_TESTING_GUIDE.md — comprehensive manual testing reference
(endpoints, negative flows, CORS matrix, compression, concurrency,
load) for deep deployment validation.
DEPLOYMENT_SMOKE_TESTING_GUIDE.md — per-deploy 5-10 minute checklist
covering reachability, core JSON-RPC methods, one real proving flow,
invalid-request handling, and concurrency protection.
deployment_smoke.sh — automated smoke script that mirrors the smoke
guide's checks, prints a PASS/FAIL summary, and supports
KEEP_ARTIFACTS / TX_HASH / LOOKBACK_BLOCKS overrides for debugging.