{
  "interval": {
    "intervalStart": "2026-02-03T00:00:00.000Z",
    "intervalEnd": "2026-02-04T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2026-02-03 to 2026-02-04, elizaos/eliza had 2 new PRs (0 merged), 7 new issues, and 6 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7oASkk",
      "title": "[Milestone] Eliza App MVP Launch - End of Week Target",
      "author": "borisudovicic",
      "number": 6456,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nShip Eliza App MVP - focus on getting end-to-end experience working.\n\n## Key Decisions (Shaw - Feb 3)\n\n**MVP Mindset:**\n\n> \"MVP is about... can a user come and get the use like the selling proposition of the application right there in time. That's like, that's the thing we need.\"\n\n**Cut Scope:**\n\n* No coding sandbox for N8N (just JSON generation)\n* No billing for day 1\n* Can launch with just one messaging platform\n* 10 second cold start is acceptable for MVP\n* Can disable dev environment to avoid double messages\n\n**Focus:**\n\n* N8N workflow generation, search, caching\n* Webhook/cron triggers for workflows\n* Google Calendar + Gmail integration\n* End-to-end user experience\n\n## Blockers\n\n1. **Google OAuth Verification** - Need demo video, tokens reset every 5 hours until verified\n2. **Runtime getSetting bug** - User settings not overriding agent settings\n3. **N8N plugin on cloud** - Not working as expected\n4. [**Blue.io**](<http://Blue.io>)** second number** - Pending (workaround: shut down dev)\n\n## Messaging Platforms\n\nGoal was WhatsApp, iMessage, Telegram, Discord but:\n\n> \"Let's just launch one and then add them.\" - Shaw\n\nPriority: iMessage ([Blue.io](<http://Blue.io>)) > Telegram > Discord > WhatsApp\n\n## Team Focus Areas\n\n* **Ben**: Runtime getSetting fix → Deploy to production → Google verification video\n* **Stan**: N8N plugin cloud fix, latency optimization\n* **Hanzla**: Discord gateway update, Terraform production\n* **Rayan**: Auth revert, billing (post-MVP)\n* **Sam**: OAuth integrations (X, Slack, Linear, GitHub)\n* **Odili**: Database migrations, Eliza Town PR\n\n## Target\n\nShip by end of week / Monday at the absolute latest.\n\nShaw: \"I'm super proud of the team. Like it's been eight days since we made this pivot and like we're basically almost kind of there.\"",
      "createdAt": "2026-02-03T17:35:09Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7oASTe",
      "title": "[UI] Revert Authentication & Restore Auth Page",
      "author": "borisudovicic",
      "number": 6455,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nRevert authentication implementation that was previously removed and restore the authentication page.\n\n## Context (Feb 3)\n\n**Rayan:** \"So tonight I will be reverting and the authentication stuff removed and authentication page etc and I will continue the work on billing.\"\n\n## Acceptance Criteria\n\n- [ ] Authentication reverted\n- [ ] Authentication page restored\n- [ ] User login flow working\n- [ ] Ship before midnight (Rayan's timezone)",
      "createdAt": "2026-02-03T17:34:49Z",
      "closedAt": "2026-02-05T10:21:01Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7oAQsf",
      "title": "Plugin: SOLPRISM — Verifiable AI Reasoning on Solana",
      "author": "basedmereum",
      "number": 6454,
      "repository": "elizaos/eliza",
      "body": "## Summary\n\nSOLPRISM is a verifiable AI reasoning protocol on Solana. Agents commit SHA-256 hashes of their reasoning traces onchain *before* acting, then reveal after. Anyone can verify the hash matches — tamper-proof accountability.\n\n## Plugin\n\nWe've built a complete Eliza plugin for SOLPRISM with 4 actions:\n\n- **REGISTER_AGENT** — Register agent on SOLPRISM\n- **COMMIT_REASONING** — Commit reasoning hash onchain before acting\n- **REVEAL_REASONING** — Reveal full reasoning after action\n- **VERIFY_REASONING** — Verify any commitment matches its reasoning\n\nPlugin code: https://github.com/NeukoAI/axiom-protocol/tree/main/integrations/eliza-plugin\n\n## Details\n\n- Self-contained (no Anchor dependency, embeds discriminators directly)\n- Follows Eliza plugin conventions (actions, providers, types)\n- Works on mainnet and devnet (same program ID)\n- SDK on npm: `npm install @solprism/sdk`\n- Explorer: https://www.solprism.app/\n- Program ID: `CZcvoryaQNrtZ3qb3gC1h9opcYpzEP1D9Mu1RVwFQeBu`\n\nWould love to get this added to the Eliza plugin ecosystem. Happy to submit a PR if there's a preferred location/format.",
      "createdAt": "2026-02-03T17:33:02Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7oAQsZ",
      "title": "[Auth] Microsoft OAuth Integration - Outlook Calendar & Email",
      "author": "borisudovicic",
      "number": 6453,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nIntegrate Microsoft OAuth for Outlook email and calendar support as an alternative to Google services.\n\n## Status Update (Feb 6 meeting)\n\n**🟢 CODE COMPLETE - Dashboard validation remaining**\n\n**Rayan:** \"The Microsoft branch is basically done. Just need to test some small stuff and then it's probably ready to go.\"\n\n**Rayan (clarifying \"done\"):** \"With done I meant the implementation in the Cloud API. As for validation in the Microsoft Dashboard, I need to check that out. I think it's less hard compared to Google. I didn't see anything with an audit, I didn't see anything with a video.\"\n\n**Boris:** \"Before you go into billing at all, let's just get Microsoft completely done. We can at least have Outlook email and Microsoft Calendar. Just push for a release and wait for Google in the meantime.\"\n\n**Target:** Monday beta release with Microsoft calendar + email.\n\n## Previous Updates\n\n**Feb 5:** Branch with implementations, stuck on permissions bug in Microsoft Dashboard.\n\n## Acceptance Criteria\n\n- [X] Microsoft OAuth implementation code-complete\n- [X] Cloud API integration done\n- [ ] Microsoft Dashboard validation/verification complete\n- [ ] Outlook Calendar read/write working\n- [ ] Outlook Email read/send working\n- [ ] End-to-end testing complete\n- [ ] Released for Monday beta",
      "createdAt": "2026-02-03T17:33:02Z",
      "closedAt": null,
      "state": "OPEN",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7oAQcA",
      "title": "[Auth] Google OAuth Verification - Demo Video",
      "author": "borisudovicic",
      "number": 6452,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nRecord demo video required for Google OAuth verification process. Must show the app working end-to-end with Google Calendar/Gmail integration.\n\n## Context (Feb 3 meeting)\n\n* Ben: \"After I finish that I plan to release everything to production so we can record the video that we need for Google verification.\"\n* Ben: \"Only blocker could be that fucking thing with Google. Yeah, that verification process.\"\n* Shaw offered to help with Google contacts if needed\n\n## Requirements\n\n- [ ] App deployed to production\n- [ ] Google OAuth flow working\n- [ ] Demo showing Calendar integration\n- [ ] Demo showing Gmail integration\n- [ ] Video recorded and submitted to Google\n\n## Technical Notes\n\n* Can whitelist up to 100 users before full approval\n* All [elizalabs.ai](<http://elizalabs.ai>) emails can already access\n* Issue: OAuth tokens reset every 5 hours until verified (may affect N8N workflows)\n* Shaw: \"I've got GCP people in my email... if you're paying money to them, they're usually pretty easy to talk to\"\n\n## Workaround if blocked\n\nShaw: \"If the AI was like, 'yeah hold on dude, just give me like a couple of days to work it out with Google,' I'd be like, that's fucking cool. But it needs to be messaged really carefully.\"",
      "createdAt": "2026-02-03T17:32:46Z",
      "closedAt": "2026-02-05T10:20:34Z",
      "state": "CLOSED",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs7BRAcH",
      "title": "feat(core): add request context for per-user entity settings",
      "author": "0xbbjoker",
      "number": 6457,
      "body": "## Summary\n- Adds `RequestContext` using AsyncLocalStorage to propagate per-request entity settings\n- Enables runtime methods to access the originating entity context without explicit parameter passing\n- Includes helper methods: `withEntityContext()`, `getRequestContext()`, `getEntitySettings()`\n\n## Test plan\n- [x] Unit tests for `RequestContext` class\n- [x] Integration tests for runtime context propagation\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> **Medium Risk**\n> Changes `AgentRuntime.getSetting()` resolution to prefer request-scoped entity settings (including `null` as an explicit override), which can affect how secrets/config are sourced in multi-tenant flows. Uses global AsyncLocalStorage state in Node, so regressions would show up as mis-scoped settings across concurrent requests if misused.\n> \n> **Overview**\n> Introduces a new request-scoped `RequestContext` API (`runWithRequestContext`, `getRequestContext`, and a pluggable `IRequestContextManager`) to propagate per-entity settings through async execution.\n> \n> Adds a Node.js implementation backed by `AsyncLocalStorage` and initializes it from `index.node.ts`, while exporting the new utilities from both `index.ts` and `index.node.ts`.\n> \n> Updates `AgentRuntime.getSetting()` to check `requestCtx.entitySettings` first (treating `undefined` as fallthrough and `null` as an explicit return) and return entity values without `decryptSecret`, with new unit/integration tests covering async propagation, concurrency isolation, and precedence over character settings/secrets.\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit a0e2d2d3a74a829c2edaf7e5f848a5ba1aea788f. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>\n<!-- /CURSOR_SUMMARY -->\n\n<!-- greptile_comment -->\n\n<h2>Greptile Overview</h2>\n\n<h3>Greptile Summary</h3>\n\nThis PR adds `RequestContext` infrastructure to enable per-entity settings in multi-tenant deployments, allowing multiple users to share a single agent runtime while maintaining isolated settings (API keys, OAuth tokens, etc.).\n\n**Key Changes:**\n- New `RequestContext` interface and `runWithRequestContext()` API for propagating per-request entity settings\n- AsyncLocalStorage-based implementation for Node.js (`request-context.node.ts`) ensuring proper async context isolation\n- Modified `runtime.getSetting()` to check request context first before falling back to character settings\n- Comprehensive test coverage (28 tests) covering context isolation, concurrency, priority, and integration with runtime\n\n**Design:**\n- Follows OpenTelemetry ContextManager pattern (consistent with existing `streaming-context.ts`)\n- NoopContextManager fallback ensures backward compatibility\n- Entity settings are pre-decrypted, avoiding duplicate decryption\n- Clear priority chain: entity settings → character settings → null\n\n**Testing:**\n- Unit tests verify context isolation across 10 concurrent requests\n- Integration tests confirm proper `getSetting()` behavior and priority\n- Edge cases covered: null vs undefined, nested contexts, error propagation\n\n**Issue Found:**\n- `package.json` version changed to local development version (`1.0.0-local.1768325621`) - must be reverted before merge\n\n<h3>Confidence Score: 4/5</h3>\n\n- Safe to merge after reverting package.json version change\n- High-quality implementation with excellent test coverage and clear design patterns. The only issue is the unintentional version change in package.json which must be fixed. Code follows project conventions, includes comprehensive documentation, and all new tests pass.\n- `packages/core/package.json` needs version reverted to 1.7.2-alpha.1\n\n<h3>Important Files Changed</h3>\n\n\n\n\n| Filename | Overview |\n|----------|----------|\n| packages/core/package.json | Version changed to local development version (1.0.0-local.1768325621), should be reverted before merge |\n| packages/core/src/request-context.ts | Well-designed context management pattern following OpenTelemetry style, with comprehensive documentation and type safety |\n| packages/core/src/runtime.ts | Added request context check to getSetting() with proper fallback chain and clear comments |\n\n</details>\n\n\n\n<h3>Sequence Diagram</h3>\n\n```mermaid\nsequenceDiagram\n    participant User as User/Entity\n    participant Server as Server/Handler\n    participant RC as RequestContext\n    participant ALS as AsyncLocalStorage\n    participant Runtime as AgentRuntime\n    participant DB as Database\n\n    User->>Server: Send message/request\n    Note over Server: Fetch entity settings\n    Server->>DB: Query entity settings for userId\n    DB-->>Server: Return settings Map\n    \n    Server->>RC: runWithRequestContext(context, fn)\n    Note over RC: context = {entityId, agentId, entitySettings}\n    RC->>ALS: storage.run(context, fn)\n    Note over ALS: Store context in AsyncLocalStorage\n    \n    ALS->>Runtime: Execute fn() → runtime.handleMessage()\n    Runtime->>Runtime: getSetting(key)\n    Runtime->>RC: getRequestContext()\n    RC->>ALS: storage.getStore()\n    ALS-->>RC: Return active context\n    RC-->>Runtime: Return context\n    \n    alt Entity setting exists\n        Runtime-->>Runtime: Return entitySettings.get(key)\n        Note over Runtime: Pre-decrypted, return as-is\n    else Fallback to character settings\n        Runtime-->>Runtime: Check character.settings/secrets\n        Note over Runtime: Apply decryption if needed\n    end\n    \n    Runtime-->>Server: Complete message processing\n    Server-->>User: Send response\n    \n    Note over ALS: Context automatically cleared after fn() completes\n\n```\n\n<!-- greptile_other_comments_section -->\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-02-03T18:44:06Z",
      "mergedAt": "2026-02-04T12:50:24Z",
      "additions": 1037,
      "deletions": 1
    },
    {
      "id": "PR_kwDOMT5cIs7BGV1n",
      "title": "chore: release v1.5.12-alpha.2 (alpha) [skip ci]",
      "author": "ATHLSolutions",
      "number": 6449,
      "body": "<!-- Use this template by filling in information and copying and pasting relevant items out of the HTML comments. -->\r\n\r\n# Relates to\r\n\r\n<!-- LINK TO ISSUE OR TICKET -->\r\n\r\n<!-- This risks section must be filled out before the final review and merge. -->\r\n\r\n# Risks\r\n\r\n<!--\r\nLow, medium, large. List what kind of risks and what could be affected.\r\n-->\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n<!--\r\nBug fixes (non-breaking change which fixes an issue)\r\nImprovements (misc. changes to existing features)\r\nFeatures (non-breaking change which adds functionality)\r\nUpdates (new versions of included code)\r\n-->\r\n\r\n<!-- This \"Why\" section is most relevant if there are no linked issues explaining why. If there is a related issue, it might make sense to skip this why section. -->\r\n<!--\r\n## Why are we doing this? Any context or related work?\r\n-->\r\n\r\n# Documentation changes needed?\r\n\r\n<!--\r\nMy changes do not require a change to the project documentation.\r\nMy changes require a change to the project documentation.\r\nIf documentation change is needed: I have updated the documentation accordingly.\r\n-->\r\n\r\n<!-- Please show how you tested the PR. This will really help if the PR needs to be retested and probably help the PR get merged quicker. -->\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n<!--\r\nNone: Automated tests are acceptable.\r\n-->\r\n\r\n<!--\r\n- As [anon/admin], go to [link]\r\n  - [do action]\r\n  - verify [result]\r\n-->\r\n\r\n<!-- If there is a UI change, please include before and after screenshots or videos. This will speed up PRs being merged. It is extra nice to annotate screenshots with arrows or boxes pointing out the differences. -->\r\n<!--\r\n## Screenshots\r\n### Before\r\n### After\r\n-->\r\n\r\n<!-- If there is anything about the deployment, please make a note. -->\r\n<!--\r\n# Deploy Notes\r\n-->\r\n\r\n<!--  Copy and paste command line output. -->\r\n<!--\r\n## Database changes\r\n-->\r\n\r\n<!--  Please specify deploy instructions if there is something more than the automated steps. -->\r\n<!--\r\n## Deployment instructions\r\n-->\r\n\r\n<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for the contributor role and join us in #development-feed -->\r\n<!--\r\n## Discord username\r\n\r\n-->\n\n<!-- greptile_comment -->\n\n<h2>Greptile Overview</h2>\n\n<h3>Greptile Summary</h3>\n\nThis PR attempts to release version `1.5.12-alpha.2` but introduces a critical versioning issue: it downgrades all packages from `1.7.3-alpha.1` (current `develop` branch) to `1.5.12-alpha.2`.\n\n## Critical Issues\n\n- **Version Downgrade**: The base branch is at `1.7.3-alpha.1`, and this PR would revert to `1.5.12-alpha.2`, violating semantic versioning principles\n- **Duplicate Version Tag**: Version `1.5.12-alpha.2` already exists as git tag on commit `11f56236`, but this PR creates the same version on a different commit (`a9dcf5a1`) with different content\n- **Publishing Conflict**: NPM will reject publishing an already-published version, causing the release process to fail\n- **Missing Changes**: This PR appears to be based on an old commit (`f36c19d2` - \"Rename project to ElizaOS in README\") and is missing hundreds of commits from `develop`\n\n## What Changed\n\nAll 18 package files had their version numbers changed from `1.7.3-alpha.1` to `1.5.12-alpha.2`, along with corresponding updates to `bun.lock`.\n\n## Recommendation\n\nThis PR should be **rejected**. It appears to be an automated release commit that was created from an outdated branch or incorrect base. The release automation may need to be re-run against the current `develop` branch to create a proper version bump (e.g., `1.7.3-alpha.2` or `1.7.4-alpha.0`).\n\n<h3>Confidence Score: 0/5</h3>\n\n- This PR is unsafe to merge and will break package versioning and publishing\n- Score of 0 reflects a critical version downgrade issue that would break the monorepo's version consistency, prevent successful NPM publishing, and create version conflicts. This appears to be an incorrectly generated automated release commit that must be rejected.\n- All files require attention - specifically `lerna.json` and all `package.json` files have incorrect version downgrades that must not be merged\n\n<h3>Important Files Changed</h3>\n\n\n\n\n| Filename | Overview |\n|----------|----------|\n| lerna.json | Version downgrade from 1.7.3-alpha.1 to 1.5.12-alpha.2 - critical issue |\n| packages/core/package.json | Version downgrade from 1.7.3-alpha.1 to 1.5.12-alpha.2 |\n| packages/cli/package.json | Version downgrade from 1.7.3-alpha.1 to 1.5.12-alpha.2 |\n| packages/api-client/package.json | Version downgrade from 1.7.3-alpha.1 to 1.5.12-alpha.2 |\n| packages/server/package.json | Version downgrade from 1.7.3-alpha.1 to 1.5.12-alpha.2 |\n| bun.lock | Lockfile updated to reflect version downgrade across all packages |\n\n</details>\n\n\n\n<h3>Sequence Diagram</h3>\n\n```mermaid\nsequenceDiagram\n    participant Dev as Developer\n    participant Lerna as Lerna Version\n    participant Packages as Package.json Files\n    participant Lock as bun.lock\n    participant NPM as NPM Registry\n\n    Note over Dev,NPM: Current State: v1.7.3-alpha.1\n    \n    Dev->>Lerna: Attempt to set v1.5.12-alpha.2\n    Lerna->>Packages: Update all package.json versions\n    Packages-->>Lerna: All packages set to 1.5.12-alpha.2\n    Lerna->>Lock: Update bun.lock with new versions\n    Lock-->>Lerna: Lock file updated\n    \n    Note over Dev,NPM: CRITICAL ISSUE: Version Downgrade!\n    \n    Dev->>NPM: Attempt to publish v1.5.12-alpha.2\n    NPM-->>Dev: ERROR: Version already exists\n    NPM-->>Dev: ERROR: Cannot publish older version\n    \n    Note over Dev,NPM: Result: Breaks versioning and publishing\n```\n\n<!-- greptile_other_comments_section -->\n\n<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-02-03T06:37:25Z",
      "mergedAt": null,
      "additions": 0,
      "deletions": 0
    }
  ],
  "codeChanges": {
    "additions": 0,
    "deletions": 0,
    "files": 0,
    "commitCount": 4
  },
  "completedItems": [],
  "topContributors": [
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 170.06252118352057,
      "prScore": 165.06252118352057,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 49.18064172760327,
      "prScore": 49.18064172760327,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "borisudovicic",
      "avatarUrl": "https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&v=4",
      "totalScore": 18,
      "prScore": 0,
      "issueScore": 18,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "ATHLSolutions",
      "avatarUrl": "https://avatars.githubusercontent.com/u/6761719?u=3517709343c7ed9e4e80cd95304fff0c357e58e0&v=4",
      "totalScore": 14,
      "prScore": 14,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "greptile-apps",
      "avatarUrl": "https://avatars.githubusercontent.com/in/867647?v=4",
      "totalScore": 13.7,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 13.5,
      "commentScore": 0.2,
      "summary": null
    },
    {
      "username": "basedmereum",
      "avatarUrl": "https://avatars.githubusercontent.com/u/223933470?v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    }
  ],
  "newPRs": 2,
  "mergedPRs": 0,
  "newIssues": 7,
  "closedIssues": 0,
  "activeContributors": 6
}