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 688ce6a73c6 Clarify analyze-issue output mode checks (#40168)
688ce6a73c6 is described below

commit 688ce6a73c64cc3518381200e3789f9a769e8f1d
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Oct 13 11:39:14 2026 +0800

    Clarify analyze-issue output mode checks (#40168)
---
 .codex/harness/agents/cases.toml                   | 42 ++++++++++++++++++++++
 .codex/skills/analyze-issue/SKILL.md               | 40 ++++++++++-----------
 .../analyze-issue/references/output-contract.md    | 28 +++++----------
 3 files changed, 70 insertions(+), 40 deletions(-)

diff --git a/.codex/harness/agents/cases.toml b/.codex/harness/agents/cases.toml
index a00208acdcb..7331a946dc4 100644
--- a/.codex/harness/agents/cases.toml
+++ b/.codex/harness/agents/cases.toml
@@ -3493,6 +3493,48 @@ critical = true
 policy_binding_profile = "analyze-issue"
 policy_assertions = [{source = "analyze-issue", statements = ["Provide a 
temporary workaround only when allowed-source evidence verifies its 
applicability to the reported version, mode and trigger, its compatibility with 
the affected contracts, and its material side effects.", "Explain its 
limitations and temporary status without replacing the root-cause conclusion, 
Bug classification or required fix.", "Omit unverified or incompatible 
workarounds and any workaround with unknown material [...]
 
+[[cases]]
+id = "issue_reply_code_fence_mode"
+group = "issue-analysis output mode"
+description = "Keeps a default reply with code fences free of detailed-report 
requirements while preserving action and two-part bridge checks."
+phase = "read-only output assessment"
+ordinary_loop = false
+profile = "analyze-issue"
+semantic_policy_assertions = true
+prompt = "Assess the final-output checks for three synthetic issue outputs. 
CODE_REPLY: the selected mode is Maintainer Reply Only; the output reference 
was loaded solely for a multiline code example. The reply addresses the known 
author, uses community maintainer language, states the classification in the 
first paragraph, gives an official-source reason supported by the internal 
evidence ledger, and provides a concrete next action with appropriate labels. 
All applicable formatting and d [...]
+decision = "proceed"
+required_actions = []
+allowed_actions = []
+forbidden_actions = ["edit_code", "edit_non_code", "mutate_git", 
"mutate_remote", "run_local_checks", "run_pre_handoff_review", 
"expand_frozen_boundary", "propose_commit_message"]
+required_reasons = ["read_only_request"]
+required_summary_terms = ["[CODE_REPLY]=complete", 
"[MISSING_ACTION]=incomplete", "[TWO_PART_MISSING_BRIDGE]=incomplete"]
+required_summary_prefix = "[CODE_REPLY]=complete; [MISSING_ACTION]=incomplete; 
[TWO_PART_MISSING_BRIDGE]=incomplete"
+max_summary_chars = 88
+critical = true
+policy_binding_profile = "analyze-issue"
+policy_assertions = [{source = "analyze-issue", statements = ["Before final 
output, verify only the checks applicable to the selected output mode.", 
"Reading the output reference for a reusable template or multi-line code fence 
handling does not change the selected output mode.", "Maintainer Reply Only 
requires neither Reference Analysis sections nor visible evidence IDs.", "The 
reply gives a clear next action, including a label/close recommendation or PR 
expectation when appropriate.",  [...]
+
+[[cases]]
+id = "issue_reference_analysis_only_mode"
+group = "issue-analysis output mode"
+description = "Allows Reference Analysis Only without a reply or bridge and 
still rejects missing conclusion fields or unsupported inferences."
+phase = "read-only output assessment"
+ordinary_loop = false
+profile = "analyze-issue"
+semantic_policy_assertions = true
+prompt = "Assess the final-output checks for three synthetic Reference 
Analysis Only outputs explicitly requested by the user. COMPLETE_ANALYSIS: a 
Question analysis has the required four sections, every selected-shape 
conclusion field, correct labels, concrete official citations, evidence IDs for 
every conclusion, and observations supporting every inference. It satisfies all 
applicable language, formatting and delivery requirements. It has no maintainer 
reply, author greeting or two-par [...]
+decision = "proceed"
+required_actions = []
+allowed_actions = []
+forbidden_actions = ["edit_code", "edit_non_code", "mutate_git", 
"mutate_remote", "run_local_checks", "run_pre_handoff_review", 
"expand_frozen_boundary", "propose_commit_message"]
+required_reasons = ["read_only_request"]
+required_summary_terms = ["[COMPLETE_ANALYSIS]=complete", 
"[MISSING_FIELD]=incomplete", "[UNSUPPORTED_INFERENCE]=incomplete"]
+required_summary_prefix = "[COMPLETE_ANALYSIS]=complete; 
[MISSING_FIELD]=incomplete; [UNSUPPORTED_INFERENCE]=incomplete"
+max_summary_chars = 92
+critical = true
+policy_binding_profile = "analyze-issue"
+policy_assertions = [{source = "analyze-issue", statements = ["Before final 
output, verify only the checks applicable to the selected output mode.", 
"Reference Analysis Only requires neither a maintainer reply nor the two-part 
bridge sentence.", "If any applicable check fails, mark the analysis and output 
as incomplete."]}, {source = "analyze-issue-output", statements = ["Apply these 
requirements only to the Reference Analysis portion of the selected output 
mode.", "Every conclusion cite [...]
+
 [[cases]]
 id = "gen_ut_preserves_completion_blockers"
 group = "unit-test policy"
diff --git a/.codex/skills/analyze-issue/SKILL.md 
b/.codex/skills/analyze-issue/SKILL.md
index 6927c32d297..26966c93f92 100644
--- a/.codex/skills/analyze-issue/SKILL.md
+++ b/.codex/skills/analyze-issue/SKILL.md
@@ -352,15 +352,6 @@ In the maintainer reply portion:
 - Do not generalize an exact existing behavior or special case into a wider 
database, dialect, topology, module, API, or SPI commitment without direct 
acceptance evidence.
 - For questions, invite broader community participation when it can help the 
issue author or improve documentation.
 
-Before final output, run this self-check:
-- **Role Check:** The reply reads like a ShardingSphere maintainer answering 
in the issue thread.
-- **Audience Check:** The reply addresses the issue author directly when the 
author is known.
-- **Decision Check:** The first paragraph states the 
supportability/classification decision.
-- **Reason Check:** The explanation is grounded in official docs, repository 
code/tests, or issue content.
-- **Traceability Check:** The reply is supported by the internal evidence 
ledger;
-  explicit two-part output includes the bridge sentence and Reference Analysis.
-- **Action Check:** The reply gives a clear next action, label recommendation, 
close recommendation, or PR expectation.
-
 ## Missing Information Handling
 
 If evidence is insufficient, do not guess. Explicitly list missing details and 
request them, for example:
@@ -404,23 +395,32 @@ details in a public issue reply. Direct the reporter to 
the responsible disclosu
 process in `docs/community/content/security/_index.en.md` and keep the public 
reply
 limited to that safe next action.
 
-## Lightweight Lint Recommendation
+## Final Output Check
+
+Before final output, verify only the checks applicable to the selected output 
mode.
+Reading the output reference for a reusable template or multi-line code fence 
handling does not change the selected output mode.
+Maintainer Reply Only requires neither Reference Analysis sections nor visible 
evidence IDs.
+Reference Analysis Only requires neither a maintainer reply nor the two-part 
bridge sentence.
 
-For Maintainer Reply output, verify:
-- The reply addresses the issue author or community directly.
-- The first paragraph contains the decision.
+For modes containing a maintainer reply, verify:
+- The reply reads like a ShardingSphere maintainer answering in the issue 
thread.
+- The reply addresses the issue author directly when known, or the community 
otherwise.
+- The first paragraph states the supportability/classification decision.
+- The explanation is grounded in official docs, repository code/tests, or 
issue content and supported by the internal evidence ledger.
 - The maintainer reply does not contain detailed report headings.
-- The reply includes a next action and label/close recommendation when 
appropriate.
+- The reply gives a clear next action, including a label/close recommendation 
or PR expectation when appropriate.
 - For questions, the reply invites community participation when appropriate.
 
-For explicit Reference Analysis output, also verify:
-- The bridge sentence appears before Reference Analysis in two-part mode.
-- Required detailed sections exist.
-- Required conclusion fields exist.
-- Evidence IDs are present and referenced.
+For modes containing Reference Analysis, verify:
+- The required four- or five-section shape and conclusion fields follow 
Reference Analysis Requirements in 
[output-contract.md](references/output-contract.md).
+- Evidence IDs are present and referenced as required by that reference.
+- Citations follow Documentation and Code Citation Rules.
 - Label format and type-label consistency are valid.
 
-If lint fails, mark analysis as incomplete.
+In two-part mode, verify that the reply comes first and the exact bridge 
sentence defined in the output reference appears before Reference Analysis.
+When the output reference is loaded, verify its applicable formatting and 
Codex Chat Delivery requirements.
+A local checker or CI step may enforce the required sections, conclusion 
fields, evidence references, and type-label consistency.
+If any applicable check fails, mark the analysis and output as incomplete.
 
 ## Prohibited Content
 
diff --git a/.codex/skills/analyze-issue/references/output-contract.md 
b/.codex/skills/analyze-issue/references/output-contract.md
index f08c1d48f51..4ab04589ff3 100644
--- a/.codex/skills/analyze-issue/references/output-contract.md
+++ b/.codex/skills/analyze-issue/references/output-contract.md
@@ -22,6 +22,8 @@ two-part response, a reusable reply template, or multi-line 
code whose Markdown
 fences require special handling. Complete the main Skill's evidence workflow
 before applying these output shapes.
 
+Labels, severity, topology, commands, class names, method names, SQL, YAML, 
and Java snippets retain their original English or code form.
+
 ## Maintainer Reply Templates
 
 Use these as compact shape guides, not rigid text.
@@ -90,6 +92,8 @@ Please provide these details within <7-14 days>. If there is 
no update, we may c
 
 ## Reference Analysis Requirements
 
+Apply these requirements only to the Reference Analysis portion of the 
selected output mode.
+
 - In two-part mode, put the maintainer reply first, then add this bridge 
sentence:
   `The reply above is based on the analysis below; the detailed reasoning is 
kept here for reference and follow-up contributors.`
 - Use the same natural language as the user request unless the user asks for
@@ -104,6 +108,9 @@ Please provide these details within <7-14 days>. If there 
is no update, we may c
 - Prefer bullets over tables and concise evidence over raw JSON, full logs, or
   terminal transcripts. Keep command evidence in inline code or short fenced
   blocks.
+- Every conclusion cites at least one `OBS-*` or `INF-*` evidence ID, and 
every `INF-*` derives from one or more observations.
+- `Problem Conclusion` includes all fields required by the selected shape.
+- Enhancement and Out of Scope / Won't Fix conclusions include their 
conditional project-responsibility and commitment fields.
 
 Use this four-section shape for Question, Misunderstanding / Invalid Usage, 
Duplicate, and Out of Scope / Won't Fix:
 
@@ -196,23 +203,4 @@ Use this five-section shape for Bug and Enhancement:
   body begins and ends inside the outer fence.
 - If fence safety is uncertain, replace the inner fence with inline code or a
   plain bullet.
-
-## Output Self-Check
-
-- The opening reply addresses the author when known and states the decision in
-  its first paragraph.
-- A two-part response contains the exact bridge sentence and the required four-
-  or five-section Reference Analysis.
-- Every conclusion cites at least one `OBS-*` or `INF-*` evidence ID, and every
-  `INF-*` derives from one or more observations.
-- `Problem Conclusion` includes all fields required by the selected shape.
-- Enhancement and Out of Scope / Won't Fix conclusions include their 
conditional project-responsibility and commitment fields.
-- Documentation evidence has concrete URLs; code evidence has repository paths
-  or class names.
-- Labels, severity, topology, commands, class names, method names, SQL, YAML,
-  and Java snippets retain their original English or code form.
-- The inner GitHub-facing body is not itself wrapped in a blockquote, HTML/XML
-  container, or transcript.
-- A local checker or CI step may enforce the required sections, conclusion
-  fields, evidence references, and type-label consistency. Treat a failed check
-  as incomplete output.
+- The inner GitHub-facing body is not itself wrapped in a blockquote, HTML/XML 
container, or transcript.

Reply via email to