diff --git a/.github/workflows/claude-issue-fix.yml b/.github/workflows/issue-fix.yml similarity index 84% rename from .github/workflows/claude-issue-fix.yml rename to .github/workflows/issue-fix.yml index ea17534..bc98087 100644 --- a/.github/workflows/claude-issue-fix.yml +++ b/.github/workflows/issue-fix.yml @@ -1,12 +1,12 @@ -# Sends new bug reports to Drew's "Bug report to draft PR" Claude routine. +# Sends new bug reports to Drew's "Bug report to draft PR" routine. # The routine reads the issue itself and, if it is a fixable bug, opens a -# draft pull request from claude/issue-. Nothing here merges anything. +# draft pull request from fix/issue-. Nothing here merges anything. # # Only the repository name and issue number leave this workflow; the issue # text is never put in a shell command or sent in the request. -# Re-run on any issue by adding the `claude-fix` label (needs triage access). +# Re-run on any issue by adding the `fix-this` label (needs triage access). -name: Claude issue fix +name: Issue fix on: issues: @@ -16,7 +16,7 @@ permissions: issues: read concurrency: - group: claude-issue-fix-${{ github.event.issue.number }} + group: issue-fix-${{ github.event.issue.number }} jobs: fire: @@ -24,8 +24,8 @@ jobs: (github.event.action == 'opened' && github.event.issue.user.type != 'Bot' && !endsWith(github.event.issue.user.login, '[bot]') - && !contains(github.event.issue.labels.*.name, 'claude-fix')) - || (github.event.action == 'labeled' && github.event.label.name == 'claude-fix') + && !contains(github.event.issue.labels.*.name, 'fix-this')) + || (github.event.action == 'labeled' && github.event.label.name == 'fix-this') runs-on: ubuntu-latest timeout-minutes: 5 env: @@ -44,7 +44,7 @@ jobs: --jq "[.[] | select(.pull_request == null and .created_at >= \"$since\" and .user.type != \"Bot\")] | length") echo "Issues opened in the last 24 hours: $count (limit $DAILY_LIMIT)" if [ "$count" -gt "$DAILY_LIMIT" ]; then - echo "::notice::Daily limit reached; not sending this issue. Add the claude-fix label to send it anyway." + echo "::notice::Daily limit reached; not sending this issue. Add the fix-this label to send it anyway." echo "skip=true" >> "$GITHUB_OUTPUT" fi diff --git a/AGENTS.md b/AGENTS.md index ad62ab5..c8837e7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,7 +16,7 @@ Permission identity: the bundle ID `app.cleanmode.mac` and a consistent Apple De Releases: version and build live only in `Resources/Info.plist` and are bumped by hand; also update CHANGELOG.md and the README download name. Distribution is a separate Developer ID copy (team 7BVMD7TA97), notarized with `asc` from the keychain, never the development bundle; follow [docs/RELEASING.md](docs/RELEASING.md). 0.1.0 shipped 2026-10-21 as a notarized DMG and ZIP. Evidence and limits are in [docs/VALIDATION.md](docs/VALIDATION.md). -New GitHub issues fire the "Bug report to draft PR" Claude routine through `.github/workflows/claude-issue-fix.yml` (3 per day; the `claude-fix` label re-fires it). +New GitHub issues fire the "Bug report to draft PR" routine through `.github/workflows/issue-fix.yml` (3 per day; the `fix-this` label re-fires it). The engine owns event filtering and deadlines off the main thread. The deterministic core is in KeydozeCore. Never log typed content or raw events, replay blocked events, automatically restart an interrupted session, or request extra privacy permissions by habit. Idle means no event taps.