Payload
{
"ref": "refs/heads/fkb/cl-replay-hodl-benchmark-batch-run",
"before": "e2b4595fab96169ab2b126c2b78d128ad7467243",
"after": "52c586493f5c208242be187a7743440813876875",
"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:26:25Z",
"pushed_at": 1780234023,
"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": 41,
"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": 41,
"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/e2b4595fab96...52c586493f5c",
"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": "52c586493f5c208242be187a7743440813876875",
"tree_id": "be40293c5deb874cf95f9acaad113f1f4038d309",
"distinct": true,
"message": "Merge main into HODL replay batch runner\n\nCo-authored-by: cooper <czxtm@users.noreply.github.com>",
"timestamp": "2026-05-31T13:26:56Z",
"url": "https://github.com/darkmatter/titan/commit/52c586493f5c208242be187a7743440813876875",
"author": {
"name": "Cursor Agent",
"email": "cursoragent@cursor.com",
"date": "2026-05-31T13:26:56Z",
"username": "cursoragent"
},
"committer": {
"name": "Cursor Agent",
"email": "cursoragent@cursor.com",
"date": "2026-05-31T13:26:56Z",
"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": "52c586493f5c208242be187a7743440813876875",
"tree_id": "be40293c5deb874cf95f9acaad113f1f4038d309",
"distinct": true,
"message": "Merge main into HODL replay batch runner\n\nCo-authored-by: cooper <czxtm@users.noreply.github.com>",
"timestamp": "2026-05-31T13:26:56Z",
"url": "https://github.com/darkmatter/titan/commit/52c586493f5c208242be187a7743440813876875",
"author": {
"name": "Cursor Agent",
"email": "cursoragent@cursor.com",
"date": "2026-05-31T13:26:56Z",
"username": "cursoragent"
},
"committer": {
"name": "Cursor Agent",
"email": "cursoragent@cursor.com",
"date": "2026-05-31T13:26:56Z",
"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"
]
}
}