Darkmatter · github-bot stage: prod
preview@internal.darkmatter
Events received
115252
Ignored
115141
Jobs dispatched
115

Event 2a24f660…

← All events

Event

Delivery
2a24f660-6476-11f1-8e85-78970a516492
Event
pull_request_review_comment
Action
created
Received
2026-06-10T02:43:31.261Z
Signature
valid
Parsed
yes
Sender
chatgpt-codex-connector[bot]
Repo
darkmatter/nixmac
Status
ignored — bot_or_missing_actor

Headers

{
  "accept": "*/*",
  "accept-encoding": "gzip, br",
  "cf-connecting-ip": "140.82.115.254",
  "cf-ipcountry": "US",
  "cf-ray": "a09507684f0ee5c1",
  "cf-visitor": "{\"scheme\":\"https\"}",
  "connection": "Keep-Alive",
  "content-length": "31989",
  "content-type": "application/json",
  "host": "github-bot.darkmatter.io",
  "user-agent": "GitHub-Hookshot/a230a7e",
  "x-forwarded-proto": "https",
  "x-github-delivery": "2a24f660-6476-11f1-8e85-78970a516492",
  "x-github-event": "pull_request_review_comment",
  "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.254"
}

Payload

{
  "action": "created",
  "comment": {
    "url": "https://api.github.com/repos/darkmatter/nixmac/pulls/comments/3385136672",
    "pull_request_review_id": 4464058873,
    "id": 3385136672,
    "node_id": "PRRC_kwDOSB6EzM7JxRYg",
    "diff_hunk": "@@ -0,0 +1,87 @@\n+// Data-flow disclosure shown under the provider selectors (ENG-231).\n+// Copy is derived from where the request will actually go, not just the\n+// selected provider: the cloud path falls back from OpenRouter to OpenAI\n+// based on which API key is configured (mirrors\n+// get_effective_openai_compatible_credential in src-tauri/src/storage/store.rs),\n+// and Ollama only stays on-machine when its base URL is local.\n+// Starter-access/proxy provider modes will need their own entry here (ENG-542).\n+// Known limitation (ENG-555): backend env overrides (OLLAMA_API_BASE,\n+// EVOLVE_PROVIDER, SUMMARY_AI_PROVIDER) are not surfaced through ui_get_prefs,\n+// so notes reflect stored configuration; env-overridden routing can differ.\n+\n+export interface ProviderDataFlowPrefs {\n+  openrouterApiKey?: string;\n+  openaiApiKey?: string;\n+  ollamaApiBaseUrl?: string;\n+}\n+\n+const NOT_SENT_TO_NIXMAC = \"They are not sent to nixmac's servers.\";\n+\n+const ENDPOINT_DEPENDENT_NOTE = (endpointLabel: string) =>\n+  `Your prompts and config context are sent to ${endpointLabel}. Where your data goes depends on that endpoint.`;\n+\n+const CLI_NOTE = (cliLabel: string) =>\n+  `Your prompts and config context are passed to the ${cliLabel} on your machine. Where they go next depends on that tool's own account and configuration.`;\n+\n+const LOCAL_HOSTNAMES = new Set([\"localhost\", \"127.0.0.1\", \"[::1]\", \"::1\", \"0.0.0.0\"]);\n+\n+/** True when the URL clearly points at this machine. Unparseable or\n+ * non-loopback hosts return false so we never overclaim locality. */\n+export function isLocalEndpoint(rawUrl: string): boolean {\n+  const candidate = rawUrl.includes(\"://\") ? rawUrl : `http://${rawUrl}`;\n+  let hostname: string;\n+  try {\n+    hostname = new URL(candidate).hostname;\n+  } catch {\n+    return false;\n+  }\n+  return LOCAL_HOSTNAMES.has(hostname) || hostname.startsWith(\"127.\");\n+}\n+\n+export function getProviderDataFlowNote(\n+  provider: string,\n+  prefs: ProviderDataFlowPrefs,\n+): string | null {\n+  switch (provider) {\n+    case \"openrouter\":\n+    case \"openai\": {\n+      const hasOpenrouterKey = !!prefs.openrouterApiKey?.trim();\n+      const hasOpenaiKey = !!prefs.openaiApiKey?.trim();",
    "path": "apps/native/src/components/widget/settings/provider-data-flow-note.tsx",
    "commit_id": "e96432ded301b8326debea1298d6ec96ab3169e2",
    "original_commit_id": "e96432ded301b8326debea1298d6ec96ab3169e2",
    "user": {
      "login": "chatgpt-codex-connector[bot]",
      "id": 199175422,
      "node_id": "BOT_kgDOC98s_g",
      "avatar_url": "https://avatars.githubusercontent.com/in/1144995?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D",
      "html_url": "https://github.com/apps/chatgpt-codex-connector",
      "followers_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/followers",
      "following_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/following{/other_user}",
      "gists_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/subscriptions",
      "organizations_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/orgs",
      "repos_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/repos",
      "events_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/events{/privacy}",
      "received_events_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/received_events",
      "type": "Bot",
      "user_view_type": "public",
      "site_admin": false
    },
    "body": "**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub>  Align empty OpenRouter key handling with routing**\n\nWhen the user clears the OpenRouter key, `settings-dialog` saves `openrouterApiKey: \"\"`, and `ui_get_prefs` can return that empty keychain value; the backend `get_effective_openai_compatible_credential` still treats `Some(\"\")` from `get_effective_openrouter_api_key` as the OpenRouter credential before checking OpenAI. Because this note trims the value here, a user with an OpenAI key will see “sent to OpenAI” after clearing OpenRouter, while requests are attempted against OpenRouter with an empty bearer token, so the privacy disclosure diverges from actual routing. Consider deleting/normalizing empty stored secrets or deriving the note from the same effective credential logic.\n\nUseful? React with 👍 / 👎.",
    "created_at": "2026-06-10T02:43:28Z",
    "updated_at": "2026-06-10T02:43:28Z",
    "html_url": "https://github.com/darkmatter/nixmac/pull/364#discussion_r3385136672",
    "pull_request_url": "https://api.github.com/repos/darkmatter/nixmac/pulls/364",
    "_links": {
      "self": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/pulls/comments/3385136672"
      },
      "html": {
        "href": "https://github.com/darkmatter/nixmac/pull/364#discussion_r3385136672"
      },
      "pull_request": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/pulls/364"
      }
    },
    "reactions": {
      "url": "https://api.github.com/repos/darkmatter/nixmac/pulls/comments/3385136672/reactions",
      "total_count": 0,
      "+1": 0,
      "-1": 0,
      "laugh": 0,
      "hooray": 0,
      "confused": 0,
      "heart": 0,
      "rocket": 0,
      "eyes": 0
    },
    "start_line": 48,
    "original_start_line": 48,
    "start_side": "RIGHT",
    "line": 49,
    "original_line": 49,
    "side": "RIGHT",
    "author_association": "NONE",
    "original_position": 49,
    "position": 49,
    "subject_type": "line"
  },
  "pull_request": {
    "url": "https://api.github.com/repos/darkmatter/nixmac/pulls/364",
    "id": 3836054752,
    "node_id": "PR_kwDOSB6EzM7kpYzg",
    "html_url": "https://github.com/darkmatter/nixmac/pull/364",
    "diff_url": "https://github.com/darkmatter/nixmac/pull/364.diff",
    "patch_url": "https://github.com/darkmatter/nixmac/pull/364.patch",
    "issue_url": "https://api.github.com/repos/darkmatter/nixmac/issues/364",
    "number": 364,
    "state": "open",
    "locked": false,
    "title": "Show data-flow privacy note under AI provider selectors",
    "user": {
      "login": "fkb032",
      "id": 249513614,
      "node_id": "U_kgDODt9Gjg",
      "avatar_url": "https://avatars.githubusercontent.com/u/249513614?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/fkb032",
      "html_url": "https://github.com/fkb032",
      "followers_url": "https://api.github.com/users/fkb032/followers",
      "following_url": "https://api.github.com/users/fkb032/following{/other_user}",
      "gists_url": "https://api.github.com/users/fkb032/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/fkb032/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/fkb032/subscriptions",
      "organizations_url": "https://api.github.com/users/fkb032/orgs",
      "repos_url": "https://api.github.com/users/fkb032/repos",
      "events_url": "https://api.github.com/users/fkb032/events{/privacy}",
      "received_events_url": "https://api.github.com/users/fkb032/received_events",
      "type": "User",
      "user_view_type": "public",
      "site_admin": false
    },
    "body": "## What\n\nAdds a subtle, destination-aware privacy note below the Evolution and Summary provider selects in Settings → AI Models (ENG-231). The note tells the user where their prompts and config context actually go, and updates as the provider (or its configuration) changes.\n\n## Why destination-aware instead of a static per-provider map\n\nCross-model review of the initial static design found three ways a static map can lie, all verified against the backend:\n\n- The cloud path falls back OpenRouter → OpenAI based on which key is effective (`get_effective_openai_compatible_credential` in `storage/store.rs`), so the note derives the named destination from the configured keys and hedges when none is set.\n- Ollama supports remote base URLs; \"never leaves your machine\" is only shown for unset/loopback URLs (`isLocalEndpoint`), otherwise endpoint-dependent copy is used.\n- \"nixmac does not store or inspect this data\" was dropped — session transcripts (#332/#334) are stored locally, so the copy now only claims \"not sent to nixmac's servers,\" which is accurate for all BYOK paths.\n\nCLI providers (Claude/Codex/OpenCode) get copy that doesn't overclaim downstream routing. Unknown providers render nothing.\n\n## Also in this PR\n\n- Fixes `AiModelsTab` not passing the selected model to `getProviderConfigInvalidReason`, which made ollama/vllm permanently show \"No model set\" — `prompt-input.tsx` already passes it; this aligns the settings call sites.\n\n## Scope notes\n\n- **ENG-231 is partial after this PR**: the ticket also covers the onboarding provider step, which doesn't exist yet (ENG-191). `ProviderDataFlowNote` is reusable there.\n- **Known limitation (ENG-555)**: backend env overrides (`OLLAMA_API_BASE`, `EVOLVE_PROVIDER`, `SUMMARY_AI_PROVIDER`) aren't surfaced through `ui_get_prefs`, so the note reflects stored configuration. Dev-only states; tracked separately.\n- Starter-access/proxy provider modes (ENG-537/ENG-539) will need their own copy entry; ENG-542 owns that disclosure.\n\n## Testing\n\n- 21 unit tests on the pure copy/locality helper (`provider-data-flow-note.test.ts`)\n- Integrated storybook snapshots: cloud, OpenAI-fallback, local Ollama, remote Ollama, OpenAI-compatible, CLI states\n- `oxlint` 0 errors, `tsc --noEmit` clean, full unit project 135/135\n\nCloses #-- (Linear: ENG-231 partial, ENG-555 follow-up)\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)",
    "created_at": "2026-06-10T02:10:57Z",
    "updated_at": "2026-06-10T02:43:28Z",
    "closed_at": null,
    "merged_at": null,
    "merge_commit_sha": "c9f56de456bfa18975dcf1eac39e7bfe9f8174cd",
    "assignees": [],
    "requested_reviewers": [],
    "requested_teams": [],
    "labels": [],
    "milestone": null,
    "draft": false,
    "commits_url": "https://api.github.com/repos/darkmatter/nixmac/pulls/364/commits",
    "review_comments_url": "https://api.github.com/repos/darkmatter/nixmac/pulls/364/comments",
    "review_comment_url": "https://api.github.com/repos/darkmatter/nixmac/pulls/comments{/number}",
    "comments_url": "https://api.github.com/repos/darkmatter/nixmac/issues/364/comments",
    "statuses_url": "https://api.github.com/repos/darkmatter/nixmac/statuses/e96432ded301b8326debea1298d6ec96ab3169e2",
    "head": {
      "label": "darkmatter:fkb/eng-231-provider-data-flow-note",
      "ref": "fkb/eng-231-provider-data-flow-note",
      "sha": "e96432ded301b8326debea1298d6ec96ab3169e2",
      "user": {
        "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
      },
      "repo": {
        "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-10T02:43:17Z",
        "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": 681507,
        "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": 87,
        "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": 87,
        "watchers": 5,
        "default_branch": "develop",
        "allow_squash_merge": true,
        "allow_merge_commit": false,
        "allow_rebase_merge": true,
        "allow_auto_merge": true,
        "delete_branch_on_merge": true,
        "allow_update_branch": true,
        "use_squash_pr_title_as_default": false,
        "squash_merge_commit_message": "COMMIT_MESSAGES",
        "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
        "merge_commit_message": "PR_TITLE",
        "merge_commit_title": "MERGE_MESSAGE"
      }
    },
    "base": {
      "label": "darkmatter:develop",
      "ref": "develop",
      "sha": "3b650d57a07ef4b316c0c118d3e32611bfe3fa58",
      "user": {
        "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
      },
      "repo": {
        "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-10T02:43:17Z",
        "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": 681507,
        "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": 87,
        "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": 87,
        "watchers": 5,
        "default_branch": "develop",
        "allow_squash_merge": true,
        "allow_merge_commit": false,
        "allow_rebase_merge": true,
        "allow_auto_merge": true,
        "delete_branch_on_merge": true,
        "allow_update_branch": true,
        "use_squash_pr_title_as_default": false,
        "squash_merge_commit_message": "COMMIT_MESSAGES",
        "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
        "merge_commit_message": "PR_TITLE",
        "merge_commit_title": "MERGE_MESSAGE"
      }
    },
    "_links": {
      "self": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/pulls/364"
      },
      "html": {
        "href": "https://github.com/darkmatter/nixmac/pull/364"
      },
      "issue": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/issues/364"
      },
      "comments": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/issues/364/comments"
      },
      "review_comments": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/pulls/364/comments"
      },
      "review_comment": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/pulls/comments{/number}"
      },
      "commits": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/pulls/364/commits"
      },
      "statuses": {
        "href": "https://api.github.com/repos/darkmatter/nixmac/statuses/e96432ded301b8326debea1298d6ec96ab3169e2"
      }
    },
    "author_association": "CONTRIBUTOR",
    "auto_merge": null,
    "assignee": null,
    "active_lock_reason": 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-10T02:43:17Z",
    "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": 681507,
    "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": 87,
    "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": 87,
    "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": "chatgpt-codex-connector[bot]",
    "id": 199175422,
    "node_id": "BOT_kgDOC98s_g",
    "avatar_url": "https://avatars.githubusercontent.com/in/1144995?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D",
    "html_url": "https://github.com/apps/chatgpt-codex-connector",
    "followers_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/followers",
    "following_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/following{/other_user}",
    "gists_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/subscriptions",
    "organizations_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/orgs",
    "repos_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/repos",
    "events_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/events{/privacy}",
    "received_events_url": "https://api.github.com/users/chatgpt-codex-connector%5Bbot%5D/received_events",
    "type": "Bot",
    "user_view_type": "public",
    "site_admin": false
  },
  "installation": {
    "id": 131074261,
    "node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTMxMDc0MjYx"
  }
}