Skip to content

feat(skills): make validation proportional across repositories - #2725

Merged
automagik-genie merged 2 commits into
automagik-si:devfrom
lirazsiri:policy/proportional-validation
Jul 28, 2026
Merged

automagik-genie merged 2 commits into
automagik-si:devfrom
lirazsiri:policy/proportional-validation

Conversation

@lirazsiri

@lirazsiri lirazsiri commented Jul 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • make Genie wish planning choose non-zero validation proportional to the target diff risk and reach
  • make work execution re-evaluate validation scope against the actual diff
  • make review reject under-validation, zero validation, and unexplained full-suite runs
  • preserve each target repository aggregate integration and release gates
  • keep canonical and shipped plugin skills byte-identical

Why

A narrow change such as a README edit should use focused documentation checks instead of automatically running an entire application test suite. Broader runtime, dependency, schema, CI, release, and uncertain-impact changes still escalate to the target repository full gate.

Validation

  • bun run wishes:lint
  • bun run skills:lint
  • bun scripts/sync-plugin-skills.ts --check
  • bun test scripts/sync-plugin-skills.test.ts (8 pass, 0 fail)
  • git diff --check

The aggregate suite was intentionally not run because this change only modifies workflow policy documents and deterministic plugin mirrors.

Closes #2724

Summary by CodeRabbit

  • Documentation
    • Added a proportional validation policy for Genie workflows, defining how to choose the smallest sufficient validation effort based on risk and reach.
    • Updated work, wish, and review guidance to require non-zero validation with an explicit scope rationale.
    • Documentation-only changes now use focused checks; runtime and cross-cutting changes escalate to full and affected integration/release gates.
    • Strengthened rules to prevent under-validation and require proper justification when using broader/full-suite validation.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The change defines proportional validation rules for Genie and updates canonical and plugin wish, work, and review skills with non-zero, risk-based validation, escalation triggers, scope rationale evidence, and aggregate-gate preservation.

Changes

Proportional validation policy

Layer / File(s) Summary
Policy scope and decision rules
.genie/wishes/proportional-validation-policy/WISH.md
Defines risk- and reach-based validation, widening triggers, scope boundaries, aggregate-gate preservation, and simplicity constraints.
Execution plan and acceptance criteria
.genie/wishes/proportional-validation-policy/WISH.md
Documents execution routing, validation commands, QA criteria, mitigations, review results, and affected skill files.
Canonical wish, work, and review skills
skills/{wish,work,review}/SKILL.md
Requires non-zero proportional validation, recorded scope rationale, appropriate escalation, and preserved aggregate integration and release gates.
Plugin skill mirrors
plugins/genie/skills/{wish,work,review}/SKILL.md
Applies the same validation and review requirements to plugin skill payloads.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: automagik-genie

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR updates wish, work, and review skills plus plugin mirrors to require non-zero, risk-proportional validation and preserve aggregate gates.
Out of Scope Changes check ✅ Passed The changed files stay within the stated skills and mirror scope, with no target-repository config, CI, or test-script changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: making validation proportional across Genie skills and repositories.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Apply risk-proportional validation across target repositories while preserving

aggregate integration and release gates.
@lirazsiri
lirazsiri force-pushed the policy/proportional-validation branch from ac8722a to e09b066 Compare July 28, 2026 10:38
@lirazsiri
lirazsiri marked this pull request as ready for review July 28, 2026 10:38
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e09b06660e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +170 to +171
- **Validation:** `bun run wishes:lint`, `bun run skills:lint`, `bun scripts/sync-plugin-skills.ts --check`,
`bun test scripts/sync-plugin-skills.test.ts` (8 pass, 0 fail), and `git diff --check` all passed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Run the required aggregate gate

For this Genie-repo skill/policy change, the recorded validation lists only focused lints/parity checks and the mirror test, but the repository contract still requires the full gate (bun run check) for changes under this tree. Because this wish is also establishing that repository-required aggregate gates remain intact, shipping it with evidence that omits the documented full gate lets future reviews cite an under-validated precedent and can miss type/dead-code/test failures covered only by the full check.

AGENTS.md reference: AGENTS.md:L5-L13

Useful? React with 👍 / 👎.

- **Finding:** The amended criterion consistently distinguishes generated executable/runtime artifacts from
deterministic documentation/plugin mirrors and preserves the aggregate-gate boundary without adding machinery.

### Group 1 execution review — 2026-07-28

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Record the independent reviewer identity

This execution-review evidence records a SHIP verdict without naming who performed the review, so the wish cannot demonstrate that the reviewer was distinct from the engineer for the group. That makes the review evidence non-auditable and allows self-review to be accepted by omission, which the repo contract explicitly forbids.

AGENTS.md reference: AGENTS.md:L36-L36

Useful? React with 👍 / 👎.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/genie/skills/work/SKILL.md`:
- Around line 31-38: Update the “Validate” guidance in the shared skill to
remove the hardcoded “Bash” client reference and require running the validation
command through the active runtime’s native command surface. Preserve the
existing evidence, scope-rationale, proportional-check, and nonzero-validation
requirements.

In `@skills/work/SKILL.md`:
- Line 31: Remove the hardcoded “Bash” reference from the Validate step in the
shared skill instructions, replacing it with runtime-neutral wording that
directs the agent to use the active runtime’s native command-execution surface
while preserving the requirement to run and record the validation command and
scope rationale.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 7bc8fab6-d372-4941-bead-32163d9492bb

📥 Commits

Reviewing files that changed from the base of the PR and between 614e472 and e09b066.

📒 Files selected for processing (7)
  • .genie/wishes/proportional-validation-policy/WISH.md
  • plugins/genie/skills/review/SKILL.md
  • plugins/genie/skills/wish/SKILL.md
  • plugins/genie/skills/work/SKILL.md
  • skills/review/SKILL.md
  • skills/wish/SKILL.md
  • skills/work/SKILL.md

Comment thread plugins/genie/skills/work/SKILL.md Outdated
Comment on lines +31 to +38
7. **Validate:** run the group's validation command yourself (Bash); record the output and the scope rationale as
evidence. Confirm it remains proportional to the actual diff, widening it when implementation reached beyond the
plan: documentation-only changes, including deterministic generated documentation or plugin skill mirrors, use
relevant format, link, example, generator, parity, or content-contract checks; runtime changes use focused behavior
tests and add type, lint, or build checks for boundaries reached. Shared runtime/core behavior, dependency or lockfile,
generated executable or runtime artifact, configuration or schema, CI or release, broad-refactor, or uncertain-impact
changes require the repository full gate plus affected build or end-to-end checks. Validation may never be zero, and
an unexplained full-suite run is not acceptable evidence. Preserve required aggregate integration and release gates.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Remove the hardcoded Bash client reference.

This shared skill should require direct execution through the active runtime’s native command surface, not mandate Bash by name.

Proposed wording
-7. **Validate:** run the group's validation command yourself (Bash); record the output and the scope rationale as
+7. **Validate:** run the group's validation command directly through the active runtime's native command surface; record the output and the scope rationale as
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
7. **Validate:** run the group's validation command yourself (Bash); record the output and the scope rationale as
evidence. Confirm it remains proportional to the actual diff, widening it when implementation reached beyond the
plan: documentation-only changes, including deterministic generated documentation or plugin skill mirrors, use
relevant format, link, example, generator, parity, or content-contract checks; runtime changes use focused behavior
tests and add type, lint, or build checks for boundaries reached. Shared runtime/core behavior, dependency or lockfile,
generated executable or runtime artifact, configuration or schema, CI or release, broad-refactor, or uncertain-impact
changes require the repository full gate plus affected build or end-to-end checks. Validation may never be zero, and
an unexplained full-suite run is not acceptable evidence. Preserve required aggregate integration and release gates.
7. **Validate:** run the group's validation command directly through the active runtime's native command surface; record the output and the scope rationale as
evidence. Confirm it remains proportional to the actual diff, widening it when implementation reached beyond the
plan: documentation-only changes, including deterministic generated documentation or plugin skill mirrors, use
relevant format, link, example, generator, parity, or content-contract checks; runtime changes use focused behavior
tests and add type, lint, or build checks for boundaries reached. Shared runtime/core behavior, dependency or lockfile,
generated executable or runtime artifact, configuration or schema, CI or release, broad-refactor, or uncertain-impact
changes require the repository full gate plus affected build or end-to-end checks. Validation may never be zero, and
an unexplained full-suite run is not acceptable evidence. Preserve required aggregate integration and release gates.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/genie/skills/work/SKILL.md` around lines 31 - 38, Update the
“Validate” guidance in the shared skill to remove the hardcoded “Bash” client
reference and require running the validation command through the active
runtime’s native command surface. Preserve the existing evidence,
scope-rationale, proportional-check, and nonzero-validation requirements.

Source: Coding guidelines

Comment thread skills/work/SKILL.md
5. **Local review:** per finished group, dispatch a reviewer subagent (reviewer ≠ engineer) to run `review` against that group's acceptance criteria. The orchestrator appends each returned evidence block under `## Review Results`; the reviewer never edits it. Diagnose before fixing: `overdesigned-plan` returns to wish/design review without consuming a fix attempt; other FIX-FIRST gaps may use at most 2 fix loops.
6. **Quality review:** dispatch a reviewer for a quality pass (security, maintainability, perf). On FIX-FIRST, one fix loop.
7. **Validate:** run the group's validation command yourself (Bash); record the output as evidence.
7. **Validate:** run the group's validation command yourself (Bash); record the output and the scope rationale as

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove the hardcoded Bash client name.

This shared skill must remain runtime-neutral. Replace (Bash) with wording such as “using the active runtime’s native command-execution surface”; otherwise non-Bash clients receive an invalid execution instruction.

Proposed fix
-7. **Validate:** run the group's validation command yourself (Bash); record the output and the scope rationale as
+7. **Validate:** run the group's validation command using the active runtime's native command-execution surface; record the output and the scope rationale as
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
7. **Validate:** run the group's validation command yourself (Bash); record the output and the scope rationale as
7. **Validate:** run the group's validation command using the active runtime's native command-execution surface; record the output and the scope rationale as
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/work/SKILL.md` at line 31, Remove the hardcoded “Bash” reference from
the Validate step in the shared skill instructions, replacing it with
runtime-neutral wording that directs the agent to use the active runtime’s
native command-execution surface while preserving the requirement to run and
record the validation command and scope rationale.

Source: Coding guidelines

…lways valid evidence

- work/review: a passing full-suite run counts as evidence; a missing
  scope rationale is a write-up gap (at most MEDIUM), never by itself
  grounds for FIX-FIRST
- wish/work/review: a repository-documented gate is by itself
  sufficient justification for its scope
- align dispatch-brief validation example and wish acceptance criterion
- mirrors regenerated via sync-plugin-skills --write

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
skills/work/SKILL.md (1)

31-31: ⚠️ Potential issue | 🟠 Major

Use runtime-neutral command execution in both work skills.

The canonical skill and its plugin mirror both require Bash by name, which conflicts with their multi-runtime native delegation model.

  • skills/work/SKILL.md#L31-L31: replace (Bash) with the active runtime’s native command-execution surface.
  • plugins/genie/skills/work/SKILL.md#L31-L31: apply the identical runtime-neutral wording.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/work/SKILL.md` at line 31, Update the validation instruction at
skills/work/SKILL.md:31 to replace the Bash-specific reference with wording that
directs execution through the active runtime’s native command-execution surface.
Apply the identical change at plugins/genie/skills/work/SKILL.md:31 so both
mirrored work skills remain consistent.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@skills/work/SKILL.md`:
- Line 31: Update the validation instruction at skills/work/SKILL.md:31 to
replace the Bash-specific reference with wording that directs execution through
the active runtime’s native command-execution surface. Apply the identical
change at plugins/genie/skills/work/SKILL.md:31 so both mirrored work skills
remain consistent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 6acd1916-d1f8-460f-8220-47c974532b2e

📥 Commits

Reviewing files that changed from the base of the PR and between e09b066 and 57cf4aa.

📒 Files selected for processing (7)
  • .genie/wishes/proportional-validation-policy/WISH.md
  • plugins/genie/skills/review/SKILL.md
  • plugins/genie/skills/wish/SKILL.md
  • plugins/genie/skills/work/SKILL.md
  • skills/review/SKILL.md
  • skills/wish/SKILL.md
  • skills/work/SKILL.md

@automagik-genie
automagik-genie changed the base branch from main to dev July 28, 2026 21:24
@automagik-genie
automagik-genie merged commit b91663b into automagik-si:dev Jul 28, 2026
17 checks passed
This was referenced Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make Genie validation proportional across target repositories

3 participants