You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2026/08/29 16:24:40 UTC
(shardingsphere) branch master updated: Clarify Codex harness local check and smoke actions (#39639)
This is an automated email from the ASF dual-hosted git repository.
terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new dd09d5fb9b3 Clarify Codex harness local check and smoke actions (#39639)
dd09d5fb9b3 is described below
commit dd09d5fb9b398e3fdb27582244826c56e9053cd8
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Aug 30 00:24:34 2026 +0800
Clarify Codex harness local check and smoke actions (#39639)
---
.codex/harness/agents/run.py | 5 ++++-
.codex/harness/agents/test_run.py | 7 +++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/.codex/harness/agents/run.py b/.codex/harness/agents/run.py
index 997689fe3a0..e1dffc697ac 100644
--- a/.codex/harness/agents/run.py
+++ b/.codex/harness/agents/run.py
@@ -893,7 +893,10 @@ In other cases, keep the existing case decision point and represent ordinary pre
Use `assess_non_regression`, `capture_performance_baseline`, `verify_functional_non_regression`, `verify_performance_non_regression`, and `repair_regression` only when the case explicitly asks to evaluate that non-regression stage or condition.
Do not add these finer-grained actions to older implementation cases that do not ask for them.
For a new non-regression case that explicitly makes functional or performance non-regression determine the decision, include the corresponding `functional_non_regression_required` or `performance_non_regression_required` reason whether the gate passes, blocks handoff, or requires repair.
-Use `triage_failed_smoke` or `rerun_failed_smoke` only when the case asks to perform that step at the current decision point.
+Use `run_local_checks` when the case explicitly asks to run or rerun a focused unit test, build, or other ordinary local verification.
+Do not classify a focused unit test, build, or ordinary local verification as a smoke test.
+Use `triage_failed_smoke` only when the case explicitly identifies an E2E, integration, client, or Docker smoke failure and asks to triage it at the current decision point.
+Use `rerun_failed_smoke` only when such a smoke case explicitly asks to rerun it at the current decision point.
Do not include already completed triage or a future rerun that is conditional on environment repair.
Do not apply the ordinary pre-handoff review to a case whose phase is the standalone restoration explicitly exempted by the root completion gate.
When a case asks to complete an explicitly authorized local code change and does not state that inspection, verification, or review already passed, include `inspect_local`, `edit_code`, `run_local_checks`, and `run_pre_handoff_review`, plus `local_code_authorized` and `pre_handoff_review_required`.
diff --git a/.codex/harness/agents/test_run.py b/.codex/harness/agents/test_run.py
index dc87fcec5b6..ef62ccf0f04 100644
--- a/.codex/harness/agents/test_run.py
+++ b/.codex/harness/agents/test_run.py
@@ -300,6 +300,13 @@ class RunTest(unittest.TestCase):
self.assertIn("Infer `invoke_source_driven_development` only", prompt)
self.assertIn("Preserve exact technical terms", prompt)
+ def test_create_prompt_distinguishes_local_checks_from_smoke_actions(self) -> None:
+ prompt = run.create_prompt([self.case], "sha256")
+ self.assertIn("Use `run_local_checks` when the case explicitly asks to run or rerun a focused unit test", prompt)
+ self.assertIn("Do not classify a focused unit test, build, or ordinary local verification as a smoke test", prompt)
+ self.assertIn("Use `triage_failed_smoke` only when the case explicitly identifies an E2E", prompt)
+ self.assertIn("Use `rerun_failed_smoke` only when such a smoke case explicitly asks to rerun it", prompt)
+
def test_semantic_metadata_disclaims_profile_content_evaluation(self) -> None:
metadata = run.semantic_evaluation_metadata()
self.assertEqual("root", metadata["decision_surface"])