Adopt agent-workflow binstubs (.agents/bin/ + AGENTS.md pointer)#4264
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds ChangesAgent Workflow Configuration
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related issues
Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4869c814dd
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Greptile SummaryThis PR adopts the portable agent workflow contract. The main changes are:
Confidence Score: 4/5The portable command contract can skip checks that the old seam exposed.
.agents/bin/build, .agents/bin/lint, .agents/agent-workflow.yml Important Files Changed
Reviews (1): Last reviewed commit: "Adopt agent-workflow binstubs; convert i..." | Re-trigger Greptile |
There was a problem hiding this comment.
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 @.agents/bin/lint:
- Around line 2-4: The lint wrapper only runs the Ruby task and misses the
JavaScript workspace, so update the script to invoke the root JS lint command
from package.json as well as the existing react_on_rails Ruby lint path. Use the
existing lint entrypoint in .agents/bin/lint and add the JavaScript check with
pnpm so ESLint failures are surfaced through this wrapper too.
In @.agents/bin/setup:
- Around line 2-4: The setup wrapper currently only delegates to
script/bootstrap, so it skips installing the JavaScript dependencies needed by
the new build and test entrypoints. Update the .agents/bin/setup flow to include
the repo’s JS install step in addition to the existing bootstrap call, using the
same wrapper script entrypoint so a clean checkout ends up with pnpm packages
installed before later commands run.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 97a9eb26-8565-45db-92a2-7605b783116f
📒 Files selected for processing (10)
.agents/agent-workflow.yml.agents/bin/README.md.agents/bin/build.agents/bin/ci-detect.agents/bin/docs.agents/bin/lint.agents/bin/setup.agents/bin/test.agents/bin/validateAGENTS.md
Code ReviewThis PR converts the inline 🔴 Blocker — Seam-doctor permanently broken
Also: 🔴 Blocker — Skills reference deleted key names
🟡 Binstubs omit checks that were in their contractsThree binstubs are narrower than the definitions they replaced:
Agents using these binstubs as their gate get false-clean results. 🟡
|
|
Addressed the review:
Waived (advisory): |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 29af7a6ed2
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Review: Adopt agent-workflow binstubsThis PR moves the 1.
|
|
@coderabbitai the The comprehensive pre-push gate is @coderabbitai review |
|
✏️ Learnings added
✅ Action performedReview finished.
|
Move the ## Agent Workflow Configuration command values into .agents/bin/ executable wrappers (Scripts to Rule Them All) and the policy/data values into .agents/agent-workflow.yml; the AGENTS.md section becomes a thin pointer. No policy is lost. Wraps existing commands (bin/ci-local, rake lint/run_rspec, pnpm build/test); nothing executable changes. The repo-local seam-doctor still validates the old inline layout (not run in CI) and will be updated for this contract via the shakacode/agent-workflows rework. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address review: wrappers cd to the repo root; .agents/bin/build runs bundle exec rake rbs:validate (validate=bin/ci-local remains the full gate). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026e6c to
0868ba9
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 @.agents/bin/agent-workflow-seam-doctor:
- Around line 175-177: The literal validation for follow_up_prefix is being
applied too early in the workflow config check. Update the validation logic
around the follow_up_prefix branch so the "expected Follow-up:" error is only
added after the key has been confirmed present and resolved, and not when the
value is missing or nil. Use the existing config["follow_up_prefix"] checks in
the agent-workflow-seam-doctor flow to gate the strict string comparison behind
the earlier unresolved/missing handling.
- Around line 114-121: The portable-mode branch in the workflow doctor currently
depends on `.agents/agent-workflow.yml` existing, which causes `check` to
misclassify AGENTS.md pointer-format setups when the YAML file is missing.
Update the mode detection in the main check flow to decide from the AGENTS.md
section contents first, then always let `yaml_config_issues` surface the
missing-file error instead of falling back to `parse_config`; use the
surrounding check path and helpers like `portable_contract_issues`,
`command_script_issues`, and `yaml_config_issues` to locate the logic. Add a
regression test covering AGENTS.md in pointer format with no
`.agents/agent-workflow.yml`, asserting the missing YAML error is reported.
In @.agents/bin/README.md:
- Line 14: The build command documentation is out of sync with the actual
`.agents/bin/build` behavior; update the `build` row in the README to match the
script and PR description by documenting `bundle exec rake rbs:validate` instead
of the bare `rake rbs:validate`. Keep the change localized to the build command
entry so the README remains the source of truth for the `build` script and its
`pnpm run build` / `pnpm run type-check` / `rbs:validate` steps.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 88c65f7a-3c5b-4e37-b171-bbc6c9a4e549
📒 Files selected for processing (7)
.agents/agent-workflow.yml.agents/bin/README.md.agents/bin/agent-workflow-seam-doctor.agents/bin/agent-workflow-seam-doctor-test.rb.agents/bin/lint.agents/bin/setup.agents/bin/test
🚧 Files skipped from review as they are similar to previous changes (2)
- .agents/bin/test
- .agents/agent-workflow.yml
Review: Adopt agent-workflow binstubsThis PR restructures the agent workflow configuration from an inline AGENTS.md key-value list to a split contract: executable binstubs in The overall structure is clean and the binstubs are idiomatic. Three issues worth fixing before merge: Bug:
|
Code ReviewClean structural PR — the three-artifact contract (binstubs + YAML + AGENTS.md pointer) is a meaningful improvement over the large inline seam. Tests are solid. One correctness bug and a few minor notes below. Bug: double-emission when
|
|
|
||
| - **Commands** — run `.agents/bin/<name>` (`setup`, `validate`, `test`, `lint`, | ||
| `build`, `docs`, `ci-detect`); see [`.agents/bin/README.md`](.agents/bin/README.md). | ||
| A missing script means that capability is n/a here. |
There was a problem hiding this comment.
This sentence contradicts the seam doctor's enforcement.
"A missing script means that capability is n/a here" directly follows the list of the 7 required scripts (setup, validate, test, lint, build, docs, ci-detect). Read in isolation, an agent/skill consuming only AGENTS.md would reasonably conclude that if, say, .agents/bin/docs is absent, the docs capability simply doesn't apply here and can be silently skipped.
But agent-workflow-seam-doctor's command_script_issues (this same PR, .agents/bin/agent-workflow-seam-doctor:154-165) hard-fails when any of those exact 7 scripts is missing or non-executable — REQUIRED_COMMAND_SCRIPTS has no notion of "n/a." .agents/bin/README.md is actually consistent ("scripts listed below are required... capabilities without a listed script are n/a" — i.e. n/a applies only to capabilities outside the table), but this AGENTS.md sentence reads as applying to the 7 named scripts themselves.
Failure scenario: a repo accidentally loses .agents/bin/build (e.g. a bad merge). A skill following only the AGENTS.md wording treats build/type-check as "n/a" and skips it silently, while agent-workflow-seam-doctor would (correctly) FAIL. Two consumers of the same doc disagree on whether the missing script is a problem.
Suggest either dropping this sentence (since the table already covers the n/a/non-applicable case via README) or rewording to clarify it refers to commands not in the listed set of 7.
ReviewThis PR converts the inline AGENTS.md "Agent Workflow Configuration" seam into a portable two-file contract — 1. 2. Lower-priority cleanup notes (not blocking):
Nice find on relocating |
|
+ci-run-hosted |
Hosted CI RequestedTriggered 9 workflow(s) for View progress in the Actions tab. |
Review SummaryReviewed the migration from the inline One finding worth addressing before merge (posted inline on
Everything else (the |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5fb7073261
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
ReviewThis PR converts the inline `## Agent Workflow Configuration` section in AGENTS.md into a portable two-file contract (`.agents/bin/` binstubs + `.agents/agent-workflow.yml`), with `agent-workflow-seam-doctor` updated to validate the new contract (required scripts present/executable, YAML keys present/resolved) while preserving a legacy markdown-parsing fallback for repos that haven't migrated. The change is well-tested (68 seam-doctor test runs, new Two things worth a look before merge (posted as inline comments):
Nothing else surfaced that met the bar for a confirmed bug — the YAML validation logic ( |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 36f9f02840
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
ReviewThis PR replaces the inline "Agent Workflow Configuration" markdown seam in
Nothing above blocks merge; #1 is the one I'd fix before merge since it makes a maintainer-facing PR comment actively wrong. |
ReviewReviewed the diff (config/tooling refactor: One finding worth a look:
review_gate: "PR requires 2 approvals; see <internal wiki: review gate SLA>"contains "review gate" inside an unescaped This doesn't break the config shipped in this PR today (no |
ReviewWent through the diff carefully: the seam-doctor Ruby changes, the new What I verified:
Minor nit (not worth blocking): I wasn't able to execute the Ruby/bash test suites directly in this sandbox (tool execution was gated), so this is a static/manual review — but line-by-line tracing through the doctor logic, the YAML config, and the detector case arms didn't surface any correctness, security, or performance issues. Nice work on the test coverage for a validation script like this. |
…ered-rsc-rendering * origin/main: Adopt agent-workflow binstubs (.agents/bin/ + AGENTS.md pointer) (#4264) [codex] Wire release harnesses into CI (#4266) Document bounded coordination audit fallback (#4283) Docs: frame Redux as legacy shared-store guidance (#4278) Hide legacy Redux install generator path (#4277) Add typed Rails action helper (#4260) Add Rails response type generation (#4259) Remove stale Pro RSpec encoding workaround (#4291) [Pro] Fix Gemfile loader source encoding under C locale (#4281) Fail fast for RSC on Rspack v1 (#4289) [codex] Document agent workflow trust boundary (#4288) Fix precompile hook forcing UTF-8 onto non-UTF-8 (national) locales (#4244) Regenerate Pro llms bundle (#4280)
Summary
Converts this repo's inline
## Agent Workflow Configurationseam to the portable"Scripts to Rule Them All" contract from
shakacode/agent-workflows:
.agents/bin/<name>— executable wrappers for the command keys (setup,validate,test,lint,build,docs,ci-detect). A skill runs.agents/bin/validateinstead of knowingbin/ci-local, or.agents/bin/lintinstead of
(cd react_on_rails && bundle exec rake lint). See.agents/bin/README.md..agents/agent-workflow.yml— the policy/data keys, preserved as YAML(hosted-CI
+ci-*triggers, secret-redaction list, benchmark labels, merge ledger,claude-reviewgate, coordination backend, ...).AGENTS.md— the seam section becomes a thin pointer; the rest ofAGENTS.mdstays the canonical repo policy source.
Review Closeout
.agents/bin/agent-workflow-seam-doctorto validate the new two-filecontract: AGENTS pointer text, required executable binstubs, parseable YAML, required
YAML keys, and literal
follow_up_prefix: "Follow-up:".setupdelegates tobin/setupand forwards args;lintincludes Pro RuboCop, root JS lint, and Prettier while accumulating failures;testuses the runnablerun_rspec:all_but_examplestask without duplicating theJS tests that task already runs.
.agents/bin/*wrappers are required by the seamdoctor, while capabilities without a listed script are n/a here.
.agents/bin/buildscoped to build/type-check/RBS. Workflow linting(
actionlint,yamllint .github/) remains part of the PR-processing path for.github/**changes rather than the generic build entrypoint..agents/bin/testwrapper.AGENTS.mdcompatibility map for older repo-local skills that stillreference the former inline key names.
Validation
.agents/bin/build.agents/bin/lintruby .agents/bin/agent-workflow-seam-doctor-test.rb(68 runs, 202 assertions).agents/bin/agent-workflow-seam-doctorbash -n .agents/bin/lintbash -n .agents/bin/testpnpm start format.listDifferentbundle exec rubocop .agents/bin/agent-workflow-seam-doctor .agents/bin/agent-workflow-seam-doctor-test.rbcd react_on_rails && bundle exec rake -n run_rspec:all_but_examplesscript/ci-changes-detector origin/main=> documentation-only changes; recommended CI jobs: noneorigin/main(a1f571176) and pushed head86f28bd73.Generated with Claude Code and Codex.
Summary by CodeRabbit
Documentation
.agents/bin/*scripts; policy/config via.agents/agent-workflow.yml).New Features
Tests