Darkmatter · github-bot stage: prod
preview@internal.darkmatter
Events received
85489
Ignored
85445
Jobs dispatched
45

Event 8c780096…

← All events

Event

Delivery
8c780096-6511-11f1-9963-aee1eabc53df
Event
push
Action
Received
2026-06-10T21:15:48.389Z
Signature
valid
Parsed
yes
Sender
arximboldi
Repo
darkmatter/nixmac
Status
ignored — not_trunk_branch

Headers

{
  "accept": "*/*",
  "accept-encoding": "gzip, br",
  "cf-connecting-ip": "140.82.115.151",
  "cf-ipcountry": "US",
  "cf-ray": "a09b64bb384de63b",
  "cf-visitor": "{\"scheme\":\"https\"}",
  "connection": "Keep-Alive",
  "content-length": "17247",
  "content-type": "application/json",
  "host": "github-bot.darkmatter.io",
  "user-agent": "GitHub-Hookshot/576ea10",
  "x-forwarded-proto": "https",
  "x-github-delivery": "8c780096-6511-11f1-9963-aee1eabc53df",
  "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.151"
}

Payload

{
  "ref": "refs/heads/jp/refactor-the-refactor",
  "before": "972e9da181d8a732aa52dc35355e626a02b66c98",
  "after": "ee64b29fa21dfd1ee4411ab7d937e4d815a1a2ad",
  "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-10T15:32:59Z",
    "pushed_at": 1781126146,
    "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": 681638,
    "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": 85,
    "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": 85,
    "watchers": 5,
    "default_branch": "develop",
    "stargazers": 5,
    "master_branch": "develop",
    "organization": "darkmatter",
    "custom_properties": {}
  },
  "pusher": {
    "name": "arximboldi",
    "email": "juanpe@sinusoid.es"
  },
  "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": "arximboldi",
    "id": 4521138,
    "node_id": "MDQ6VXNlcjQ1MjExMzg=",
    "avatar_url": "https://avatars.githubusercontent.com/u/4521138?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/arximboldi",
    "html_url": "https://github.com/arximboldi",
    "followers_url": "https://api.github.com/users/arximboldi/followers",
    "following_url": "https://api.github.com/users/arximboldi/following{/other_user}",
    "gists_url": "https://api.github.com/users/arximboldi/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/arximboldi/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/arximboldi/subscriptions",
    "organizations_url": "https://api.github.com/users/arximboldi/orgs",
    "repos_url": "https://api.github.com/users/arximboldi/repos",
    "events_url": "https://api.github.com/users/arximboldi/events{/privacy}",
    "received_events_url": "https://api.github.com/users/arximboldi/received_events",
    "type": "User",
    "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/972e9da181d8...ee64b29fa21d",
  "commits": [
    {
      "id": "6c1d03d38c540e8a530f01b8144fc6e068837558",
      "tree_id": "099b0aec98778d56b8997b819cf1da010820beb1",
      "distinct": true,
      "message": "configurable: replace SliceRegistry with compile-time inventory\n\nDrops the runtime SliceRegistry / RegisteredSliceConfig pair in favor of\ncompile-time registration via the `inventory` crate, addressing B1 from\ndocs/2026-06-03-pr-review-followups.md.\n\nThe derive now emits one `inventory::submit!{ ConfigurableMeta {...} }`\nper #[derive(Configurable)] struct, alongside the existing Wry-specialized\nshim functions. `ConfigurableMeta` lives in the `configurable` crate and\ncarries the same triple as the old RegisteredSliceConfig (name +\nschema_fn + set_field_fn). The `inventory` crate is re-exported from\n`configurable::inventory` so the derive output never needs the consuming\ncrate to add it as a direct dep.\n\n`commands/dev_configs.rs` walks `inventory::iter::<ConfigurableMeta>()`\ninstead of looking up `tauri::State<SliceRegistry>`; a new test confirms\nthe link-time submit actually lands (\"EvolutionLimits is registered via\ninventory\") so a future toolchain regression on linker sections is\ncaught before dev settings silently goes empty.\n\nDeleted:\n- apps/native/src-tauri/src/state/slice/ (whole directory)\n- evolve::config::register_slice_config\n- the app.manage(SliceRegistry::default()) line in main.rs\n- the register_slice_config(...) call in the Tauri setup hook\n- state/mod.rs stops re-exporting the `slice` submodule\n\nmain.rs no longer references EvolutionLimits or any other Configurable\nstruct directly — registration happens entirely through the derive.\n\ncargo test on src-tauri: 377 passed / 2 ignored (1 added, 1 dropped —\nthe SliceRegistry::register round-trip moves with the registry into the\nbit bucket).\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
      "timestamp": "2026-06-10T22:32:52+02:00",
      "url": "https://github.com/darkmatter/nixmac/commit/6c1d03d38c540e8a530f01b8144fc6e068837558",
      "author": {
        "name": "Juan Pedro Bolívar Puente",
        "email": "raskolnikov@gnu.org",
        "date": "2026-06-10T22:32:52+02:00",
        "username": "arximboldi"
      },
      "committer": {
        "name": "Juan Pedro Bolívar Puente",
        "email": "raskolnikov@gnu.org",
        "date": "2026-06-10T22:32:52+02:00",
        "username": "arximboldi"
      },
      "added": [],
      "removed": [
        "apps/native/src-tauri/src/state/slice/mod.rs",
        "apps/native/src-tauri/src/state/slice/registry.rs"
      ],
      "modified": [
        "Cargo.lock",
        "apps/native/src-tauri/configurable-derive/src/codegen.rs",
        "apps/native/src-tauri/configurable/Cargo.toml",
        "apps/native/src-tauri/configurable/src/lib.rs",
        "apps/native/src-tauri/src/commands/dev_configs.rs",
        "apps/native/src-tauri/src/evolve/config.rs",
        "apps/native/src-tauri/src/main.rs",
        "apps/native/src-tauri/src/state/mod.rs"
      ]
    },
    {
      "id": "ee64b29fa21dfd1ee4411ab7d937e4d815a1a2ad",
      "tree_id": "f19eadf1572c145b953df8a4b4b7f8952d33da2d",
      "distinct": true,
      "message": "configurable: split schema from current value\n\nAddresses B3 from docs/2026-06-03-pr-review-followups.md. The schema half\nis now pure static metadata and no longer requires an AppHandle; the\ndynamic half (current store-backed values) is fetched separately and the\ntwo are joined at the IPC boundary.\n\nType changes in the configurable crate:\n  - ConfigField is gone. Split into:\n    * ConfigFieldSchema { key, label, help, ty, default } — static\n    * ConfigFieldValue  { key, current }                  — dynamic\n  - ConfigurableSchema.fields: Vec<ConfigFieldSchema>  (no `current` field)\n  - New ConfigurableSnapshot { schema, values } is what dev_configs_list\n    returns to the frontend.\n  - ConfigurableMeta gains a `load_value_fn` pointer; `schema_fn` drops\n    its AppHandle argument and now returns ConfigurableSchema directly\n    (no Result, no app).\n\nDerive macro:\n  - schema() generated without an `app` parameter; same value every call.\n  - Adds __configurable_load_value_wry that calls Self::load(app) and\n    serializes to serde_json::Value for the IPC join.\n\ncommands/dev_configs.rs:\n  - dev_configs_list returns Vec<ConfigurableSnapshot>.\n  - snapshot_for() joins the static schema with current values by key.\n\nspecta_gen_ts.rs registers the new types; ipc/types.ts regenerated.\n\nFrontend:\n  - tauriAPI.devConfigs.list() returns ConfigurableSnapshot[].\n  - AutoConfigField now takes `field: ConfigFieldSchema` and a separate\n    `current: JsonValue` prop, instead of pulling `current` off the field.\n  - Both auto-tuning-section.tsx and tuning-tab.tsx build a per-snapshot\n    valuesByKey map and pass each field's current value in.\n  - Storybook stories updated to the new snapshot shape.\n\nAcceptance per the followup doc:\n  - `EvolutionLimits::schema()` is callable without an AppHandle.\n  - Same value every call.\n  - IPC payload joins schema and values at the command boundary.\n\ncargo test on src-tauri: 377 passed / 2 ignored.\nbun run test:unit: 119 passed.\nbun run build: passes (tsc + vite).\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
      "timestamp": "2026-06-10T23:10:05+02:00",
      "url": "https://github.com/darkmatter/nixmac/commit/ee64b29fa21dfd1ee4411ab7d937e4d815a1a2ad",
      "author": {
        "name": "Juan Pedro Bolívar Puente",
        "email": "raskolnikov@gnu.org",
        "date": "2026-06-10T23:10:05+02:00",
        "username": "arximboldi"
      },
      "committer": {
        "name": "Juan Pedro Bolívar Puente",
        "email": "raskolnikov@gnu.org",
        "date": "2026-06-10T23:10:05+02:00",
        "username": "arximboldi"
      },
      "added": [],
      "removed": [],
      "modified": [
        "apps/native/src-tauri/configurable-derive/src/codegen.rs",
        "apps/native/src-tauri/configurable-derive/src/fields.rs",
        "apps/native/src-tauri/configurable/src/lib.rs",
        "apps/native/src-tauri/examples/specta_gen_ts.rs",
        "apps/native/src-tauri/src/commands/dev_configs.rs",
        "apps/native/src/components/widget/settings/auto-config-field.stories.tsx",
        "apps/native/src/components/widget/settings/auto-config-field.tsx",
        "apps/native/src/components/widget/settings/auto-tuning-section.stories.tsx",
        "apps/native/src/components/widget/settings/auto-tuning-section.tsx",
        "apps/native/src/components/widget/settings/tuning-tab.tsx",
        "apps/native/src/ipc/api.ts",
        "apps/native/src/ipc/types.ts"
      ]
    }
  ],
  "head_commit": {
    "id": "ee64b29fa21dfd1ee4411ab7d937e4d815a1a2ad",
    "tree_id": "f19eadf1572c145b953df8a4b4b7f8952d33da2d",
    "distinct": true,
    "message": "configurable: split schema from current value\n\nAddresses B3 from docs/2026-06-03-pr-review-followups.md. The schema half\nis now pure static metadata and no longer requires an AppHandle; the\ndynamic half (current store-backed values) is fetched separately and the\ntwo are joined at the IPC boundary.\n\nType changes in the configurable crate:\n  - ConfigField is gone. Split into:\n    * ConfigFieldSchema { key, label, help, ty, default } — static\n    * ConfigFieldValue  { key, current }                  — dynamic\n  - ConfigurableSchema.fields: Vec<ConfigFieldSchema>  (no `current` field)\n  - New ConfigurableSnapshot { schema, values } is what dev_configs_list\n    returns to the frontend.\n  - ConfigurableMeta gains a `load_value_fn` pointer; `schema_fn` drops\n    its AppHandle argument and now returns ConfigurableSchema directly\n    (no Result, no app).\n\nDerive macro:\n  - schema() generated without an `app` parameter; same value every call.\n  - Adds __configurable_load_value_wry that calls Self::load(app) and\n    serializes to serde_json::Value for the IPC join.\n\ncommands/dev_configs.rs:\n  - dev_configs_list returns Vec<ConfigurableSnapshot>.\n  - snapshot_for() joins the static schema with current values by key.\n\nspecta_gen_ts.rs registers the new types; ipc/types.ts regenerated.\n\nFrontend:\n  - tauriAPI.devConfigs.list() returns ConfigurableSnapshot[].\n  - AutoConfigField now takes `field: ConfigFieldSchema` and a separate\n    `current: JsonValue` prop, instead of pulling `current` off the field.\n  - Both auto-tuning-section.tsx and tuning-tab.tsx build a per-snapshot\n    valuesByKey map and pass each field's current value in.\n  - Storybook stories updated to the new snapshot shape.\n\nAcceptance per the followup doc:\n  - `EvolutionLimits::schema()` is callable without an AppHandle.\n  - Same value every call.\n  - IPC payload joins schema and values at the command boundary.\n\ncargo test on src-tauri: 377 passed / 2 ignored.\nbun run test:unit: 119 passed.\nbun run build: passes (tsc + vite).\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
    "timestamp": "2026-06-10T23:10:05+02:00",
    "url": "https://github.com/darkmatter/nixmac/commit/ee64b29fa21dfd1ee4411ab7d937e4d815a1a2ad",
    "author": {
      "name": "Juan Pedro Bolívar Puente",
      "email": "raskolnikov@gnu.org",
      "date": "2026-06-10T23:10:05+02:00",
      "username": "arximboldi"
    },
    "committer": {
      "name": "Juan Pedro Bolívar Puente",
      "email": "raskolnikov@gnu.org",
      "date": "2026-06-10T23:10:05+02:00",
      "username": "arximboldi"
    },
    "added": [],
    "removed": [],
    "modified": [
      "apps/native/src-tauri/configurable-derive/src/codegen.rs",
      "apps/native/src-tauri/configurable-derive/src/fields.rs",
      "apps/native/src-tauri/configurable/src/lib.rs",
      "apps/native/src-tauri/examples/specta_gen_ts.rs",
      "apps/native/src-tauri/src/commands/dev_configs.rs",
      "apps/native/src/components/widget/settings/auto-config-field.stories.tsx",
      "apps/native/src/components/widget/settings/auto-config-field.tsx",
      "apps/native/src/components/widget/settings/auto-tuning-section.stories.tsx",
      "apps/native/src/components/widget/settings/auto-tuning-section.tsx",
      "apps/native/src/components/widget/settings/tuning-tab.tsx",
      "apps/native/src/ipc/api.ts",
      "apps/native/src/ipc/types.ts"
    ]
  }
}