From edccc9ce5db6d1e1556d931ca84335d14b287213 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Sat, 11 Jul 2026 17:55:57 -1000 Subject: [PATCH 1/4] Add agent workflow binstub contract --- .agents/agent-workflow.yml | 12 ++++++++++++ .agents/bin/README.md | 18 ++++++++++++++++++ .agents/bin/setup | 6 ++++++ .agents/bin/test | 6 ++++++ .agents/bin/validate | 6 ++++++ AGENTS.md | 6 ++++++ 6 files changed, 54 insertions(+) create mode 100644 .agents/agent-workflow.yml create mode 100644 .agents/bin/README.md create mode 100755 .agents/bin/setup create mode 100755 .agents/bin/test create mode 100755 .agents/bin/validate diff --git a/.agents/agent-workflow.yml b/.agents/agent-workflow.yml new file mode 100644 index 0000000..a128061 --- /dev/null +++ b/.agents/agent-workflow.yml @@ -0,0 +1,12 @@ +--- +base_branch: main +follow_up_prefix: "Follow-up:" +review_gate: AI reviewers are advisory unless they confirm a blocker; merge gate is the full `gh pr checks` list green (not --required) + all threads resolved + mergeable clean +approval_exempt: at batch closeout, auto-merge ready low-risk PRs that pass the merge gate; keep high-risk (CI/workflow, build-config, dependency or runtime bumps, broad refactors, release) maintainer-gated +coordination_backend: private shakacode/agent-coordination (claims/heartbeats namespaced by full repo name) +changelog: n/a +benchmark_labels: n/a +merge_ledger: n/a +ci_parity_environment: n/a — reproduce CI-only failures from the matching job in .github/workflows/** +hosted_ci_trigger: n/a — CI runs on every PR if configured +ci_change_detector: n/a diff --git a/.agents/bin/README.md b/.agents/bin/README.md new file mode 100644 index 0000000..f189f68 --- /dev/null +++ b/.agents/bin/README.md @@ -0,0 +1,18 @@ +# Agent Workflow Scripts + +Standard entry points that portable agent-workflow skills call, so a skill can +run `.agents/bin/` in any repo without knowing this repo's specific +commands. Each script is a thin, repo-owned wrapper. A script that is **absent** +means that capability is n/a here. + +| Script | Purpose | This repo runs | +| --- | --- | --- | +| `setup` | Install dependencies | `bundle install` | +| `validate` | Pre-push gate | `bundle exec rake` | +| `test` | Run tests | `bundle exec rspec "$@"` | +| `lint` | Lint / format | n/a | +| `build` | Build / type-check | n/a | +| `docs` | Docs checks | n/a | +| `ci-detect` | CI change detector | n/a | + +Non-command policy lives in [`../agent-workflow.yml`](../agent-workflow.yml). diff --git a/.agents/bin/setup b/.agents/bin/setup new file mode 100755 index 0000000..aaf76c2 --- /dev/null +++ b/.agents/bin/setup @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Generated by shakacode/agent-workflows bin/push-downstream. +# Install dependencies. +set -euo pipefail +cd "$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)" +exec bundle install diff --git a/.agents/bin/test b/.agents/bin/test new file mode 100755 index 0000000..744e439 --- /dev/null +++ b/.agents/bin/test @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Generated by shakacode/agent-workflows bin/push-downstream. +# Run tests. +set -euo pipefail +cd "$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)" +exec bundle exec rspec "$@" diff --git a/.agents/bin/validate b/.agents/bin/validate new file mode 100755 index 0000000..3ccf699 --- /dev/null +++ b/.agents/bin/validate @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Generated by shakacode/agent-workflows bin/push-downstream. +# Pre-push gate. +set -euo pipefail +cd "$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)" +exec bundle exec rake diff --git a/AGENTS.md b/AGENTS.md index 82247f9..1dcabff 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -430,3 +430,9 @@ Codex does not need to ask again before running `gh pr ready` under those conditions. If required checks are failing, review-app verification is broken, or blocking feedback remains unresolved, leave the pull request as draft and report the blocker instead. + +## Agent Workflow Configuration + +Portable shared skills resolve this repo's commands and policy through: +- **Commands** — run `.agents/bin/` (`setup`, `validate`, `test`, ...); see `.agents/bin/README.md`. A missing script means that capability is n/a here. +- **Policy / config** — `.agents/agent-workflow.yml`. From bcad23a0b65010912ed79b6082e1e577ab9b652d Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Tue, 14 Jul 2026 17:00:01 -1000 Subject: [PATCH 2/4] Fix seam setup and test wrappers --- .agents/bin/README.md | 4 ++-- .agents/bin/setup | 4 ++-- .agents/bin/test | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.agents/bin/README.md b/.agents/bin/README.md index f189f68..7e3c815 100644 --- a/.agents/bin/README.md +++ b/.agents/bin/README.md @@ -7,9 +7,9 @@ means that capability is n/a here. | Script | Purpose | This repo runs | | --- | --- | --- | -| `setup` | Install dependencies | `bundle install` | +| `setup` | Install dependencies and prepare the development database | `bin/setup` | | `validate` | Pre-push gate | `bundle exec rake` | -| `test` | Run tests | `bundle exec rspec "$@"` | +| `test` | Run tests, including test database preparation | `bin/test "$@"` | | `lint` | Lint / format | n/a | | `build` | Build / type-check | n/a | | `docs` | Docs checks | n/a | diff --git a/.agents/bin/setup b/.agents/bin/setup index aaf76c2..56d84e1 100755 --- a/.agents/bin/setup +++ b/.agents/bin/setup @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Generated by shakacode/agent-workflows bin/push-downstream. -# Install dependencies. +# Install dependencies and prepare the development database. set -euo pipefail cd "$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)" -exec bundle install +exec bin/setup "$@" diff --git a/.agents/bin/test b/.agents/bin/test index 744e439..009f278 100755 --- a/.agents/bin/test +++ b/.agents/bin/test @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Generated by shakacode/agent-workflows bin/push-downstream. -# Run tests. +# Run the repository test entry point, including test database preparation. set -euo pipefail cd "$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)" -exec bundle exec rspec "$@" +exec bin/test "$@" From dc6f7fd6dda6b4fb652bcdd9ea10dd2b05e6bcaa Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Tue, 14 Jul 2026 17:23:36 -1000 Subject: [PATCH 3/4] fix: use CI test tier for agent validation --- .agents/bin/README.md | 2 +- .agents/bin/validate | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.agents/bin/README.md b/.agents/bin/README.md index 7e3c815..7747e28 100644 --- a/.agents/bin/README.md +++ b/.agents/bin/README.md @@ -8,7 +8,7 @@ means that capability is n/a here. | Script | Purpose | This repo runs | | --- | --- | --- | | `setup` | Install dependencies and prepare the development database | `bin/setup` | -| `validate` | Pre-push gate | `bundle exec rake` | +| `validate` | Pre-push gate | `bin/test ci "$@"` | | `test` | Run tests, including test database preparation | `bin/test "$@"` | | `lint` | Lint / format | n/a | | `build` | Build / type-check | n/a | diff --git a/.agents/bin/validate b/.agents/bin/validate index 3ccf699..2a126a8 100755 --- a/.agents/bin/validate +++ b/.agents/bin/validate @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Generated by shakacode/agent-workflows bin/push-downstream. -# Pre-push gate. +# Pre-push gate: the repository's CI-core test tier. set -euo pipefail cd "$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)" -exec bundle exec rake +exec bin/test ci "$@" From 30e314022c8110d1565e5c1a1c03a6376be3d83b Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Tue, 14 Jul 2026 17:41:50 -1000 Subject: [PATCH 4/4] fix: install Playwright Chromium during setup --- README.md | 5 +++++ bin/setup | 3 +++ 2 files changed, 8 insertions(+) diff --git a/README.md b/README.md index 0747dd1..d506245 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,11 @@ bin/dev static --no-open-browser --route=dashboard bin/dev prod --no-open-browser --route=dashboard ``` +`bin/setup` also installs the project-pinned Chromium binary used by the +Playwright smoke checks. On a minimal Linux image, provision Playwright's +system packages separately with `pnpm exec playwright install --with-deps chromium` +when the image build has the required system-package privileges. + `bin/dev` starts Rails, Rspack, Solid Queue, the React on Rails Pro Node renderer, and the RSC bundle watcher. Development defaults to live reload; use the HMR command only when testing HMR behavior. diff --git a/bin/setup b/bin/setup index 6945566..6ee64b9 100755 --- a/bin/setup +++ b/bin/setup @@ -19,6 +19,9 @@ FileUtils.chdir APP_ROOT do puts "\n== Installing JavaScript dependencies ==" system! "pnpm install" + puts "\n== Installing Playwright Chromium ==" + system! "pnpm", "exec", "playwright", "install", "chromium" + puts "\n== Preparing database ==" system! "bin/rails db:prepare" system! "bin/rails db:seed"