Conversation
Re-runs all 8 smokes from PR #157 against the now-promoted v0.13 default. PR #160 squash 3158a4e flipped DEFAULT_AGENT_CHECKOUT to v0.13 canary path; this PR confirms zero regression and upgrades Smoke 7 (BLK-013 bounded task) from N/A to PASS using the endpoint shipped in PR #159 with monkeypatched subprocess.run. Result: 8 PASS / 0 FAIL / 0 N/A. Net change vs PR #157: Smoke 7 N/A -> PASS. Every smoke that PR #157 reported PASS is still PASS. Pre-flight pins (both PASS) - services/agent_checkout.py:DEFAULT_AGENT_CHECKOUT == v0.13 canary - G:/Github/hermes-agent-fresh HEAD == 73bf3ab1 (v0.12 byte-identical) Smoke results 1. Hermes Agent imports: 8/8 packages OK against canary venv 2. MCP tools: 10 @mcp.tool() decorators at exact PR #157 lines (471, 528, 561, 618, 670, 699, 733, 769, 823, 839) 3. MiniMax: build_probe_request well-formed; no key value leak 4. DeepSeek: RuntimeError on missing env; env-var NAME not echoed 5. OpenCode: detected=True via PRIVATE_ENV path 6. OpenHands: detected=True (Finding F1: --version probe slow on cold start; non-blocking, documented) 7. BLK-013 bounded task: TestClient + monkeypatched subprocess.run; hardened-docker argv pinned (--network=none, --read-only, --cap-drop=ALL, --tmpfs noexec, --memory=512m, --cpus=1, --pids-limit=128, --security-opt=no-new-privileges); no -v G:/private mount; no -e provider env passthrough; stderr only surfaces as sha256 8. Rollback to v0.12: 5/5 mid-process env flips correct Module added: 04_testing/pytest/unit/test_v013_post_promotion_smoke.py (11 cases: 2 pre-flight pins + 8 smokes + 1 aggregate). Runs in ~20s, no live HTTP, no docker spawn. Handoff doc: 03_implementation/docs/handoffs/HERMES_AGENT_V013_POST_PROMOTION_SMOKE_2026-05-09.md Constraints honored - Read-only on canary code (no upstream edits) - No secret values printed or stored - Live HTTP probes deferred (PR #157 already banked accepted=true) - MCP locks held + evidence recorded (ev_4003d541281ee381) for task P1-7-V013-POST-PROMOTION-SMOKE Online research - Argo Rollouts blue-green smoke gate https://argoproj.github.io/rollouts/ - Kubernetes post-flight pattern https://testkube.io/glossary/post-flight-testing - 12-Factor App rule III https://12factor.net/config Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Ghenghis
merged commit May 10, 2026
3ab1b88
into
feat/hermes3d-7-complete-gui-repo-wiring
1 check passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wave 3 P1-7. Re-runs all 8 smokes from PR #157 against the now-promoted v0.13 default. PR #160 squash
3158a4eflippedservices/agent_checkout.py:DEFAULT_AGENT_CHECKOUTtoPath("G:/Github/hermes-agent-v013-canary"); this PR confirms zero regression and upgrades Smoke 7 (BLK-013 bounded task) fromN/AtoPASSusing the endpoint shipped in PR #159 with monkeypatchedsubprocess.run.Result: 8 PASS / 0 FAIL / 0 N/A. Net change vs PR #157: Smoke 7
N/A → PASS. Every smoke that PR #157 reported PASS is still PASS.Pre-flight pins (both PASS)
services/agent_checkout.py:DEFAULT_AGENT_CHECKOUTPath("G:/Github/hermes-agent-v013-canary")git -C G:/Github/hermes-agent-fresh rev-parse HEAD73bf3ab1b22314ed9dfecbb59242c03742fe72af(v2026.4.30)git status --shortemptySmoke results (vs PR #157 baseline)
@mcp.tool()at lines 471/528/561/618/670/699/733/769/823/839build_probe_request—Authorization: Bearer <redacted>RuntimeError(PR #145/#148 fix)detected=True,version_status=pass)--versionprobe occasionally exceeds 8s budget — non-blocking)subprocess.run; hardened-docker argv pinned; no secret leak; stderr only as sha256What this PR adds
04_testing/pytest/unit/test_v013_post_promotion_smoke.py— 11 test cases (2 pre-flight pins + 8 smokes + 1 aggregate). Runs in ~20 s, no live HTTP, no docker spawn.03_implementation/docs/handoffs/HERMES_AGENT_V013_POST_PROMOTION_SMOKE_2026-05-09.md— full smoke results, findings, source links.Pytest output:
11 passed in 19.67s. Pre-push hook also ran 39 unit tests and printedpre-push: branch 'claude/v013-post-promotion-smoke' OK.Smoke 7 detail — what was actually exercised
The bounded-task endpoint is exercised through the production FastAPI router via
TestClient.code_history.subprocess.runis monkey-patched to capture argv. Assertions cover:200withstatus="ok",accepted=True,network_mode="none",timeout_s=30.--network=none,--read-only,--memory=512m,--cpus=1,--pids-limit=128,--cap-drop=ALL,--security-opt=no-new-privileges,--tmpfs /tmp:noexec,nosuid,....-t <prompt>carries"JSON array of names"and"max 50 items").g:/private,/.aws,${home}absent from joined argv).OPENAI_API_KEY,ANTHROPIC_API_KEY,MINIMAX_API_KEY,DEEPSEEK_API_KEY,HUGGINGFACE_TOKENabsent;-eabsent entirely).stderr_sha256(64 hex chars).append_mcp_evidencecalled withkind="code_cli_runner_bounded_task".Findings (non-blocking)
F1 — OpenHands
--versionprobe occasionally exceeds 8 s timeout on slow Windows hosts; manual invocation completes in ~8.6 s and printsOpenHands CLI 1.16.0. Detection (detected=True, the PR #157 PASS criterion) is unchanged. Recommended follow-up (separate PR): raise_cli_runner_statusversion-probe timeout from 8 s to 15 s, OR memoize the probe within a process. Out of scope for this PR.Constraints honored
G:/Github/hermes-agent-v013-canary/orG:/Github/hermes-agent-fresh/).accepted=truefor both providers; integration path verified by mocking subprocess + inspecting argv).ev_4003d541281ee381) recorded for taskP1-7-V013-POST-PROMOTION-SMOKE. Locks released cleanly post-commit.Online research
Primary — Argo Rollouts blue-green smoke gate (argoproj.github.io/rollouts): re-run smokes against the new active version after promotion, before declaring stable. Cross-comparison — PR #157 baseline 7 PASS / 1 N/A / 0 FAIL was the explicit motivator for PR #160; this PR closes the loop. Supporting — Kubernetes post-flight pattern (testkube.io/glossary/post-flight-testing) and 12-Factor App rule III (12factor.net/config).
Hermes evidence chain: PASS
P1-7-V013-POST-PROMOTION-SMOKEhermes_run_gate: locks acquired + chained evidence + locks releasedev_4003d541281ee381(entry_hash9869a3a7269d8b6a8fe30202737dcd801207d9163914c0d1a1410aaef09b0ac0, prev_hash67f0dbfbd79058f5a464b44cde74d7c5751eceacc723e6a4625d3991f9505da0)Test plan
DEFAULT_AGENT_CHECKOUTis v0.13 canary path73bf3ab1detected=Truedetected=True(with F1 finding)11 passed in 19.67sHandoff signal
Post-promotion stable. v0.13 default is runtime-verified against the same eight-smoke contract that motivated the promotion. v0.12 ripcord remains operative mid-process. Wave 3 P1-7 closes clean.
🤖 Generated with Claude Code