Darkmatter · agent stage: prod
preview@internal.darkmatter
Events received
115558
Ignored
115445
Jobs dispatched
117

Event 1c5317ee…

← All events

Event

Delivery
1c5317ee-5cf4-11f1-9e94-b9deffa8a007
Event
push
Action
Received
2026-05-31T13:24:55.764Z
Signature
valid
Parsed
yes
Sender
cursor[bot]
Repo
darkmatter/titan
Status
ignored — unsupported_event

Headers

{
  "accept": "*/*",
  "accept-encoding": "gzip, br",
  "cf-connecting-ip": "140.82.115.45",
  "cf-ipcountry": "US",
  "cf-ray": "a0464d387b335886",
  "cf-visitor": "{\"scheme\":\"https\"}",
  "connection": "Keep-Alive",
  "content-length": "92020",
  "content-type": "application/json",
  "host": "github-bot.darkmatter.io",
  "user-agent": "GitHub-Hookshot/c97f169",
  "x-forwarded-proto": "https",
  "x-github-delivery": "1c5317ee-5cf4-11f1-9e94-b9deffa8a007",
  "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.45"
}

Payload

{
  "ref": "refs/heads/fkb/cl-replay-deposit-basis",
  "before": "f1f01797da8c1e0beefa5eb883e1a914a81ba46d",
  "after": "6ac9d66eeb58ca53a0a296ef058832661d153b1f",
  "repository": {
    "id": 1144186344,
    "node_id": "R_kgDORDLl6A",
    "name": "titan",
    "full_name": "darkmatter/titan",
    "private": true,
    "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/titan",
    "description": null,
    "fork": false,
    "url": "https://api.github.com/repos/darkmatter/titan",
    "forks_url": "https://api.github.com/repos/darkmatter/titan/forks",
    "keys_url": "https://api.github.com/repos/darkmatter/titan/keys{/key_id}",
    "collaborators_url": "https://api.github.com/repos/darkmatter/titan/collaborators{/collaborator}",
    "teams_url": "https://api.github.com/repos/darkmatter/titan/teams",
    "hooks_url": "https://api.github.com/repos/darkmatter/titan/hooks",
    "issue_events_url": "https://api.github.com/repos/darkmatter/titan/issues/events{/number}",
    "events_url": "https://api.github.com/repos/darkmatter/titan/events",
    "assignees_url": "https://api.github.com/repos/darkmatter/titan/assignees{/user}",
    "branches_url": "https://api.github.com/repos/darkmatter/titan/branches{/branch}",
    "tags_url": "https://api.github.com/repos/darkmatter/titan/tags",
    "blobs_url": "https://api.github.com/repos/darkmatter/titan/git/blobs{/sha}",
    "git_tags_url": "https://api.github.com/repos/darkmatter/titan/git/tags{/sha}",
    "git_refs_url": "https://api.github.com/repos/darkmatter/titan/git/refs{/sha}",
    "trees_url": "https://api.github.com/repos/darkmatter/titan/git/trees{/sha}",
    "statuses_url": "https://api.github.com/repos/darkmatter/titan/statuses/{sha}",
    "languages_url": "https://api.github.com/repos/darkmatter/titan/languages",
    "stargazers_url": "https://api.github.com/repos/darkmatter/titan/stargazers",
    "contributors_url": "https://api.github.com/repos/darkmatter/titan/contributors",
    "subscribers_url": "https://api.github.com/repos/darkmatter/titan/subscribers",
    "subscription_url": "https://api.github.com/repos/darkmatter/titan/subscription",
    "commits_url": "https://api.github.com/repos/darkmatter/titan/commits{/sha}",
    "git_commits_url": "https://api.github.com/repos/darkmatter/titan/git/commits{/sha}",
    "comments_url": "https://api.github.com/repos/darkmatter/titan/comments{/number}",
    "issue_comment_url": "https://api.github.com/repos/darkmatter/titan/issues/comments{/number}",
    "contents_url": "https://api.github.com/repos/darkmatter/titan/contents/{+path}",
    "compare_url": "https://api.github.com/repos/darkmatter/titan/compare/{base}...{head}",
    "merges_url": "https://api.github.com/repos/darkmatter/titan/merges",
    "archive_url": "https://api.github.com/repos/darkmatter/titan/{archive_format}{/ref}",
    "downloads_url": "https://api.github.com/repos/darkmatter/titan/downloads",
    "issues_url": "https://api.github.com/repos/darkmatter/titan/issues{/number}",
    "pulls_url": "https://api.github.com/repos/darkmatter/titan/pulls{/number}",
    "milestones_url": "https://api.github.com/repos/darkmatter/titan/milestones{/number}",
    "notifications_url": "https://api.github.com/repos/darkmatter/titan/notifications{?since,all,participating}",
    "labels_url": "https://api.github.com/repos/darkmatter/titan/labels{/name}",
    "releases_url": "https://api.github.com/repos/darkmatter/titan/releases{/id}",
    "deployments_url": "https://api.github.com/repos/darkmatter/titan/deployments",
    "created_at": 1769601223,
    "updated_at": "2026-05-31T13:20:07Z",
    "pushed_at": 1780233893,
    "git_url": "git://github.com/darkmatter/titan.git",
    "ssh_url": "git@github.com:darkmatter/titan.git",
    "clone_url": "https://github.com/darkmatter/titan.git",
    "svn_url": "https://github.com/darkmatter/titan",
    "homepage": "https://switchblade.app",
    "size": 45213,
    "stargazers_count": 0,
    "watchers_count": 0,
    "language": "TypeScript",
    "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": 42,
    "license": null,
    "allow_forking": false,
    "is_template": false,
    "web_commit_signoff_required": false,
    "has_pull_requests": true,
    "pull_request_creation_policy": "all",
    "topics": [],
    "visibility": "internal",
    "forks": 0,
    "open_issues": 42,
    "watchers": 0,
    "default_branch": "main",
    "stargazers": 0,
    "master_branch": "main",
    "organization": "darkmatter",
    "custom_properties": {}
  },
  "pusher": {
    "name": "cursor[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-05-09T15:34:55Z"
  },
  "sender": {
    "login": "cursor[bot]",
    "id": 206951365,
    "node_id": "BOT_kgDODFXTxQ",
    "avatar_url": "https://avatars.githubusercontent.com/in/1210556?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/cursor%5Bbot%5D",
    "html_url": "https://github.com/apps/cursor",
    "followers_url": "https://api.github.com/users/cursor%5Bbot%5D/followers",
    "following_url": "https://api.github.com/users/cursor%5Bbot%5D/following{/other_user}",
    "gists_url": "https://api.github.com/users/cursor%5Bbot%5D/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/cursor%5Bbot%5D/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/cursor%5Bbot%5D/subscriptions",
    "organizations_url": "https://api.github.com/users/cursor%5Bbot%5D/orgs",
    "repos_url": "https://api.github.com/users/cursor%5Bbot%5D/repos",
    "events_url": "https://api.github.com/users/cursor%5Bbot%5D/events{/privacy}",
    "received_events_url": "https://api.github.com/users/cursor%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/titan/compare/f1f01797da8c...6ac9d66eeb58",
  "commits": [
    {
      "id": "87462a4f8772acdabb107e77a323adea7bcc4bcb",
      "tree_id": "e5f4f8442208859115e97cc5ce2ca4d9a6aaa7a1",
      "distinct": false,
      "message": "Deploy switchblade on Fly",
      "timestamp": "2026-04-23T18:17:04-07:00",
      "url": "https://github.com/darkmatter/titan/commit/87462a4f8772acdabb107e77a323adea7bcc4bcb",
      "author": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T18:17:04-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T18:17:04-07:00",
        "username": "fkb032"
      },
      "added": [
        ".dockerignore",
        "Dockerfile.fly",
        "fly.toml"
      ],
      "removed": [],
      "modified": [
        ".beads/issues.jsonl",
        "apps/server/src/index.ts",
        "apps/web/vite.config.ts"
      ]
    },
    {
      "id": "23f9e3024ffd8a6e78bb4540660facaa883c06a2",
      "tree_id": "219fcd6ac3b9a902221be5f0a1b0b77175ab510c",
      "distinct": false,
      "message": "Fix Fly SPA fallback routing",
      "timestamp": "2026-04-23T19:14:30-07:00",
      "url": "https://github.com/darkmatter/titan/commit/23f9e3024ffd8a6e78bb4540660facaa883c06a2",
      "author": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T19:14:30-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T19:14:30-07:00",
        "username": "fkb032"
      },
      "added": [
        "apps/server/src/spa-fallback.test.ts",
        "apps/server/src/spa-fallback.ts"
      ],
      "removed": [],
      "modified": [
        ".beads/issues.jsonl",
        "apps/server/src/cors.test.ts",
        "apps/server/src/cors.ts",
        "apps/server/src/index.ts",
        "fly.toml"
      ]
    },
    {
      "id": "ba26c5b9da5398a4be8c653913e38b856fc77592",
      "tree_id": "35a4699006b392629640ac6048285a40742101c8",
      "distinct": false,
      "message": "Protect Fly web app with basic auth",
      "timestamp": "2026-04-23T19:32:15-07:00",
      "url": "https://github.com/darkmatter/titan/commit/ba26c5b9da5398a4be8c653913e38b856fc77592",
      "author": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T19:32:15-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T19:32:15-07:00",
        "username": "fkb032"
      },
      "added": [
        "apps/server/src/basic-auth.test.ts",
        "apps/server/src/basic-auth.ts"
      ],
      "removed": [],
      "modified": [
        "apps/server/src/index.ts",
        "fly.toml"
      ]
    },
    {
      "id": "6dc9116d8b0379d2baa8ff37c1169c6e970d4504",
      "tree_id": "0e37dc1f7afb6a97095c61098e15f14ff03852bf",
      "distinct": false,
      "message": "Rename Fly app to fkb-titan",
      "timestamp": "2026-04-23T20:07:30-07:00",
      "url": "https://github.com/darkmatter/titan/commit/6dc9116d8b0379d2baa8ff37c1169c6e970d4504",
      "author": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T20:07:30-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-23T20:07:30-07:00",
        "username": "fkb032"
      },
      "added": [],
      "removed": [],
      "modified": [
        "apps/server/src/cors.test.ts",
        "apps/server/src/cors.ts",
        "fly.toml"
      ]
    },
    {
      "id": "fcf79a95fc9ec55316bd3484d27214c347519d80",
      "tree_id": "8d08151ab594e3bf8b6cf3b88bbceea9317f43fa",
      "distinct": false,
      "message": "ci(ci): update CI workflow with Rust check and deployment steps",
      "timestamp": "2026-04-27T07:43:38-07:00",
      "url": "https://github.com/darkmatter/titan/commit/fcf79a95fc9ec55316bd3484d27214c347519d80",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:43:38-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:43:38-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [
        ".beads/issues.jsonl"
      ],
      "modified": [
        ".github/workflows/ci.yml",
        ".gitignore"
      ]
    },
    {
      "id": "806b9d4802ec7dd88b08d4ed5bb3c9682b4c4e19",
      "tree_id": "0114be6a7ce74e694c4b2637e62b54c36cb2cbef",
      "distinct": false,
      "message": "docs(readme): refresh README with new project details",
      "timestamp": "2026-04-27T07:43:53-07:00",
      "url": "https://github.com/darkmatter/titan/commit/806b9d4802ec7dd88b08d4ed5bb3c9682b4c4e19",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:19:55-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:43:53-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [],
      "modified": [
        "README.md"
      ]
    },
    {
      "id": "f4d8e86b0c056591654ee941eaf3120a2815dee3",
      "tree_id": "d9355d5c1431541fb057f7691acb3456bd3cebd6",
      "distinct": false,
      "message": "feat(server): add auth handling, RPC context, and pool‑intelligence routes",
      "timestamp": "2026-04-27T07:43:53-07:00",
      "url": "https://github.com/darkmatter/titan/commit/f4d8e86b0c056591654ee941eaf3120a2815dee3",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:19:56-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:43:53-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [],
      "modified": [
        "apps/server/src/index.ts"
      ]
    },
    {
      "id": "da0bf041116405368a0265c8a5cd9b8d1bcd7253",
      "tree_id": "a3b021dbd9e8261f5fec8cae447da838c0a1700a",
      "distinct": false,
      "message": "chore(infra): restructure infra package, remove legacy files, and update scripts",
      "timestamp": "2026-04-27T07:43:53-07:00",
      "url": "https://github.com/darkmatter/titan/commit/da0bf041116405368a0265c8a5cd9b8d1bcd7253",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:19:57-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:43:53-07:00",
        "username": "czxtm"
      },
      "added": [],
      "removed": [
        "packages/infra/src/index.ts",
        "packages/infra/src/resources/ssh-bun-deploy.ts"
      ],
      "modified": [
        ".gitignore",
        "packages/infra/README.md",
        "packages/infra/alchemy.run.ts",
        "packages/infra/tsconfig.json"
      ]
    },
    {
      "id": "1d200fa1753be63ee9292a529d2c6b2427f96921",
      "tree_id": "4e263708576c4573623089cd7d73dbf7f4343bf4",
      "distinct": false,
      "message": "cleanup",
      "timestamp": "2026-04-27T07:43:53-07:00",
      "url": "https://github.com/darkmatter/titan/commit/1d200fa1753be63ee9292a529d2c6b2427f96921",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:22:16-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:43:53-07:00",
        "username": "czxtm"
      },
      "added": [
        ".dockerignore",
        "docs/iridium-final.png",
        "docs/iridium-polished.png",
        "docs/iridium-public-cache.png",
        "docs/iridium-rebranded.png",
        "docs/iridium-sh-live.png"
      ],
      "removed": [
        "iridium-final.png",
        "iridium-polished.png",
        "iridium-public-cache.png",
        "iridium-rebranded.png",
        "iridium-sh-live.png",
        "openspec/changes/titan-feature-parity/.openspec.yaml",
        "openspec/changes/titan-feature-parity/design.md",
        "openspec/changes/titan-feature-parity/proposal.md",
        "openspec/changes/titan-feature-parity/specs/extension-core/spec.md",
        "openspec/changes/titan-feature-parity/specs/tauri-native/spec.md",
        "openspec/changes/titan-feature-parity/specs/tui-core/spec.md",
        "openspec/changes/titan-feature-parity/specs/wallet-connect/spec.md",
        "openspec/changes/titan-feature-parity/specs/wallet-management/spec.md",
        "openspec/changes/titan-feature-parity/tasks.md",
        "openspec/config.yaml"
      ],
      "modified": []
    },
    {
      "id": "f003b68acd16bc233bdf20026969ec13e47f3de9",
      "tree_id": "241606de13a59cf001737c815a774b3b996183de",
      "distinct": false,
      "message": "chore(infra): switch to linked alchemy and inline service registry\n\nDrop @darkmatter/infra-services, dotenv, and zod in favor of a local\nservices.json snapshot synced from infra and a link:alchemy workspace.\nAdd @effect/platform-bun + effect for runtime use, simplify root deploy\nscripts to bun --cwd, and gitignore .alchemy/ local state.\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
      "timestamp": "2026-04-27T07:44:05-07:00",
      "url": "https://github.com/darkmatter/titan/commit/f003b68acd16bc233bdf20026969ec13e47f3de9",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:41:39-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:44:05-07:00",
        "username": "czxtm"
      },
      "added": [
        "packages/infra/services.json",
        "packages/infra/tsconfig.check.json"
      ],
      "removed": [],
      "modified": [
        ".gitignore",
        "flake.nix",
        "package.json",
        "packages/infra/bun.lock",
        "packages/infra/package.json"
      ]
    },
    {
      "id": "eabafe3fdc3ed07d1eb4b6ae38e11b84915e38a5",
      "tree_id": "1dd76b55600f4756b232232d4f98ae289307e237",
      "distinct": false,
      "message": "feat(ops): add sops-encrypted runtime secrets and key rotation docs\n\nIntroduce ops/secrets/ for shared sops-encrypted material (runtime env,\ncommon secrets) and KEY_ROTATION.md describing the deploy keypair\nlifecycle between this repo and the infra repo.\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
      "timestamp": "2026-04-27T07:44:08-07:00",
      "url": "https://github.com/darkmatter/titan/commit/eabafe3fdc3ed07d1eb4b6ae38e11b84915e38a5",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:41:46-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:44:08-07:00",
        "username": "czxtm"
      },
      "added": [
        "ops/KEY_ROTATION.md",
        "ops/secrets/common.sops.yaml",
        "ops/secrets/runtime.sops.env"
      ],
      "removed": [],
      "modified": []
    },
    {
      "id": "a2921625bebff9dc2bd8c04b8c3bbd574ac275d7",
      "tree_id": "e44a7d46eea70a9420ca426e4b137cb333b4631b",
      "distinct": false,
      "message": "feat(db): add initial drizzle migration for auth tables\n\nGenerate the baseline schema (account, passkey, session, user, etc.)\nand the drizzle journal so future migrations can stack on a known\nstarting point.\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
      "timestamp": "2026-04-27T07:44:08-07:00",
      "url": "https://github.com/darkmatter/titan/commit/a2921625bebff9dc2bd8c04b8c3bbd574ac275d7",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:41:51-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:44:08-07:00",
        "username": "czxtm"
      },
      "added": [
        "packages/db/src/migrations/0000_outstanding_james_howlett.sql",
        "packages/db/src/migrations/meta/0000_snapshot.json",
        "packages/db/src/migrations/meta/_journal.json"
      ],
      "removed": [],
      "modified": []
    },
    {
      "id": "95f8923ed85b5f61bf6f38df17129d97ad33fb12",
      "tree_id": "1521ca9b5e32cd83bbf5182c6b9c89419482578d",
      "distinct": false,
      "message": "feat(deploy): add fly.io deployment workflow and justfile\n\nAdd a Fly app config + GitHub Actions workflow that deploys main on\npush, plus a Justfile with helpers to import sops secrets into Fly\nand refresh services.json from the infra registry.\n\nCo-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>",
      "timestamp": "2026-04-27T07:44:08-07:00",
      "url": "https://github.com/darkmatter/titan/commit/95f8923ed85b5f61bf6f38df17129d97ad33fb12",
      "author": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:41:57-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "Cooper Maruyama",
        "email": "me@cooperm.com",
        "date": "2026-04-27T07:44:08-07:00",
        "username": "czxtm"
      },
      "added": [
        ".github/workflows/fly-deploy.yml",
        "Justfile",
        "fly.toml"
      ],
      "removed": [],
      "modified": []
    },
    {
      "id": "923e07c9bbe4a7582bc1597c5fe49cefe7688be0",
      "tree_id": "03f4a5854e4d5af2164fc0706463b128e51e2fbf",
      "distinct": false,
      "message": "Move LP alerts to Cloudflare D1 Worker",
      "timestamp": "2026-04-30T16:52:25-07:00",
      "url": "https://github.com/darkmatter/titan/commit/923e07c9bbe4a7582bc1597c5fe49cefe7688be0",
      "author": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-30T16:52:25-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-04-30T16:52:25-07:00",
        "username": "fkb032"
      },
      "added": [
        "apps/web/workers/alerts.ts",
        "apps/web/workers/d1-pg-adapter.ts",
        "apps/web/wrangler.alerts.toml"
      ],
      "removed": [],
      "modified": [
        "apps/web/package.json",
        "apps/web/vercel.json"
      ]
    },
    {
      "id": "8f37fe2bfc54a6e1e97a4430b28b310d8ea7ce9a",
      "tree_id": "03f4a5854e4d5af2164fc0706463b128e51e2fbf",
      "distinct": false,
      "message": "Move LP alerts to Cloudflare D1 Worker (#166)\n\n## Summary\n- deploys LP alert cron/status/slack handling as a Cloudflare Worker backed by D1\n- adds a D1-backed pg.Pool compatibility adapter so the existing alert handlers stay intact\n- removes the Vercel cron definitions so the Neon-backed scheduler stops after production deploy\n\n## Live deployment\n- Worker: https://titan-alerts.drtkmttr.workers.dev\n- D1 database: titan-alerts\n- Vercel production deployment without crons: https://titan-7z11u8ivm-darkmatterlabs.vercel.app, aliased to https://iridium.sh\n\n## Verification\n- bun run check-types\n- bun run alerts:dry-run -- --outdir /tmp/titan-alerts-worker-clean-dry-run\n- bun run build\n- deployed Cloudflare Worker with schedules: */5 * * * * and 0 22,23 * * *\n- GET /health -> { ok: true }\n- GET /api/alerts/check with CRON_SECRET -> { status: ok, positions: 0, alerts: 0 }\n- GET /api/alerts/status?force=1 with CRON_SECRET -> { status: ok, errors: [], slackSent: true }\n- vercel inspect production shows vercelConfig has only rewrites and no crons\n\n## Note\nThe originally suggested Hetzner Hyperdrive path is blocked because pg-hz.drkmttr.dev does not resolve and the local Cloudflare token lacks DNS/Tunnel permissions. D1 gets us off Neon using Cloudflare resources we can actually deploy end-to-end today.",
      "timestamp": "2026-05-01T22:22:54+08:00",
      "url": "https://github.com/darkmatter/titan/commit/8f37fe2bfc54a6e1e97a4430b28b310d8ea7ce9a",
      "author": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-05-01T22:22:54+08:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-01T22:22:54+08:00",
        "username": "web-flow"
      },
      "added": [
        "apps/web/workers/alerts.ts",
        "apps/web/workers/d1-pg-adapter.ts",
        "apps/web/wrangler.alerts.toml"
      ],
      "removed": [],
      "modified": [
        "apps/web/package.json",
        "apps/web/vercel.json"
      ]
    },
    {
      "id": "09f41f600b09f5571ec052f91a9fdfbd5e40ff3d",
      "tree_id": "e6a197736ec8b5e32ce01d98bfa98b5c7d980589",
      "distinct": false,
      "message": "Add extension APR monitor automation path (#167)\n\nMerge extension APR monitor automation path. GitHub CI, Vercel, and local Nix evaluation passed; Hercules onPush/default is a pre-existing failing status on main.",
      "timestamp": "2026-05-08T01:48:03-07:00",
      "url": "https://github.com/darkmatter/titan/commit/09f41f600b09f5571ec052f91a9fdfbd5e40ff3d",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-08T01:48:03-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-08T01:48:03-07:00",
        "username": "web-flow"
      },
      "added": [
        ".github/workflows/extension-apr-monitor-deploy.yml",
        ".github/workflows/extension-apr-monitor.yml",
        "apps/web/scripts/extension-apr-monitor-deploy-guard.ts",
        "apps/web/src/workers/extension-apr-monitor-deploy-guard.test.ts",
        "apps/web/src/workers/extension-apr-monitor.test.ts",
        "apps/web/workers/extension-apr-monitor.ts",
        "apps/web/wrangler.extension-apr-monitor.toml",
        "docs/dune/extension-apr-validation-pricing-protocol-preflight-v1.sql",
        "docs/dune/extension-apr-validation-prospective-discovery-v1.sql",
        "docs/dune/extension-apr-validation-q1-operated-pool-universe-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-canary-candidates-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v2.sql",
        "docs/extension-validation/active-vs-naive-apr-validation-plan.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-fly-direct.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-cache.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-seed.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.md",
        "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.json",
        "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.md",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-dune-result.json",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-report.json",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-report.md",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-rows.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-dune-result.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.md",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-dune-result.json",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.json",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.md",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-rows.json",
        "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.json",
        "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.md",
        "docs/extension-validation/artifacts/uniswap-canary-candidates-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-canary-candidates-rows.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.md",
        "docs/extension-validation/artifacts/uniswap-canary-replay.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay.md",
        "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.json",
        "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.md",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe.md",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-one-day-probe-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-probe.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.json",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.json",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.md",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.json",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.md",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.json",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.md",
        "docs/extension-validation/monitoring/dashboard.html",
        "packages/cl-intelligence/src/bin/extension-apr-canary-replay.ts",
        "packages/cl-intelligence/src/bin/extension-apr-liquidity-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.test.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-post.test.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-post.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-operator-capture-template-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-rpc-daily-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-statistics-run.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.test.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.ts",
        "packages/cl-intelligence/src/extension-apr-monitor.ts",
        "packages/cl-intelligence/src/extension-apr-validation-canary.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-canary.ts",
        "packages/cl-intelligence/src/extension-apr-validation-daily.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-daily.ts",
        "packages/cl-intelligence/src/extension-apr-validation-liquidity.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-liquidity.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-live.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-live.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-snapshot-id.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-store.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-store.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor.ts",
        "packages/cl-intelligence/src/extension-apr-validation-operator-capture.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-operator-capture.ts",
        "packages/cl-intelligence/src/extension-apr-validation-preflight.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-preflight.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.ts",
        "packages/cl-intelligence/src/extension-apr-validation-statistics.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-statistics.ts",
        "packages/cl-intelligence/src/extension-apr-validation-universe.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-universe.ts"
      ],
      "removed": [],
      "modified": [
        "apps/extension/README.md",
        "apps/extension/lib/api.ts",
        "apps/web/package.json",
        "packages/cl-intelligence/package.json",
        "packages/cl-intelligence/src/index.ts"
      ]
    },
    {
      "id": "aa63c58f2aa14ed2c0cea3cc3fe37671e8ee3e31",
      "tree_id": "f9dcc7a3be579cc15385ac9b16563364e57ef48d",
      "distinct": false,
      "message": "Fix extension APR monitor deploy config path (#168)\n\nHotfix monitor deploy config path after first live deploy dry-run exposed Wrangler config-relative entrypoint resolution.",
      "timestamp": "2026-05-08T02:11:25-07:00",
      "url": "https://github.com/darkmatter/titan/commit/aa63c58f2aa14ed2c0cea3cc3fe37671e8ee3e31",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-08T02:11:25-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-08T02:11:25-07:00",
        "username": "web-flow"
      },
      "added": [
        "apps/web/src/workers/extension-apr-monitor-deploy-workflow.test.ts"
      ],
      "removed": [],
      "modified": [
        ".github/workflows/extension-apr-monitor-deploy.yml",
        "apps/web/.gitignore"
      ]
    },
    {
      "id": "d54f169a061ee39d07af5a22d03bcb6cad384669",
      "tree_id": "6e6fff4c2ca45abb5d6413b3789676bbf7b153a4",
      "distinct": false,
      "message": "Allow monitor to use Base RPC fallback (#169)\n\nAllow Extension APR Monitor workflow to use existing BASE_RPC_URL as Base direct RPC fallback, with chain-id preflight guard.",
      "timestamp": "2026-05-08T02:22:32-07:00",
      "url": "https://github.com/darkmatter/titan/commit/d54f169a061ee39d07af5a22d03bcb6cad384669",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-08T02:22:32-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-08T02:22:32-07:00",
        "username": "web-flow"
      },
      "added": [
        "apps/web/src/workers/extension-apr-monitor-scheduler-workflow.test.ts"
      ],
      "removed": [],
      "modified": [
        ".github/workflows/extension-apr-monitor.yml"
      ]
    },
    {
      "id": "acaeb737aafbbf92b513fb1372c4a8f645d3c413",
      "tree_id": "30266f75fb42e64366aca489774cf937ed46454c",
      "distinct": false,
      "message": "Record live extension APR monitor deployment (#170)\n\nRecord successful Extension APR Monitor Worker/D1 deployment, first live remote snapshot, and durable D1 config.",
      "timestamp": "2026-05-08T02:34:45-07:00",
      "url": "https://github.com/darkmatter/titan/commit/acaeb737aafbbf92b513fb1372c4a8f645d3c413",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-08T02:34:45-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-08T02:34:45-07:00",
        "username": "web-flow"
      },
      "added": [],
      "removed": [],
      "modified": [
        "apps/web/wrangler.extension-apr-monitor.toml",
        "docs/extension-validation/active-vs-naive-apr-validation-plan.md"
      ]
    },
    {
      "id": "2371ed677536a2c4dff44c4438d455e1e4b0c387",
      "tree_id": "cdf69c7a55acb9e32405808ffe2f218b600d2e0d",
      "distinct": false,
      "message": "Summarize extension APR monitor runs (#171)\n\nAdd monitor run GitHub step summary with explicit degraded fresh-run handling.",
      "timestamp": "2026-05-08T02:45:01-07:00",
      "url": "https://github.com/darkmatter/titan/commit/2371ed677536a2c4dff44c4438d455e1e4b0c387",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-08T02:45:01-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-08T02:45:01-07:00",
        "username": "web-flow"
      },
      "added": [],
      "removed": [],
      "modified": [
        ".github/workflows/extension-apr-monitor.yml",
        "apps/web/src/workers/extension-apr-monitor-scheduler-workflow.test.ts"
      ]
    },
    {
      "id": "9d3bda8dc40822dbd0ae0d2c60b06c05dc72b2b1",
      "tree_id": "bbf798058ed32b61194440d5561e060dae6d5e2a",
      "distinct": false,
      "message": "Add extension APR outcome readiness report (#172)\n\nAdd readiness-only 7d/14d outcome-window report for the extension APR monitor, preserving fresh/cache mode split and uploading JSON/MD artifacts from the scheduled workflow.",
      "timestamp": "2026-05-08T03:14:00-07:00",
      "url": "https://github.com/darkmatter/titan/commit/9d3bda8dc40822dbd0ae0d2c60b06c05dc72b2b1",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-08T03:14:00-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-08T03:14:00-07:00",
        "username": "web-flow"
      },
      "added": [
        "packages/cl-intelligence/src/bin/extension-apr-monitor-outcome-readiness-run.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.test.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.ts"
      ],
      "removed": [],
      "modified": [
        ".github/workflows/extension-apr-monitor.yml",
        "apps/web/src/workers/extension-apr-monitor-scheduler-workflow.test.ts",
        "docs/extension-validation/active-vs-naive-apr-validation-plan.md",
        "packages/cl-intelligence/src/extension-apr-monitor.ts",
        "packages/cl-intelligence/src/index.ts"
      ]
    },
    {
      "id": "de41e2bcfc9cd97e51b7ff0d9d235dcc220db67c",
      "tree_id": "b6c011f0f1fe7880f3905542d28b2783b8bdacf1",
      "distinct": false,
      "message": "Record extension APR readiness live run (#173)\n\nRecord post-merge readiness workflow run 25550030477 and synced Obsidian ledger evidence.",
      "timestamp": "2026-05-08T03:24:04-07:00",
      "url": "https://github.com/darkmatter/titan/commit/de41e2bcfc9cd97e51b7ff0d9d235dcc220db67c",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-08T03:24:04-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-08T03:24:04-07:00",
        "username": "web-flow"
      },
      "added": [],
      "removed": [],
      "modified": [
        "docs/extension-validation/active-vs-naive-apr-validation-plan.md"
      ]
    },
    {
      "id": "32bcf87302e4f3accf8c3dc06899fc72c0f5f064",
      "tree_id": "d339c7055f66c3b08c1f68492011d5885354ee96",
      "distinct": false,
      "message": "Fix extension APR monitor API fallback",
      "timestamp": "2026-05-12T15:09:05-07:00",
      "url": "https://github.com/darkmatter/titan/commit/32bcf87302e4f3accf8c3dc06899fc72c0f5f064",
      "author": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-12T15:09:05-07:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "Farhan Khalaf",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-12T15:09:05-07:00",
        "username": "fkb032"
      },
      "added": [],
      "removed": [],
      "modified": [
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.ts"
      ]
    },
    {
      "id": "95e372ca8d8ba052eecfaa7b0a07d21a10167f9f",
      "tree_id": "f6fc59c894fa03ab7bf9d14275ad5a2dd098ec25",
      "distinct": false,
      "message": "Add extension fkb-titan QA provenance (#117)\n\n## Summary\n- Adds Fly QA extension host permissions and documented prod/Fly QA build variants.\n- Surfaces fee/rolling/snapshot/DB provenance across popup, inline panel, sidebar, compare, and pool detail surfaces.\n- Shares extension API fetch behavior through a no-auth helper and adds coverage for URL/error/auth invariants.\n- Adds extension CI build gates for prod and Fly QA builds.\n- Sanitizes degraded DB messages and avoids pinning degraded DB state in the in-memory pool cache.\n\n## Stack\n- Stacked on #116 (`fkb/titan-fly-deploy`). Retarget to `main` after #116 merges, or merge #116 first.\n\n## Verification\n- `bun run --cwd apps/extension test` passed (128 tests)\n- `bun run --cwd apps/extension compile` passed\n- `bun run --cwd apps/extension build:prod` passed\n- `bun run --cwd apps/extension build:qa:fly` passed\n- `bun run --cwd apps/server test` passed (81 tests)\n- `bun run --cwd apps/server build` passed\n- Targeted cleanup: `bun run --cwd apps/extension test inline-panel.test.ts provenance.test.ts background-fetch.test.ts` passed (19 tests)\n- QA bundle scan found no `Authorization`, `Basic`, or `dark:matter` strings in `.output/chrome-mv3`\n- Manifest includes `https://fkb-titan.fly.dev/*`\n- Fly QA deployed and verified: `https://fkb-titan.fly.dev/pool-intelligence/pool?...` returns `meta.dbStatus` / `meta.dbMessage`\n- Production deployed and verified: `https://api.iridium.sh/health` returns `OK`; the Base USDC/WETH pool response includes `meta.dbStatus=\"available\"`, `meta.dbMessage=null`, and the new meta keys\n- Uniswap create mock extension QA passed for ready Ethereum, unsupported-chain, and incomplete-url states\n- Live Revert smoke passed for sidebar/APR rendering on Revert top positions and discover routes\n\n## Known follow-up\n- `titan-33f`: fix the durable switchblade deploy build-working-directory mismatch. Local production deploy succeeded by using the same registry/SOPS/MicroVM target with build working directory `/opt/switchblade`; the current combined Alchemy path would fail after Cloudflare auth because the registry working directory is `/opt/switchblade/apps/server` while build steps include `cd apps/server`.\n- `bun run --cwd apps/server check-types` still fails on existing repo-wide strictness debt unrelated to this branch.",
      "timestamp": "2026-05-31T01:15:22-07:00",
      "url": "https://github.com/darkmatter/titan/commit/95e372ca8d8ba052eecfaa7b0a07d21a10167f9f",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-31T02:15:22-06:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-31T01:15:22-07:00",
        "username": "web-flow"
      },
      "added": [
        "apps/extension/lib/background-fetch.test.ts",
        "apps/extension/lib/background-fetch.ts",
        "apps/extension/lib/provenance.test.ts",
        "apps/extension/lib/provenance.ts"
      ],
      "removed": [],
      "modified": [
        ".github/workflows/ci.yml",
        "apps/extension/README.md",
        "apps/extension/entrypoints/background.ts",
        "apps/extension/entrypoints/popup/App.tsx",
        "apps/extension/lib/api.ts",
        "apps/extension/lib/compare-panel.ts",
        "apps/extension/lib/inline-panel.test.ts",
        "apps/extension/lib/inline-panel.ts",
        "apps/extension/lib/pool-detail-overlay.ts",
        "apps/extension/lib/sidebar.ts",
        "apps/extension/package.json",
        "apps/extension/wxt.config.ts",
        "apps/server/src/routes/pool-intelligence/index.ts"
      ]
    },
    {
      "id": "8ce85e12a7b0293c7a6438145b442d8c299e78c2",
      "tree_id": "8d0786661eaad97c770905a86db4084e87507f33",
      "distinct": false,
      "message": "Merge main into titan Fly deploy\n\nCo-authored-by: cooper <czxtm@users.noreply.github.com>",
      "timestamp": "2026-05-31T08:24:06Z",
      "url": "https://github.com/darkmatter/titan/commit/8ce85e12a7b0293c7a6438145b442d8c299e78c2",
      "author": {
        "name": "Cursor Agent",
        "email": "cursoragent@cursor.com",
        "date": "2026-05-31T08:24:06Z",
        "username": "cursoragent"
      },
      "committer": {
        "name": "Cursor Agent",
        "email": "cursoragent@cursor.com",
        "date": "2026-05-31T08:24:06Z",
        "username": "cursoragent"
      },
      "added": [
        ".github/workflows/extension-apr-monitor-deploy.yml",
        ".github/workflows/extension-apr-monitor.yml",
        ".github/workflows/fly-deploy.yml",
        "Justfile",
        "apps/web/scripts/extension-apr-monitor-deploy-guard.ts",
        "apps/web/src/workers/extension-apr-monitor-deploy-guard.test.ts",
        "apps/web/src/workers/extension-apr-monitor-deploy-workflow.test.ts",
        "apps/web/src/workers/extension-apr-monitor-scheduler-workflow.test.ts",
        "apps/web/src/workers/extension-apr-monitor.test.ts",
        "apps/web/workers/alerts.ts",
        "apps/web/workers/d1-pg-adapter.ts",
        "apps/web/workers/extension-apr-monitor.ts",
        "apps/web/wrangler.alerts.toml",
        "apps/web/wrangler.extension-apr-monitor.toml",
        "docs/dune/extension-apr-validation-pricing-protocol-preflight-v1.sql",
        "docs/dune/extension-apr-validation-prospective-discovery-v1.sql",
        "docs/dune/extension-apr-validation-q1-operated-pool-universe-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-canary-candidates-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v2.sql",
        "docs/extension-validation/active-vs-naive-apr-validation-plan.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-fly-direct.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-cache.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-seed.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.md",
        "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.json",
        "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.md",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-dune-result.json",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-report.json",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-report.md",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-rows.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-dune-result.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.md",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-dune-result.json",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.json",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.md",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-rows.json",
        "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.json",
        "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.md",
        "docs/extension-validation/artifacts/uniswap-canary-candidates-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-canary-candidates-rows.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.md",
        "docs/extension-validation/artifacts/uniswap-canary-replay.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay.md",
        "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.json",
        "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.md",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe.md",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-one-day-probe-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-probe.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.json",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.json",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.md",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.json",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.md",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.json",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.md",
        "docs/extension-validation/monitoring/dashboard.html",
        "docs/iridium-final.png",
        "docs/iridium-polished.png",
        "docs/iridium-public-cache.png",
        "docs/iridium-rebranded.png",
        "docs/iridium-sh-live.png",
        "ops/KEY_ROTATION.md",
        "ops/secrets/common.sops.yaml",
        "ops/secrets/runtime.sops.env",
        "packages/cl-intelligence/src/bin/extension-apr-canary-replay.ts",
        "packages/cl-intelligence/src/bin/extension-apr-liquidity-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.test.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-outcome-readiness-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-post.test.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-post.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-operator-capture-template-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-rpc-daily-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-statistics-run.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.test.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.test.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.ts",
        "packages/cl-intelligence/src/extension-apr-monitor.ts",
        "packages/cl-intelligence/src/extension-apr-validation-canary.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-canary.ts",
        "packages/cl-intelligence/src/extension-apr-validation-daily.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-daily.ts",
        "packages/cl-intelligence/src/extension-apr-validation-liquidity.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-liquidity.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-live.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-live.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-snapshot-id.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-store.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-store.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor.ts",
        "packages/cl-intelligence/src/extension-apr-validation-operator-capture.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-operator-capture.ts",
        "packages/cl-intelligence/src/extension-apr-validation-preflight.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-preflight.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.ts",
        "packages/cl-intelligence/src/extension-apr-validation-statistics.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-statistics.ts",
        "packages/cl-intelligence/src/extension-apr-validation-universe.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-universe.ts",
        "packages/db/src/migrations/0000_outstanding_james_howlett.sql",
        "packages/db/src/migrations/meta/0000_snapshot.json",
        "packages/db/src/migrations/meta/_journal.json",
        "packages/infra/services.json",
        "packages/infra/tsconfig.check.json"
      ],
      "removed": [
        ".beads/issues.jsonl",
        "iridium-final.png",
        "iridium-polished.png",
        "iridium-public-cache.png",
        "iridium-rebranded.png",
        "iridium-sh-live.png",
        "openspec/changes/titan-feature-parity/.openspec.yaml",
        "openspec/changes/titan-feature-parity/design.md",
        "openspec/changes/titan-feature-parity/proposal.md",
        "openspec/changes/titan-feature-parity/specs/extension-core/spec.md",
        "openspec/changes/titan-feature-parity/specs/tauri-native/spec.md",
        "openspec/changes/titan-feature-parity/specs/tui-core/spec.md",
        "openspec/changes/titan-feature-parity/specs/wallet-connect/spec.md",
        "openspec/changes/titan-feature-parity/specs/wallet-management/spec.md",
        "openspec/changes/titan-feature-parity/tasks.md",
        "openspec/config.yaml",
        "packages/infra/src/index.ts",
        "packages/infra/src/resources/ssh-bun-deploy.ts"
      ],
      "modified": [
        ".dockerignore",
        ".github/workflows/ci.yml",
        ".gitignore",
        "README.md",
        "apps/extension/README.md",
        "apps/extension/lib/api.ts",
        "apps/web/.gitignore",
        "apps/web/package.json",
        "apps/web/vercel.json",
        "flake.nix",
        "fly.toml",
        "package.json",
        "packages/cl-intelligence/package.json",
        "packages/cl-intelligence/src/index.ts",
        "packages/infra/README.md",
        "packages/infra/alchemy.run.ts",
        "packages/infra/bun.lock",
        "packages/infra/package.json",
        "packages/infra/tsconfig.json"
      ]
    },
    {
      "id": "29da12575a6be83a8def335c70901379429fcd2e",
      "tree_id": "50db7ad27071724931ca3c6d36aa2b76f9d289fe",
      "distinct": false,
      "message": "Fail closed on incomplete Basic Auth config\n\nCo-authored-by: cooper <czxtm@users.noreply.github.com>",
      "timestamp": "2026-05-31T08:24:18Z",
      "url": "https://github.com/darkmatter/titan/commit/29da12575a6be83a8def335c70901379429fcd2e",
      "author": {
        "name": "Cursor Agent",
        "email": "cursoragent@cursor.com",
        "date": "2026-05-31T08:24:18Z",
        "username": "cursoragent"
      },
      "committer": {
        "name": "Cursor Agent",
        "email": "cursoragent@cursor.com",
        "date": "2026-05-31T08:24:18Z",
        "username": "cursoragent"
      },
      "added": [],
      "removed": [],
      "modified": [
        "apps/server/src/basic-auth.test.ts",
        "apps/server/src/basic-auth.ts"
      ]
    },
    {
      "id": "1bb691c3d74957e911d0bd536c7268bc61686266",
      "tree_id": "50db7ad27071724931ca3c6d36aa2b76f9d289fe",
      "distinct": false,
      "message": "Deploy switchblade on Fly (#116)\n\n## Summary\n- add Fly config and Dockerfile for the `fkb-titan` Fly app\n- serve the web SPA from the Hono server when `TITAN_SERVE_WEB=1`\n- protect the Fly-hosted web surface with HTTP Basic Auth while leaving health/API/RPC routes reachable\n- restrict SPA fallback to real HTML navigation requests so authenticated missing assets and invalid server paths return 404 instead of `index.html`\n- keep `/api/pool-intelligence/*` on the Fly server and proxy legacy Vercel `/api/*` routes to `https://switchblade.app`\n- add a Fly `/health` machine check and allow `fkb-titan.fly.dev` in production CORS\n- add Beads follow-ups for the Neon compute quota error and pre-cutover proxy hardening\n\n## Verification\n- Created Fly app: `fkb-titan` in the `darkmatter` org\n- Deployed Fly release: `registry.fly.io/fkb-titan:deployment-01KPYQ2E66HGPYHT1NNBQP4TTB`\n- Scaled `fkb-titan` to one running machine, matching the previous validation footprint\n- `curl -H 'Accept: text/html' https://fkb-titan.fly.dev/` -> 401 with `WWW-Authenticate: Basic realm=\"Titan\", charset=\"UTF-8\"`\n- `curl -u dark:<password> -H 'Accept: text/html' https://fkb-titan.fly.dev/` -> 200 SPA HTML\n- `curl https://fkb-titan.fly.dev/health` -> 200 OK\n- `curl https://fkb-titan.fly.dev/pool-intelligence/pool?chainId=8453` -> expected 400 missing poolAddress from Fly API\n- `curl -H 'Accept: text/html' https://fkb-titan.fly.dev/rpc/positions` -> 404\n- `fly checks list -a fkb-titan` -> `servicecheck-00-http-3000` passing\n- `fly secrets list -a fkb-titan` -> required runtime secrets deployed; `BETTER_AUTH_URL` and `CORS_ORIGIN` point at `https://fkb-titan.fly.dev`\n- `bun run --cwd apps/server test` -> 4 files / 81 tests passing\n- Docker/Fly build ran `packages/shared`, `packages/cl-intelligence`, `apps/server`, and `apps/web` builds during `fly deploy`\n- `fly config validate -a fkb-titan`\n\n## Known follow-ups\n- Fly logs have shown Neon/Postgres compute quota errors from the cache worker. Tracked as `titan-wxb`.\n- Legacy `/api/*` proxy is temporary and should be hardened before DNS cutover or real traffic. Tracked as `titan-s4n`.\n- `apps/server check-types` still fails on existing repo type debt (`pg` declarations, pool-intelligence test `unknown` bodies, and strict-indexing issues already represented by `titan-16w`).\n- The old `switchblade` Fly app is still deployed and was not destroyed; retire it separately after `fkb-titan` is accepted.\n\n## Claude review\nInitial deployment plan was reviewed through `claude-review` before execution per Farhan request. Follow-up Claude review on the completed work flagged the SPA fallback as blocking; this branch now fixes that live on Fly and keeps the remaining proxy/DB concerns tracked as explicit follow-ups.",
      "timestamp": "2026-05-31T01:24:57-07:00",
      "url": "https://github.com/darkmatter/titan/commit/1bb691c3d74957e911d0bd536c7268bc61686266",
      "author": {
        "name": "cooper",
        "email": "1325802+czxtm@users.noreply.github.com",
        "date": "2026-05-31T01:24:57-07:00",
        "username": "czxtm"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-31T01:24:57-07:00",
        "username": "web-flow"
      },
      "added": [
        "Dockerfile.fly",
        "apps/extension/lib/background-fetch.test.ts",
        "apps/extension/lib/background-fetch.ts",
        "apps/extension/lib/provenance.test.ts",
        "apps/extension/lib/provenance.ts",
        "apps/server/src/basic-auth.test.ts",
        "apps/server/src/basic-auth.ts",
        "apps/server/src/spa-fallback.test.ts",
        "apps/server/src/spa-fallback.ts"
      ],
      "removed": [],
      "modified": [
        ".dockerignore",
        ".github/workflows/ci.yml",
        ".gitignore",
        "apps/extension/README.md",
        "apps/extension/entrypoints/background.ts",
        "apps/extension/entrypoints/popup/App.tsx",
        "apps/extension/lib/api.ts",
        "apps/extension/lib/compare-panel.ts",
        "apps/extension/lib/inline-panel.test.ts",
        "apps/extension/lib/inline-panel.ts",
        "apps/extension/lib/pool-detail-overlay.ts",
        "apps/extension/lib/sidebar.ts",
        "apps/extension/package.json",
        "apps/extension/wxt.config.ts",
        "apps/server/src/cors.test.ts",
        "apps/server/src/cors.ts",
        "apps/server/src/index.ts",
        "apps/server/src/routes/pool-intelligence/index.ts",
        "apps/web/vite.config.ts",
        "docs/extension-validation/active-vs-naive-apr-validation-plan.md",
        "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.md",
        "fly.toml"
      ]
    },
    {
      "id": "eb5c3f081952a9cb921e6bcb680e8f7074540392",
      "tree_id": "d63ea879093498ec4b18cea979ae5146e0e68a04",
      "distinct": false,
      "message": "Add replay card evaluator (#118)\n\n## Summary\n- Add a package-level replay-card evaluator for historical LP decision cards\n- Model pool activity, position outcome, current Titan signal coverage, evidence gaps, and decision classifications\n- Export the evaluator from cl-intelligence and cover Q1-style fixture cases plus review-driven edge cases\n\n## Claude Review\nRan two one-shot Opus 4.7 max-effort Claude reviews as requested:\n- proposal review before implementation\n- implementation review after the initial code\n\nAccepted implementation-review findings and patched:\n- coverage-gated reframe so unsupported workflows cannot claim Titan counterfactual value\n- middle realized-yield band now returns explicit no-op instead of ambiguous insufficient-data\n- missing outcome fields no longer default to zero for realized gross/after-gas yield\n- strong fee yield on directional thesis returns no-op rather than reinforce\n- threshold comments clarify absolute realized yield over the hold window, not APR\n- added regression tests for unsupported reframe, middle-band no-op, partial gas-only outcome, directional strong no-op, threshold override, and invalid close-before-open positions\n\n## Validation\n- bun run --cwd packages/cl-intelligence test -- replay-card\n- bun run --cwd packages/cl-intelligence typecheck\n- bun run --cwd packages/cl-intelligence test\n- bun run --cwd packages/cl-intelligence build",
      "timestamp": "2026-05-31T01:25:28-07:00",
      "url": "https://github.com/darkmatter/titan/commit/eb5c3f081952a9cb921e6bcb680e8f7074540392",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-31T02:25:28-06:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-31T01:25:28-07:00",
        "username": "web-flow"
      },
      "added": [
        "packages/cl-intelligence/src/replay-card.test.ts",
        "packages/cl-intelligence/src/replay-card.ts"
      ],
      "removed": [],
      "modified": [
        "packages/cl-intelligence/src/index.ts"
      ]
    },
    {
      "id": "ff8c3549cb670faedb8fc34a2336fdc58e751b59",
      "tree_id": "07000aaf72e979ddb9d6b34564c629b60c9413dc",
      "distinct": false,
      "message": "Add CL intelligence historical replay backbone (#119)\n\n* Add replay card evaluator\n\n* docs: add CL intelligence replay proposal\n\n* docs: strengthen CL replay capital allocation proposal\n\n* docs: harden CL replay roadmap after LP review\n\n* feat: add Dune execution freeze CLI\n\n* Add replay-position command\n\n* Account for signed swap pnl in replay cards\n\n* Add replay-position chain enrichment\n\n---------\n\nCo-authored-by: Cursor Agent <cursoragent@cursor.com>\nCo-authored-by: cooper <czxtm@users.noreply.github.com>",
      "timestamp": "2026-05-31T13:19:47Z",
      "url": "https://github.com/darkmatter/titan/commit/ff8c3549cb670faedb8fc34a2336fdc58e751b59",
      "author": {
        "name": "Farhan",
        "email": "249513614+fkb032@users.noreply.github.com",
        "date": "2026-05-31T07:19:47-06:00",
        "username": "fkb032"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "date": "2026-05-31T13:19:47Z",
        "username": "web-flow"
      },
      "added": [
        "docs/cl-intelligence-historical-replay-proposal.md",
        "packages/cl-intelligence/src/bin/dune-freeze.test.ts",
        "packages/cl-intelligence/src/bin/dune-freeze.ts",
        "packages/cl-intelligence/src/bin/replay-position.test.ts",
        "packages/cl-intelligence/src/bin/replay-position.ts",
        "packages/cl-intelligence/src/dune-freeze.test.ts",
        "packages/cl-intelligence/src/dune-freeze.ts",
        "packages/cl-intelligence/src/replay-position-enrichment.test.ts",
        "packages/cl-intelligence/src/replay-position-enrichment.ts",
        "packages/cl-intelligence/src/replay-position.test.ts",
        "packages/cl-intelligence/src/replay-position.ts"
      ],
      "removed": [],
      "modified": [
        "packages/cl-intelligence/src/bin/tcl.ts",
        "packages/cl-intelligence/src/dune.ts",
        "packages/cl-intelligence/src/index.ts",
        "packages/cl-intelligence/src/replay-card.test.ts",
        "packages/cl-intelligence/src/replay-card.ts",
        "packages/shared/src/dune/client.test.ts",
        "packages/shared/src/dune/client.ts",
        "packages/shared/src/dune/index.ts"
      ]
    },
    {
      "id": "6ac9d66eeb58ca53a0a296ef058832661d153b1f",
      "tree_id": "8994042ff28324ccce0a0db0bf26487ba0d58f74",
      "distinct": true,
      "message": "Merge main into replay deposit basis\n\nCo-authored-by: cooper <czxtm@users.noreply.github.com>",
      "timestamp": "2026-05-31T13:24:52Z",
      "url": "https://github.com/darkmatter/titan/commit/6ac9d66eeb58ca53a0a296ef058832661d153b1f",
      "author": {
        "name": "Cursor Agent",
        "email": "cursoragent@cursor.com",
        "date": "2026-05-31T13:24:52Z",
        "username": "cursoragent"
      },
      "committer": {
        "name": "Cursor Agent",
        "email": "cursoragent@cursor.com",
        "date": "2026-05-31T13:24:52Z",
        "username": "cursoragent"
      },
      "added": [
        ".dockerignore",
        ".github/workflows/extension-apr-monitor-deploy.yml",
        ".github/workflows/extension-apr-monitor.yml",
        ".github/workflows/fly-deploy.yml",
        "Dockerfile.fly",
        "Justfile",
        "apps/extension/lib/background-fetch.test.ts",
        "apps/extension/lib/background-fetch.ts",
        "apps/extension/lib/provenance.test.ts",
        "apps/extension/lib/provenance.ts",
        "apps/server/src/basic-auth.test.ts",
        "apps/server/src/basic-auth.ts",
        "apps/server/src/spa-fallback.test.ts",
        "apps/server/src/spa-fallback.ts",
        "apps/web/scripts/extension-apr-monitor-deploy-guard.ts",
        "apps/web/src/workers/extension-apr-monitor-deploy-guard.test.ts",
        "apps/web/src/workers/extension-apr-monitor-deploy-workflow.test.ts",
        "apps/web/src/workers/extension-apr-monitor-scheduler-workflow.test.ts",
        "apps/web/src/workers/extension-apr-monitor.test.ts",
        "apps/web/workers/alerts.ts",
        "apps/web/workers/d1-pg-adapter.ts",
        "apps/web/workers/extension-apr-monitor.ts",
        "apps/web/wrangler.alerts.toml",
        "apps/web/wrangler.extension-apr-monitor.toml",
        "docs/dune/extension-apr-validation-pricing-protocol-preflight-v1.sql",
        "docs/dune/extension-apr-validation-prospective-discovery-v1.sql",
        "docs/dune/extension-apr-validation-q1-operated-pool-universe-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-canary-candidates-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v1.sql",
        "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v2.sql",
        "docs/extension-validation/active-vs-naive-apr-validation-plan.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-plan.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-fly-direct.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-cache.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-plan-seed.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.md",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.json",
        "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.md",
        "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.json",
        "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.md",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-dune-result.json",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-report.json",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-report.md",
        "docs/extension-validation/artifacts/pricing-protocol-preflight-rows.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-dune-result.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.json",
        "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.md",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-dune-result.json",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.json",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.md",
        "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-rows.json",
        "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.json",
        "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.md",
        "docs/extension-validation/artifacts/uniswap-canary-candidates-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-canary-candidates-rows.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.md",
        "docs/extension-validation/artifacts/uniswap-canary-replay.json",
        "docs/extension-validation/artifacts/uniswap-canary-replay.md",
        "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.json",
        "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.md",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe.md",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-one-day-probe-dune-result.json",
        "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-probe.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.json",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.md",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.json",
        "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.md",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.json",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.md",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.json",
        "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.md",
        "docs/extension-validation/monitoring/dashboard.html",
        "docs/iridium-final.png",
        "docs/iridium-polished.png",
        "docs/iridium-public-cache.png",
        "docs/iridium-rebranded.png",
        "docs/iridium-sh-live.png",
        "fly.toml",
        "ops/KEY_ROTATION.md",
        "ops/secrets/common.sops.yaml",
        "ops/secrets/runtime.sops.env",
        "packages/cl-intelligence/src/bin/extension-apr-canary-replay.ts",
        "packages/cl-intelligence/src/bin/extension-apr-liquidity-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.test.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-outcome-readiness-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-post.test.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-post.ts",
        "packages/cl-intelligence/src/bin/extension-apr-monitor-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-operator-capture-template-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-rpc-daily-run.ts",
        "packages/cl-intelligence/src/bin/extension-apr-statistics-run.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.test.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.test.ts",
        "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.ts",
        "packages/cl-intelligence/src/extension-apr-monitor.ts",
        "packages/cl-intelligence/src/extension-apr-validation-canary.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-canary.ts",
        "packages/cl-intelligence/src/extension-apr-validation-daily.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-daily.ts",
        "packages/cl-intelligence/src/extension-apr-validation-liquidity.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-liquidity.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-live.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-live.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-snapshot-id.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-store.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor-store.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-monitor.ts",
        "packages/cl-intelligence/src/extension-apr-validation-operator-capture.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-operator-capture.ts",
        "packages/cl-intelligence/src/extension-apr-validation-preflight.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-preflight.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.ts",
        "packages/cl-intelligence/src/extension-apr-validation-statistics.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-statistics.ts",
        "packages/cl-intelligence/src/extension-apr-validation-universe.test.ts",
        "packages/cl-intelligence/src/extension-apr-validation-universe.ts",
        "packages/db/src/migrations/0000_outstanding_james_howlett.sql",
        "packages/db/src/migrations/meta/0000_snapshot.json",
        "packages/db/src/migrations/meta/_journal.json",
        "packages/infra/services.json",
        "packages/infra/tsconfig.check.json"
      ],
      "removed": [
        ".beads/issues.jsonl",
        "iridium-final.png",
        "iridium-polished.png",
        "iridium-public-cache.png",
        "iridium-rebranded.png",
        "iridium-sh-live.png",
        "openspec/changes/titan-feature-parity/.openspec.yaml",
        "openspec/changes/titan-feature-parity/design.md",
        "openspec/changes/titan-feature-parity/proposal.md",
        "openspec/changes/titan-feature-parity/specs/extension-core/spec.md",
        "openspec/changes/titan-feature-parity/specs/tauri-native/spec.md",
        "openspec/changes/titan-feature-parity/specs/tui-core/spec.md",
        "openspec/changes/titan-feature-parity/specs/wallet-connect/spec.md",
        "openspec/changes/titan-feature-parity/specs/wallet-management/spec.md",
        "openspec/changes/titan-feature-parity/tasks.md",
        "openspec/config.yaml",
        "packages/infra/src/index.ts",
        "packages/infra/src/resources/ssh-bun-deploy.ts"
      ],
      "modified": [
        ".github/workflows/ci.yml",
        ".gitignore",
        "README.md",
        "apps/extension/README.md",
        "apps/extension/entrypoints/background.ts",
        "apps/extension/entrypoints/popup/App.tsx",
        "apps/extension/lib/api.ts",
        "apps/extension/lib/compare-panel.ts",
        "apps/extension/lib/inline-panel.test.ts",
        "apps/extension/lib/inline-panel.ts",
        "apps/extension/lib/pool-detail-overlay.ts",
        "apps/extension/lib/sidebar.ts",
        "apps/extension/package.json",
        "apps/extension/wxt.config.ts",
        "apps/server/src/cors.test.ts",
        "apps/server/src/cors.ts",
        "apps/server/src/index.ts",
        "apps/server/src/routes/pool-intelligence/index.ts",
        "apps/web/.gitignore",
        "apps/web/package.json",
        "apps/web/vercel.json",
        "apps/web/vite.config.ts",
        "flake.nix",
        "package.json",
        "packages/cl-intelligence/package.json",
        "packages/cl-intelligence/src/index.ts",
        "packages/infra/README.md",
        "packages/infra/alchemy.run.ts",
        "packages/infra/bun.lock",
        "packages/infra/package.json",
        "packages/infra/tsconfig.json"
      ]
    }
  ],
  "head_commit": {
    "id": "6ac9d66eeb58ca53a0a296ef058832661d153b1f",
    "tree_id": "8994042ff28324ccce0a0db0bf26487ba0d58f74",
    "distinct": true,
    "message": "Merge main into replay deposit basis\n\nCo-authored-by: cooper <czxtm@users.noreply.github.com>",
    "timestamp": "2026-05-31T13:24:52Z",
    "url": "https://github.com/darkmatter/titan/commit/6ac9d66eeb58ca53a0a296ef058832661d153b1f",
    "author": {
      "name": "Cursor Agent",
      "email": "cursoragent@cursor.com",
      "date": "2026-05-31T13:24:52Z",
      "username": "cursoragent"
    },
    "committer": {
      "name": "Cursor Agent",
      "email": "cursoragent@cursor.com",
      "date": "2026-05-31T13:24:52Z",
      "username": "cursoragent"
    },
    "added": [
      ".dockerignore",
      ".github/workflows/extension-apr-monitor-deploy.yml",
      ".github/workflows/extension-apr-monitor.yml",
      ".github/workflows/fly-deploy.yml",
      "Dockerfile.fly",
      "Justfile",
      "apps/extension/lib/background-fetch.test.ts",
      "apps/extension/lib/background-fetch.ts",
      "apps/extension/lib/provenance.test.ts",
      "apps/extension/lib/provenance.ts",
      "apps/server/src/basic-auth.test.ts",
      "apps/server/src/basic-auth.ts",
      "apps/server/src/spa-fallback.test.ts",
      "apps/server/src/spa-fallback.ts",
      "apps/web/scripts/extension-apr-monitor-deploy-guard.ts",
      "apps/web/src/workers/extension-apr-monitor-deploy-guard.test.ts",
      "apps/web/src/workers/extension-apr-monitor-deploy-workflow.test.ts",
      "apps/web/src/workers/extension-apr-monitor-scheduler-workflow.test.ts",
      "apps/web/src/workers/extension-apr-monitor.test.ts",
      "apps/web/workers/alerts.ts",
      "apps/web/workers/d1-pg-adapter.ts",
      "apps/web/workers/extension-apr-monitor.ts",
      "apps/web/wrangler.alerts.toml",
      "apps/web/wrangler.extension-apr-monitor.toml",
      "docs/dune/extension-apr-validation-pricing-protocol-preflight-v1.sql",
      "docs/dune/extension-apr-validation-prospective-discovery-v1.sql",
      "docs/dune/extension-apr-validation-q1-operated-pool-universe-v1.sql",
      "docs/dune/extension-apr-validation-uniswap-canary-candidates-v1.sql",
      "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v1.sql",
      "docs/dune/extension-apr-validation-uniswap-daily-outcomes-v2.sql",
      "docs/extension-validation/active-vs-naive-apr-validation-plan.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-plan.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-plan.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-cache-snapshot.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-plan.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-sla-fresh-snapshot.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-cache-snapshot.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-plan.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-2026-05-08-dual-fresh-snapshot.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3-fresh.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-calibration3.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-fly-direct.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-cache.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live-uniswap8-fresh.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-plan-day1-live.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-plan-seed.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3-fresh.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-calibration3.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-fly-direct.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-cache.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live-uniswap8-fresh.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-day1-live.md",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.json",
      "docs/extension-validation/artifacts/extension-apr-monitor-snapshot-seed.md",
      "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.json",
      "docs/extension-validation/artifacts/extension-apr-operator-decision-capture-template.md",
      "docs/extension-validation/artifacts/pricing-protocol-preflight-dune-result.json",
      "docs/extension-validation/artifacts/pricing-protocol-preflight-report.json",
      "docs/extension-validation/artifacts/pricing-protocol-preflight-report.md",
      "docs/extension-validation/artifacts/pricing-protocol-preflight-rows.json",
      "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-dune-result.json",
      "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.json",
      "docs/extension-validation/artifacts/prospective-discovery-cohort-v1-report.md",
      "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-dune-result.json",
      "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.json",
      "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-report.md",
      "docs/extension-validation/artifacts/q1-operated-pool-universe-reconciler-rows.json",
      "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.json",
      "docs/extension-validation/artifacts/uniswap-active-vs-naive-statistics-one-week.md",
      "docs/extension-validation/artifacts/uniswap-canary-candidates-dune-result.json",
      "docs/extension-validation/artifacts/uniswap-canary-candidates-rows.json",
      "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.json",
      "docs/extension-validation/artifacts/uniswap-canary-replay-limit1.md",
      "docs/extension-validation/artifacts/uniswap-canary-replay.json",
      "docs/extension-validation/artifacts/uniswap-canary-replay.md",
      "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.json",
      "docs/extension-validation/artifacts/uniswap-canary-selected-candidates.md",
      "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe-dune-result.json",
      "docs/extension-validation/artifacts/uniswap-daily-outcomes-probe.md",
      "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-one-day-probe-dune-result.json",
      "docs/extension-validation/artifacts/uniswap-daily-outcomes-v2-probe.md",
      "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.json",
      "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-limit-8.md",
      "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.json",
      "docs/extension-validation/artifacts/uniswap-liquidity-enrichment-one-week.md",
      "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.json",
      "docs/extension-validation/artifacts/uniswap-rpc-daily-one-day-canary.md",
      "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.json",
      "docs/extension-validation/artifacts/uniswap-rpc-daily-one-week-canary.md",
      "docs/extension-validation/monitoring/dashboard.html",
      "docs/iridium-final.png",
      "docs/iridium-polished.png",
      "docs/iridium-public-cache.png",
      "docs/iridium-rebranded.png",
      "docs/iridium-sh-live.png",
      "fly.toml",
      "ops/KEY_ROTATION.md",
      "ops/secrets/common.sops.yaml",
      "ops/secrets/runtime.sops.env",
      "packages/cl-intelligence/src/bin/extension-apr-canary-replay.ts",
      "packages/cl-intelligence/src/bin/extension-apr-liquidity-run.ts",
      "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.test.ts",
      "packages/cl-intelligence/src/bin/extension-apr-monitor-automate.ts",
      "packages/cl-intelligence/src/bin/extension-apr-monitor-outcome-readiness-run.ts",
      "packages/cl-intelligence/src/bin/extension-apr-monitor-post.test.ts",
      "packages/cl-intelligence/src/bin/extension-apr-monitor-post.ts",
      "packages/cl-intelligence/src/bin/extension-apr-monitor-run.ts",
      "packages/cl-intelligence/src/bin/extension-apr-operator-capture-template-run.ts",
      "packages/cl-intelligence/src/bin/extension-apr-rpc-daily-run.ts",
      "packages/cl-intelligence/src/bin/extension-apr-statistics-run.ts",
      "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.test.ts",
      "packages/cl-intelligence/src/extension-apr-monitor-outcome-readiness.ts",
      "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.test.ts",
      "packages/cl-intelligence/src/extension-apr-monitor-worker-poster.ts",
      "packages/cl-intelligence/src/extension-apr-monitor.ts",
      "packages/cl-intelligence/src/extension-apr-validation-canary.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-canary.ts",
      "packages/cl-intelligence/src/extension-apr-validation-daily.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-daily.ts",
      "packages/cl-intelligence/src/extension-apr-validation-liquidity.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-liquidity.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-api-parity.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-d1-store.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-dashboard.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-live.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-live.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-snapshot-id.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-store.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor-store.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-monitor.ts",
      "packages/cl-intelligence/src/extension-apr-validation-operator-capture.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-operator-capture.ts",
      "packages/cl-intelligence/src/extension-apr-validation-preflight.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-preflight.ts",
      "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-live.ts",
      "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-rpc-daily-runner.ts",
      "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-rpc-daily.ts",
      "packages/cl-intelligence/src/extension-apr-validation-statistics.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-statistics.ts",
      "packages/cl-intelligence/src/extension-apr-validation-universe.test.ts",
      "packages/cl-intelligence/src/extension-apr-validation-universe.ts",
      "packages/db/src/migrations/0000_outstanding_james_howlett.sql",
      "packages/db/src/migrations/meta/0000_snapshot.json",
      "packages/db/src/migrations/meta/_journal.json",
      "packages/infra/services.json",
      "packages/infra/tsconfig.check.json"
    ],
    "removed": [
      ".beads/issues.jsonl",
      "iridium-final.png",
      "iridium-polished.png",
      "iridium-public-cache.png",
      "iridium-rebranded.png",
      "iridium-sh-live.png",
      "openspec/changes/titan-feature-parity/.openspec.yaml",
      "openspec/changes/titan-feature-parity/design.md",
      "openspec/changes/titan-feature-parity/proposal.md",
      "openspec/changes/titan-feature-parity/specs/extension-core/spec.md",
      "openspec/changes/titan-feature-parity/specs/tauri-native/spec.md",
      "openspec/changes/titan-feature-parity/specs/tui-core/spec.md",
      "openspec/changes/titan-feature-parity/specs/wallet-connect/spec.md",
      "openspec/changes/titan-feature-parity/specs/wallet-management/spec.md",
      "openspec/changes/titan-feature-parity/tasks.md",
      "openspec/config.yaml",
      "packages/infra/src/index.ts",
      "packages/infra/src/resources/ssh-bun-deploy.ts"
    ],
    "modified": [
      ".github/workflows/ci.yml",
      ".gitignore",
      "README.md",
      "apps/extension/README.md",
      "apps/extension/entrypoints/background.ts",
      "apps/extension/entrypoints/popup/App.tsx",
      "apps/extension/lib/api.ts",
      "apps/extension/lib/compare-panel.ts",
      "apps/extension/lib/inline-panel.test.ts",
      "apps/extension/lib/inline-panel.ts",
      "apps/extension/lib/pool-detail-overlay.ts",
      "apps/extension/lib/sidebar.ts",
      "apps/extension/package.json",
      "apps/extension/wxt.config.ts",
      "apps/server/src/cors.test.ts",
      "apps/server/src/cors.ts",
      "apps/server/src/index.ts",
      "apps/server/src/routes/pool-intelligence/index.ts",
      "apps/web/.gitignore",
      "apps/web/package.json",
      "apps/web/vercel.json",
      "apps/web/vite.config.ts",
      "flake.nix",
      "package.json",
      "packages/cl-intelligence/package.json",
      "packages/cl-intelligence/src/index.ts",
      "packages/infra/README.md",
      "packages/infra/alchemy.run.ts",
      "packages/infra/bun.lock",
      "packages/infra/package.json",
      "packages/infra/tsconfig.json"
    ]
  }
}