feat(skills): add autonomous expression audit skill and batch dispatcher [WIP]#4442
Closed
andygrove wants to merge 3 commits into
Closed
feat(skills): add autonomous expression audit skill and batch dispatcher [WIP]#4442andygrove wants to merge 3 commits into
andygrove wants to merge 3 commits into
Conversation
Address code-review clarifications: - DOC wording: one sub-bullet per Spark version (not 'at least one'). - Step 5 / Step 6: make Step 6 the canonical issue-filing template, used for both test-failure issues and BUG findings. - Step 5: forbid creating new sql-tests/expressions/<category> directories. - Step 7: explicit priority order for commit titles when the audit produces a mix of doc/mechanical/test changes. - Replace shell-PID temp paths with static names so subagents that don't expand $$ still work. - Use a literal <PR_URL_PLACEHOLDER> string for issue back-references so Step 8 can do a deterministic find-and-replace. - Step 9: in autonomous mode there is no user to surface to, so abort with an error and leave the worktree for inspection.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
Closes #.
Rationale for this change
The existing
audit-comet-expressionskill walks a human through auditing one expression interactively. There is no way to march through the backlog of[x]-marked but un-audited entries inspark_expressions_support.mdwithout a human in the loop on every step. These two new skills let an operator (or/loop) drive expression audits autonomously: each invocation picks the next un-audited expression, runs a full per-expression audit in a fresh worktree, and opens a draft PR plus anyrequires-triageissues for behavioural divergence.The skills live under
.claude/skills/and are inert until invoked, so they have no effect on builds, tests, or anyone who is not running these slash commands.What changes are included in this PR?
.claude/skills/audit-comet-expression-autonomous/SKILL.md— non-interactive variant ofaudit-comet-expression. Audits a single expression end to end: pre-flight checks, worktree setup, Spark cross-version study, Comet/DataFusion implementation review, missing-coverage test additions, draft PR, and a separaterequires-triageissue per behavioural divergence found..claude/skills/audit-comet-expression-batch/SKILL.md— dispatcher that scansdocs/source/contributor-guide/spark_expressions_support.mdfor[x]-marked entries with no sub-bullets (the un-audited backlog) and dispatchesaudit-comet-expression-autonomousagainst them, one per invocation by default. Designed to be driven manually or by/loop.No code changes; documentation/automation only.
How are these changes tested?
Manual: dry-runs of the batch dispatcher against the current
spark_expressions_support.mdcorrectly identified candidates and dispatched the per-expression audit. The per-expression skill's pre-flight checks, worktree setup, and abort paths were exercised against both valid and invalid expression names. CI is not exercised by this change because nothing under.claude/skills/is loaded by the build or test runs.