Darkmatter · agent stage: prod
preview@internal.darkmatter
Events received
195731
Ignored
195380
Jobs dispatched
357

Event b3864cac…

← All events

Event

Delivery
b3864cac-6330-11f1-849a-db2348f4ab5d
Event
push
Action
Received
2026-06-08T11:53:45.931Z
Signature
valid
Parsed
yes
Sender
darkmatter[bot]
Repo
darkmatter/nixmac
Status
ignored — not_trunk_branch

Headers

{
  "accept": "*/*",
  "accept-encoding": "gzip, br",
  "cf-connecting-ip": "140.82.115.154",
  "cf-ipcountry": "US",
  "cf-ray": "a087b2ae0ef1d640",
  "cf-visitor": "{\"scheme\":\"https\"}",
  "connection": "Keep-Alive",
  "content-length": "14244",
  "content-type": "application/json",
  "host": "github-bot.darkmatter.io",
  "user-agent": "GitHub-Hookshot/5af8f1d",
  "x-forwarded-proto": "https",
  "x-github-delivery": "b3864cac-6330-11f1-849a-db2348f4ab5d",
  "x-github-event": "push",
  "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.154"
}

Payload

{
  "ref": "refs/heads/06-08-scott-use-whole-diff-summarize-in-lifecycle",
  "before": "f09f61c04ecf7c730383b8fce58406b36db860e9",
  "after": "7d120f95fc33571bb42dbffe756a9640654019de",
  "repository": {
    "id": 1209959628,
    "node_id": "R_kgDOSB6EzA",
    "name": "nixmac",
    "full_name": "darkmatter/nixmac",
    "private": false,
    "owner": {
      "name": "darkmatter",
      "email": "hello@dm.sh",
      "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": 1776127033,
    "updated_at": "2026-06-08T11:53:43Z",
    "pushed_at": 1780919624,
    "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": 680830,
    "stargazers_count": 5,
    "watchers_count": 5,
    "language": "Rust",
    "has_issues": true,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": true,
    "has_pages": false,
    "has_discussions": false,
    "forks_count": 1,
    "mirror_url": null,
    "archived": false,
    "disabled": false,
    "open_issues_count": 81,
    "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": 81,
    "watchers": 5,
    "default_branch": "develop",
    "stargazers": 5,
    "master_branch": "develop",
    "organization": "darkmatter",
    "custom_properties": {}
  },
  "pusher": {
    "name": "darkmatter[bot]",
    "email": null
  },
  "forced": false,
  "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": "darkmatter[bot]",
    "id": 283346107,
    "node_id": "BOT_kgDOEOOEuw",
    "avatar_url": "https://avatars.githubusercontent.com/in/3663660?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/darkmatter%5Bbot%5D",
    "html_url": "https://github.com/apps/darkmatter",
    "followers_url": "https://api.github.com/users/darkmatter%5Bbot%5D/followers",
    "following_url": "https://api.github.com/users/darkmatter%5Bbot%5D/following{/other_user}",
    "gists_url": "https://api.github.com/users/darkmatter%5Bbot%5D/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/darkmatter%5Bbot%5D/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/darkmatter%5Bbot%5D/subscriptions",
    "organizations_url": "https://api.github.com/users/darkmatter%5Bbot%5D/orgs",
    "repos_url": "https://api.github.com/users/darkmatter%5Bbot%5D/repos",
    "events_url": "https://api.github.com/users/darkmatter%5Bbot%5D/events{/privacy}",
    "received_events_url": "https://api.github.com/users/darkmatter%5Bbot%5D/received_events",
    "type": "Bot",
    "user_view_type": "public",
    "site_admin": false
  },
  "installation": {
    "id": 131074261,
    "node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTMxMDc0MjYx"
  },
  "created": false,
  "deleted": false,
  "base_ref": null,
  "compare": "https://github.com/darkmatter/nixmac/compare/f09f61c04ecf...7d120f95fc33",
  "commits": [
    {
      "id": "92786de3f7c5e0d018b0fc0802426e3326a10557",
      "tree_id": "afb564a2dc50f6f6c5c97e38f720f4c74b2ce7d4",
      "distinct": false,
      "message": "fix(evolve): four correctness fixes in the evolve loop (#336)\n\n* fix(evolve): make truncate_for_log UTF-8 safe\n\ntruncate_for_log sliced the string with `&s[..max_len]`, a byte index.\nWhen a multi-byte UTF-8 char (accented letters, emoji, arrows — common in\nagent thoughts, which are truncated at 200 for logging) straddled that\nindex, the slice panicked with \"byte index N is not a char boundary\".\n\nTruncate on a char boundary instead, treating max_len as a character\nbudget. Adds tests covering the short-string, newline-collapse, ASCII\ntruncation, and the multi-byte boundary case that previously panicked.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* fix(evolve): don't duplicate a non-list attr in edit_nix_file add()\n\nWhen add() was given an attrpath that already existed as a non-list\nassignment (e.g. `programs.git = { enable = true; }`), find_list_for_attrpath\nreturned None and add() fell through to inserting a brand-new\n`programs.git = [ ... ];`. The file then had two assignments to the same\nattribute — invalid, duplicated Nix that a later build would reject.\n\nDetect the pre-existing non-list assignment and return a clear error\ninstead of corrupting the file. Adds a test for the duplicate case.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* fix(evolve): handle ${ } antiquotation in validate_nix_syntax\n\nThe structural validator scanned strings with a flat in_string flag and\nnever recognized `${ ... }` antiquotation. When an interpolation contained\na nested string with a `{`/`}` — e.g. `\"${if a then \"}\" else \"y\"}\"` — the\ninner quotes toggled the flag and the braces were then counted in the\nwrong context, so the validator rejected valid Nix and blocked legitimate\nagent edits.\n\nRewrite the scanner around a single context stack: `${` inside a string\npushes a code frame and its matching `}` pops back to the string, so\ninterpolations can hold nested strings, braces, and further\ninterpolations. Existing behaviour (balanced braces/brackets/parens,\ncomments, indented-string escapes, unclosed detection) and all error\nmessages are preserved; only the antiquotation handling changes.\n\nAdds tests for nested-string and indented-string interpolation (accept)\nand an unbalanced interpolation (still rejected).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* fix(evolve): reset build_verified on edit and on failed build_check\n\nbuild_verified was set true on the first passing build_check and never\ncleared. Two ways this let `done` complete an unbuildable config:\n\n  1. build_check passes -> the agent edits again -> done accepted, even\n     though the latest edit was never built.\n  2. build_check passes -> a later build_check fails -> done accepted as\n     \"complete\" despite the currently-failing build.\n\nClear build_verified whenever an editing tool runs (the verified state no\nlonger matches the files) and whenever a build_check fails. The done gate\nthen correctly requires a fresh, passing build_check.\n\nTests drive process_tool_result directly (a free function): a failing\nbuild clears verification, and done after pass-then-fail does not mark the\nevolution Generated.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
      "timestamp": "2026-06-08T06:37:06Z",
      "url": "https://github.com/darkmatter/nixmac/commit/92786de3f7c5e0d018b0fc0802426e3326a10557",
      "author": {
        "name": "Andrew MacBride",
        "email": "amacbride@users.noreply.github.com",
        "date": "2026-06-08T02:37:06-04:00",
        "username": "amacbride"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-06-08T06:37:06Z",
        "username": "web-flow"
      },
      "added": [],
      "removed": [],
      "modified": [
        "apps/native/src-tauri/src/evolve/edit_nix_file.rs",
        "apps/native/src-tauri/src/evolve/file_ops.rs",
        "apps/native/src-tauri/src/evolve/mod.rs",
        "apps/native/src-tauri/src/evolve/tools.rs"
      ]
    },
    {
      "id": "92781ce7891f3fe8c06a07236ea680a8f66c8d37",
      "tree_id": "a9a7c98557bb7a6882152d7dd89804dfcc51636d",
      "distinct": false,
      "message": "fix storybook workflow",
      "timestamp": "2026-06-08T04:53:38-07:00",
      "url": "https://github.com/darkmatter/nixmac/commit/92781ce7891f3fe8c06a07236ea680a8f66c8d37",
      "author": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-06-08T04:53:38-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-06-08T04:53:38-07:00",
        "username": "web-flow"
      },
      "added": [],
      "removed": [],
      "modified": [
        ".github/workflows/storybook.yaml"
      ]
    },
    {
      "id": "7d120f95fc33571bb42dbffe756a9640654019de",
      "tree_id": "02b0a234f73df7d3aa8a5ec0ca7e19b221b24db0",
      "distinct": true,
      "message": "Merge branch 'develop' into 06-08-scott-use-whole-diff-summarize-in-lifecycle",
      "timestamp": "2026-06-08T11:53:43Z",
      "url": "https://github.com/darkmatter/nixmac/commit/7d120f95fc33571bb42dbffe756a9640654019de",
      "author": {
        "name": "darkmatter[bot]",
        "email": "283346107+darkmatter[bot]@users.noreply.github.com",
        "date": "2026-06-08T11:53:43Z",
        "username": "darkmatter[bot]"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-06-08T11:53:43Z",
        "username": "web-flow"
      },
      "added": [],
      "removed": [],
      "modified": [
        ".github/workflows/storybook.yaml",
        "apps/native/src-tauri/src/evolve/edit_nix_file.rs",
        "apps/native/src-tauri/src/evolve/file_ops.rs",
        "apps/native/src-tauri/src/evolve/mod.rs",
        "apps/native/src-tauri/src/evolve/tools.rs"
      ]
    }
  ],
  "head_commit": {
    "id": "7d120f95fc33571bb42dbffe756a9640654019de",
    "tree_id": "02b0a234f73df7d3aa8a5ec0ca7e19b221b24db0",
    "distinct": true,
    "message": "Merge branch 'develop' into 06-08-scott-use-whole-diff-summarize-in-lifecycle",
    "timestamp": "2026-06-08T11:53:43Z",
    "url": "https://github.com/darkmatter/nixmac/commit/7d120f95fc33571bb42dbffe756a9640654019de",
    "author": {
      "name": "darkmatter[bot]",
      "email": "283346107+darkmatter[bot]@users.noreply.github.com",
      "date": "2026-06-08T11:53:43Z",
      "username": "darkmatter[bot]"
    },
    "committer": {
      "name": "GitHub",
      "email": "noreply@github.com",
      "date": "2026-06-08T11:53:43Z",
      "username": "web-flow"
    },
    "added": [],
    "removed": [],
    "modified": [
      ".github/workflows/storybook.yaml",
      "apps/native/src-tauri/src/evolve/edit_nix_file.rs",
      "apps/native/src-tauri/src/evolve/file_ops.rs",
      "apps/native/src-tauri/src/evolve/mod.rs",
      "apps/native/src-tauri/src/evolve/tools.rs"
    ]
  }
}