Hi Chris,

I completely agree with your point—an Apache release must remain an "act of
the foundation," and the ultimate decision must always come from human
committers and PMC members, not an AI.

I also see the danger in providing a ready-to-post email template. It could
indeed encourage people to simply copy and paste the output without
actually reviewing the results, which defeats the entire purpose of the
release verification process.

Given this, I will take your advice and crystallize the verification logic
from the AI skill into deterministic Python scripts. This approach will
still help us automate the tedious, repetitive steps (like downloading
artifacts, verifying signatures, and compiling), but the execution will be
100% predictable. More importantly, it ensures that developers still need
to read the raw output and make their own informed decisions when casting a
vote.

Thanks again for pointing this out from a governance perspective. It’s a
very important reminder. I will share the deterministic Python scripts with
the community soon.

Best regards,
----------------------
Yuan Tian

On Mon, Apr 13, 2026 at 5:42 PM Christofer Dutz <[email protected]>
wrote:

> Hi Yuan,
>
> I am totally not objecting to use AI in addition for making tracking down
> issues simpler.
> Having a fixed set of deterministic scripts approved by the PMC and having
> an AI run them and automate the tracking down of potential issues is also
> nothing I would object.
>
> However, should the release process be and stay a process executed by our
> committers and PMC members.
> An Apache release needs to stay an „act of the foundation“ and not an „act
> of claude“.
> By providing ready-to-post email content, I am 100% sure many people will
> just copy and paste this and therefore have Claude actually approve
> releases.
>
> Chris
>
> Von: Yuan Tian <[email protected]>
> Datum: Montag, 13. April 2026 um 11:03
> An: [email protected] <[email protected]>
> Betreff: Re: [Tool] Agent Skill for Automating IoTDB Release Vote Checks
>
> Hi Chris,
>
> Thanks for the feedback. You make a very valid point regarding the
> non-deterministic nature of AI agents when it comes to strict release
> approvals.
>
> Solidifying these steps into a fixed Shell or Python script is certainly a
> solid approach. It is also much more token-efficient—it only costs tokens
> during the initial script generation, and all subsequent runs are
> completely free. I actually have a set of these hardcoded scripts running
> locally.
>
> However, the main reason I wanted to explore the "skill" approach is
> flexibility. Once a fixed script is written, its logic is essentially
> "dead" or static. Conversely, an agentic skill can become progressively
> smarter as the underlying foundation models iterate.
>
> For example, if a certain step fails due to unexpected environmental issues
> (e.g., failing to download artifacts via svn), a static script will simply
> throw an error and halt. An AI agent, however, might dynamically figure out
> a workaround—like falling back to curl or wget to fetch the code—and
> continue the validation process. In a way, the skill evolves alongside the
> foundation models' capabilities.
>
> That being said, I completely respect the need for 100% deterministic
> checks when casting a formal vote. I will clean up my local static
> validation scripts and open-source them to the community as well. This way,
> we can provide both options, and everyone can choose the approach they are
> most comfortable with.
>
> Best regards,
> ---------------------
> Yuan Tian
>
> On Mon, Apr 13, 2026 at 4:23 PM Christofer Dutz <[email protected]
> >
> wrote:
>
> > Hi all,
> >
> > I actually don’t like the idea of automating release checks with AI
> agents.
> > In the past they have proven to not be deterministic.
> >
> > If you used AI to generate scripts that when executed perform a number of
> > checks, I’m fine with that.
> > However, I would vote -1 on providing and using such AI-based skills for
> > release approval.
> >
> > Chris
> >
> > Von: Yuan Tian <[email protected]>
> > Datum: Sonntag, 12. April 2026 um 05:03
> > An: dev <[email protected]>
> > Betreff: [Tool] Agent Skill for Automating IoTDB Release Vote Checks
> >
> > Hi all,
> >
> > I'd like to share a Claude Code skill I created to automate the Apache
> > IoTDB release candidate verification process. If you use Claude Code
> > (Anthropic's CLI coding agent) or other coding agent(like antigravity or
> > codex), this skill can save you significant time during release voting.
> >
> > GitHub Repository: https://github.com/JackieTien97/iotdb-skills
> >
> > ## What It Does
> >
> > When you say something like "check IoTDB 2.0.8 rc1", Claude Code will
> > automatically:
> >
> > 1. Download all RC artifacts from Apache dist via SVN
> > 2. Verify artifact completeness (source, all-bin, confignode-bin,
> > datanode-bin, cli-bin, library-udf-bin, ainode-bin — each with .asc and
> > .sha512)
> > 3. Verify GPG signatures and SHA512 checksums for all packages
> > 4. Check LICENSE and NOTICE files
> > 5. Run Apache RAT license header check
> > 6. Check for SNAPSHOT dependencies in pom.xml
> > 7. Verify version consistency
> > 8. Check for unexpected binary files in source
> > 9. Build from source (mvn clean install -DskipTests)
> > 10. Start IoTDB standalone (1C1D) and run read/write tests in both Tree
> > model (sql_dialect=tree) and Table model (sql_dialect=table)
> > 11. Generate a complete vote email (+1/-1) with all check results, test
> > SQL, CLI output, and environment info
> >
> > The entire process runs hands-free and produces a ready-to-paste vote
> email
> > for the dev mailing list.
> >
> > ## Installation
> >
> > ```bash
> > git clone https://github.com/JackieTien97/iotdb-skills.git
> > mkdir -p ~/.claude/skills
> > cp -r iotdb-skills/iotdb-release-vote ~/.claude/skills/
> > ```
> >
> > ## Prerequisites
> >
> > - Java (JDK 17+)
> > - Maven (3.6+)
> > - GPG (with IoTDB committer keys imported)
> > - SVN (Subversion)
> > - unzip
> > - Claude Code (https://claude.ai/claude-code)
> >
> > ## Example Usage
> >
> > Just tell Claude Code:
> >
> > ```
> > 帮我检查 IoTDB 2.0.8 rc1
> > ```
> >
> > or
> >
> > ```
> > check iotdb release candidate 2.0.8 rc1
> > ```
> >
> > Feedback, issues, and contributions are welcome on the GitHub repo. If
> you
> > have ideas for other IoTDB-related skills (e.g., performance
> benchmarking,
> > cluster deployment checks), feel free to open an issue or PR.
> >
> > Best regards,
> > ----------------
> > Yuan Tian
> >
>

Reply via email to