Skip to content

fix(heartbeat): share automation-first Goal execution contract - #4201

Merged
huangruiteng merged 30 commits into
mainfrom
codex/native-goal-prompt-contract
Sep 11, 2026
Merged

huangruiteng merged 30 commits into
mainfrom
codex/native-goal-prompt-contract

test(hosts): qualify prompt decisions with release-only model probes

1beb54e
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Sep 11, 2026 in 2m 12s

Quality Gate failed

Failed conditions
43.7% Coverage on New Code (required ≥ 80%)
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check failure on line 69 in loopx/control_plane/heartbeat/installed_prompt_update.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 26 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQLs3w18q0y0slSB&open=AaCPRQLs3w18q0y0slSB&pullRequest=4201

Check warning on line 78 in tests/test_claude_goal_release_qualification.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_FaQmBaUD4X7Dgf&open=AaCMG_FaQmBaUD4X7Dgf&pullRequest=4201

Check warning on line 358 in tests/control_plane/test_automation_prompt_upgrade.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this exception test to have only one invocation possibly throwing an exception.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQT73w18q0y0slSO&open=AaCPRQT73w18q0y0slSO&pullRequest=4201

Check warning on line 186 in tests/test_claude_goal_release_qualification.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_FaQmBaUD4X7Dgj&open=AaCMG_FaQmBaUD4X7Dgj&pullRequest=4201

Check warning on line 144 in tests/control_plane/test_automation_prompt_upgrade.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQT73w18q0y0slSH&open=AaCPRQT73w18q0y0slSH&pullRequest=4201

Check warning on line 550 in tests/test_goal_mode_mcp_settlement.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_FSQmBaUD4X7Dgd&open=AaCMG_FSQmBaUD4X7Dgd&pullRequest=4201

Check warning on line 147 in tests/test_claude_goal_release_qualification.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQYW3w18q0y0slST&open=AaCPRQYW3w18q0y0slST&pullRequest=4201

Check failure on line 75 in scripts/qualify-native-goal-release.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

LLMs running this code with faulty CLI arguments can escape from shell sandboxes. Refactor this code to validate untrusted OS commands before using them.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQY73w18q0y0slSU&open=AaCPRQY73w18q0y0slSU&pullRequest=4201

Check failure on line 83 in scripts/qualify-claude-goal-release.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 29 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_F2QmBaUD4X7Dgk&open=AaCMG_F2QmBaUD4X7Dgk&pullRequest=4201

Check warning on line 68 in loopx/control_plane/heartbeat/bootstrap_prompt.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this constructor call with a literal.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRPrn3w18q0y0slSA&open=AaCPRPrn3w18q0y0slSA&pullRequest=4201

Check warning on line 491 in loopx/control_plane/heartbeat/task_body.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused function parameter "progress_refresh_state_command".

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCL8HLVhn_KN5WT2xry&open=AaCL8HLVhn_KN5WT2xry&pullRequest=4201

Check warning on line 509 in tests/test_goal_mode_mcp_settlement.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_FSQmBaUD4X7Dgc&open=AaCMG_FSQmBaUD4X7Dgc&pullRequest=4201

Check warning on line 46 in tests/test_native_goal_release_qualification.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQWd3w18q0y0slSR&open=AaCPRQWd3w18q0y0slSR&pullRequest=4201

Check warning on line 448 in loopx/control_plane/heartbeat/task_body.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused function parameter "quota_spend_command".

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCL8HLVhn_KN5WT2xrx&open=AaCL8HLVhn_KN5WT2xrx&pullRequest=4201

Check warning on line 495 in tests/test_goal_mode_mcp_settlement.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_FSQmBaUD4X7Dgb&open=AaCMG_FSQmBaUD4X7Dgb&pullRequest=4201

Check warning on line 155 in tests/test_claude_goal_release_qualification.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_FaQmBaUD4X7Dgi&open=AaCMG_FaQmBaUD4X7Dgi&pullRequest=4201

Check warning on line 270 in tests/control_plane/test_automation_prompt_upgrade.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQT73w18q0y0slSL&open=AaCPRQT73w18q0y0slSL&pullRequest=4201

Check warning on line 178 in tests/control_plane/test_automation_prompt_upgrade.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQT73w18q0y0slSI&open=AaCPRQT73w18q0y0slSI&pullRequest=4201

Check warning on line 313 in tests/control_plane/test_automation_prompt_upgrade.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQT73w18q0y0slSM&open=AaCPRQT73w18q0y0slSM&pullRequest=4201

Check warning on line 98 in tests/test_claude_goal_release_qualification.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCMG_FaQmBaUD4X7Dgh&open=AaCMG_FaQmBaUD4X7Dgh&pullRequest=4201

Check warning on line 328 in tests/control_plane/test_automation_prompt_upgrade.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this exception test to have only one invocation possibly throwing an exception.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQT73w18q0y0slSN&open=AaCPRQT73w18q0y0slSN&pullRequest=4201

Check warning on line 35 in tests/control_plane/test_host_bootstrap_lifecycle.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQUH3w18q0y0slSP&open=AaCPRQUH3w18q0y0slSP&pullRequest=4201

Check warning on line 235 in tests/control_plane/test_automation_prompt_upgrade.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Split this composite assertion into separate assertions.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRQT73w18q0y0slSK&open=AaCPRQT73w18q0y0slSK&pullRequest=4201

Check failure on line 20 in loopx/control_plane/heartbeat/bootstrap_prompt.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 16 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCPRPrn3w18q0y0slR_&open=AaCPRPrn3w18q0y0slR_&pullRequest=4201

Check warning on line 581 in loopx/control_plane/heartbeat/task_body.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused function parameter "quota_spend_command".

See more on https://sonarcloud.io/project/issues?id=huangruiteng_loopx&issues=AaCL8HLVhn_KN5WT2xr1&open=AaCL8HLVhn_KN5WT2xr1&pullRequest=4201