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/06/09 17:11:31 UTC
(shardingsphere) branch master updated: Align agent local variable guidance with conduct (#38837)
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 772ef4d2b1d Align agent local variable guidance with conduct (#38837)
772ef4d2b1d is described below
commit 772ef4d2b1d55b216bd7ad84c6815aff750f62c7
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Wed Jun 10 01:11:25 2026 +0800
Align agent local variable guidance with conduct (#38837)
Update AGENTS.md to keep VariableDeclarationUsageDistance guidance while
removing the instruction to mark retained local variables as final.
This aligns AI-agent rules with CODE_OF_CONDUCT.md, which says local
variables should not be set as final.
---
AGENTS.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/AGENTS.md b/AGENTS.md
index 3f012932ae8..35c2c03ef4c 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -33,7 +33,7 @@ This guide is written **for AI coding agents only**. Follow it literally; improv
An overriding method should add Javadocs only when it documents implementation-specific behavior, stricter preconditions, side effects, exceptions, compatibility notes,
or semantics not already covered by the parent declaration.
When cleaning redundant override Javadocs, change comments only and verify no public contract information is lost.
- - Keep variable declarations adjacent to first use; if a value must be retained, declare it `final` to satisfy Checkstyle VariableDeclarationUsageDistance.
+ - Keep variable declarations adjacent to first use to satisfy Checkstyle VariableDeclarationUsageDistance; do not mark local variables as `final`.
- Single-use local variables must be inlined by default; keep a local variable only when it is reused (for stubbing/verification/assertions) or materially improves readability.
- Do not add explicit defensive immutable collection copies in constructors or method return values by default.
Avoid `List.copyOf`, `Set.copyOf`, `Map.copyOf`, `Collections.unmodifiableList`, `Collections.unmodifiableSet`, `Collections.unmodifiableMap`,
@@ -145,7 +145,7 @@ Dangerous operation detected! Operation type: [specific action] Scope of impact:
If the boundary is missing or ambiguous, ask the developer to confirm it before making changes.
- **Risk gate:** if any action fits the Dangerous Operation Checklist, pause and use the confirmation template before proceeding.
- **Planning rules:** use Sequential Thinking with 3-10 actionable steps (no single-step plans) via the plan tool for non-trivial tasks; convert all hard requirements (SPI usage, mocking rules, coverage/test naming, forbidden APIs) into a checklist inside the plan and do not code until each item is addressed or explicitly waived.
-- **Execution discipline:** inspect existing code before edits; keep changes minimal; default to mocks and SPI loaders; keep variable declarations near first use and mark retained values `final`; inline single-use locals by default unless reuse/readability justifies retention; delete dead code and avoid placeholders/TODOs.
+- **Execution discipline:** inspect existing code before edits; keep changes minimal; default to mocks and SPI loaders; keep variable declarations near first use without marking local variables `final`; inline single-use locals by default unless reuse/readability justifies retention; delete dead code and avoid placeholders/TODOs.
Verify code and skills do not contain local machine paths before handoff.
- **AGENTS.md maintenance:** do not add or update a `Session Notes` section in `AGENTS.md`. Keep task-specific notes in the active conversation, issue, or PR; only stable project-level rules may be generalized into this file.
- **Post-task self-check (before replying):** confirm all instructions were honored; verify no placeholders/unused code; ensure Checkstyle/Spotless gates for touched modules are satisfied or explain why not run and what to run; list commands with exit codes; call out risks and follow-ups; complete all applicable checks before replying and do not rely on users to find missed rule violations.