Payload
{
"ref": "refs/heads/claude/quirky-joliot-b8ca5c",
"before": "86c2b51009ba1744fdf459d7c18dce193d54185e",
"after": "26e284c80998bad4eff157a18a49da8cdac3ca88",
"repository": {
"id": 1124425360,
"node_id": "R_kgDOQwVekA",
"name": "web",
"full_name": "darkmatter/web",
"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/web",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/darkmatter/web",
"forks_url": "https://api.github.com/repos/darkmatter/web/forks",
"keys_url": "https://api.github.com/repos/darkmatter/web/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/darkmatter/web/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/darkmatter/web/teams",
"hooks_url": "https://api.github.com/repos/darkmatter/web/hooks",
"issue_events_url": "https://api.github.com/repos/darkmatter/web/issues/events{/number}",
"events_url": "https://api.github.com/repos/darkmatter/web/events",
"assignees_url": "https://api.github.com/repos/darkmatter/web/assignees{/user}",
"branches_url": "https://api.github.com/repos/darkmatter/web/branches{/branch}",
"tags_url": "https://api.github.com/repos/darkmatter/web/tags",
"blobs_url": "https://api.github.com/repos/darkmatter/web/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/darkmatter/web/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/darkmatter/web/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/darkmatter/web/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/darkmatter/web/statuses/{sha}",
"languages_url": "https://api.github.com/repos/darkmatter/web/languages",
"stargazers_url": "https://api.github.com/repos/darkmatter/web/stargazers",
"contributors_url": "https://api.github.com/repos/darkmatter/web/contributors",
"subscribers_url": "https://api.github.com/repos/darkmatter/web/subscribers",
"subscription_url": "https://api.github.com/repos/darkmatter/web/subscription",
"commits_url": "https://api.github.com/repos/darkmatter/web/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/darkmatter/web/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/darkmatter/web/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/darkmatter/web/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/darkmatter/web/contents/{+path}",
"compare_url": "https://api.github.com/repos/darkmatter/web/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/darkmatter/web/merges",
"archive_url": "https://api.github.com/repos/darkmatter/web/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/darkmatter/web/downloads",
"issues_url": "https://api.github.com/repos/darkmatter/web/issues{/number}",
"pulls_url": "https://api.github.com/repos/darkmatter/web/pulls{/number}",
"milestones_url": "https://api.github.com/repos/darkmatter/web/milestones{/number}",
"notifications_url": "https://api.github.com/repos/darkmatter/web/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/darkmatter/web/labels{/name}",
"releases_url": "https://api.github.com/repos/darkmatter/web/releases{/id}",
"deployments_url": "https://api.github.com/repos/darkmatter/web/deployments",
"created_at": 1766974296,
"updated_at": "2026-06-01T13:55:44Z",
"pushed_at": 1780422278,
"git_url": "git://github.com/darkmatter/web.git",
"ssh_url": "git@github.com:darkmatter/web.git",
"clone_url": "https://github.com/darkmatter/web.git",
"svn_url": "https://github.com/darkmatter/web",
"homepage": "https://web-darkmatterlabs.vercel.app",
"size": 5112,
"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": 2,
"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": 2,
"watchers": 0,
"default_branch": "main",
"stargazers": 0,
"master_branch": "main",
"organization": "darkmatter",
"custom_properties": {}
},
"pusher": {
"name": "czxtm",
"email": "1325802+czxtm@users.noreply.github.com"
},
"forced": false,
"organization": {
"login": "darkmatter",
"id": 17834193,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE3ODM0MTkz",
"url": "https://api.github.com/orgs/darkmatter",
"repos_url": "https://api.github.com/orgs/darkmatter/repos",
"events_url": "https://api.github.com/orgs/darkmatter/events",
"hooks_url": "https://api.github.com/orgs/darkmatter/hooks",
"issues_url": "https://api.github.com/orgs/darkmatter/issues",
"members_url": "https://api.github.com/orgs/darkmatter/members{/member}",
"public_members_url": "https://api.github.com/orgs/darkmatter/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/17834193?v=4",
"description": ""
},
"enterprise": {
"id": 469843,
"slug": "darkmatter",
"name": "darkmatter",
"node_id": "E_kgDOAAcrUw",
"avatar_url": "https://avatars.githubusercontent.com/b/469843?v=4",
"description": "",
"website_url": "darkmatter.io",
"html_url": "https://github.com/enterprises/darkmatter",
"created_at": "2025-09-07T16:01:00Z",
"updated_at": "2026-05-09T15:34:55Z"
},
"sender": {
"login": "czxtm",
"id": 1325802,
"node_id": "MDQ6VXNlcjEzMjU4MDI=",
"avatar_url": "https://avatars.githubusercontent.com/u/1325802?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/czxtm",
"html_url": "https://github.com/czxtm",
"followers_url": "https://api.github.com/users/czxtm/followers",
"following_url": "https://api.github.com/users/czxtm/following{/other_user}",
"gists_url": "https://api.github.com/users/czxtm/gists{/gist_id}",
"starred_url": "https://api.github.com/users/czxtm/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/czxtm/subscriptions",
"organizations_url": "https://api.github.com/users/czxtm/orgs",
"repos_url": "https://api.github.com/users/czxtm/repos",
"events_url": "https://api.github.com/users/czxtm/events{/privacy}",
"received_events_url": "https://api.github.com/users/czxtm/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"installation": {
"id": 131074261,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTMxMDc0MjYx"
},
"created": false,
"deleted": false,
"base_ref": null,
"compare": "https://github.com/darkmatter/web/compare/86c2b51009ba...26e284c80998",
"commits": [
{
"id": "b7718868c98d39f4c2e7770103cc929b3c700bce",
"tree_id": "d4c701d90d17a6e28335297a19f2c8c395908891",
"distinct": false,
"message": "Render image: inline; cover: becomes OG-only fallback\n\nSplits two responsibilities that were previously conflated:\n\n image — the post's actual visual. Rendered inline at the top of the\n post body. When set, also wins as the Open Graph / Twitter\n card image, overriding cover.\n cover — auto-generated social preview. Used only for OG when image is\n unset. Never rendered inline.\n\nWhy split: the obsidian export auto-generates a cover for every\npublished post (via .scripts/generate-cover-images.ts). That image is\ndesigned for social-card sharing, not as a post header. Showing it\nabove every post body created visual repetition. With this split,\nauthors get explicit control: set `image:` for posts that warrant a\nheader visual; the auto cover keeps doing OG duty in the background.\n\nChanges:\n- BlogPostMeta / BlogPost gain optional `image` and `cover` fields,\n parsed verbatim from frontmatter.\n- New getSocialImage(post) helper returns image ?? cover for OG/Twitter\n metadata.\n- /blog/[slug] and /internal/[slug] render `image` as a 1200×630 figure\n between the title and the body, and pass the resolved social image\n into openGraph and twitter metadata.\n- List pages unchanged — covers were never meant to render there.\n\nCompanion to darkmatter/obsidian PR #10, which adds the matching\n`image:` passthrough in the exporter and a `preview` cover variant for\ninternal posts (so /internal/<slug> URLs surface a useful teaser when\nshared).",
"timestamp": "2026-05-10T09:13:40-07:00",
"url": "https://github.com/darkmatter/web/commit/b7718868c98d39f4c2e7770103cc929b3c700bce",
"author": {
"name": "Claude",
"email": "claude@anthropic.com",
"date": "2026-05-10T09:13:40-07:00",
"username": "claude"
},
"committer": {
"name": "Claude",
"email": "claude@anthropic.com",
"date": "2026-05-10T09:13:40-07:00",
"username": "claude"
},
"added": [],
"removed": [],
"modified": [
"app/blog/[slug]/page.tsx",
"app/internal/[slug]/page.tsx",
"lib/blog.ts"
]
},
{
"id": "803940a3e41262eca5ea7c9eedf9bc3625147cde",
"tree_id": "f93e40bfd1950a586ad5bf7e43aeb1a75d13c351",
"distinct": false,
"message": "feat: /posts feed with CF Access auth, sync-web dev tooling\n\n- Add /posts page: merged public + internal feed, sorted by date\n- Internal posts show a lock/team badge; only visible to CF Access-authed users\n- Add lib/cf-access.ts: CF Access JWT verification via JWKS (RS256/ES256)\n - Dev bypass via CF_DEV_EMAIL env var\n - Same pattern as platform/apps/access-guard (PoC reference impl)\n- Remove custom password auth (lib/auth.ts, middleware.ts, app/login/)\n- Add Posts nav item to site header\n\nCo-Authored-By: Oz <oz-agent@warp.dev>",
"timestamp": "2026-05-11T21:05:11-07:00",
"url": "https://github.com/darkmatter/web/commit/803940a3e41262eca5ea7c9eedf9bc3625147cde",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-11T21:05:11-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-11T21:05:11-07:00",
"username": "czxtm"
},
"added": [
"app/posts/page.tsx",
"lib/cf-access.ts"
],
"removed": [],
"modified": [
"bun.lock",
"components/site-header.tsx",
"content/internal/hello-world.md",
"content/internal/mar-2430-2026.md",
"package.json"
]
},
{
"id": "9004cb9f63e53987b9980f5a8b1bd3570dbdeb50",
"tree_id": "f93e40bfd1950a586ad5bf7e43aeb1a75d13c351",
"distinct": false,
"message": "feat: image/cover split + /posts feed + CF Access auth (#10)\n\n* Render image: inline; cover: becomes OG-only fallback\n\nSplits two responsibilities that were previously conflated:\n\n image — the post's actual visual. Rendered inline at the top of the\n post body. When set, also wins as the Open Graph / Twitter\n card image, overriding cover.\n cover — auto-generated social preview. Used only for OG when image is\n unset. Never rendered inline.\n\nWhy split: the obsidian export auto-generates a cover for every\npublished post (via .scripts/generate-cover-images.ts). That image is\ndesigned for social-card sharing, not as a post header. Showing it\nabove every post body created visual repetition. With this split,\nauthors get explicit control: set `image:` for posts that warrant a\nheader visual; the auto cover keeps doing OG duty in the background.\n\nChanges:\n- BlogPostMeta / BlogPost gain optional `image` and `cover` fields,\n parsed verbatim from frontmatter.\n- New getSocialImage(post) helper returns image ?? cover for OG/Twitter\n metadata.\n- /blog/[slug] and /internal/[slug] render `image` as a 1200×630 figure\n between the title and the body, and pass the resolved social image\n into openGraph and twitter metadata.\n- List pages unchanged — covers were never meant to render there.\n\nCompanion to darkmatter/obsidian PR #10, which adds the matching\n`image:` passthrough in the exporter and a `preview` cover variant for\ninternal posts (so /internal/<slug> URLs surface a useful teaser when\nshared).\n\n* feat: /posts feed with CF Access auth, sync-web dev tooling\n\n- Add /posts page: merged public + internal feed, sorted by date\n- Internal posts show a lock/team badge; only visible to CF Access-authed users\n- Add lib/cf-access.ts: CF Access JWT verification via JWKS (RS256/ES256)\n - Dev bypass via CF_DEV_EMAIL env var\n - Same pattern as platform/apps/access-guard (PoC reference impl)\n- Remove custom password auth (lib/auth.ts, middleware.ts, app/login/)\n- Add Posts nav item to site header\n\nCo-Authored-By: Oz <oz-agent@warp.dev>\n\n---------\n\nCo-authored-by: Claude <claude@anthropic.com>\nCo-authored-by: Oz <oz-agent@warp.dev>",
"timestamp": "2026-05-11T21:06:03-07:00",
"url": "https://github.com/darkmatter/web/commit/9004cb9f63e53987b9980f5a8b1bd3570dbdeb50",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-11T21:06:03-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-11T21:06:03-07:00",
"username": "web-flow"
},
"added": [
"app/posts/page.tsx",
"lib/cf-access.ts"
],
"removed": [],
"modified": [
"app/blog/[slug]/page.tsx",
"app/internal/[slug]/page.tsx",
"bun.lock",
"components/site-header.tsx",
"content/internal/hello-world.md",
"content/internal/mar-2430-2026.md",
"lib/blog.ts",
"package.json"
]
},
{
"id": "7fa7a3e7f1bb7512b109c135dfdb4251eee53cab",
"tree_id": "ec180da255423eb6001c452294559172d034b404",
"distinct": false,
"message": "chore: replace pnpm with bun",
"timestamp": "2026-05-11T22:06:47-07:00",
"url": "https://github.com/darkmatter/web/commit/7fa7a3e7f1bb7512b109c135dfdb4251eee53cab",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-11T22:06:47-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-11T22:06:47-07:00",
"username": "czxtm"
},
"added": [],
"removed": [
"pnpm-lock.yaml"
],
"modified": [
".dockerignore",
".gitignore",
"Dockerfile",
"devenv.nix",
"docker-entrypoint.js"
]
},
{
"id": "567fcda7e7e6a718a94b802b1e9ea64d6d4b87f8",
"tree_id": "ec180da255423eb6001c452294559172d034b404",
"distinct": false,
"message": "Merge pull request #11 from darkmatter/claude/blog-image-and-og-cover-split\n\nchore: replace pnpm with bun",
"timestamp": "2026-05-11T22:07:18-07:00",
"url": "https://github.com/darkmatter/web/commit/567fcda7e7e6a718a94b802b1e9ea64d6d4b87f8",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-11T22:07:18-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-11T22:07:18-07:00",
"username": "web-flow"
},
"added": [],
"removed": [
"pnpm-lock.yaml"
],
"modified": [
".dockerignore",
".gitignore",
"Dockerfile",
"devenv.nix",
"docker-entrypoint.js"
]
},
{
"id": "3d456306d42c2fbb96a5282c894d291cbfc1f112",
"tree_id": "130a64f2e4d25f59da0082e3d245efda5e71a375",
"distinct": false,
"message": "add cf auth",
"timestamp": "2026-05-12T05:43:46-07:00",
"url": "https://github.com/darkmatter/web/commit/3d456306d42c2fbb96a5282c894d291cbfc1f112",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-12T05:43:46-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-12T05:43:46-07:00",
"username": "czxtm"
},
"added": [
"lib/cf-access/b64.ts",
"lib/cf-access/errors.ts",
"lib/cf-access/index.ts",
"lib/cf-access/jwks.ts",
"lib/cf-access/schemas.ts",
"lib/cf-access/session.ts",
"lib/cf-access/verify.ts"
],
"removed": [
"lib/cf-access.ts"
],
"modified": [
"bun.lock",
"content/internal/hello-world.md",
"content/internal/mar-2430-2026.md",
"package.json",
"public/covers/dark-matter-weekly-mar-2430-2026.png",
"public/covers/internal-hello-world.png"
]
},
{
"id": "df7ba218cb82caec1fa9ab447296cd03dc2c610c",
"tree_id": "130a64f2e4d25f59da0082e3d245efda5e71a375",
"distinct": false,
"message": "Merge branch 'claude/blog-image-and-og-cover-split'",
"timestamp": "2026-05-12T05:44:03-07:00",
"url": "https://github.com/darkmatter/web/commit/df7ba218cb82caec1fa9ab447296cd03dc2c610c",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-12T05:44:03-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-12T05:44:03-07:00",
"username": "czxtm"
},
"added": [
"lib/cf-access/b64.ts",
"lib/cf-access/errors.ts",
"lib/cf-access/index.ts",
"lib/cf-access/jwks.ts",
"lib/cf-access/schemas.ts",
"lib/cf-access/session.ts",
"lib/cf-access/verify.ts"
],
"removed": [
"lib/cf-access.ts"
],
"modified": [
"bun.lock",
"content/internal/hello-world.md",
"content/internal/mar-2430-2026.md",
"package.json",
"public/covers/dark-matter-weekly-mar-2430-2026.png",
"public/covers/internal-hello-world.png"
]
},
{
"id": "4156672cbb1b975fb6b486a9419dece8ad4345e7",
"tree_id": "7845312c2927ed015f397570fc62989a38f0e62c",
"distinct": false,
"message": "fix: use bunx in docker-entrypoint to unblock fly deploys (#12)\n\nThe pnpm-to-bun migration left an `npx next build` call in\ndocker-entrypoint.js. The bun-based image has no npx, so the entrypoint\ncrashed at startup with `npx: not found`, failing fly smoke checks.",
"timestamp": "2026-05-12T06:22:33-07:00",
"url": "https://github.com/darkmatter/web/commit/4156672cbb1b975fb6b486a9419dece8ad4345e7",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-12T06:22:33-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-12T06:22:33-07:00",
"username": "web-flow"
},
"added": [],
"removed": [],
"modified": [
"docker-entrypoint.js"
]
},
{
"id": "bf7543fbe536d4dc1db8dcb9bb16ecba66580bd7",
"tree_id": "97023dbdbec98c4bd608adbffa4a736c4f953d42",
"distinct": false,
"message": "Sync blog from obsidian@cc08cd1",
"timestamp": "2026-05-13T01:50:17Z",
"url": "https://github.com/darkmatter/web/commit/bf7543fbe536d4dc1db8dcb9bb16ecba66580bd7",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-13T01:50:17Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-13T01:50:17Z"
},
"added": [
"content/blog/public-test.md",
"content/internal/2026-03-24.md",
"public/covers/blog-public-test.png"
],
"removed": [
"content/internal/mar-2430-2026.md"
],
"modified": [
"public/covers/dark-matter-weekly-mar-2430-2026.png",
"public/covers/internal-hello-world.png"
]
},
{
"id": "d7dfa1948be55b5abb35d47f2ff20dd84bb1a1d2",
"tree_id": "618fa3ba7f2e3eb7ac6f83fe4a22db79df472975",
"distinct": false,
"message": "Fix/docker entrypoint bunx (#13)\n\n* fix: use bunx in docker-entrypoint to unblock fly deploys\n\nThe pnpm-to-bun migration left an `npx next build` call in\ndocker-entrypoint.js. The bun-based image has no npx, so the entrypoint\ncrashed at startup with `npx: not found`, failing fly smoke checks.\n\n* feat: add og:image route for internal posts, bypass CF Access\n\n- Add app/internal/[slug]/opengraph-image.tsx — statically generated\n 1200x630 image per post (title, category, date, author) using\n Next.js ImageResponse file convention\n- Remove manual openGraph.images override in generateMetadata so the\n file convention is the sole og:image source\n- Add metadataBase to root layout so og:image URLs are absolute\n (https://dm.sh/internal/[slug]/opengraph-image)\n\n* feat: rewrite crawler UAs on /internal/* to public og-proxy\n\nMiddleware intercepts known social crawler User-Agents (Slackbot,\nTwitterbot, facebookexternalhit, etc.) on /internal/[slug] and rewrites\nto /og-proxy/internal/[slug] — a statically-generated public page\nthat serves only og/twitter meta tags with no auth gate.\n\nCrawlers get title, description, and og:image. Real users still hit\nCF Access as normal.\n\n* feat: update typography and open graph images\n\n* feat: restructure products pages\n\n* feat: redesign landing page with new UI components",
"timestamp": "2026-05-12T20:41:48-07:00",
"url": "https://github.com/darkmatter/web/commit/d7dfa1948be55b5abb35d47f2ff20dd84bb1a1d2",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-12T20:41:48-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-12T20:41:48-07:00",
"username": "web-flow"
},
"added": [
"app/internal/[slug]/opengraph-image.tsx",
"app/og-proxy/internal/[slug]/page.tsx",
"components/background-lines-demo.tsx",
"components/glowing-grid-item.tsx",
"components/products/product-card.tsx",
"components/products/products-hero.tsx",
"components/products/products-index-header.tsx",
"components/site-footer.tsx",
"components/text-hover-effect-demo.tsx",
"components/ui/background-beams.tsx",
"components/ui/background-lines.tsx",
"components/ui/floating-dock.tsx",
"components/ui/github-icon.tsx",
"components/ui/glowing-effect.tsx",
"components/ui/text-hover-effect.tsx",
"lib/fonts.ts",
"lib/monaspace/monaspace-argon-var.woff",
"lib/monaspace/monaspace-argon-var.woff2",
"lib/monaspace/monaspace-neon-var.woff",
"lib/monaspace/monaspace-neon-var.woff2",
"lib/products.ts",
"middleware.ts",
"public/Proxima Nova Light.ttf",
"public/img/github-dark.webp",
"public/img/jap.svg"
],
"removed": [],
"modified": [
"app/globals.css",
"app/incidents/swap-cow-fi-2026-04-14/opengraph-image.tsx",
"app/internal/[slug]/page.tsx",
"app/layout.tsx",
"app/page.tsx",
"app/posts/page.tsx",
"app/products/alt/page.tsx",
"app/products/classic/page.tsx",
"app/products/hacker/page.tsx",
"app/products/page.tsx",
"bun.lock",
"components/hero.tsx",
"components/site-header.tsx",
"lib/utils.ts",
"next.config.mjs",
"package.json"
]
},
{
"id": "d86b92ab04d22fe0362b98518e2e6c11a1ddf279",
"tree_id": "d403fc7625ff5ae6ef34f79d6fc7b6b2552ced7e",
"distinct": false,
"message": "feat: add wiki routes (/wiki and /internal/wiki)\n\nRenders Obsidian-exported wiki pages from content/wiki/ and\ncontent/internal/wiki/, with sidebar nav from nav.json, breadcrumb,\nand per-page heading outline.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
"timestamp": "2026-05-14T02:56:23-07:00",
"url": "https://github.com/darkmatter/web/commit/d86b92ab04d22fe0362b98518e2e6c11a1ddf279",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-14T02:56:23-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-14T02:56:23-07:00",
"username": "czxtm"
},
"added": [
"app/internal/wiki/[[...slug]]/page.tsx",
"app/wiki/[[...slug]]/page.tsx",
"components/wiki-page.tsx",
"lib/wiki.ts"
],
"removed": [],
"modified": []
},
{
"id": "1fadd0265d8edea7ff5e33aebfd2a978492f51e6",
"tree_id": "92c1656231a6ba474a2f800c276c5dff9e99d094",
"distinct": false,
"message": "Sync content from obsidian@6a2e86d",
"timestamp": "2026-05-14T10:05:39Z",
"url": "https://github.com/darkmatter/web/commit/1fadd0265d8edea7ff5e33aebfd2a978492f51e6",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T10:05:39Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T10:05:39Z"
},
"added": [
"content/wiki/nav.json"
],
"removed": [
"content/blog/public-test.md"
],
"modified": [
"content/internal/2026-03-24.md",
"content/internal/hello-world.md"
]
},
{
"id": "7cb18d5bf33f5033299f803dacce84bf3ec1d78d",
"tree_id": "87110614806e11206324ffe1f46638057ab9162e",
"distinct": false,
"message": "Sync content from obsidian@4282ce6",
"timestamp": "2026-05-14T10:10:19Z",
"url": "https://github.com/darkmatter/web/commit/7cb18d5bf33f5033299f803dacce84bf3ec1d78d",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T10:10:19Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T10:10:19Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "d3b91be5270170d801107c13a11fe937fcd86a70",
"tree_id": "81a4d16cc0b51a1bd65b1d499f11798522fde747",
"distinct": false,
"message": "feat: add wiki routes (/wiki and /internal/wiki) (#14)\n\nRenders Obsidian-exported wiki pages from content/wiki/ and\ncontent/internal/wiki/, with sidebar nav from nav.json, breadcrumb,\nand per-page heading outline.\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
"timestamp": "2026-05-14T03:11:13-07:00",
"url": "https://github.com/darkmatter/web/commit/d3b91be5270170d801107c13a11fe937fcd86a70",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-14T03:11:13-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-14T03:11:13-07:00",
"username": "web-flow"
},
"added": [
"app/internal/wiki/[[...slug]]/page.tsx",
"app/wiki/[[...slug]]/page.tsx",
"components/wiki-page.tsx",
"lib/wiki.ts"
],
"removed": [],
"modified": []
},
{
"id": "f26baf978799d4d23357bb379495f8c7fdc16adf",
"tree_id": "a630c0136f328d6a099a01781b1a615545a95c70",
"distinct": false,
"message": "Sync content from obsidian@52de7bc",
"timestamp": "2026-05-14T10:29:50Z",
"url": "https://github.com/darkmatter/web/commit/f26baf978799d4d23357bb379495f8c7fdc16adf",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T10:29:50Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T10:29:50Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "439c3c8208e2f36556bbd298e618ccdc9a3eccd1",
"tree_id": "28672fa011f30061fe87f34795e04f367a627918",
"distinct": false,
"message": "Sync content from obsidian@0b66203",
"timestamp": "2026-05-14T11:29:26Z",
"url": "https://github.com/darkmatter/web/commit/439c3c8208e2f36556bbd298e618ccdc9a3eccd1",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T11:29:26Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T11:29:26Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "dfeec588e46df57e41f85eb26daafb99ce3f10e3",
"tree_id": "a23822a466e76e3e5c2f1d6d237a9d5f724a08c9",
"distinct": false,
"message": "Sync content from obsidian@4ee787c",
"timestamp": "2026-05-14T14:47:08Z",
"url": "https://github.com/darkmatter/web/commit/dfeec588e46df57e41f85eb26daafb99ce3f10e3",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T14:47:08Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T14:47:08Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "7b188bfe353dfd641cbc12ca9db031a37fea9096",
"tree_id": "deb126fbc52f7071b3c721ad548b4d7c2a2d7059",
"distinct": false,
"message": "Sync content from obsidian@fa0f29a",
"timestamp": "2026-05-14T15:43:02Z",
"url": "https://github.com/darkmatter/web/commit/7b188bfe353dfd641cbc12ca9db031a37fea9096",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T15:43:02Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T15:43:02Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "a650371941eeb1a9a2418638a657647ac0497b9d",
"tree_id": "c91fa1dad5ad6cad653ec34ea93ffeeb2ba96349",
"distinct": false,
"message": "Sync content from obsidian@dfd8360",
"timestamp": "2026-05-14T21:17:07Z",
"url": "https://github.com/darkmatter/web/commit/a650371941eeb1a9a2418638a657647ac0497b9d",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T21:17:07Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-14T21:17:07Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "b5aec2743c3afb1235dec7e9fc2ea660d583c3e2",
"tree_id": "f2544c5ee44db844401d73c4ca39cfa6ee866a0f",
"distinct": false,
"message": "Sync content from obsidian@9970f6f",
"timestamp": "2026-05-15T00:29:07Z",
"url": "https://github.com/darkmatter/web/commit/b5aec2743c3afb1235dec7e9fc2ea660d583c3e2",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T00:29:07Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T00:29:07Z"
},
"added": [
"content/internal/wiki/engineering-principles.md",
"content/internal/wiki/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering-principles/04-how-we-own.md",
"content/internal/wiki/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md"
],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "5ab8c40843013521e95ec73517b5e07c39d3b76c",
"tree_id": "c9d310b018ec7ffdd9feee610334feecd5fd7cb1",
"distinct": false,
"message": "Sync content from obsidian@8067bd0",
"timestamp": "2026-05-15T05:26:08Z",
"url": "https://github.com/darkmatter/web/commit/5ab8c40843013521e95ec73517b5e07c39d3b76c",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T05:26:08Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T05:26:08Z"
},
"added": [
"content/internal/00-preamble.md",
"content/internal/01-foundational-beliefs.md",
"content/internal/02-how-we-build.md",
"content/internal/03-how-we-decide.md",
"content/internal/04-how-we-own.md",
"content/internal/05-how-we-treat-quality.md",
"content/internal/06-how-we-treat-each-other.md",
"content/internal/07-tradeoffs.md",
"content/internal/08-anti-patterns.md",
"content/internal/09-evolution.md",
"content/internal/bugfixes-vs-features-across-oss-repos.md",
"content/internal/engineering-principles.md"
],
"removed": [
"content/internal/wiki/engineering-principles.md",
"content/internal/wiki/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering-principles/04-how-we-own.md",
"content/internal/wiki/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md"
],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "49fda6ad8d3edc7f750b5921c69aab0ce4a4e9c5",
"tree_id": "32a01bbc786d407b7e6d405aee4375f75076bd56",
"distinct": false,
"message": "Sync content from obsidian@684ce96",
"timestamp": "2026-05-15T06:50:37Z",
"url": "https://github.com/darkmatter/web/commit/49fda6ad8d3edc7f750b5921c69aab0ce4a4e9c5",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T06:50:37Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T06:50:37Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "f2038d54731036ae61f0f7f18fcd40ba18900ac6",
"tree_id": "c759b9a34489c9cbc43e0464b3f5981c37400f31",
"distinct": false,
"message": "Sync content from obsidian@dd354da",
"timestamp": "2026-05-15T07:00:09Z",
"url": "https://github.com/darkmatter/web/commit/f2038d54731036ae61f0f7f18fcd40ba18900ac6",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T07:00:09Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T07:00:09Z"
},
"added": [
"content/internal/juan-review.md"
],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "1bf98229a79208b115469b13180edcd89ba9de33",
"tree_id": "7ac608d397facf55e508fe3f61f302ba11b5dbc4",
"distinct": false,
"message": "Sync content from obsidian@6a7da5f",
"timestamp": "2026-05-15T09:02:41Z",
"url": "https://github.com/darkmatter/web/commit/1bf98229a79208b115469b13180edcd89ba9de33",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T09:02:41Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T09:02:41Z"
},
"added": [],
"removed": [],
"modified": [
"content/internal/00-preamble.md",
"content/wiki/nav.json"
]
},
{
"id": "edb11b75ef637b19e0361a217658ee7c94c3598a",
"tree_id": "931a84d3b5ff19902aaaa893416061f6b9534f94",
"distinct": false,
"message": "hero glitch",
"timestamp": "2026-05-15T14:41:54-07:00",
"url": "https://github.com/darkmatter/web/commit/edb11b75ef637b19e0361a217658ee7c94c3598a",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-15T14:41:54-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-15T14:41:54-07:00",
"username": "czxtm"
},
"added": [
".sops.yaml",
"components.sops.json"
],
"removed": [],
"modified": [
"components/hero.tsx"
]
},
{
"id": "275a1456f7d2d0deaaaa63ba700de156c08a9d16",
"tree_id": "fa67c8787b3dfed088b5d42a9ac5933528f2a526",
"distinct": false,
"message": "Merge branch 'feat/wiki'",
"timestamp": "2026-05-15T14:42:22-07:00",
"url": "https://github.com/darkmatter/web/commit/275a1456f7d2d0deaaaa63ba700de156c08a9d16",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-15T14:42:22-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-15T14:42:22-07:00",
"username": "czxtm"
},
"added": [
".sops.yaml",
"components.sops.json"
],
"removed": [],
"modified": [
"components/hero.tsx"
]
},
{
"id": "57dc2b2127e18a7a999ea9893ba5723f26a0ebde",
"tree_id": "eee48645452f1c76e38bb9a324aa4456812c8299",
"distinct": false,
"message": "Sync content from obsidian@c1a82ff",
"timestamp": "2026-05-15T22:26:27Z",
"url": "https://github.com/darkmatter/web/commit/57dc2b2127e18a7a999ea9893ba5723f26a0ebde",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T22:26:27Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-15T22:26:27Z"
},
"added": [
"content/internal/wiki/engineering-principles.md",
"content/internal/wiki/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering-principles/04-how-we-own.md",
"content/internal/wiki/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md"
],
"removed": [
"content/internal/00-preamble.md",
"content/internal/01-foundational-beliefs.md",
"content/internal/02-how-we-build.md",
"content/internal/03-how-we-decide.md",
"content/internal/04-how-we-own.md",
"content/internal/05-how-we-treat-quality.md",
"content/internal/06-how-we-treat-each-other.md",
"content/internal/07-tradeoffs.md",
"content/internal/08-anti-patterns.md",
"content/internal/09-evolution.md",
"content/internal/bugfixes-vs-features-across-oss-repos.md",
"content/internal/engineering-principles.md"
],
"modified": [
"content/internal/2026-03-24.md",
"content/internal/hello-world.md",
"content/wiki/nav.json",
"public/covers/dark-matter-weekly-mar-2430-2026.png",
"public/covers/internal-hello-world.png"
]
},
{
"id": "6f198f678211ed15e6ae89950db7ddaf8eb0436c",
"tree_id": "361b0de96150a09be7622ddab713b4b1c439876b",
"distinct": false,
"message": "Sync content from obsidian@ca496ba",
"timestamp": "2026-05-16T17:50:02Z",
"url": "https://github.com/darkmatter/web/commit/6f198f678211ed15e6ae89950db7ddaf8eb0436c",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T17:50:02Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T17:50:02Z"
},
"added": [],
"removed": [],
"modified": [
"content/internal/juan-review.md",
"content/wiki/nav.json"
]
},
{
"id": "084304da2fd49c9856c5ad1b40f7575627d69dd6",
"tree_id": "c33e1468e2cafde33fc110d6fbc896e9058747c4",
"distinct": false,
"message": "Sync content from obsidian@dd48d28",
"timestamp": "2026-05-16T18:09:31Z",
"url": "https://github.com/darkmatter/web/commit/084304da2fd49c9856c5ad1b40f7575627d69dd6",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T18:09:31Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T18:09:31Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "a3261c80444112d2cc7a4622d630c0853835f0b8",
"tree_id": "5bb1c16ebdc76cc89fb5a476ac58ed6d770d464b",
"distinct": false,
"message": "Sync content from obsidian@7e3c2fc",
"timestamp": "2026-05-16T18:39:28Z",
"url": "https://github.com/darkmatter/web/commit/a3261c80444112d2cc7a4622d630c0853835f0b8",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T18:39:28Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T18:39:28Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "e821a92b0b4f5cf93d0173ef0187412ebe6b142e",
"tree_id": "1fa363b80a355e968c8f0781b88b7ad03ad60383",
"distinct": false,
"message": "Sync content from obsidian@e2069c5",
"timestamp": "2026-05-16T19:15:03Z",
"url": "https://github.com/darkmatter/web/commit/e821a92b0b4f5cf93d0173ef0187412ebe6b142e",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T19:15:03Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T19:15:03Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "c3998a93380076c0c248edd82d222a5140767489",
"tree_id": "ceff7d15853fa3772bd6093b4bd476b94289b199",
"distinct": false,
"message": "Sync content from obsidian@5125a27",
"timestamp": "2026-05-16T23:16:20Z",
"url": "https://github.com/darkmatter/web/commit/c3998a93380076c0c248edd82d222a5140767489",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T23:16:20Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T23:16:20Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "e1dcc7e5ad4a4b16c8d3472b4ecde9533d2e17ee",
"tree_id": "3b8bcac66857e5861ec9d1e8adafdd4084e18a1a",
"distinct": false,
"message": "Sync content from obsidian@f2d035a",
"timestamp": "2026-05-16T23:19:37Z",
"url": "https://github.com/darkmatter/web/commit/e1dcc7e5ad4a4b16c8d3472b4ecde9533d2e17ee",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T23:19:37Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-16T23:19:37Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "66aacd7d9745f6f5c14cbfed96d76dfa4a50c052",
"tree_id": "783792c24e4600fae60b4977dc5b06f3ede63105",
"distinct": false,
"message": "Sync content from obsidian@8aa8830",
"timestamp": "2026-05-17T01:08:42Z",
"url": "https://github.com/darkmatter/web/commit/66aacd7d9745f6f5c14cbfed96d76dfa4a50c052",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T01:08:42Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T01:08:42Z"
},
"added": [],
"removed": [],
"modified": [
"content/internal/juan-review.md",
"content/wiki/nav.json"
]
},
{
"id": "6c6835b1d072ca5eae76f796401f8a57007c177a",
"tree_id": "ca8ceb5af34747b3d9ec3fd280d15a4670350958",
"distinct": false,
"message": "Sync content from obsidian@fff335e",
"timestamp": "2026-05-17T02:16:22Z",
"url": "https://github.com/darkmatter/web/commit/6c6835b1d072ca5eae76f796401f8a57007c177a",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T02:16:22Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T02:16:22Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "084f4aa185e041515077306f565d96bcec671176",
"tree_id": "ec2ba41e51bb08e566d1e01ddb58dda8ed06d447",
"distinct": false,
"message": "Sync content from obsidian@eb8de06",
"timestamp": "2026-05-17T12:17:17Z",
"url": "https://github.com/darkmatter/web/commit/084f4aa185e041515077306f565d96bcec671176",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T12:17:17Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T12:17:17Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "fb5c826480a6ca005e5b3ac9ab97265be9f29307",
"tree_id": "d23977a7dc6af0a01a412708bd979c999e8a49eb",
"distinct": false,
"message": "Sync content from obsidian@b444519",
"timestamp": "2026-05-17T13:02:27Z",
"url": "https://github.com/darkmatter/web/commit/fb5c826480a6ca005e5b3ac9ab97265be9f29307",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T13:02:27Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-17T13:02:27Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "37958828da51a0cc496b8eb7d84b9c87e114326d",
"tree_id": "6d3b20f5c0495a706f1739f89ff0bf7d0c4e1793",
"distinct": false,
"message": "Sync content from obsidian@f4958c1",
"timestamp": "2026-05-18T03:57:32Z",
"url": "https://github.com/darkmatter/web/commit/37958828da51a0cc496b8eb7d84b9c87e114326d",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-18T03:57:32Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-18T03:57:32Z"
},
"added": [],
"removed": [],
"modified": [
"content/internal/juan-review.md",
"content/wiki/nav.json"
]
},
{
"id": "19f383b1abb29662d08e8d7f5015ae14f189ae32",
"tree_id": "0e66553669be5ea8f25ec1dda9ecaa31ab0296fc",
"distinct": false,
"message": "Sync content from obsidian@9d2fdb7",
"timestamp": "2026-05-19T09:46:15Z",
"url": "https://github.com/darkmatter/web/commit/19f383b1abb29662d08e8d7f5015ae14f189ae32",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T09:46:15Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T09:46:15Z"
},
"added": [],
"removed": [],
"modified": [
"content/internal/juan-review.md",
"content/wiki/nav.json"
]
},
{
"id": "a84ed633ab41a8fd47d014eb9d0a8ea34e7be4a6",
"tree_id": "d5fd7ebffc070650e6064af42177a09f43c08487",
"distinct": false,
"message": "Sync content from obsidian@00d1267",
"timestamp": "2026-05-19T10:21:44Z",
"url": "https://github.com/darkmatter/web/commit/a84ed633ab41a8fd47d014eb9d0a8ea34e7be4a6",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T10:21:44Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T10:21:44Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "1543d2788b8d3c18848a7fc39811ae4ffaf27b61",
"tree_id": "5a881048016f759443a2c2c5eba349c00c077100",
"distinct": false,
"message": "Sync content from obsidian@4f29421",
"timestamp": "2026-05-19T11:03:54Z",
"url": "https://github.com/darkmatter/web/commit/1543d2788b8d3c18848a7fc39811ae4ffaf27b61",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T11:03:54Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T11:03:54Z"
},
"added": [],
"removed": [],
"modified": [
"content/wiki/nav.json"
]
},
{
"id": "fd977ee99e21e1b6c08c09a5c2fce46a54059040",
"tree_id": "254288ce33f0e0fc774814573e8ff811fc833f7a",
"distinct": false,
"message": "Sync content from obsidian@b52ae37",
"timestamp": "2026-05-19T14:39:09Z",
"url": "https://github.com/darkmatter/web/commit/fd977ee99e21e1b6c08c09a5c2fce46a54059040",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T14:39:09Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T14:39:09Z"
},
"added": [
"content/internal/vault/knowledge/research/juan-review.md",
"content/nav.json",
"content/publish-manifest.json"
],
"removed": [],
"modified": [
"content/internal/2026-03-24.md",
"content/internal/hello-world.md",
"content/wiki/nav.json"
]
},
{
"id": "3ad4a00e2ef4807a6a1f270515d4902149264b47",
"tree_id": "16a80c3a3bf61e0e349e13e1391eb187d372c0e2",
"distinct": false,
"message": "Sync content from obsidian@0ebca1f",
"timestamp": "2026-05-19T15:08:24Z",
"url": "https://github.com/darkmatter/web/commit/3ad4a00e2ef4807a6a1f270515d4902149264b47",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T15:08:24Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-19T15:08:24Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "f9d7ecc553bdedde2ebce97344f556f12af3368f",
"tree_id": "157e7d6456cac087ab2624e0c9d94ae1a7a6027b",
"distinct": false,
"message": "Fix Fly startup prerender",
"timestamp": "2026-05-19T08:14:02-07:00",
"url": "https://github.com/darkmatter/web/commit/f9d7ecc553bdedde2ebce97344f556f12af3368f",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T08:14:02-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T08:14:02-07:00",
"username": "czxtm"
},
"added": [],
"removed": [
"docker-entrypoint.js"
],
"modified": [
"Dockerfile",
"app/internal/[slug]/opengraph-image.tsx",
"next.config.mjs"
]
},
{
"id": "aa4d853f77b289e794630f9bd6b0bd79334ff25e",
"tree_id": "f5fa6c46279d6e1343c2d76f4bdc3d56b60c449e",
"distinct": false,
"message": "Configure Alchemy Cloudflare deployment",
"timestamp": "2026-05-19T13:26:37-07:00",
"url": "https://github.com/darkmatter/web/commit/aa4d853f77b289e794630f9bd6b0bd79334ff25e",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T13:26:10-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T13:26:37-07:00",
"username": "czxtm"
},
"added": [
".dev.vars",
"alchemy.run.ts",
"lib/blog.generated.ts",
"open-next.config.ts",
"patches/alchemy@2.0.0-beta.40.patch",
"scripts/generate-blog-manifest.ts",
"wrangler.jsonc"
],
"removed": [],
"modified": [
".gitignore",
"bun.lock",
"lib/blog.ts",
"lib/cf-access/jwks.ts",
"lib/cf-access/schemas.ts",
"lib/cf-access/verify.ts",
"next.config.mjs",
"package.json"
]
},
{
"id": "254154a8c98d40c82b3755562fae34d8dd638e5f",
"tree_id": "bbeba62220f4dd29212ae91c5332b406359d541e",
"distinct": false,
"message": "Add vault publishing views",
"timestamp": "2026-05-19T13:41:09-07:00",
"url": "https://github.com/darkmatter/web/commit/254154a8c98d40c82b3755562fae34d8dd638e5f",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T13:41:09-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T13:41:09-07:00",
"username": "czxtm"
},
"added": [
"app/internal/vault/[[...slug]]/page.tsx",
"app/vault/[[...slug]]/page.tsx",
"components/wiki-sidebar.tsx",
"content/internal/updates/2026-03-24.md",
"content/internal/wiki/wiki/engineering-principles.md",
"lib/published-vault.ts",
"lib/wiki-nav-tree.test.ts",
"lib/wiki-nav-tree.ts",
"lib/wiki.test.ts"
],
"removed": [],
"modified": [
".gitignore",
"Dockerfile",
"app/internal/wiki/[[...slug]]/page.tsx",
"app/products/page.tsx",
"app/wiki/[[...slug]]/page.tsx",
"components/site-footer.tsx",
"components/site-header.tsx",
"components/wiki-page.tsx",
"content/internal/wiki/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering-principles/04-how-we-own.md",
"content/internal/wiki/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md",
"content/nav.json",
"content/publish-manifest.json",
"lib/blog.generated.ts",
"lib/blog.ts",
"lib/wiki.ts",
"scripts/generate-blog-manifest.ts"
]
},
{
"id": "d2fc24600575bdd4bc1e0fb3c9409b2e43983bfe",
"tree_id": "f78134029bedf93d07487c64a6c07ec0886db0de",
"distinct": false,
"message": "add sidebar",
"timestamp": "2026-05-19T15:36:34-07:00",
"url": "https://github.com/darkmatter/web/commit/d2fc24600575bdd4bc1e0fb3c9409b2e43983bfe",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T15:36:34-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-19T15:36:34-07:00",
"username": "czxtm"
},
"added": [
"components/app-sidebar.tsx",
"components/search-form.tsx"
],
"removed": [],
"modified": [
"app/globals.css",
"bun.lock",
"components/ui/sidebar.tsx",
"components/wiki-page.tsx",
"components/wiki-sidebar.tsx",
"package.json"
]
},
{
"id": "9e09283535bdac673d087d3c95ec9bc2c6e4d6e6",
"tree_id": "860dbb51ee33e81624a81caecc981a035eda4bfc",
"distinct": false,
"message": "Sync content from obsidian@fb983b7",
"timestamp": "2026-05-20T00:19:22Z",
"url": "https://github.com/darkmatter/web/commit/9e09283535bdac673d087d3c95ec9bc2c6e4d6e6",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-20T00:19:22Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-20T00:19:22Z"
},
"added": [],
"removed": [
"content/internal/updates/2026-03-24.md",
"content/internal/wiki/wiki/engineering-principles.md"
],
"modified": [
"content/internal/juan-review.md",
"content/internal/wiki/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering-principles/04-how-we-own.md",
"content/internal/wiki/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md",
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "b00688745ff9e344526efb0cb40c5342e5e8bb33",
"tree_id": "7442f9c482a3cfcac2487306078ef00ac944e202",
"distinct": false,
"message": "Sync content from obsidian@db4ef53",
"timestamp": "2026-05-20T20:52:34Z",
"url": "https://github.com/darkmatter/web/commit/b00688745ff9e344526efb0cb40c5342e5e8bb33",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-20T20:52:34Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-20T20:52:34Z"
},
"added": [
"content/internal/wiki/company.md",
"content/internal/wiki/company/decision-making.md",
"content/internal/wiki/company/mission-and-beliefs.md",
"content/internal/wiki/company/operating-principles.md",
"content/internal/wiki/company/shared-language.md",
"content/internal/wiki/company/strategy.md",
"content/internal/wiki/engineering.md",
"content/internal/wiki/engineering/architecture-decisions.md",
"content/internal/wiki/engineering/engineering-principles.md",
"content/internal/wiki/engineering/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering/engineering-principles/04-how-we-own.md",
"content/internal/wiki/engineering/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md",
"content/internal/wiki/engineering/quality-bar.md",
"content/internal/wiki/engineering/security.md",
"content/internal/wiki/engineering/systems.md",
"content/internal/wiki/home.md",
"content/internal/wiki/operations.md",
"content/internal/wiki/operations/access-and-secrets.md",
"content/internal/wiki/operations/incident-response.md",
"content/internal/wiki/operations/runbooks.md",
"content/internal/wiki/operations/vendors-and-accounts.md",
"content/internal/wiki/people.md",
"content/internal/wiki/people/hiring-principles.md",
"content/internal/wiki/people/onboarding.md",
"content/internal/wiki/people/roles-and-expectations.md",
"content/internal/wiki/people/team-directory.md",
"content/internal/wiki/product.md",
"content/internal/wiki/product/customer-understanding.md",
"content/internal/wiki/product/philosophy.md",
"content/internal/wiki/product/products-and-surfaces.md",
"content/internal/wiki/product/research-notes.md",
"content/internal/wiki/product/roadmap.md",
"content/internal/wiki/reference.md",
"content/internal/wiki/reference/acronyms.md",
"content/internal/wiki/reference/external-links.md",
"content/internal/wiki/reference/tools.md",
"content/internal/wiki/start-here.md",
"content/internal/wiki/teams.md",
"content/internal/wiki/teams/lp-managers.md"
],
"removed": [
"content/internal/wiki/engineering-principles.md",
"content/internal/wiki/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering-principles/04-how-we-own.md",
"content/internal/wiki/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md"
],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "960fc034f763810689eee82340d527d856fda9de",
"tree_id": "394bc11e90243f5e6516bbf0060dfa3f93beb6fe",
"distinct": false,
"message": "Sync content from obsidian@ccfb5a3",
"timestamp": "2026-05-21T05:04:56Z",
"url": "https://github.com/darkmatter/web/commit/960fc034f763810689eee82340d527d856fda9de",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T05:04:56Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T05:04:56Z"
},
"added": [],
"removed": [],
"modified": [
"content/internal/juan-review.md",
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "25030a07401b17e2b501dfc88a1ed014d343cf18",
"tree_id": "f75663912560bf00396ea661fa4aa29af820f0b6",
"distinct": false,
"message": "Sync content from obsidian@62d6cdf",
"timestamp": "2026-05-21T05:35:13Z",
"url": "https://github.com/darkmatter/web/commit/25030a07401b17e2b501dfc88a1ed014d343cf18",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T05:35:13Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T05:35:13Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "e01e80d8b858457a645bfca2754cad51e6ff840f",
"tree_id": "86a405b325b541a044ba639cfb7a7b3b646b760f",
"distinct": false,
"message": "Sync content from obsidian@6504c57",
"timestamp": "2026-05-21T06:46:17Z",
"url": "https://github.com/darkmatter/web/commit/e01e80d8b858457a645bfca2754cad51e6ff840f",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T06:46:17Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T06:46:17Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "bfd7650b71cd4e3334ecadb07cf7b13560f5c1da",
"tree_id": "774844266ee892aa8d2dacc93a481e9dc82ac2fb",
"distinct": false,
"message": "Sync content from obsidian@a852f76",
"timestamp": "2026-05-21T06:54:19Z",
"url": "https://github.com/darkmatter/web/commit/bfd7650b71cd4e3334ecadb07cf7b13560f5c1da",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T06:54:19Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T06:54:19Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "a45fbe00881e077c00aa189a6c3a26595cb36103",
"tree_id": "51f3b19a879556a931c4c8a058a5a848a4e57dfa",
"distinct": false,
"message": "Sync content from obsidian@96ae7ec",
"timestamp": "2026-05-21T07:35:19Z",
"url": "https://github.com/darkmatter/web/commit/a45fbe00881e077c00aa189a6c3a26595cb36103",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T07:35:19Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T07:35:19Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "d3f5b50de1d9975f67cf28e72f366a32ce984487",
"tree_id": "8e4e54573247573565e840a8c614f891162c13bb",
"distinct": false,
"message": "Sync content from obsidian@3059ae1",
"timestamp": "2026-05-21T18:57:56Z",
"url": "https://github.com/darkmatter/web/commit/d3f5b50de1d9975f67cf28e72f366a32ce984487",
"author": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T18:57:56Z"
},
"committer": {
"name": "darkmatter-bot[bot]",
"email": "+darkmatter-bot[bot]@users.noreply.github.com",
"date": "2026-05-21T18:57:56Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "d5578c0f13a37da6c1cdf0a7c76cded568c6548d",
"tree_id": "f72a65e6a7aa601e82306f0eca16f5d736fbf181",
"distinct": false,
"message": "Sync content from obsidian@00deead",
"timestamp": "2026-05-22T11:49:31Z",
"url": "https://github.com/darkmatter/web/commit/d5578c0f13a37da6c1cdf0a7c76cded568c6548d",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-22T11:49:31Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-22T11:49:31Z"
},
"added": [],
"removed": [],
"modified": [
"content/internal/juan-review.md",
"content/internal/wiki/engineering/engineering-principles/00-preamble.md",
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "e2d541dbc8f460ffd9796608bcd0cc4cea4d57f3",
"tree_id": "461db07d6c4af9f63220a7eb701183504e5d17cc",
"distinct": false,
"message": "Sync content from obsidian@4965abe",
"timestamp": "2026-05-22T16:49:02Z",
"url": "https://github.com/darkmatter/web/commit/e2d541dbc8f460ffd9796608bcd0cc4cea4d57f3",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-22T16:49:02Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-22T16:49:02Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "894e1c513d56ce2044f20b19f46fa8578325e124",
"tree_id": "5606214c547b6a6a6ba40971d536fe2f5eff3440",
"distinct": false,
"message": "Sync content from obsidian@aaf9634",
"timestamp": "2026-05-23T16:24:26Z",
"url": "https://github.com/darkmatter/web/commit/894e1c513d56ce2044f20b19f46fa8578325e124",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-23T16:24:26Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-23T16:24:26Z"
},
"added": [
"content/internal/wiki/engineering/architecture-decisions/avoid-concerns-beyond-otel.md",
"content/internal/wiki/operations/runbooks/emergency-withdrawal.md",
"content/internal/wiki/operations/runbooks/new-pool-evaluation.md",
"content/internal/wiki/operations/runbooks/position-out-of-range.md",
"content/internal/wiki/product/research/nixmac-review.md",
"public/wiki-assets/tailscale-signin.png"
],
"removed": [
"content/internal/juan-review.md",
"content/internal/vault/knowledge/research/juan-review.md"
],
"modified": [
"content/internal/wiki/engineering/architecture-decisions.md",
"content/internal/wiki/operations/runbooks.md",
"content/internal/wiki/people/onboarding.md",
"content/internal/wiki/product/research-notes.md",
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "55f7a2d670c1317bf21bf97844166a8a42c4c71f",
"tree_id": "7f8c1f58845175cc56c4e17b68bc648f5db62f4a",
"distinct": false,
"message": "Sync content from obsidian@f02b67e",
"timestamp": "2026-05-24T07:04:08Z",
"url": "https://github.com/darkmatter/web/commit/55f7a2d670c1317bf21bf97844166a8a42c4c71f",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-24T07:04:08Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-24T07:04:08Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "1e363179c52cb70baa4588381ba3e71616831bd2",
"tree_id": "d735c1a6fc520aa781df7b0af9f611f2957825b4",
"distinct": false,
"message": "Sync content from obsidian@dbec2f0",
"timestamp": "2026-05-24T17:32:52Z",
"url": "https://github.com/darkmatter/web/commit/1e363179c52cb70baa4588381ba3e71616831bd2",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-24T17:32:52Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-24T17:32:52Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "0313b9527ff99ab1f0a6dbd50ea29f4dce6c6dc1",
"tree_id": "d78544ce26206906c9a08df03e4f2c19233003c1",
"distinct": false,
"message": "Sync content from obsidian@7522fb9",
"timestamp": "2026-05-24T17:34:12Z",
"url": "https://github.com/darkmatter/web/commit/0313b9527ff99ab1f0a6dbd50ea29f4dce6c6dc1",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-24T17:34:12Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-24T17:34:12Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "a537651adeaa4beba8fde8ae2ef9a52f2639f305",
"tree_id": "3e9610a510884e5b6e481ac93c2e8f912dcf1a76",
"distinct": false,
"message": "chore: update fonts and remove fly deploy workflow",
"timestamp": "2026-05-24T10:37:19-07:00",
"url": "https://github.com/darkmatter/web/commit/a537651adeaa4beba8fde8ae2ef9a52f2639f305",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T10:37:07-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T10:37:19-07:00",
"username": "czxtm"
},
"added": [
".github/workflows/alchemy-deploy.yml"
],
"removed": [
".github/workflows/fly-deploy.yml"
],
"modified": [
"lib/fonts.ts"
]
},
{
"id": "c8343d7df113fa60aef29c9b14ceb6130a7fb79d",
"tree_id": "94978df6944353d0e98a80d79c97d93b6248f365",
"distinct": false,
"message": "add fonts",
"timestamp": "2026-05-24T10:37:42-07:00",
"url": "https://github.com/darkmatter/web/commit/c8343d7df113fa60aef29c9b14ceb6130a7fb79d",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T10:37:42-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T10:37:42-07:00",
"username": "czxtm"
},
"added": [
"lib/fonts/lora-latin-400-italic.woff2",
"lib/fonts/lora-latin-400-normal.ttf"
],
"removed": [],
"modified": []
},
{
"id": "a575f0f8d1a8f2f9eebde72b667abfa3e8736087",
"tree_id": "5d248a9244d8764ace8cdfb6e965b661eb325449",
"distinct": false,
"message": "add patch",
"timestamp": "2026-05-24T10:55:49-07:00",
"url": "https://github.com/darkmatter/web/commit/a575f0f8d1a8f2f9eebde72b667abfa3e8736087",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T10:55:49-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T10:55:49-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"patches/alchemy@2.0.0-beta.40.patch"
]
},
{
"id": "1a9c0ae61b1d504e499dbb4a92613e7599c9385b",
"tree_id": "1d4823b6f4775c9de83446cb0432b050fcd85dee",
"distinct": false,
"message": "fix CI",
"timestamp": "2026-05-24T11:03:05-07:00",
"url": "https://github.com/darkmatter/web/commit/1a9c0ae61b1d504e499dbb4a92613e7599c9385b",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:03:05-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:03:05-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".github/workflows/alchemy-deploy.yml",
"patches/alchemy@2.0.0-beta.40.patch"
]
},
{
"id": "b969851465ee353898a7e8c01c9826a1f69cf657",
"tree_id": "4f16b70a19e0263d75f026025917f1f83833048a",
"distinct": false,
"message": "fix CI deploy\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T11:12:55-07:00",
"url": "https://github.com/darkmatter/web/commit/b969851465ee353898a7e8c01c9826a1f69cf657",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:12:55-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:12:55-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".github/workflows/alchemy-deploy.yml",
"patches/alchemy@2.0.0-beta.40.patch"
]
},
{
"id": "a15ebdc50d544052413cec62abb3a05f3b132bef",
"tree_id": "abd0d83b2c030ded856d6a637cc562d9e0161543",
"distinct": false,
"message": "fix deploy credential check\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T11:20:02-07:00",
"url": "https://github.com/darkmatter/web/commit/a15ebdc50d544052413cec62abb3a05f3b132bef",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:20:02-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:20:02-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".github/workflows/alchemy-deploy.yml"
]
},
{
"id": "784c01ead9f24c34d18b250586780f95b3227c12",
"tree_id": "2df99898a53afd425e29d17842f4894292ce68db",
"distinct": false,
"message": "bd init: initialize beads issue tracking",
"timestamp": "2026-05-24T11:58:06-07:00",
"url": "https://github.com/darkmatter/web/commit/784c01ead9f24c34d18b250586780f95b3227c12",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:16:46-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:58:06-07:00",
"username": "czxtm"
},
"added": [
".beads/.gitignore",
".beads/README.md",
".beads/config.yaml",
".beads/hooks/post-checkout",
".beads/hooks/post-merge",
".beads/hooks/pre-commit",
".beads/hooks/pre-push",
".beads/hooks/prepare-commit-msg",
".beads/interactions.jsonl",
".beads/metadata.json",
"AGENTS.md",
"CLAUDE.md"
],
"removed": [],
"modified": [
".gitignore"
]
},
{
"id": "ed30b3f5c2893414a5398b21c7894205baa52a97",
"tree_id": "ac44c60ba5b231908ba0490d8804cc7a0ed18519",
"distinct": false,
"message": "bd: record Access protection task\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T11:58:06-07:00",
"url": "https://github.com/darkmatter/web/commit/ed30b3f5c2893414a5398b21c7894205baa52a97",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:57:52-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T11:58:06-07:00",
"username": "czxtm"
},
"added": [
".beads/issues.jsonl"
],
"removed": [],
"modified": [
".beads/interactions.jsonl",
".beads/metadata.json"
]
},
{
"id": "0b112a3935abd7932a131cc2ecb02b41f12642f2",
"tree_id": "1130bc1ab5cca03f5e03b6adbf25c80bc8a45310",
"distinct": false,
"message": "bd: restore embedded metadata\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T12:00:43-07:00",
"url": "https://github.com/darkmatter/web/commit/0b112a3935abd7932a131cc2ecb02b41f12642f2",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:00:43-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:00:43-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".beads/metadata.json"
]
},
{
"id": "c9477a6c91f4b2ac0e37ec09c8a25bb58225d113",
"tree_id": "ba911eff00e0e7d7d757c11b6c052a761943874c",
"distinct": false,
"message": "fix wiki sidebar nav\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T12:18:08-07:00",
"url": "https://github.com/darkmatter/web/commit/c9477a6c91f4b2ac0e37ec09c8a25bb58225d113",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:18:08-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:18:08-07:00",
"username": "czxtm"
},
"added": [
"components/wiki-page.test.js"
],
"removed": [],
"modified": [
".beads/issues.jsonl",
"components/wiki-page.tsx",
"lib/wiki.test.ts",
"lib/wiki.ts"
]
},
{
"id": "a78c5776ade05df66a7f3a0a8f19c4320e98d730",
"tree_id": "cae404549060b607104f33ff1616c34b2d9fbd8a",
"distinct": false,
"message": "fix wiki nav data\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T12:25:24-07:00",
"url": "https://github.com/darkmatter/web/commit/a78c5776ade05df66a7f3a0a8f19c4320e98d730",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:25:24-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:25:24-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".beads/issues.jsonl",
"lib/wiki.ts"
]
},
{
"id": "5f2e62d9d8581813a8cc581e050c6ef594f5f5a6",
"tree_id": "0e9bc89ee24e41d903ac6bc5ff963c90f4912fc2",
"distinct": false,
"message": "generate wiki page manifest\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T12:34:51-07:00",
"url": "https://github.com/darkmatter/web/commit/5f2e62d9d8581813a8cc581e050c6ef594f5f5a6",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:34:51-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:34:51-07:00",
"username": "czxtm"
},
"added": [
"lib/wiki.generated.ts"
],
"removed": [],
"modified": [
"lib/blog.generated.ts",
"scripts/generate-blog-manifest.ts"
]
},
{
"id": "88bdbef5e9423e8bfc194137522cbc3ee70b03fe",
"tree_id": "8e4008d17c69604ded132d84df2a911243203827",
"distinct": false,
"message": "use bundled wiki pages\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T12:34:52-07:00",
"url": "https://github.com/darkmatter/web/commit/88bdbef5e9423e8bfc194137522cbc3ee70b03fe",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:34:52-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:34:52-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"lib/wiki.test.ts",
"lib/wiki.ts"
]
},
{
"id": "c3018c0c09cf83c2fbb82c3ad643b0cb02bf6f54",
"tree_id": "f50cf04e86d1835352b52791a8e3c0e29e8a5e6f",
"distinct": false,
"message": "close wiki sidebar task\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T12:38:33-07:00",
"url": "https://github.com/darkmatter/web/commit/c3018c0c09cf83c2fbb82c3ad643b0cb02bf6f54",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:38:33-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T12:38:33-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".beads/interactions.jsonl",
".beads/issues.jsonl"
]
},
{
"id": "53a9d607902ca4d64c25cbf3b078f2e797d7e3f3",
"tree_id": "d113ac275aadf1f56d959f2512ac7ea267dd1691",
"distinct": false,
"message": "fix sidebar layout\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T16:56:44-07:00",
"url": "https://github.com/darkmatter/web/commit/53a9d607902ca4d64c25cbf3b078f2e797d7e3f3",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T16:56:44-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T16:56:44-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".beads/issues.jsonl",
"components/ui/sidebar.tsx",
"components/wiki-page.test.js"
]
},
{
"id": "02466a3d878df312725822aa5d3d3915a2057e0d",
"tree_id": "4a4779507938ca3aae392cc394cfc252c961bf55",
"distinct": false,
"message": "close sidebar layout task\n\nUltraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>",
"timestamp": "2026-05-24T16:59:33-07:00",
"url": "https://github.com/darkmatter/web/commit/02466a3d878df312725822aa5d3d3915a2057e0d",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T16:59:33-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T16:59:33-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".beads/interactions.jsonl",
".beads/issues.jsonl"
]
},
{
"id": "4fdf2009d9d9e9dc9a05089a59056f22009b60e8",
"tree_id": "cfd9d552dff925293284928d26f1da7dc7899b34",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-24T18:26:44-07:00",
"url": "https://github.com/darkmatter/web/commit/4fdf2009d9d9e9dc9a05089a59056f22009b60e8",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T18:26:44-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-24T18:26:44-07:00",
"username": "czxtm"
},
"added": [],
"removed": [
".DS_Store"
],
"modified": [
".gitignore",
"app/blog/[slug]/page.tsx",
"app/blog/page.tsx",
"app/globals.css",
"app/incidents/swap-cow-fi-2026-04-14/page.tsx",
"app/internal/[slug]/page.tsx",
"app/internal/page.tsx",
"app/page.backup.tsx",
"app/page.tsx",
"app/posts/page.tsx",
"app/products/alt/page.tsx",
"app/products/classic/page.tsx",
"app/products/page.tsx",
"components/site-header.tsx",
"components/wiki-page.tsx",
"styles/globals.css"
]
},
{
"id": "842267c4fc13287fc7ea60eca1def2f2dfc2acde",
"tree_id": "5937faf7cebc291e351bdee9dbac9a5749d85cfa",
"distinct": false,
"message": "redirect",
"timestamp": "2026-05-25T01:49:44-07:00",
"url": "https://github.com/darkmatter/web/commit/842267c4fc13287fc7ea60eca1def2f2dfc2acde",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T01:49:44-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T01:49:44-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"next.config.mjs"
]
},
{
"id": "81c9e8ffba10ca779a0a1e0a6f8957e8ee89c97a",
"tree_id": "3e1cd05eb503993eac41db9decc0955ddf807752",
"distinct": false,
"message": "icon",
"timestamp": "2026-05-25T02:22:05-07:00",
"url": "https://github.com/darkmatter/web/commit/81c9e8ffba10ca779a0a1e0a6f8957e8ee89c97a",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T02:22:05-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T02:22:05-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".beads/metadata.json",
"components/wiki-sidebar.tsx"
]
},
{
"id": "d7e3a6f4ca6097c9ae922b3bb5a417fa83f3ed81",
"tree_id": "51e5284d59b24551414317def989a2778546f8a7",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-25T02:25:35-07:00",
"url": "https://github.com/darkmatter/web/commit/d7e3a6f4ca6097c9ae922b3bb5a417fa83f3ed81",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T02:25:35-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T02:25:35-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"components/wiki-page.tsx"
]
},
{
"id": "ebee2425d203881146e91941b060864f1fa0fe61",
"tree_id": "2fdb20e395ca59891fe52d61dde4e43524cc3161",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-25T03:45:57-07:00",
"url": "https://github.com/darkmatter/web/commit/ebee2425d203881146e91941b060864f1fa0fe61",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T03:45:57-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T03:45:57-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"app/globals.css",
"app/layout.tsx",
"bun.lock",
"components/site-header.tsx",
"components/wiki-page.tsx",
"components/wiki-sidebar.tsx",
"package.json"
]
},
{
"id": "af6bb2732dabd980ae3dfb6e12461748c1b40be6",
"tree_id": "12a15561a59e3d69a4b49078a19c4bc275ea1824",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-25T19:33:06-07:00",
"url": "https://github.com/darkmatter/web/commit/af6bb2732dabd980ae3dfb6e12461748c1b40be6",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T19:33:06-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T19:33:06-07:00",
"username": "czxtm"
},
"added": [],
"removed": [
"styles/globals.css"
],
"modified": [
"app/globals.css",
"components/ui/sidebar.tsx"
]
},
{
"id": "2efc703163fe2655e19a4b59fee8163a85e37b22",
"tree_id": "b25305f60008a756438ce85af048e31ecece5baf",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-25T19:37:04-07:00",
"url": "https://github.com/darkmatter/web/commit/2efc703163fe2655e19a4b59fee8163a85e37b22",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T19:37:04-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T19:37:04-07:00",
"username": "czxtm"
},
"added": [
"components/site-shell.tsx"
],
"removed": [],
"modified": []
},
{
"id": "5649cb20297c98399314c501666c0f88c251ed6d",
"tree_id": "608c928853ee19d8d1b1dda6891058d2f371f08a",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-25T21:05:00-07:00",
"url": "https://github.com/darkmatter/web/commit/5649cb20297c98399314c501666c0f88c251ed6d",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T21:05:00-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-25T21:05:00-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"app/globals.css",
"components/wiki-page.tsx"
]
},
{
"id": "c7a7e0d38ac093a3e2e0fcfc35aa8f1f1dbc6abb",
"tree_id": "d02e83f4c210aa1d276e47b8505f8a20b0dd8ac1",
"distinct": false,
"message": "feat(wiki): support folder index pages",
"timestamp": "2026-05-26T00:10:49-07:00",
"url": "https://github.com/darkmatter/web/commit/c7a7e0d38ac093a3e2e0fcfc35aa8f1f1dbc6abb",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-26T00:10:49-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-26T00:10:49-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"app/internal/vault/[[...slug]]/page.tsx",
"app/internal/wiki/[[...slug]]/page.tsx",
"app/vault/[[...slug]]/page.tsx",
"app/wiki/[[...slug]]/page.tsx",
"components/wiki-page.tsx",
"lib/published-vault.ts",
"lib/wiki.generated.ts",
"lib/wiki.ts",
"scripts/generate-blog-manifest.ts"
]
},
{
"id": "da7190fbfa51849d31f268d8ae8d2afb124366f6",
"tree_id": "709a7453c9eb36dadf59165d742fda07d1deb825",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-26T08:26:32-07:00",
"url": "https://github.com/darkmatter/web/commit/da7190fbfa51849d31f268d8ae8d2afb124366f6",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-26T08:26:32-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-26T08:26:32-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"components/wiki-page.tsx"
]
},
{
"id": "4765babd1c4ec767a6818a4e9c4b1937ccf5ac0c",
"tree_id": "969ba69a9d752f824871836497af3955564270ab",
"distinct": false,
"message": "styling",
"timestamp": "2026-05-26T09:36:18-07:00",
"url": "https://github.com/darkmatter/web/commit/4765babd1c4ec767a6818a4e9c4b1937ccf5ac0c",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-26T09:36:18-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-26T09:36:18-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"components/wiki-page.test.js",
"components/wiki-page.tsx",
"components/wiki-sidebar.tsx",
"lib/wiki-nav-tree.test.ts",
"lib/wiki-nav-tree.ts"
]
},
{
"id": "df3d62564e87a085e707477ac019a4adcee05242",
"tree_id": "c7fee496316c85fb198e8b3ff3647536300cd6bf",
"distinct": false,
"message": "prototype: RedwoodSDK migration (Alchemy.Vite preview) (#16)\n\n* prototype: migrate to RedwoodSDK\n\nWorking prototype of the marketing site on RedwoodSDK 1.2.9 + Cloudflare\nVite plugin, replacing Next.js 16 + OpenNext + Alchemy.\n\nPorted routes (verified via dev server):\n- / (Home with Hero + contact)\n- /blog (Field notes index)\n- /blog/:slug (post detail with adjacent posts + outline)\n- /products (products index)\n- /feed.xml (RSS)\n- /sitemap.xml\n- /wiki -> /internal/wiki redirect\n- Crawler UA rewrite middleware for /internal/* social previews\n\nStubbed routes (render <Stub> placeholder, ready to port):\n/posts, /products/{classic,hacker,alt}, /internal, /internal/:slug,\n/wiki/*, /vault/*, /internal/{wiki,vault}/*, /incidents/swap-cow-fi-2026-04-14\n\nArchitecture:\n- src/worker.tsx is the single defineApp entrypoint (replaces filesystem router)\n- src/app/Document.tsx replaces app/layout.tsx\n- src/shims/* aliases next/{link,image,navigation,font/google,font/local,server}\n via Vite resolve.alias so the existing components/ tree compiles unchanged\n- Drops opennextjs-cloudflare + alchemy.run.ts deploy pipeline in favor of\n vite build && wrangler deploy\n- Keeps existing components/, lib/, hooks/, content/, public/ verbatim except\n for four files coupled to Next-specific APIs (fonts, posthog, site-shell,\n posthog-provider)\n\nVerified:\n- bun run check (tsc) passes\n- bun run build produces client (14 chunks, 651 KB total) + worker (1 MB)\n- bun run dev: / /blog /feed.xml /sitemap.xml /posts /wiki all return\n correct responses\n\nSee PROTOTYPE.md for the full migration playbook, decision points, and\nknown gaps (no /og-proxy/* handler, no opengraph-image.tsx port, cf-access\nauth middleware not yet ported).\n\n* prototype: close gaps + bring alchemy back via Cloudflare.Vite\n\nFills in the gaps from the initial prototype:\n\nAlchemy.Vite deploy\n- Rewrite alchemy.run.ts to use Cloudflare.Vite('Website', ...) — Alchemy\n handles vite build + worker upload in one resource. No more\n .open-next/dist intermediate, no manual main pointer, no bundle:false +\n isExternal:true escape hatches.\n- Restore deploy/deploy:dev/deploy:staging/deploy:production/destroy\n scripts that pipe through alchemy deploy ./alchemy.run.ts.\n- Add @effect/platform-{bun,node} and effect deps back so alchemy.run.ts\n type-checks.\n\nAll remaining routes ported\n- /posts (cf-access cookie read via next/headers shim)\n- /products/{classic,hacker,alt}\n- /incidents/swap-cow-fi-2026-04-14\n- /internal, /internal/:slug, /internal/wiki[/*], /internal/vault[/*]\n- /wiki/*, /vault[/*]\n- /og-proxy/internal/:slug (purpose-built crawler shell)\n- Catch-all 404 via /*\n\nBuilt scripts/port-page.ts — a one-shot codegen helper that strips\nNext.js-specific exports (metadata, generateMetadata, generateStaticParams,\ndynamic, runtime) and rewrites params: Promise<{}> → params: {} for\nmechanical pages. Used for 11 of the 12 ports.\n\nNew shims\n- src/shims/next-headers.ts — headers() / cookies() backed by rwsdk\n requestInfo so existing cf-access cookie reads keep working.\n- src/shims/next-og.ts — re-exports @vercel/og for opengraph-image.tsx\n files (the actual generators are deferred — they need workers-og for\n the Worker runtime).\n\nTooling\n- vite.config.mts: wire @tailwindcss/vite plugin (replaces bare\n @import 'tailwindcss').\n- package.json: add overrides + resolutions for @types/react@19.2.14 and\n csstype@^3.1.3 so radix-bundled @types/react copies don't break tsc.\n- patches/ retained for alchemy@2.0.0-beta.40.\n\nTwo pre-existing tsc errors patched\n- lib/wiki.ts:202 — tightened generated-type cast so .find() narrows.\n- components/ui/sidebar.tsx:208 — cast through unknown to bypass the\n CSSProperties duplicate-type issue.\n\nVerified\n- bun run check (tsc) clean.\n- bun run build: client (22 chunks ~770 KB) + worker (1.5 MB) in ~10s.\n- bun run dev: 18 routes probed, all return expected codes\n (200 / 307 / 404 for unknown slugs).\n\nRemaining gaps (documented in PROTOTYPE.md)\n- OG image generation (workers-og port required).\n- Top-of-worker Cloudflare Access JWT verification middleware.\n- Per-page metadata via React 19 <title>/<meta> hoisting.\n- react-compiler babel plugin.\n- Tests not wired into CI for this branch yet.\n\n* ci: per-PR Alchemy preview deploys via Cloudflare.Vite\n\nAdds two workflows:\n- .github/workflows/preview-deploy.yml — on PR open/sync/reopen:\n alchemy deploy --stage pr-N, parses the workers.dev URL, smoke-tests\n /, /blog, /posts, /products, /feed.xml, /sitemap.xml, and stickies a\n PR comment with the live URL.\n- .github/workflows/preview-cleanup.yml — on PR close: alchemy destroy\n for the same stage, updates the sticky comment.\n\nUpdates alchemy.run.ts so PR stages (pr-*) deploy without claiming the\nproduction custom domain — they keep the auto-assigned workers.dev URL.\n\nUses the existing CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN repo\nsecrets (already set on darkmatter/web).\n\n* ci: pin alchemy to 2.0.0-beta.40 exactly\n\nThe caret in '^2.0.0-beta.40' was resolving to the 'pipeline-v2-test'\ntag in CI, which is built against a newer effect.Config API and\ncrashes with 'a.asEffect is not a function' on every alchemy\nsubcommand. Pin the exact version that matches effect@4.0.0-beta.68.\n\n* ci: deploy via Cloudflare.Worker with pre-built vite artifacts\n\nCloudflare.Vite in alchemy 2.0.0-beta.40 injects its own\n@distilled.cloud/cloudflare-vite-plugin which double-loads with the\n@cloudflare/vite-plugin in our vite.config.mts (needed by bun run dev),\nproducing 'You must supply options.input to rollup' at build time.\n\nWorkaround: run `vite build` ourselves in CI, then hand the produced\ndist/worker/index.js + dist/client/ to Cloudflare.Worker via the same\nsingle-resource Alchemy stack. Same compatibility flags, same workers.dev\nURL story for pr-* stages.\n\nFiling this as a follow-up so we can switch to Cloudflare.Vite once\nalchemy ships an option to skip its own cloudflare-plugin injection.\n\n* alchemy: use Cloudflare.Worker with pre-built dist artifacts\n\n(Earlier commit only updated the workflow; the alchemy.run.ts edit was\ndropped because Write tried to overwrite an existing file. This commit\napplies the actual stack-config change.)\n\n* fix(css): follow rwsdk docs — import CSS as ?url and <link> in Document\n\nPer https://docs.rwsdk.com/guides/frontend/tailwind/:\n1. Add environments: { ssr: {} } stub to vite.config.mts so tailwindcss\n plugin's createResolver() finds an ssr environment.\n2. Document.tsx: replace bare 'import \"./globals.css\"' with\n 'import styles from \"./globals.css?url\"' + an explicit\n <link rel=\"stylesheet\" href={styles} />.\n\nWithout this the CSS only made it into dist/worker (used by SSR) and\nthe client side rendered unstyled HTML.",
"timestamp": "2026-05-26T10:21:47-07:00",
"url": "https://github.com/darkmatter/web/commit/df3d62564e87a085e707477ac019a4adcee05242",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-26T10:21:47-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-26T10:21:47-07:00",
"username": "web-flow"
},
"added": [
".github/workflows/preview-cleanup.yml",
".github/workflows/preview-deploy.yml",
"PROTOTYPE.md",
"public/fonts/monaspace-neon-var.woff2",
"scripts/port-page.ts",
"src/app/Document.tsx",
"src/app/globals.css",
"src/app/headers.ts",
"src/app/middleware/crawler-rewrite.ts",
"src/app/pages/Home.tsx",
"src/app/pages/NotFound.tsx",
"src/app/pages/Posts.tsx",
"src/app/pages/Stub.tsx",
"src/app/pages/blog/Detail.tsx",
"src/app/pages/blog/Index.tsx",
"src/app/pages/incidents/SwapCowFi.tsx",
"src/app/pages/internal/Detail.tsx",
"src/app/pages/internal/Index.tsx",
"src/app/pages/internal/VaultCatchAll.tsx",
"src/app/pages/internal/WikiCatchAll.tsx",
"src/app/pages/og-proxy/Internal.tsx",
"src/app/pages/products/Alt.tsx",
"src/app/pages/products/Classic.tsx",
"src/app/pages/products/Hacker.tsx",
"src/app/pages/products/Index.tsx",
"src/app/pages/vault/CatchAll.tsx",
"src/app/pages/wiki/CatchAll.tsx",
"src/app/routes/feed.ts",
"src/app/routes/sitemap.ts",
"src/client.tsx",
"src/shims/next-font-google.ts",
"src/shims/next-font-local.ts",
"src/shims/next-headers.ts",
"src/shims/next-image.tsx",
"src/shims/next-link.tsx",
"src/shims/next-navigation.ts",
"src/shims/next-og.ts",
"src/shims/next-server.ts",
"src/types/rw.d.ts",
"src/types/vite.d.ts",
"src/worker.tsx",
"vite.config.mts",
"worker-configuration.d.ts"
],
"removed": [
".dockerignore",
"Dockerfile",
"fly.toml",
"middleware.ts",
"next.config.mjs",
"open-next.config.ts"
],
"modified": [
".gitignore",
"alchemy.run.ts",
"bun.lock",
"components/posthog-provider.tsx",
"components/site-shell.tsx",
"components/ui/sidebar.tsx",
"lib/fonts.ts",
"lib/posthog.ts",
"lib/wiki.generated.ts",
"lib/wiki.ts",
"package.json",
"tsconfig.json",
"wrangler.jsonc"
]
},
{
"id": "c65818d5d668d327c0ceacd513c01a4c07706cda",
"tree_id": "8cae9b289ce4df751154fcd45646d8140f0d573e",
"distinct": false,
"message": "alchemy: deploy with dm.sh + darkmatter.io on push to main (#17)\n\nTwo fixes for the production deploy path on the post-rwsdk main:\n\n1. .github/workflows/alchemy-deploy.yml — the existing 'Build and deploy\n with Alchemy' step still ran 'bun run build:worker', a script that\n only existed in the legacy Next.js + OpenNext setup and was removed\n when the rwsdk migration merged. Split into a Generate-manifest +\n Build-with-Vite + Deploy step matching the preview workflow.\n\n2. alchemy.run.ts — give production an explicit hardcoded domain\n fallback (['dm.sh', 'darkmatter.io']) so the CI deploy doesn't\n depend solely on the CLOUDFLARE_WORKER_DOMAINS repo variable\n being correct. The env var still wins when set; production is\n the only stage that gets the hardcoded default. dev + pr-*\n continue to deploy without custom domains.",
"timestamp": "2026-05-27T15:19:53-07:00",
"url": "https://github.com/darkmatter/web/commit/c65818d5d668d327c0ceacd513c01a4c07706cda",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-27T15:19:53-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-27T15:19:53-07:00",
"username": "web-flow"
},
"added": [],
"removed": [],
"modified": [
".github/workflows/alchemy-deploy.yml",
"alchemy.run.ts"
]
},
{
"id": "5c0296826f29cd16649ebf2d5d2f03c32bf821f1",
"tree_id": "0b4738e8f3befc1791db7f8578df47505e8f5476",
"distinct": false,
"message": "alchemy: SERVICE='web' so we adopt the legacy stack (#18)\n\nPR #17 deployed with SERVICE='web-rwsdk', which made alchemy try to\ncreate a brand-new worker (darkmatter-web-rwsdk-website-production-...)\nand predictably hit:\n\n Cannot attach hostname 'dm.sh' to Worker\n 'darkmatter-web-rwsdk-website-...': it is already attached to\n Worker 'darkmatter-web-website-production-...'.\n\nThe legacy worker that owns dm.sh + darkmatter.io is the\n'darkmatter-web' alchemy stack from the Next.js+OpenNext era.\nReverting SERVICE to 'web' lets alchemy adopt that existing stack\nand update its Worker(\"Website\") resource in place — the OpenNext\nbundle is swapped for the Vite-built dist/* artifacts, domains stay\nattached, no manual detach + no downtime window.",
"timestamp": "2026-05-27T15:31:59-07:00",
"url": "https://github.com/darkmatter/web/commit/5c0296826f29cd16649ebf2d5d2f03c32bf821f1",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-27T15:31:59-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-27T15:31:59-07:00",
"username": "web-flow"
},
"added": [],
"removed": [],
"modified": [
"alchemy.run.ts"
]
},
{
"id": "f5d9dbd34dc393e010e0306e8606e260d0632853",
"tree_id": "713e5674c6d01b6f5adbd63570bd0a6b3963fc37",
"distinct": false,
"message": "vite: pre-register lucide-react use-client boundaries via forceClientPaths (#19)\n\n## Two related fixes for the post-rwsdk-migration dev + type story\n\n### 1. `forceClientPaths` for lucide-react (`vite.config.mts`)\n\n\\`bun run dev\\` was intermittently dying at cold startup with:\n\n\\`\\`\\`\nError: (ssr) No module found for '/node_modules/lucide-react/dist/esm/Icon.mjs'\n in module lookup for \"use client\" directive\n at runInRunnerObject (workers/runner-worker/index.js:106:3)\n at getWorkerEntryExportTypes (workers/runner-worker/index.js:245:24)\n\\`\\`\\`\n\n**Root cause:** rwsdk 1.2.9's directive scanner walks the dep graph from \\`src/\\` with esbuild and populates a \\`useClientLookup\\` map ([source](https://github.com/redwoodjs/sdk/blob/main/sdk/src/vite/runDirectivesScan.mts)). The Cloudflare vite plugin's worker-entry probe (\\`getWorkerEntryExportTypes\\`) sometimes runs before the scanner finishes traversing the full lucide-react module graph — 31 components in this repo import lucide-react and three of those reach \\`lucide-react/dist/esm/Icon.mjs\\` (which has \\`\"use client\"\\`) through several barrel re-export hops.\n\nSame staleness pattern documented in rwsdk's [worklog 2025-10-06](https://github.com/redwoodjs/sdk/blob/main/.notes/justin/worklogs/2025-10-06-fix-directive-scan-stale-map.md). 1.2.9 mitigates it with esbuild \\`splitting: true\\` ([PR #1053](https://github.com/redwoodjs/sdk/pull/1053)) but the race still loses on cold cache.\n\n**Fix:** rwsdk exposes [\\`forceClientPaths\\`](https://github.com/redwoodjs/sdk/blob/main/sdk/src/vite/redwoodPlugin.mts) — it globs patterns and adds them to \\`clientFiles\\` before the scanner runs:\n\n\\`\\`\\`ts\nredwood({\n forceClientPaths: [\n \"node_modules/lucide-react/dist/esm/Icon.mjs\",\n \"node_modules/lucide-react/dist/esm/context.mjs\",\n \"node_modules/lucide-react/dist/esm/DynamicIcon.mjs\",\n ],\n}),\n\\`\\`\\`\n\nThe lookup map is now guaranteed to have those entries on cold start.\n\n**One-shot recovery** for already-broken caches: \\`rm -rf node_modules/.vite && bun run dev\\`.\n\n### 2. Delete unused shadcn boilerplate + un-exclude the rest (\\`tsconfig.json\\` + 5 files)\n\nFive shadcn-ui starter files were in the tree with ZERO consumers in \\`src/\\`, \\`components/\\`, \\`lib/\\`, or \\`hooks/\\`:\n\n- \\`components/glowing-grid-item.tsx\\`\n- \\`components/ui/calendar.tsx\\` — react-day-picker v9 API mismatch (was generated for v8)\n- \\`components/ui/chart.tsx\\` — recharts v3 API mismatch (was generated for v2)\n- \\`components/ui/resizable.tsx\\` — react-resizable-panels v4 export shape mismatch (was generated for v1)\n- \\`components/ui/toaster.tsx\\` — stale @radix-ui types\n\nThey were in \\`tsconfig.json\\` excludes because they each held a chain of unrelated files hostage. Removing them lets the excludes shrink from a 13-entry list down to the standard test+build-output set, and tsc now runs cleanly over the entire ported tree including \\`components/ui/sidebar.tsx\\`, \\`components/wiki-*\\`, \\`lib/wiki.ts\\`, \\`lib/cf-access/**\\`, etc.\n\nAlso wires up the missing \\`next/headers\\` + \\`next/og\\` \\`paths\\` entries in \\`tsconfig.json\\` (they were already in \\`vite.config.mts\\` resolve.alias but the tsc-only mirror was incomplete).\n\n## Verified\n\n- \\`bun run check\\` (tsc) — **clean** over the full codebase (one-line \"$ tsc\" output, zero errors)\n- \\`bun run dev\\` — cold-starts cleanly, no Icon.mjs error\n- PR preview deploy — green end-to-end (build + alchemy deploy + smoke test of /, /blog, /posts, /products, /feed.xml, /sitemap.xml)\n\n## Follow-up\n\n\\`nextjs-to-rwsdk-migration\\` skill in \\`darkmatter/skills\\` has been updated with the same trap + fix as known-trap #11 and a \"forceClientPaths catalog\" section in [reference/vite-config.md](https://github.com/darkmatter/skills/blob/main/skills/nextjs-to-rwsdk-migration/reference/vite-config.md). Next Next→rwsdk port shouldn't hit this.",
"timestamp": "2026-05-27T17:53:34-07:00",
"url": "https://github.com/darkmatter/web/commit/f5d9dbd34dc393e010e0306e8606e260d0632853",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-27T17:53:34-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-27T17:53:34-07:00",
"username": "web-flow"
},
"added": [],
"removed": [
"components/glowing-grid-item.tsx",
"components/ui/calendar.tsx",
"components/ui/chart.tsx",
"components/ui/resizable.tsx",
"components/ui/toaster.tsx"
],
"modified": [
"tsconfig.json",
"vite.config.mts"
]
},
{
"id": "4b248e92be5684f457fadf93f1daab67100ff23d",
"tree_id": "307a1f65222975dec07262d59264abde9376c154",
"distinct": false,
"message": "feat(layouts): use rwsdk layout() for site chrome instead of client SiteShell (#20)\n\nWe were stamping <SiteShell> into Document and using a client-side\nwindow.location.pathname hook to decide whether to render the SiteHeader\nand SiteFooter. That worked but had three real problems:\n\n1. SSR always rendered the chrome — wiki/vault routes briefly flashed\n the site header + footer before the client hid them after hydration.\n2. SiteShell was 'use client', so the entire page tree below it got\n pulled into the client hydration boundary, defeating RSC streaming\n for server components that didn't need to be hydrated.\n3. The 'which routes get chrome' decision lived in a JS regex\n (/^(\\/internal)?\\/(wiki|vault)(\\/|$)/i) instead of routing structure.\n\nRWSDK ships layout() in rwsdk/router (1.2.9, available since 1.2.x) for\nexactly this use case. This refactor:\n\n- Adds src/app/layouts/SiteLayout.tsx — server component, renders\n SiteHeader + main wrapper + SiteFooter.\n- Adds src/app/layouts/WikiLayout.tsx — server component, passthrough\n (wiki/vault pages own their own viewport via WikiPageContent).\n- Wraps each route group with the appropriate layout() inside the\n existing render(Document, [...]).\n- Strips <SiteShell> out of Document.\n- Deletes components/site-shell.tsx (no consumers).\n\nRoute order matters: WikiLayout is registered FIRST so the literal\n/internal/wiki and /internal/vault routes win over /internal/:slug\nin SiteLayout. Without that, /internal/wiki returns 404 because\n:slug captures 'wiki'.\n\nog-proxy/internal/:slug stays outside any layout — it returns just\n<title> + <meta> tags for social crawlers and shouldn't include site\nchrome in the OG document.\n\nVerified locally:\n bun run check → tsc clean\n bun run dev → all routes return expected codes:\n / blog products internal → 200 with header + footer\n /internal/wiki[/*] → 200, no SiteFooter\n /og-proxy/internal/foo → 404 (slug doesn't exist)\n /this-does-not-exist → 404 with chrome (catch-all)",
"timestamp": "2026-05-27T23:34:03-07:00",
"url": "https://github.com/darkmatter/web/commit/4b248e92be5684f457fadf93f1daab67100ff23d",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-27T23:34:03-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-27T23:34:03-07:00",
"username": "web-flow"
},
"added": [
"src/app/layouts/SiteLayout.tsx",
"src/app/layouts/WikiLayout.tsx"
],
"removed": [
"components/site-shell.tsx"
],
"modified": [
"src/app/Document.tsx",
"src/worker.tsx"
]
},
{
"id": "41ec5509992f27757e60d0918356de7047daeeb6",
"tree_id": "6faae0210abe8cfbbc118300196a7fc2e2e218c0",
"distinct": false,
"message": "fix(hero): suppress AnimatePresence initial entry animation (#21)\n\nSymptom: on cold page load, the homepage logo was invisible for\n1-3 seconds before fading in. SSR HTML had:\n\n <div class=\"... drop-shadow-[0_0_34px_rgba(56,189,248,0.18)]\"\n style=\"opacity:0;filter:blur(14px);transform:translateY(18px) scale(0.94)\">\n\nThat inline style is framer-motion 12 applying the motion.div's\n`initial={{ y: 18, opacity: 0, scale: 0.94, filter: 'blur(14px)' }}`\nprop during SSR. The 'animate' transition (2.4s) only runs once the\nclient bundle loads and framer-motion hydrates — and any latency in\nchunk download stretches the visible 'missing logo' window.\n\nThe English/Japanese cross-fade is the only animation that's\nintentional; the initial entrance fade was a side effect of having\n`initial` set for the cross-fade exits. Setting `initial={false}` on\nthe AnimatePresence parent tells framer-motion to skip the FIRST\nchild's entrance animation — the logo renders directly in its\n`animate` state. Subsequent key changes (English ⇆ Japanese every 15s)\nstill animate because they're not the initial mount.\n\nVerified locally:\n bun run dev → curl / | grep 'opacity:0' returns nothing for the\n english logo motion.div (was 'style=\"opacity:0;...\"' before)",
"timestamp": "2026-05-27T23:34:15-07:00",
"url": "https://github.com/darkmatter/web/commit/41ec5509992f27757e60d0918356de7047daeeb6",
"author": {
"name": "cooper",
"email": "1325802+czxtm@users.noreply.github.com",
"date": "2026-05-27T23:34:15-07:00",
"username": "czxtm"
},
"committer": {
"name": "GitHub",
"email": "noreply@github.com",
"date": "2026-05-27T23:34:15-07:00",
"username": "web-flow"
},
"added": [],
"removed": [],
"modified": [
"components/hero.tsx"
]
},
{
"id": "dac3cc2a7353ca0e27b0a4848a19ffe02b6e8a91",
"tree_id": "b90b7eedbf2912d10bdb36bb2365b591178f1ec8",
"distinct": false,
"message": "Sync content from obsidian@79c1f57",
"timestamp": "2026-05-29T04:50:45Z",
"url": "https://github.com/darkmatter/web/commit/dac3cc2a7353ca0e27b0a4848a19ffe02b6e8a91",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T04:50:45Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T04:50:45Z"
},
"added": [
"content/internal/wiki/engineering/architecture-decisions/0001-beads-as-task-tracker-and-agent-memory.md",
"content/internal/wiki/engineering/architecture-decisions/0002-standard-project-command-surface.md",
"content/internal/wiki/engineering/architecture-decisions/0003-protobuf-as-service-source-of-truth.md",
"content/internal/wiki/engineering/architecture-decisions/0004-no-reinvention.md",
"content/internal/wiki/engineering/architecture-decisions/0004-typed-settings-module-decoupled-from-provider.md",
"content/internal/wiki/engineering/deployment.md",
"content/internal/wiki/engineering/gpu-inference.md",
"content/internal/wiki/engineering/increase-length-not-depth.md",
"content/internal/wiki/operations/runbooks/alchemy-cheatsheet.md",
"content/internal/wiki/operations/runbooks/dolt-sql.md"
],
"removed": [
"content/internal/wiki/engineering/engineering-principles/04-how-we-own.md"
],
"modified": [
"content/internal/wiki/company.md",
"content/internal/wiki/engineering.md",
"content/internal/wiki/engineering/architecture-decisions.md",
"content/internal/wiki/engineering/engineering-principles.md",
"content/internal/wiki/engineering/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering/systems.md",
"content/internal/wiki/home.md",
"content/internal/wiki/operations/runbooks.md",
"content/internal/wiki/people.md",
"content/internal/wiki/people/onboarding.md",
"content/internal/wiki/product.md",
"content/internal/wiki/reference.md",
"content/internal/wiki/start-here.md",
"content/internal/wiki/teams.md",
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "83d96dae82ef4a186764d81b8e4c8460b4b0a74c",
"tree_id": "9b34a0c5ddb73a60244fbfa67ba2156bc0b5c164",
"distinct": false,
"message": "Sync content from obsidian@8d94a74",
"timestamp": "2026-05-29T04:52:59Z",
"url": "https://github.com/darkmatter/web/commit/83d96dae82ef4a186764d81b8e4c8460b4b0a74c",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T04:52:59Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T04:52:59Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "680aaae7e7da6bd08ad3e6092539cdf64b6d1e7d",
"tree_id": "2c32cf116eef16238aa23b0bea9af307a32109f8",
"distinct": false,
"message": "Sync content from obsidian@addd10f",
"timestamp": "2026-05-29T04:55:52Z",
"url": "https://github.com/darkmatter/web/commit/680aaae7e7da6bd08ad3e6092539cdf64b6d1e7d",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T04:55:52Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T04:55:52Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "48982475901a82035f815078c90a2c9c811d221b",
"tree_id": "ffe3da64618cdc1aa2a08dd487d771071635b528",
"distinct": false,
"message": "Sync content from obsidian@5305d09",
"timestamp": "2026-05-29T05:56:54Z",
"url": "https://github.com/darkmatter/web/commit/48982475901a82035f815078c90a2c9c811d221b",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T05:56:54Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-29T05:56:54Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "32eb4b04a4705412b24218e434cedb088ee439f7",
"tree_id": "744730ce50e1f934a291914736aea9daff6bb74a",
"distinct": false,
"message": "style: indentation of sidebar",
"timestamp": "2026-05-28T23:43:13-07:00",
"url": "https://github.com/darkmatter/web/commit/32eb4b04a4705412b24218e434cedb088ee439f7",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-28T22:28:08-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-28T23:43:13-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"components/wiki-sidebar.tsx",
"lib/wiki.generated.ts"
]
},
{
"id": "3723202498b4425231eecc5912e4f7fbd7b3862b",
"tree_id": "15e72b2b985b8d48825c846f9bc43080c0afa937",
"distinct": false,
"message": "style: wiki sidebar",
"timestamp": "2026-05-28T23:43:13-07:00",
"url": "https://github.com/darkmatter/web/commit/3723202498b4425231eecc5912e4f7fbd7b3862b",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-28T23:36:44-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-28T23:43:13-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
".beads/config.yaml",
".beads/issues.jsonl",
".beads/metadata.json",
"app/globals.css",
"components/wiki-page.tsx",
"components/wiki-sidebar.tsx"
]
},
{
"id": "83cafc6dfbf7ae8d3c747a3173bb5da340c33858",
"tree_id": "a6eb27eae4dcc88f98f0c813d65f00d9158f4e31",
"distinct": false,
"message": "feat(wiki): markdown support",
"timestamp": "2026-05-29T00:13:22-07:00",
"url": "https://github.com/darkmatter/web/commit/83cafc6dfbf7ae8d3c747a3173bb5da340c33858",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-29T00:13:22-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-05-29T00:13:22-07:00",
"username": "czxtm"
},
"added": [
"lib/markdown.ts",
"lib/themes/minted.json"
],
"removed": [],
"modified": [
".beads/config.yaml",
"app/globals.css",
"bun.lock",
"lib/blog.generated.ts",
"lib/blog.ts",
"lib/published-vault.ts",
"lib/wiki.generated.ts",
"lib/wiki.ts",
"package.json",
"scripts/generate-blog-manifest.ts"
]
},
{
"id": "d3dd301c7a52ea1ec44b00b8c9cc419a200fcd0a",
"tree_id": "755de065d1f19496d5d252599516a4671f0129ba",
"distinct": false,
"message": "Sync content from obsidian@4af5c5b",
"timestamp": "2026-05-30T00:47:23Z",
"url": "https://github.com/darkmatter/web/commit/d3dd301c7a52ea1ec44b00b8c9cc419a200fcd0a",
"author": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-30T00:47:23Z"
},
"committer": {
"name": "darkmatter[bot]",
"email": "+darkmatter[bot]@users.noreply.github.com",
"date": "2026-05-30T00:47:23Z"
},
"added": [],
"removed": [],
"modified": [
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json"
]
},
{
"id": "3f6dbb5ce09cb11aa529aadfd0bd314a68fc5809",
"tree_id": "bed3b613faa456401f3257d12de626aebcec8d4e",
"distinct": false,
"message": "styling",
"timestamp": "2026-06-01T06:03:37-07:00",
"url": "https://github.com/darkmatter/web/commit/3f6dbb5ce09cb11aa529aadfd0bd314a68fc5809",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-01T06:03:29-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-01T06:03:37-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"components/ui/sidebar.tsx",
"components/wiki-page.tsx",
"components/wiki-sidebar.tsx"
]
},
{
"id": "a8a1a8b3f29a9d52931a7bb91ca26d6302bd0d0f",
"tree_id": "110abb44423ef02849ec5582ac2e086f78a6f0cb",
"distinct": false,
"message": "styling",
"timestamp": "2026-06-01T06:41:14-07:00",
"url": "https://github.com/darkmatter/web/commit/a8a1a8b3f29a9d52931a7bb91ca26d6302bd0d0f",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-01T06:41:14-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-01T06:41:14-07:00",
"username": "czxtm"
},
"added": [],
"removed": [],
"modified": [
"components/wiki-sidebar.tsx"
]
},
{
"id": "26e284c80998bad4eff157a18a49da8cdac3ca88",
"tree_id": "fc628e663bb5e6bc2135c715c20450961d1568cc",
"distinct": true,
"message": "Merge main, port /press to RWSDK architecture\n\nMain migrated from Next.js to RWSDK + Vite + Cloudflare Workers. The\npress kit added in 86c2b51 was built against the old Next.js app\ndirectory; ports it to the new structure:\n\n - Page moved from app/press/page.tsx to src/app/pages/Press.tsx\n - Route registered in src/worker.tsx alongside other SiteLayout pages\n - /press entry added to src/app/routes/sitemap.ts (the live handler)\n - Github icon swapped from lucide (removed in v1.16) to\n IconBrandGithub from @tabler/icons-react to match site-footer\n - \"Read the blog\" CTA repointed to /posts to match main's nav rename\n - Dead app/press/page.tsx removed; dead app/sitemap.ts edit reverted\n\nSite-header.tsx conflict resolved by keeping main's Blog->Posts rename\nand adding Press alongside Posts in both desktop and mobile nav arrays.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"timestamp": "2026-06-02T10:44:32-07:00",
"url": "https://github.com/darkmatter/web/commit/26e284c80998bad4eff157a18a49da8cdac3ca88",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-02T10:44:32-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-02T10:44:32-07:00",
"username": "czxtm"
},
"added": [
".beads/.gitignore",
".beads/README.md",
".beads/config.yaml",
".beads/hooks/post-checkout",
".beads/hooks/post-merge",
".beads/hooks/pre-commit",
".beads/hooks/pre-push",
".beads/hooks/prepare-commit-msg",
".beads/interactions.jsonl",
".beads/issues.jsonl",
".beads/metadata.json",
".dev.vars",
".github/workflows/alchemy-deploy.yml",
".github/workflows/preview-cleanup.yml",
".github/workflows/preview-deploy.yml",
".sops.yaml",
"AGENTS.md",
"CLAUDE.md",
"PROTOTYPE.md",
"alchemy.run.ts",
"app/internal/[slug]/opengraph-image.tsx",
"app/internal/vault/[[...slug]]/page.tsx",
"app/internal/wiki/[[...slug]]/page.tsx",
"app/og-proxy/internal/[slug]/page.tsx",
"app/posts/page.tsx",
"app/vault/[[...slug]]/page.tsx",
"app/wiki/[[...slug]]/page.tsx",
"components.sops.json",
"components/app-sidebar.tsx",
"components/background-lines-demo.tsx",
"components/products/product-card.tsx",
"components/products/products-hero.tsx",
"components/products/products-index-header.tsx",
"components/search-form.tsx",
"components/site-footer.tsx",
"components/text-hover-effect-demo.tsx",
"components/ui/background-beams.tsx",
"components/ui/background-lines.tsx",
"components/ui/floating-dock.tsx",
"components/ui/github-icon.tsx",
"components/ui/glowing-effect.tsx",
"components/ui/text-hover-effect.tsx",
"components/wiki-page.test.js",
"components/wiki-page.tsx",
"components/wiki-sidebar.tsx",
"content/internal/2026-03-24.md",
"content/internal/wiki/company.md",
"content/internal/wiki/company/decision-making.md",
"content/internal/wiki/company/mission-and-beliefs.md",
"content/internal/wiki/company/operating-principles.md",
"content/internal/wiki/company/shared-language.md",
"content/internal/wiki/company/strategy.md",
"content/internal/wiki/engineering.md",
"content/internal/wiki/engineering/architecture-decisions.md",
"content/internal/wiki/engineering/architecture-decisions/0001-beads-as-task-tracker-and-agent-memory.md",
"content/internal/wiki/engineering/architecture-decisions/0002-standard-project-command-surface.md",
"content/internal/wiki/engineering/architecture-decisions/0003-protobuf-as-service-source-of-truth.md",
"content/internal/wiki/engineering/architecture-decisions/0004-no-reinvention.md",
"content/internal/wiki/engineering/architecture-decisions/0004-typed-settings-module-decoupled-from-provider.md",
"content/internal/wiki/engineering/architecture-decisions/avoid-concerns-beyond-otel.md",
"content/internal/wiki/engineering/deployment.md",
"content/internal/wiki/engineering/engineering-principles.md",
"content/internal/wiki/engineering/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md",
"content/internal/wiki/engineering/gpu-inference.md",
"content/internal/wiki/engineering/increase-length-not-depth.md",
"content/internal/wiki/engineering/quality-bar.md",
"content/internal/wiki/engineering/security.md",
"content/internal/wiki/engineering/systems.md",
"content/internal/wiki/home.md",
"content/internal/wiki/operations.md",
"content/internal/wiki/operations/access-and-secrets.md",
"content/internal/wiki/operations/incident-response.md",
"content/internal/wiki/operations/runbooks.md",
"content/internal/wiki/operations/runbooks/alchemy-cheatsheet.md",
"content/internal/wiki/operations/runbooks/dolt-sql.md",
"content/internal/wiki/operations/runbooks/emergency-withdrawal.md",
"content/internal/wiki/operations/runbooks/new-pool-evaluation.md",
"content/internal/wiki/operations/runbooks/position-out-of-range.md",
"content/internal/wiki/operations/vendors-and-accounts.md",
"content/internal/wiki/people.md",
"content/internal/wiki/people/hiring-principles.md",
"content/internal/wiki/people/onboarding.md",
"content/internal/wiki/people/roles-and-expectations.md",
"content/internal/wiki/people/team-directory.md",
"content/internal/wiki/product.md",
"content/internal/wiki/product/customer-understanding.md",
"content/internal/wiki/product/philosophy.md",
"content/internal/wiki/product/products-and-surfaces.md",
"content/internal/wiki/product/research-notes.md",
"content/internal/wiki/product/research/nixmac-review.md",
"content/internal/wiki/product/roadmap.md",
"content/internal/wiki/reference.md",
"content/internal/wiki/reference/acronyms.md",
"content/internal/wiki/reference/external-links.md",
"content/internal/wiki/reference/tools.md",
"content/internal/wiki/start-here.md",
"content/internal/wiki/teams.md",
"content/internal/wiki/teams/lp-managers.md",
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json",
"lib/blog.generated.ts",
"lib/cf-access/b64.ts",
"lib/cf-access/errors.ts",
"lib/cf-access/index.ts",
"lib/cf-access/jwks.ts",
"lib/cf-access/schemas.ts",
"lib/cf-access/session.ts",
"lib/cf-access/verify.ts",
"lib/fonts.ts",
"lib/fonts/lora-latin-400-italic.woff2",
"lib/fonts/lora-latin-400-normal.ttf",
"lib/markdown.ts",
"lib/monaspace/monaspace-argon-var.woff",
"lib/monaspace/monaspace-argon-var.woff2",
"lib/monaspace/monaspace-neon-var.woff",
"lib/monaspace/monaspace-neon-var.woff2",
"lib/products.ts",
"lib/published-vault.ts",
"lib/themes/minted.json",
"lib/wiki-nav-tree.test.ts",
"lib/wiki-nav-tree.ts",
"lib/wiki.generated.ts",
"lib/wiki.test.ts",
"lib/wiki.ts",
"patches/alchemy@2.0.0-beta.40.patch",
"public/Proxima Nova Light.ttf",
"public/covers/blog-public-test.png",
"public/fonts/monaspace-neon-var.woff2",
"public/img/github-dark.webp",
"public/img/jap.svg",
"public/wiki-assets/tailscale-signin.png",
"scripts/generate-blog-manifest.ts",
"scripts/port-page.ts",
"src/app/Document.tsx",
"src/app/globals.css",
"src/app/headers.ts",
"src/app/layouts/SiteLayout.tsx",
"src/app/layouts/WikiLayout.tsx",
"src/app/middleware/crawler-rewrite.ts",
"src/app/pages/Home.tsx",
"src/app/pages/NotFound.tsx",
"src/app/pages/Posts.tsx",
"src/app/pages/Press.tsx",
"src/app/pages/Stub.tsx",
"src/app/pages/blog/Detail.tsx",
"src/app/pages/blog/Index.tsx",
"src/app/pages/incidents/SwapCowFi.tsx",
"src/app/pages/internal/Detail.tsx",
"src/app/pages/internal/Index.tsx",
"src/app/pages/internal/VaultCatchAll.tsx",
"src/app/pages/internal/WikiCatchAll.tsx",
"src/app/pages/og-proxy/Internal.tsx",
"src/app/pages/products/Alt.tsx",
"src/app/pages/products/Classic.tsx",
"src/app/pages/products/Hacker.tsx",
"src/app/pages/products/Index.tsx",
"src/app/pages/vault/CatchAll.tsx",
"src/app/pages/wiki/CatchAll.tsx",
"src/app/routes/feed.ts",
"src/app/routes/sitemap.ts",
"src/client.tsx",
"src/shims/next-font-google.ts",
"src/shims/next-font-local.ts",
"src/shims/next-headers.ts",
"src/shims/next-image.tsx",
"src/shims/next-link.tsx",
"src/shims/next-navigation.ts",
"src/shims/next-og.ts",
"src/shims/next-server.ts",
"src/types/rw.d.ts",
"src/types/vite.d.ts",
"src/worker.tsx",
"vite.config.mts",
"worker-configuration.d.ts",
"wrangler.jsonc"
],
"removed": [
".DS_Store",
".dockerignore",
".github/workflows/fly-deploy.yml",
"Dockerfile",
"components/ui/calendar.tsx",
"components/ui/chart.tsx",
"components/ui/resizable.tsx",
"components/ui/toaster.tsx",
"content/internal/mar-2430-2026.md",
"docker-entrypoint.js",
"fly.toml",
"next.config.mjs",
"pnpm-lock.yaml",
"styles/globals.css"
],
"modified": [
".gitignore",
"app/blog/[slug]/page.tsx",
"app/blog/page.tsx",
"app/globals.css",
"app/incidents/swap-cow-fi-2026-04-14/opengraph-image.tsx",
"app/incidents/swap-cow-fi-2026-04-14/page.tsx",
"app/internal/[slug]/page.tsx",
"app/internal/page.tsx",
"app/layout.tsx",
"app/page.backup.tsx",
"app/page.tsx",
"app/products/alt/page.tsx",
"app/products/classic/page.tsx",
"app/products/hacker/page.tsx",
"app/products/page.tsx",
"app/sitemap.ts",
"bun.lock",
"components/hero.tsx",
"components/posthog-provider.tsx",
"components/site-header.tsx",
"components/ui/sidebar.tsx",
"content/internal/hello-world.md",
"devenv.nix",
"lib/blog.ts",
"lib/posthog.ts",
"lib/utils.ts",
"package.json",
"public/covers/dark-matter-weekly-mar-2430-2026.png",
"public/covers/internal-hello-world.png",
"tsconfig.json"
]
}
],
"head_commit": {
"id": "26e284c80998bad4eff157a18a49da8cdac3ca88",
"tree_id": "fc628e663bb5e6bc2135c715c20450961d1568cc",
"distinct": true,
"message": "Merge main, port /press to RWSDK architecture\n\nMain migrated from Next.js to RWSDK + Vite + Cloudflare Workers. The\npress kit added in 86c2b51 was built against the old Next.js app\ndirectory; ports it to the new structure:\n\n - Page moved from app/press/page.tsx to src/app/pages/Press.tsx\n - Route registered in src/worker.tsx alongside other SiteLayout pages\n - /press entry added to src/app/routes/sitemap.ts (the live handler)\n - Github icon swapped from lucide (removed in v1.16) to\n IconBrandGithub from @tabler/icons-react to match site-footer\n - \"Read the blog\" CTA repointed to /posts to match main's nav rename\n - Dead app/press/page.tsx removed; dead app/sitemap.ts edit reverted\n\nSite-header.tsx conflict resolved by keeping main's Blog->Posts rename\nand adding Press alongside Posts in both desktop and mobile nav arrays.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"timestamp": "2026-06-02T10:44:32-07:00",
"url": "https://github.com/darkmatter/web/commit/26e284c80998bad4eff157a18a49da8cdac3ca88",
"author": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-02T10:44:32-07:00",
"username": "czxtm"
},
"committer": {
"name": "Cooper Maruyama",
"email": "me@cooperm.com",
"date": "2026-06-02T10:44:32-07:00",
"username": "czxtm"
},
"added": [
".beads/.gitignore",
".beads/README.md",
".beads/config.yaml",
".beads/hooks/post-checkout",
".beads/hooks/post-merge",
".beads/hooks/pre-commit",
".beads/hooks/pre-push",
".beads/hooks/prepare-commit-msg",
".beads/interactions.jsonl",
".beads/issues.jsonl",
".beads/metadata.json",
".dev.vars",
".github/workflows/alchemy-deploy.yml",
".github/workflows/preview-cleanup.yml",
".github/workflows/preview-deploy.yml",
".sops.yaml",
"AGENTS.md",
"CLAUDE.md",
"PROTOTYPE.md",
"alchemy.run.ts",
"app/internal/[slug]/opengraph-image.tsx",
"app/internal/vault/[[...slug]]/page.tsx",
"app/internal/wiki/[[...slug]]/page.tsx",
"app/og-proxy/internal/[slug]/page.tsx",
"app/posts/page.tsx",
"app/vault/[[...slug]]/page.tsx",
"app/wiki/[[...slug]]/page.tsx",
"components.sops.json",
"components/app-sidebar.tsx",
"components/background-lines-demo.tsx",
"components/products/product-card.tsx",
"components/products/products-hero.tsx",
"components/products/products-index-header.tsx",
"components/search-form.tsx",
"components/site-footer.tsx",
"components/text-hover-effect-demo.tsx",
"components/ui/background-beams.tsx",
"components/ui/background-lines.tsx",
"components/ui/floating-dock.tsx",
"components/ui/github-icon.tsx",
"components/ui/glowing-effect.tsx",
"components/ui/text-hover-effect.tsx",
"components/wiki-page.test.js",
"components/wiki-page.tsx",
"components/wiki-sidebar.tsx",
"content/internal/2026-03-24.md",
"content/internal/wiki/company.md",
"content/internal/wiki/company/decision-making.md",
"content/internal/wiki/company/mission-and-beliefs.md",
"content/internal/wiki/company/operating-principles.md",
"content/internal/wiki/company/shared-language.md",
"content/internal/wiki/company/strategy.md",
"content/internal/wiki/engineering.md",
"content/internal/wiki/engineering/architecture-decisions.md",
"content/internal/wiki/engineering/architecture-decisions/0001-beads-as-task-tracker-and-agent-memory.md",
"content/internal/wiki/engineering/architecture-decisions/0002-standard-project-command-surface.md",
"content/internal/wiki/engineering/architecture-decisions/0003-protobuf-as-service-source-of-truth.md",
"content/internal/wiki/engineering/architecture-decisions/0004-no-reinvention.md",
"content/internal/wiki/engineering/architecture-decisions/0004-typed-settings-module-decoupled-from-provider.md",
"content/internal/wiki/engineering/architecture-decisions/avoid-concerns-beyond-otel.md",
"content/internal/wiki/engineering/deployment.md",
"content/internal/wiki/engineering/engineering-principles.md",
"content/internal/wiki/engineering/engineering-principles/00-preamble.md",
"content/internal/wiki/engineering/engineering-principles/01-foundational-beliefs.md",
"content/internal/wiki/engineering/engineering-principles/02-how-we-build.md",
"content/internal/wiki/engineering/engineering-principles/03-how-we-decide.md",
"content/internal/wiki/engineering/engineering-principles/05-how-we-treat-quality.md",
"content/internal/wiki/engineering/engineering-principles/06-how-we-treat-each-other.md",
"content/internal/wiki/engineering/engineering-principles/07-tradeoffs.md",
"content/internal/wiki/engineering/engineering-principles/08-anti-patterns.md",
"content/internal/wiki/engineering/engineering-principles/09-evolution.md",
"content/internal/wiki/engineering/engineering-principles/references/bugfixes-vs-features-across-oss-repos.md",
"content/internal/wiki/engineering/gpu-inference.md",
"content/internal/wiki/engineering/increase-length-not-depth.md",
"content/internal/wiki/engineering/quality-bar.md",
"content/internal/wiki/engineering/security.md",
"content/internal/wiki/engineering/systems.md",
"content/internal/wiki/home.md",
"content/internal/wiki/operations.md",
"content/internal/wiki/operations/access-and-secrets.md",
"content/internal/wiki/operations/incident-response.md",
"content/internal/wiki/operations/runbooks.md",
"content/internal/wiki/operations/runbooks/alchemy-cheatsheet.md",
"content/internal/wiki/operations/runbooks/dolt-sql.md",
"content/internal/wiki/operations/runbooks/emergency-withdrawal.md",
"content/internal/wiki/operations/runbooks/new-pool-evaluation.md",
"content/internal/wiki/operations/runbooks/position-out-of-range.md",
"content/internal/wiki/operations/vendors-and-accounts.md",
"content/internal/wiki/people.md",
"content/internal/wiki/people/hiring-principles.md",
"content/internal/wiki/people/onboarding.md",
"content/internal/wiki/people/roles-and-expectations.md",
"content/internal/wiki/people/team-directory.md",
"content/internal/wiki/product.md",
"content/internal/wiki/product/customer-understanding.md",
"content/internal/wiki/product/philosophy.md",
"content/internal/wiki/product/products-and-surfaces.md",
"content/internal/wiki/product/research-notes.md",
"content/internal/wiki/product/research/nixmac-review.md",
"content/internal/wiki/product/roadmap.md",
"content/internal/wiki/reference.md",
"content/internal/wiki/reference/acronyms.md",
"content/internal/wiki/reference/external-links.md",
"content/internal/wiki/reference/tools.md",
"content/internal/wiki/start-here.md",
"content/internal/wiki/teams.md",
"content/internal/wiki/teams/lp-managers.md",
"content/nav.json",
"content/publish-manifest.json",
"content/wiki/nav.json",
"lib/blog.generated.ts",
"lib/cf-access/b64.ts",
"lib/cf-access/errors.ts",
"lib/cf-access/index.ts",
"lib/cf-access/jwks.ts",
"lib/cf-access/schemas.ts",
"lib/cf-access/session.ts",
"lib/cf-access/verify.ts",
"lib/fonts.ts",
"lib/fonts/lora-latin-400-italic.woff2",
"lib/fonts/lora-latin-400-normal.ttf",
"lib/markdown.ts",
"lib/monaspace/monaspace-argon-var.woff",
"lib/monaspace/monaspace-argon-var.woff2",
"lib/monaspace/monaspace-neon-var.woff",
"lib/monaspace/monaspace-neon-var.woff2",
"lib/products.ts",
"lib/published-vault.ts",
"lib/themes/minted.json",
"lib/wiki-nav-tree.test.ts",
"lib/wiki-nav-tree.ts",
"lib/wiki.generated.ts",
"lib/wiki.test.ts",
"lib/wiki.ts",
"patches/alchemy@2.0.0-beta.40.patch",
"public/Proxima Nova Light.ttf",
"public/covers/blog-public-test.png",
"public/fonts/monaspace-neon-var.woff2",
"public/img/github-dark.webp",
"public/img/jap.svg",
"public/wiki-assets/tailscale-signin.png",
"scripts/generate-blog-manifest.ts",
"scripts/port-page.ts",
"src/app/Document.tsx",
"src/app/globals.css",
"src/app/headers.ts",
"src/app/layouts/SiteLayout.tsx",
"src/app/layouts/WikiLayout.tsx",
"src/app/middleware/crawler-rewrite.ts",
"src/app/pages/Home.tsx",
"src/app/pages/NotFound.tsx",
"src/app/pages/Posts.tsx",
"src/app/pages/Press.tsx",
"src/app/pages/Stub.tsx",
"src/app/pages/blog/Detail.tsx",
"src/app/pages/blog/Index.tsx",
"src/app/pages/incidents/SwapCowFi.tsx",
"src/app/pages/internal/Detail.tsx",
"src/app/pages/internal/Index.tsx",
"src/app/pages/internal/VaultCatchAll.tsx",
"src/app/pages/internal/WikiCatchAll.tsx",
"src/app/pages/og-proxy/Internal.tsx",
"src/app/pages/products/Alt.tsx",
"src/app/pages/products/Classic.tsx",
"src/app/pages/products/Hacker.tsx",
"src/app/pages/products/Index.tsx",
"src/app/pages/vault/CatchAll.tsx",
"src/app/pages/wiki/CatchAll.tsx",
"src/app/routes/feed.ts",
"src/app/routes/sitemap.ts",
"src/client.tsx",
"src/shims/next-font-google.ts",
"src/shims/next-font-local.ts",
"src/shims/next-headers.ts",
"src/shims/next-image.tsx",
"src/shims/next-link.tsx",
"src/shims/next-navigation.ts",
"src/shims/next-og.ts",
"src/shims/next-server.ts",
"src/types/rw.d.ts",
"src/types/vite.d.ts",
"src/worker.tsx",
"vite.config.mts",
"worker-configuration.d.ts",
"wrangler.jsonc"
],
"removed": [
".DS_Store",
".dockerignore",
".github/workflows/fly-deploy.yml",
"Dockerfile",
"components/ui/calendar.tsx",
"components/ui/chart.tsx",
"components/ui/resizable.tsx",
"components/ui/toaster.tsx",
"content/internal/mar-2430-2026.md",
"docker-entrypoint.js",
"fly.toml",
"next.config.mjs",
"pnpm-lock.yaml",
"styles/globals.css"
],
"modified": [
".gitignore",
"app/blog/[slug]/page.tsx",
"app/blog/page.tsx",
"app/globals.css",
"app/incidents/swap-cow-fi-2026-04-14/opengraph-image.tsx",
"app/incidents/swap-cow-fi-2026-04-14/page.tsx",
"app/internal/[slug]/page.tsx",
"app/internal/page.tsx",
"app/layout.tsx",
"app/page.backup.tsx",
"app/page.tsx",
"app/products/alt/page.tsx",
"app/products/classic/page.tsx",
"app/products/hacker/page.tsx",
"app/products/page.tsx",
"app/sitemap.ts",
"bun.lock",
"components/hero.tsx",
"components/posthog-provider.tsx",
"components/site-header.tsx",
"components/ui/sidebar.tsx",
"content/internal/hello-world.md",
"devenv.nix",
"lib/blog.ts",
"lib/posthog.ts",
"lib/utils.ts",
"package.json",
"public/covers/dark-matter-weekly-mar-2430-2026.png",
"public/covers/internal-hello-world.png",
"tsconfig.json"
]
}
}