Darkmatter · github-bot stage: prod
preview@internal.darkmatter
Events received
108101
Ignored
108025
Jobs dispatched
80

Event 5488a8c6…

← All events

Event

Delivery
5488a8c6-6493-11f1-9f08-20abb1c232c5
Event
issues
Action
opened
Received
2026-06-10T06:12:17.994Z
Signature
valid
Parsed
yes
Sender
czxtm
Repo
darkmatter/nixmac
Status
ignored — unsupported_event

Headers

{
  "accept": "*/*",
  "accept-encoding": "gzip, br",
  "cf-connecting-ip": "140.82.115.54",
  "cf-ipcountry": "US",
  "cf-ray": "a096393c6ea2489c",
  "cf-visitor": "{\"scheme\":\"https\"}",
  "connection": "Keep-Alive",
  "content-length": "14434",
  "content-type": "application/json",
  "host": "github-bot.darkmatter.io",
  "user-agent": "GitHub-Hookshot/a230a7e",
  "x-forwarded-proto": "https",
  "x-github-delivery": "5488a8c6-6493-11f1-9f08-20abb1c232c5",
  "x-github-event": "issues",
  "x-github-hook-id": "628737947",
  "x-github-hook-installation-target-id": "3663660",
  "x-github-hook-installation-target-type": "integration",
  "x-real-ip": "140.82.115.54"
}

Payload

{
  "action": "opened",
  "issue": {
    "url": "https://api.github.com/repos/darkmatter/nixmac/issues/381",
    "repository_url": "https://api.github.com/repos/darkmatter/nixmac",
    "labels_url": "https://api.github.com/repos/darkmatter/nixmac/issues/381/labels{/name}",
    "comments_url": "https://api.github.com/repos/darkmatter/nixmac/issues/381/comments",
    "events_url": "https://api.github.com/repos/darkmatter/nixmac/issues/381/events",
    "html_url": "https://github.com/darkmatter/nixmac/issues/381",
    "id": 4628558747,
    "node_id": "I_kwDOSB6EzM8AAAABE-Izmw",
    "number": 381,
    "title": "Evolve: add stop heuristics and ask-before-continuing gate for repeated edit failures / token burn",
    "user": {
      "login": "czxtm",
      "id": 1325802,
      "node_id": "MDQ6VXNlcjEzMjU4MDI=",
      "avatar_url": "https://avatars.githubusercontent.com/u/1325802?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/czxtm",
      "html_url": "https://github.com/czxtm",
      "followers_url": "https://api.github.com/users/czxtm/followers",
      "following_url": "https://api.github.com/users/czxtm/following{/other_user}",
      "gists_url": "https://api.github.com/users/czxtm/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/czxtm/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/czxtm/subscriptions",
      "organizations_url": "https://api.github.com/users/czxtm/orgs",
      "repos_url": "https://api.github.com/users/czxtm/repos",
      "events_url": "https://api.github.com/users/czxtm/events{/privacy}",
      "received_events_url": "https://api.github.com/users/czxtm/received_events",
      "type": "User",
      "user_view_type": "public",
      "site_admin": false
    },
    "labels": [
      {
        "id": 10865918433,
        "node_id": "LA_kwDOSB6EzM8AAAACh6jB4Q",
        "url": "https://api.github.com/repos/darkmatter/nixmac/labels/Improvement",
        "name": "Improvement",
        "color": "ededed",
        "default": false,
        "description": null
      }
    ],
    "state": "open",
    "locked": false,
    "assignees": [],
    "milestone": null,
    "comments": 0,
    "created_at": "2026-06-10T06:12:15Z",
    "updated_at": "2026-06-10T06:12:15Z",
    "closed_at": null,
    "assignee": null,
    "author_association": "MEMBER",
    "issue_field_values": [],
    "type": null,
    "active_lock_reason": null,
    "sub_issues_summary": {
      "total": 0,
      "completed": 0,
      "percent_completed": 0
    },
    "issue_dependencies_summary": {
      "blocked_by": 0,
      "total_blocked_by": 0,
      "blocking": 0,
      "total_blocking": 0
    },
    "body": "## Context\n\nRaised in #nixmac on 2026-06-09 by @farhankhalaf:\n\n> \"+1 on stop heuristics regardless — especially an ask-before-continuing gate like build checks when we see repeated bad edits / token burn. I'll write that ticket up.\"\n\nScott raised the related problem:\n\n> \"I've seen several instances of the agent rabbit-holing on bad edit commands which it now has no easy escape from and so we spin and spin and burn the user's tokens. We should probably think about some additional heuristics for when we want to stop an evolution, or at least ask the user if it wants us to continue trying.\"\n\nRelated to the \"track all items\" flow and general agent reliability.\n\n## Desired Outcome\n\nThe agent should recognize when it's stuck in a failure loop and either stop automatically or ask the user whether to continue — rather than silently burning tokens.\n\n## Acceptance Criteria\n\n- [ ] When the same nix file edit fails N consecutive times (e.g., 3), the agent pauses and asks the user: \"I'm having trouble applying this change — keep trying or stop?\"\n- [ ] User can choose \"Keep going\" or \"Stop and review\"\n- [ ] This gate is similar to the existing build-check gate\n- [ ] Token burn detection: if total tokens consumed for the current evolution exceeds a threshold without progress, trigger the gate\n- [ ] The threshold for \"repeated failures\" is configurable\n\n## Gherkin Specs\n\n```gherkin\nScenario: Agent triggers ask-before-continuing gate after repeated edit failures\n  Given an evolution is in progress\n  When the same nix file edit fails 3 consecutive times\n  Then the agent pauses the evolution\n  And presents the user with a message explaining the repeated failure\n  And offers \"Keep trying\" and \"Stop and review\" options\n\nScenario: User chooses to stop after repeated failures\n  Given the ask-before-continuing gate has been triggered\n  When the user selects \"Stop and review\"\n  Then the evolution stops immediately\n  And the current (failed) state is shown for review\n  And no further agent iterations run\n\nScenario: User chooses to keep going after repeated failures\n  Given the ask-before-continuing gate has been triggered\n  When the user selects \"Keep trying\"\n  Then the agent resumes the evolution\n  And if the same pattern recurs (another N failures), the gate triggers again\n\nScenario: Token burn gate triggers when tokens exceed threshold without progress\n  Given an evolution is consuming tokens\n  When total tokens consumed exceed the configured threshold without a successful edit\n  Then the agent pauses and asks the user whether to continue\n  And reports how many tokens have been used\n\nScenario: Gate is not triggered during normal successful evolutions\n  Given an evolution is proceeding normally (edits succeeding)\n  When the agent completes the evolution\n  Then no gate prompt was shown\n  And the user sees the normal completion/review screen\n```",
    "reactions": {
      "url": "https://api.github.com/repos/darkmatter/nixmac/issues/381/reactions",
      "total_count": 0,
      "+1": 0,
      "-1": 0,
      "laugh": 0,
      "hooray": 0,
      "confused": 0,
      "heart": 0,
      "rocket": 0,
      "eyes": 0
    },
    "timeline_url": "https://api.github.com/repos/darkmatter/nixmac/issues/381/timeline",
    "performed_via_github_app": {
      "id": 1658531,
      "client_id": "Iv23lia2it3rsjIhboVE",
      "slug": "linear-code",
      "node_id": "A_kwHOAshhgs4AGU6j",
      "owner": {
        "login": "linear",
        "id": 46686594,
        "node_id": "MDEyOk9yZ2FuaXphdGlvbjQ2Njg2NTk0",
        "avatar_url": "https://avatars.githubusercontent.com/u/46686594?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/linear",
        "html_url": "https://github.com/linear",
        "followers_url": "https://api.github.com/users/linear/followers",
        "following_url": "https://api.github.com/users/linear/following{/other_user}",
        "gists_url": "https://api.github.com/users/linear/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/linear/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/linear/subscriptions",
        "organizations_url": "https://api.github.com/users/linear/orgs",
        "repos_url": "https://api.github.com/users/linear/repos",
        "events_url": "https://api.github.com/users/linear/events{/privacy}",
        "received_events_url": "https://api.github.com/users/linear/received_events",
        "type": "Organization",
        "user_view_type": "public",
        "site_admin": false
      },
      "name": "Linear Code",
      "description": "",
      "external_url": "https://linear.app",
      "html_url": "https://github.com/apps/linear-code",
      "created_at": "2025-07-24T11:29:06Z",
      "updated_at": "2026-04-14T21:31:51Z",
      "permissions": {
        "actions": "write",
        "checks": "read",
        "contents": "write",
        "deployments": "read",
        "issues": "write",
        "members": "read",
        "merge_queues": "read",
        "metadata": "read",
        "pull_requests": "write",
        "statuses": "read",
        "workflows": "write"
      },
      "events": [
        "check_run",
        "check_suite",
        "commit_comment",
        "issues",
        "issue_comment",
        "member",
        "membership",
        "organization",
        "pull_request",
        "pull_request_review",
        "pull_request_review_comment",
        "pull_request_review_thread",
        "repository",
        "status",
        "sub_issues",
        "team",
        "team_add"
      ]
    },
    "state_reason": null,
    "pinned_comment": null
  },
  "repository": {
    "id": 1209959628,
    "node_id": "R_kgDOSB6EzA",
    "name": "nixmac",
    "full_name": "darkmatter/nixmac",
    "private": false,
    "owner": {
      "login": "darkmatter",
      "id": 17834193,
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjE3ODM0MTkz",
      "avatar_url": "https://avatars.githubusercontent.com/u/17834193?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/darkmatter",
      "html_url": "https://github.com/darkmatter",
      "followers_url": "https://api.github.com/users/darkmatter/followers",
      "following_url": "https://api.github.com/users/darkmatter/following{/other_user}",
      "gists_url": "https://api.github.com/users/darkmatter/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/darkmatter/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/darkmatter/subscriptions",
      "organizations_url": "https://api.github.com/users/darkmatter/orgs",
      "repos_url": "https://api.github.com/users/darkmatter/repos",
      "events_url": "https://api.github.com/users/darkmatter/events{/privacy}",
      "received_events_url": "https://api.github.com/users/darkmatter/received_events",
      "type": "Organization",
      "user_view_type": "public",
      "site_admin": false
    },
    "html_url": "https://github.com/darkmatter/nixmac",
    "description": "Home manager and nix-darwin that understands plain English",
    "fork": false,
    "url": "https://api.github.com/repos/darkmatter/nixmac",
    "forks_url": "https://api.github.com/repos/darkmatter/nixmac/forks",
    "keys_url": "https://api.github.com/repos/darkmatter/nixmac/keys{/key_id}",
    "collaborators_url": "https://api.github.com/repos/darkmatter/nixmac/collaborators{/collaborator}",
    "teams_url": "https://api.github.com/repos/darkmatter/nixmac/teams",
    "hooks_url": "https://api.github.com/repos/darkmatter/nixmac/hooks",
    "issue_events_url": "https://api.github.com/repos/darkmatter/nixmac/issues/events{/number}",
    "events_url": "https://api.github.com/repos/darkmatter/nixmac/events",
    "assignees_url": "https://api.github.com/repos/darkmatter/nixmac/assignees{/user}",
    "branches_url": "https://api.github.com/repos/darkmatter/nixmac/branches{/branch}",
    "tags_url": "https://api.github.com/repos/darkmatter/nixmac/tags",
    "blobs_url": "https://api.github.com/repos/darkmatter/nixmac/git/blobs{/sha}",
    "git_tags_url": "https://api.github.com/repos/darkmatter/nixmac/git/tags{/sha}",
    "git_refs_url": "https://api.github.com/repos/darkmatter/nixmac/git/refs{/sha}",
    "trees_url": "https://api.github.com/repos/darkmatter/nixmac/git/trees{/sha}",
    "statuses_url": "https://api.github.com/repos/darkmatter/nixmac/statuses/{sha}",
    "languages_url": "https://api.github.com/repos/darkmatter/nixmac/languages",
    "stargazers_url": "https://api.github.com/repos/darkmatter/nixmac/stargazers",
    "contributors_url": "https://api.github.com/repos/darkmatter/nixmac/contributors",
    "subscribers_url": "https://api.github.com/repos/darkmatter/nixmac/subscribers",
    "subscription_url": "https://api.github.com/repos/darkmatter/nixmac/subscription",
    "commits_url": "https://api.github.com/repos/darkmatter/nixmac/commits{/sha}",
    "git_commits_url": "https://api.github.com/repos/darkmatter/nixmac/git/commits{/sha}",
    "comments_url": "https://api.github.com/repos/darkmatter/nixmac/comments{/number}",
    "issue_comment_url": "https://api.github.com/repos/darkmatter/nixmac/issues/comments{/number}",
    "contents_url": "https://api.github.com/repos/darkmatter/nixmac/contents/{+path}",
    "compare_url": "https://api.github.com/repos/darkmatter/nixmac/compare/{base}...{head}",
    "merges_url": "https://api.github.com/repos/darkmatter/nixmac/merges",
    "archive_url": "https://api.github.com/repos/darkmatter/nixmac/{archive_format}{/ref}",
    "downloads_url": "https://api.github.com/repos/darkmatter/nixmac/downloads",
    "issues_url": "https://api.github.com/repos/darkmatter/nixmac/issues{/number}",
    "pulls_url": "https://api.github.com/repos/darkmatter/nixmac/pulls{/number}",
    "milestones_url": "https://api.github.com/repos/darkmatter/nixmac/milestones{/number}",
    "notifications_url": "https://api.github.com/repos/darkmatter/nixmac/notifications{?since,all,participating}",
    "labels_url": "https://api.github.com/repos/darkmatter/nixmac/labels{/name}",
    "releases_url": "https://api.github.com/repos/darkmatter/nixmac/releases{/id}",
    "deployments_url": "https://api.github.com/repos/darkmatter/nixmac/deployments",
    "created_at": "2026-04-14T00:37:13Z",
    "updated_at": "2026-06-09T16:38:53Z",
    "pushed_at": "2026-06-10T06:05:45Z",
    "git_url": "git://github.com/darkmatter/nixmac.git",
    "ssh_url": "git@github.com:darkmatter/nixmac.git",
    "clone_url": "https://github.com/darkmatter/nixmac.git",
    "svn_url": "https://github.com/darkmatter/nixmac",
    "homepage": "https://nixmac.com",
    "size": 681381,
    "stargazers_count": 5,
    "watchers_count": 5,
    "language": "Rust",
    "has_issues": true,
    "has_projects": false,
    "has_downloads": true,
    "has_wiki": false,
    "has_pages": false,
    "has_discussions": false,
    "forks_count": 1,
    "mirror_url": null,
    "archived": false,
    "disabled": false,
    "open_issues_count": 99,
    "license": {
      "key": "mit",
      "name": "MIT License",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit",
      "node_id": "MDc6TGljZW5zZTEz"
    },
    "allow_forking": true,
    "is_template": false,
    "web_commit_signoff_required": false,
    "has_pull_requests": true,
    "pull_request_creation_policy": "all",
    "topics": [
      "home-manager",
      "nix",
      "nix-darwin",
      "nix-flake",
      "opencode"
    ],
    "visibility": "public",
    "forks": 1,
    "open_issues": 99,
    "watchers": 5,
    "default_branch": "develop",
    "custom_properties": {}
  },
  "organization": {
    "login": "darkmatter",
    "id": 17834193,
    "node_id": "MDEyOk9yZ2FuaXphdGlvbjE3ODM0MTkz",
    "url": "https://api.github.com/orgs/darkmatter",
    "repos_url": "https://api.github.com/orgs/darkmatter/repos",
    "events_url": "https://api.github.com/orgs/darkmatter/events",
    "hooks_url": "https://api.github.com/orgs/darkmatter/hooks",
    "issues_url": "https://api.github.com/orgs/darkmatter/issues",
    "members_url": "https://api.github.com/orgs/darkmatter/members{/member}",
    "public_members_url": "https://api.github.com/orgs/darkmatter/public_members{/member}",
    "avatar_url": "https://avatars.githubusercontent.com/u/17834193?v=4",
    "description": ""
  },
  "enterprise": {
    "id": 469843,
    "slug": "darkmatter",
    "name": "darkmatter",
    "node_id": "E_kgDOAAcrUw",
    "avatar_url": "https://avatars.githubusercontent.com/b/469843?v=4",
    "description": "",
    "website_url": "darkmatter.io",
    "html_url": "https://github.com/enterprises/darkmatter",
    "created_at": "2025-09-07T16:01:00Z",
    "updated_at": "2026-06-07T16:53:26Z"
  },
  "sender": {
    "login": "czxtm",
    "id": 1325802,
    "node_id": "MDQ6VXNlcjEzMjU4MDI=",
    "avatar_url": "https://avatars.githubusercontent.com/u/1325802?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/czxtm",
    "html_url": "https://github.com/czxtm",
    "followers_url": "https://api.github.com/users/czxtm/followers",
    "following_url": "https://api.github.com/users/czxtm/following{/other_user}",
    "gists_url": "https://api.github.com/users/czxtm/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/czxtm/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/czxtm/subscriptions",
    "organizations_url": "https://api.github.com/users/czxtm/orgs",
    "repos_url": "https://api.github.com/users/czxtm/repos",
    "events_url": "https://api.github.com/users/czxtm/events{/privacy}",
    "received_events_url": "https://api.github.com/users/czxtm/received_events",
    "type": "User",
    "user_view_type": "public",
    "site_admin": false
  },
  "installation": {
    "id": 131074261,
    "node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTMxMDc0MjYx"
  }
}