Darkmatter · github-bot stage: prod
preview@internal.darkmatter
Events received
87482
Ignored
87435
Jobs dispatched
47

Event e2e365e4…

← All events

Event

Delivery
e2e365e4-64e2-11f1-9eae-99e1c6f55d48
Event
push
Action
Received
2026-06-10T15:41:47.593Z
Signature
valid
Parsed
yes
Sender
czxtm
Repo
darkmatter/himitsu
Status
ignored — not_trunk_branch

Headers

{
  "accept": "*/*",
  "accept-encoding": "gzip, br",
  "cf-connecting-ip": "140.82.115.148",
  "cf-ipcountry": "US",
  "cf-ray": "a0997b746c6ef270",
  "cf-visitor": "{\"scheme\":\"https\"}",
  "connection": "Keep-Alive",
  "content-length": "16477",
  "content-type": "application/json",
  "host": "github-bot.darkmatter.io",
  "user-agent": "GitHub-Hookshot/576ea10",
  "x-forwarded-proto": "https",
  "x-github-delivery": "e2e365e4-64e2-11f1-9eae-99e1c6f55d48",
  "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.148"
}

Payload

{
  "ref": "refs/heads/main",
  "before": "ba602f44c2f7f65dc175a32d59e0317986c8d73f",
  "after": "a17007abd4c42c51659fe163cf18b515ac432a10",
  "repository": {
    "id": 1167453127,
    "node_id": "R_kgDORZXrxw",
    "name": "himitsu",
    "full_name": "darkmatter/himitsu",
    "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/himitsu",
    "description": "Age-based secrets with cross-repo sharing, recipient groups, and typed codegen",
    "fork": false,
    "url": "https://api.github.com/repos/darkmatter/himitsu",
    "forks_url": "https://api.github.com/repos/darkmatter/himitsu/forks",
    "keys_url": "https://api.github.com/repos/darkmatter/himitsu/keys{/key_id}",
    "collaborators_url": "https://api.github.com/repos/darkmatter/himitsu/collaborators{/collaborator}",
    "teams_url": "https://api.github.com/repos/darkmatter/himitsu/teams",
    "hooks_url": "https://api.github.com/repos/darkmatter/himitsu/hooks",
    "issue_events_url": "https://api.github.com/repos/darkmatter/himitsu/issues/events{/number}",
    "events_url": "https://api.github.com/repos/darkmatter/himitsu/events",
    "assignees_url": "https://api.github.com/repos/darkmatter/himitsu/assignees{/user}",
    "branches_url": "https://api.github.com/repos/darkmatter/himitsu/branches{/branch}",
    "tags_url": "https://api.github.com/repos/darkmatter/himitsu/tags",
    "blobs_url": "https://api.github.com/repos/darkmatter/himitsu/git/blobs{/sha}",
    "git_tags_url": "https://api.github.com/repos/darkmatter/himitsu/git/tags{/sha}",
    "git_refs_url": "https://api.github.com/repos/darkmatter/himitsu/git/refs{/sha}",
    "trees_url": "https://api.github.com/repos/darkmatter/himitsu/git/trees{/sha}",
    "statuses_url": "https://api.github.com/repos/darkmatter/himitsu/statuses/{sha}",
    "languages_url": "https://api.github.com/repos/darkmatter/himitsu/languages",
    "stargazers_url": "https://api.github.com/repos/darkmatter/himitsu/stargazers",
    "contributors_url": "https://api.github.com/repos/darkmatter/himitsu/contributors",
    "subscribers_url": "https://api.github.com/repos/darkmatter/himitsu/subscribers",
    "subscription_url": "https://api.github.com/repos/darkmatter/himitsu/subscription",
    "commits_url": "https://api.github.com/repos/darkmatter/himitsu/commits{/sha}",
    "git_commits_url": "https://api.github.com/repos/darkmatter/himitsu/git/commits{/sha}",
    "comments_url": "https://api.github.com/repos/darkmatter/himitsu/comments{/number}",
    "issue_comment_url": "https://api.github.com/repos/darkmatter/himitsu/issues/comments{/number}",
    "contents_url": "https://api.github.com/repos/darkmatter/himitsu/contents/{+path}",
    "compare_url": "https://api.github.com/repos/darkmatter/himitsu/compare/{base}...{head}",
    "merges_url": "https://api.github.com/repos/darkmatter/himitsu/merges",
    "archive_url": "https://api.github.com/repos/darkmatter/himitsu/{archive_format}{/ref}",
    "downloads_url": "https://api.github.com/repos/darkmatter/himitsu/downloads",
    "issues_url": "https://api.github.com/repos/darkmatter/himitsu/issues{/number}",
    "pulls_url": "https://api.github.com/repos/darkmatter/himitsu/pulls{/number}",
    "milestones_url": "https://api.github.com/repos/darkmatter/himitsu/milestones{/number}",
    "notifications_url": "https://api.github.com/repos/darkmatter/himitsu/notifications{?since,all,participating}",
    "labels_url": "https://api.github.com/repos/darkmatter/himitsu/labels{/name}",
    "releases_url": "https://api.github.com/repos/darkmatter/himitsu/releases{/id}",
    "deployments_url": "https://api.github.com/repos/darkmatter/himitsu/deployments",
    "created_at": 1772100261,
    "updated_at": "2026-06-09T13:22:19Z",
    "pushed_at": 1781106104,
    "git_url": "git://github.com/darkmatter/himitsu.git",
    "ssh_url": "git@github.com:darkmatter/himitsu.git",
    "clone_url": "https://github.com/darkmatter/himitsu.git",
    "svn_url": "https://github.com/darkmatter/himitsu",
    "homepage": "",
    "size": 12820,
    "stargazers_count": 1,
    "watchers_count": 1,
    "language": "Rust",
    "has_issues": true,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": true,
    "has_pages": false,
    "has_discussions": false,
    "forks_count": 0,
    "mirror_url": null,
    "archived": false,
    "disabled": false,
    "open_issues_count": 0,
    "license": null,
    "allow_forking": true,
    "is_template": false,
    "web_commit_signoff_required": false,
    "has_pull_requests": true,
    "pull_request_creation_policy": "all",
    "topics": [],
    "visibility": "public",
    "forks": 0,
    "open_issues": 0,
    "watchers": 1,
    "default_branch": "main",
    "stargazers": 1,
    "master_branch": "main",
    "organization": "darkmatter",
    "custom_properties": {}
  },
  "pusher": {
    "name": "czxtm",
    "email": "1325802+czxtm@users.noreply.github.com"
  },
  "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": "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"
  },
  "created": false,
  "deleted": false,
  "base_ref": null,
  "compare": "https://github.com/darkmatter/himitsu/compare/ba602f44c2f7...a17007abd4c4",
  "commits": [
    {
      "id": "679da944476137f590da4b04cd9aa04bf07e215d",
      "tree_id": "a8821f00b48f5e0d1e64313edfbf0f1e4687a2c8",
      "distinct": true,
      "message": "refactor: deepen seams from architecture review\n\nLand the 2026-06-09 review (hm-x9r, hm-i9k, hm-y36, hm-x7z, hm-cpc,\nhm-dwr, hm-a16):\n\n- Context owns project-config resolution (ctx.project_config(),\n  memoized) — fixes five sites that ignored --project (generate,\n  codegen x2, export, check, TUI health)\n- OutputResolver: one decrypt-once scan behind open(); tri-state\n  env_map makes exec's label path a one-liner; generate/codegen stop\n  decrypting the store twice\n- exec accepts multiple refs (union; conflicting values hard-error)\n- ADR-0001: keep last-wins collapse in file generators; codegen gains\n  generate's duplicate-key warning\n- StoreOps owns the mutation chain (commit/push/completions refresh)\n  for both the CLI dispatcher and TUI cores — TUI delete/rekey no\n  longer leave the store dirty; join no longer prints into ratatui\n- KeyRegistry: exhaustive-match rows derive dispatch, live help, and\n  palette shortcuts; envs config key renamed outputs (serde alias)\n- PathFolding/ResultSort/StoreHealth graduate out of the search view\n  as terminal-free modules\n\nAlso fixes: completions cache missed same-second deletions (mtime\nfingerprint now nanos + entry count); Ctrl+Space chords could not\nroundtrip the config format; viewer rekey targeted the ambient store\ninstead of the secret's own.\n\nGates: 691 lib + 155 integration tests, clippy clean.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
      "timestamp": "2026-06-10T08:41:43-07:00",
      "url": "https://github.com/darkmatter/himitsu/commit/679da944476137f590da4b04cd9aa04bf07e215d",
      "author": {
        "name": "Cooper Maruyama",
        "email": "demo@himitsu.dev",
        "date": "2026-06-10T08:15:10-07:00"
      },
      "committer": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-06-10T08:41:43-07:00",
        "username": "czxtm"
      },
      "added": [
        "docs/adr/0001-keep-last-wins-collapse-in-file-generators.md",
        "rust/src/cli/output_resolver.rs",
        "rust/src/cli/store_ops.rs",
        "rust/src/tui/model/mod.rs",
        "rust/src/tui/model/path_folding.rs",
        "rust/src/tui/model/result_sort.rs",
        "rust/src/tui/widgets/store_health.rs"
      ],
      "removed": [],
      "modified": [
        "CONTEXT.md",
        "README.md",
        "docs/ARCHITECTURE.md",
        "rust/src/cli/check.rs",
        "rust/src/cli/codegen.rs",
        "rust/src/cli/completions.rs",
        "rust/src/cli/doctor.rs",
        "rust/src/cli/exec.rs",
        "rust/src/cli/export.rs",
        "rust/src/cli/generate.rs",
        "rust/src/cli/get.rs",
        "rust/src/cli/import.rs",
        "rust/src/cli/init.rs",
        "rust/src/cli/join.rs",
        "rust/src/cli/mod.rs",
        "rust/src/cli/recipient.rs",
        "rust/src/cli/resolver.rs",
        "rust/src/cli/schema.rs",
        "rust/src/cli/search.rs",
        "rust/src/cli/set.rs",
        "rust/src/cli/sync.rs",
        "rust/src/completions_cache.rs",
        "rust/src/config/mod.rs",
        "rust/src/tui/app.rs",
        "rust/src/tui/harness.rs",
        "rust/src/tui/keymap.rs",
        "rust/src/tui/mod.rs",
        "rust/src/tui/views/command_palette.rs",
        "rust/src/tui/views/help.rs",
        "rust/src/tui/views/new_secret.rs",
        "rust/src/tui/views/outputs.rs",
        "rust/src/tui/views/recipient_add.rs",
        "rust/src/tui/views/recipient_list.rs",
        "rust/src/tui/views/remote_add.rs",
        "rust/src/tui/views/search.rs",
        "rust/src/tui/views/secret_viewer.rs",
        "rust/src/tui/widgets/mod.rs",
        "tests/integration/cli_test.rs"
      ]
    },
    {
      "id": "e39a87b1ceda52180ae9b380f99c4d95dfecb990",
      "tree_id": "a54b53440a592a91baf46976fd53254077fca356",
      "distinct": true,
      "message": "style: apply rustfmt\n\nCI gates on `cargo fmt -- --check`.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
      "timestamp": "2026-06-10T08:41:43-07:00",
      "url": "https://github.com/darkmatter/himitsu/commit/e39a87b1ceda52180ae9b380f99c4d95dfecb990",
      "author": {
        "name": "Cooper Maruyama",
        "email": "demo@himitsu.dev",
        "date": "2026-06-10T08:18:39-07:00"
      },
      "committer": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-06-10T08:41:43-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [],
      "modified": [
        "rust/src/cli/mod.rs",
        "rust/src/cli/output_resolver.rs",
        "rust/src/cli/recipient.rs",
        "rust/src/cli/resolver.rs",
        "rust/src/cli/store_ops.rs",
        "rust/src/tui/mod.rs",
        "rust/src/tui/model/path_folding.rs",
        "rust/src/tui/views/new_secret.rs",
        "rust/src/tui/views/recipient_list.rs",
        "rust/src/tui/views/search.rs",
        "tests/integration/cli_test.rs"
      ]
    },
    {
      "id": "a1670cf704bc73f40a7acc982b26c65020237536",
      "tree_id": "ce50899070a204d29768ea07ac06ca8748d9187c",
      "distinct": true,
      "message": "fix: tolerate missing identities in OutputResolver scan\n\nThe old candidate builder used load_identities().unwrap_or_default(),\nso codegen --lang worked on machines with no age identity at all;\nopen() propagated the error instead. Restore the tolerant scan\n(no identities -> no tags -> tag selectors match nothing, mirroring\nls --tag) and the tolerant store listing. Needing a value still\nfails hard at env_map/decode time.\n\nCaught by CI only: local runs masked the regression via the\ndeveloper's ~/.config/sops/age fallback keys. New regression test\nremoves the on-disk key explicitly.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
      "timestamp": "2026-06-10T08:41:43-07:00",
      "url": "https://github.com/darkmatter/himitsu/commit/a1670cf704bc73f40a7acc982b26c65020237536",
      "author": {
        "name": "Cooper Maruyama",
        "email": "demo@himitsu.dev",
        "date": "2026-06-10T08:25:12-07:00"
      },
      "committer": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-06-10T08:41:43-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [],
      "modified": [
        "rust/src/cli/output_resolver.rs"
      ]
    },
    {
      "id": "2461f4ae45a430e67827b8f72a582e5c625d19e2",
      "tree_id": "9eb2a04a4a234e75a98b82aa9e00751cdf9f916b",
      "distinct": true,
      "message": "fix: address review nits in help draw and exec doc\n\n- HelpView::draw borrows row descriptions instead of cloning per frame\n- resolve_selector_env doc: ExecEmptyMatch fires only on zero path\n  candidates; post-filter emptiness is the caller's policy\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
      "timestamp": "2026-06-10T08:41:43-07:00",
      "url": "https://github.com/darkmatter/himitsu/commit/2461f4ae45a430e67827b8f72a582e5c625d19e2",
      "author": {
        "name": "Cooper Maruyama",
        "email": "demo@himitsu.dev",
        "date": "2026-06-10T08:28:04-07:00"
      },
      "committer": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-06-10T08:41:43-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [],
      "modified": [
        "rust/src/cli/exec.rs",
        "rust/src/tui/views/help.rs"
      ]
    },
    {
      "id": "a17007abd4c42c51659fe163cf18b515ac432a10",
      "tree_id": "a2f049a5f12a4a8e4fdb663c19ea9bcd1d5e7d12",
      "distinct": true,
      "message": "fix: scope chains and recipient overrides to the right store\n\n- store_ops::set_secret: a qualified ref writes to its own store; the\n  mutation chain (commit/push/completions refresh) now targets that\n  effective store instead of leaving it dirty and refreshing the\n  ambient cache\n- store_health: the project-store check no longer inherits the ACTIVE\n  store's recipients_path override (false NotRecipient); it resolves\n  store-internal config first, then the project config override,\n  mirroring the dispatcher\n\nBoth from Copilot review on PR #20; the second is pre-existing\nbehavior surfaced by the widget extraction.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
      "timestamp": "2026-06-10T08:41:43-07:00",
      "url": "https://github.com/darkmatter/himitsu/commit/a17007abd4c42c51659fe163cf18b515ac432a10",
      "author": {
        "name": "Cooper Maruyama",
        "email": "demo@himitsu.dev",
        "date": "2026-06-10T08:36:08-07:00"
      },
      "committer": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-06-10T08:41:43-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [],
      "modified": [
        "rust/src/cli/store_ops.rs",
        "rust/src/tui/widgets/store_health.rs"
      ]
    }
  ],
  "head_commit": {
    "id": "a17007abd4c42c51659fe163cf18b515ac432a10",
    "tree_id": "a2f049a5f12a4a8e4fdb663c19ea9bcd1d5e7d12",
    "distinct": true,
    "message": "fix: scope chains and recipient overrides to the right store\n\n- store_ops::set_secret: a qualified ref writes to its own store; the\n  mutation chain (commit/push/completions refresh) now targets that\n  effective store instead of leaving it dirty and refreshing the\n  ambient cache\n- store_health: the project-store check no longer inherits the ACTIVE\n  store's recipients_path override (false NotRecipient); it resolves\n  store-internal config first, then the project config override,\n  mirroring the dispatcher\n\nBoth from Copilot review on PR #20; the second is pre-existing\nbehavior surfaced by the widget extraction.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
    "timestamp": "2026-06-10T08:41:43-07:00",
    "url": "https://github.com/darkmatter/himitsu/commit/a17007abd4c42c51659fe163cf18b515ac432a10",
    "author": {
      "name": "Cooper Maruyama",
      "email": "demo@himitsu.dev",
      "date": "2026-06-10T08:36:08-07:00"
    },
    "committer": {
      "name": "cooper",
      "email": "1325802+czxtm@users.noreply.github.com",
      "date": "2026-06-10T08:41:43-07:00",
      "username": "czxtm"
    },
    "added": [],
    "removed": [],
    "modified": [
      "rust/src/cli/store_ops.rs",
      "rust/src/tui/widgets/store_health.rs"
    ]
  }
}