Skip to content

chore(automation): add scout + triage skills and close the backlog loop - #32

Merged
mortonanalytics merged 2 commits into
mainfrom
chore/scheduled-automation-loops
Aug 9, 2026
Merged

chore(automation): add scout + triage skills and close the backlog loop#32
mortonanalytics merged 2 commits into
mainfrom
chore/scheduled-automation-loops

Conversation

@mortonanalytics

@mortonanalytics mortonanalytics commented Aug 9, 2026

Copy link
Copy Markdown
Owner

IONe had the builder half of the eo/myIO automation pattern (ione-backlog) but nothing feeding it — no research scout, no bug triage, no schedule. Four backlog-ready issues (#26, #29, #30, #31) have been sitting with no runner to pick them up.

What's here

File Role
.agents/skills/ione-scout/ Research over OLAP, OLTP, data connections, federated data systems, edge computing, application support. Files ≤3 research-candidate issues per run.
.agents/skills/ione-triage/ Reproduces inbound bug reports against current main before labeling bug-candidate.
.github/workflows/auto-backlog-ready.yml Promotes bug-candidate / research-candidatebacklog-ready.
.agents/skills/ione-backlog/SKILL.md Implements one issue, drives CI green, squash-merges.
.claude/skills/* Symlinks so Claude and Codex read the same skill files (eo's pattern).

Autonomy

The loop runs end to end with no human step. Candidates promote themselves to backlog-ready; the builder merges its own PR once CI is green. Ryan steers by filing issues, not by approving them.

What remains is the set of invariants a green build would not catch on its own:

  • green CI is the only merge authority — no merging on red or pending checks, no admin override, no merging past a locally skipped gate
  • no deploy, release, or version bump from any loop
  • no editing an already-applied migration (Add a guard that rejects edits to already-applied migrations (checksum break took down all 57 suites) #31 exists because a checksum break took down all 57 suites)
  • no secret values in an issue, comment, commit, or PR body
  • a federation wire contract shared with eo_ag needs a matching issue there first

needs-human-auth survives as Ryan's manual per-issue hold. No agent applies it to its own work.

The builder resumes an open automation-pr before starting anything new, and repairs a red main before layering on it. Without that, the "no open automation-pr" gate deadlocks the queue after the first run.

Cadence

Scout Mon + Thu; triage and builder Mon/Wed/Fri. Three cloud routines, scout/triage on Sonnet, builder on Opus.

Verification

  • auto-backlog-ready.yml is a near-copy of eo's, extended to research-candidate.
  • needs-human-auth label created on the repo.
  • main has no branch protection and squash merge is enabled, so gh pr merge --squash works without a repo settings change.
  • Skill files are prose contracts, not code — no test surface. CI on each automation-pr is the loop's real gate.
  • Not yet exercised end-to-end: no scheduled run has fired.

🤖 Generated with Claude Code

mortonanalytics and others added 2 commits August 8, 2026 18:51
IONe had the builder half of the eo/myIO automation pattern (ione-backlog)
but nothing feeding it: no research scout, no bug triage, and no schedule.
Four backlog-ready issues had been sitting with no runner to pick them up.

- ione-scout: weekly research over OLAP, OLTP, data connections, federated
  data systems, edge computing, and application support. Files at most three
  research-candidate issues per run, each with a file:line gap citation and a
  validation experiment.
- ione-triage: reproduces inbound `bug` reports against current main before
  labeling anything bug-candidate. Reading the code is not a repro.
- auto-backlog-ready: promotes bug-candidate and research-candidate to
  backlog-ready so review happens at the PR. needs-human-auth holds back
  secrets, data rewrites, auth/RLS policy, eo_ag wire contracts, and new deps.
- ione-backlog now accepts workflow-applied backlog-ready and drives its own
  PR's CI to green instead of leaving a red branch.

Nothing in the loop merges or deploys.

Co-Authored-By: Claude <noreply@anthropic.com>
Ryan steers by filing issues, not by approving them. Removing the
human-in-the-loop step everywhere it was decorative:

- scout and triage no longer self-apply needs-human-auth. That label stays as
  Ryan's manual per-issue hold; no agent applies it to its own work.
- builder merges its own PR once CI is green (squash, delete branch).
- builder resumes an existing automation-pr before starting new work, and
  repairs a red main before layering on it. Without this the "no open
  automation-pr" gate deadlocked the queue after the first run.

Green CI becomes the only merge authority, so the invariants that remain are
the ones a red build would not catch: no merging on red or pending checks, no
admin override, no deploy/release/version bump, no editing an applied
migration, no secret values in issues, comments, commits, or PR bodies.

Since nobody reads an issue before it ships, the issue body is now the
specification — scout files only candidates whose acceptance criterion fits in
a sentence, and triage never marks a bug-candidate it did not reproduce.

Cadence drops to 2-3 runs/week: scout Mon+Thu, triage and builder Mon/Wed/Fri.

Co-Authored-By: Claude <noreply@anthropic.com>
@mortonanalytics
mortonanalytics merged commit 1e46159 into main Aug 9, 2026
4 checks passed
@mortonanalytics
mortonanalytics deleted the chore/scheduled-automation-loops branch August 9, 2026 01:06
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.

1 participant