{
  "interval": {
    "intervalStart": "2026-02-05T00:00:00.000Z",
    "intervalEnd": "2026-02-06T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2026-02-05 to 2026-02-06, elizaos/eliza had 1 new PRs (0 merged), 6 new issues, and 5 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7l9MHc",
      "title": "[Infra] Telegram Webhook Registration",
      "author": "borisudovicic",
      "number": 6425,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nSet up Telegram webhook registration so the bot can catch and route messages to the correct agent instance.\n\n## Acceptance Criteria\n\n- [ ] Telegram webhook properly registered\n- [ ] Webhook endpoint receiving messages\n- [ ] Messages routed to correct agent instance\n- [ ] Works with pure webhook approach (no polling)\n\n## Technical Notes\n\n* TG will work on pure webhook but needs it registered to catch for agent\n* Odilitime can help with this setup\n* Different from Discord - TG uses webhooks natively\n\n## Priority\n\n**P0 - This Week**",
      "createdAt": "2026-01-26T22:55:20Z",
      "closedAt": "2026-02-05T10:20:33Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7l6qGB",
      "title": "[Infra] Verify Serverless Multi-Tenant Support",
      "author": "borisudovicic",
      "number": 6415,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nVerify existing Cloud serverless infrastructure supports the Eliza App use case at scale.\n\n## Acceptance Criteria\n\n- [ ] Serverless container spin-up < 2 seconds\n- [ ] Automatic scale-down when not in use\n- [ ] No \"empty container\" compute waste\n- [ ] Cost projection for 1000 users\n\n## Technical Notes\n\n* \"Cannot build agent company not serverless - you will go bankrupt\"\n* Existing Cloudflare infrastructure should work\n* Neon serverless DB for persistence\n* 98% of hard costs are API credits to other providers\n\n## Priority\n\n**P0 - Day 2**",
      "createdAt": "2026-01-26T19:35:11Z",
      "closedAt": "2026-02-05T10:20:34Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7l6p32",
      "title": "[UX] Implement Poke-Style Onboarding Flow",
      "author": "borisudovicic",
      "number": 6413,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nUser clicks button → opens native messaging app → starts conversation with Eliza. Zero friction onboarding.\n\n## Acceptance Criteria\n\n- [ ] iMessage: Click opens iMessage with Eliza's number pre-filled\n- [ ] Telegram: Click opens Telegram bot\n- [ ] Discord: Click invites bot to DM\n- [ ] First message from Eliza is welcoming and helpful\n- [ ] No forms or configuration required\n\n## Technical Notes\n\n* Study Poke app flow carefully - this is our model\n* Zero friction is the goal\n* Eliza greets, onboarding happens through conversation\n* \"Open app → Eliza greets you. No setup screens, no name selection.\"\n\n## Priority\n\n**P0 - Day 3**",
      "createdAt": "2026-01-26T19:34:52Z",
      "closedAt": "2026-02-05T10:20:34Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7l6pud",
      "title": "[UI] Create Eliza App Landing Page",
      "author": "borisudovicic",
      "number": 6412,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nSimple landing page with single CTA to start talking to Eliza. No complexity, no signup required.\n\n## Acceptance Criteria\n\n- [ ] Clean, simple design (not Cloud complexity)\n- [ ] Single prominent \"Talk to Eliza\" button\n- [ ] Platform selection (iMessage, Telegram, Discord)\n- [ ] No signup required for first interaction\n- [ ] Mobile-first responsive design\n\n## Technical Notes\n\n* Reference Poke app's minimal landing\n* Can leverage existing Cloud frontend infrastructure\n* Domain: eliza.app (if purchased) or [elizacloud.ai](<http://elizacloud.ai>)\n* \"What if we just switch that to be like hosted Eliza agents that do everything for you\"\n\n## Priority\n\n**P0 - Day 3**",
      "createdAt": "2026-01-26T19:34:40Z",
      "closedAt": "2026-02-05T10:20:33Z",
      "state": "CLOSED",
      "commentCount": 0
    },
    {
      "id": "I_kwDOMT5cIs7l6oJ3",
      "title": "[Plugin] Integrate Twilio Plugin for SMS Fallback",
      "author": "borisudovicic",
      "number": 6400,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nConfigure Twilio as SMS fallback for users without iMessage (Android users, international).\n\n## Acceptance Criteria\n\n- [ ] Twilio plugin connected to Cloud\n- [ ] SMS sending and receiving functional\n- [ ] Graceful fallback when iMessage unavailable\n- [ ] Phone number handling consistent with iMessage flow\n\n## Technical Notes\n\n* Secondary to [Blue.io/iMessage](<http://Blue.io/iMessage>)\n* Ensures Android users can still use Eliza via text\n* International SMS support\n\n## Priority\n\n**P1 - Day 3-4**",
      "createdAt": "2026-01-26T19:32:35Z",
      "closedAt": "2026-02-05T10:20:33Z",
      "state": "CLOSED",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs7Bs92j",
      "title": "chore(examples-art): v2 update dependencies, training pipeline, and tests for 2048 game",
      "author": "hanzlamateen",
      "number": 6461,
      "body": "# Relates to\r\n\r\nRelated to ART (Agentic Reinforcement Training) example improvements for v2.0.0\r\n\r\n# Risks\r\n\r\nLow. Changes are isolated to the `examples/art` directory and root `.gitignore`. Only adds new dependencies, enhances existing functionality, and improves test coverage without breaking changes.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR enhances the ART (Agentic Reinforcement Training) example for the 2048 game with the following improvements:\r\n\r\n### Dependencies (`pyproject.toml`)\r\n- Added `peft>=0.7.0` - Parameter-Efficient Fine-Tuning library\r\n- Added `unsloth>=2024.2` - Fast LLM fine-tuning library  \r\n- Added `trl>=0.7.10` - Transformer Reinforcement Learning library\r\n\r\n### Trainer Improvements (`trainer.py`)\r\n- Updated to use `art.TrainableModel` instead of `art.Model`\r\n- Configured `art.local.LocalBackend` for vLLM with proper inference server setup\r\n- Enhanced training pipeline to use `backend._train_model()` directly\r\n- Added OpenAI client for chat completions with configurable temperature\r\n\r\n### CLI Enhancements (`cli.py`)\r\n- Added `--rollouts` option for rollouts per group\r\n- Added `--groups` option for groups per step\r\n- Added `--lr` option for learning rate\r\n- Added `--judge` option for RULER judge model\r\n\r\n### Game Module Updates (`game_2048/__init__.py`)\r\n- Exported `Game2048HeuristicAgent`\r\n- Exported `Game2048RandomAgent`\r\n\r\n### Test Improvements\r\n- Enhanced `test_games.py` with clearer player action logic and improved `test_full_game`\r\n- Updated `test_integration.py` to include `ElizaActionAttempt` in the complete step process for better action tracking\r\n\r\n### Documentation (`README.md`)\r\n- Added instructions for setting up a Python virtual environment\r\n- Added alternative command with `HF_HUB_ENABLE_HF_TRANSFER=0` flag for troubleshooting\r\n\r\n### .gitignore Updates\r\n- Added `.art` and `art_venv` to root `.gitignore`\r\n- Created `examples/art/.gitignore` with `unsloth_compiled_cache/` and `.art`\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation. The README within the `examples/art` directory has already been updated as part of this PR.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n1. `examples/art/pyproject.toml` - Review the new dependencies\r\n2. `examples/art/elizaos_art/trainer.py` - Review the trainer logic changes\r\n3. `examples/art/elizaos_art/games/game_2048/cli.py` - Review the new CLI options\r\n4. `examples/art/tests/` - Review the test improvements\r\n\r\n## Detailed testing steps\r\n\r\n1. Navigate to the `examples/art` directory\r\n2. Create and activate a virtual environment:\r\n   ```bash\r\n   cd examples/art\r\n   python -m venv venv\r\n   source venv/bin/activate\r\n   ```\r\n3. Install dependencies:\r\n   ```bash\r\n   pip install -e \".[dev,local]\"\r\n   ```\r\n4. Run tests:\r\n   ```bash\r\n   pytest tests/\r\n   ```\r\n5. Run the training pipeline:\r\n   ```bash\r\n   elizaos-art-2048 pipeline --steps 50 --rollouts 8\r\n   ```\r\n   Or with the alternative command if the above fails:\r\n   ```bash\r\n   HF_HUB_ENABLE_HF_TRANSFER=0 elizaos-art-2048 pipeline --steps 50 --rollouts 8\r\n   ```\r\n\r\n---\r\n\r\n## Commits\r\n\r\n| Commit | Message |\r\n|--------|---------|\r\n| `17cd5bb98d` | chore: Update dependencies and enhance training pipeline for 2048 game |\r\n| `82dd502e9e` | chore: Update .gitignore files to include new patterns |\r\n| `8bd31f65c4` | chore: Update test files and .gitignore for improved functionality |\r\n\r\n## Files Changed\r\n\r\n| File | Changes |\r\n|------|---------|\r\n| `.gitignore` | Added `.art` and `art_venv` directories |\r\n| `examples/art/.gitignore` | New file - excludes `unsloth_compiled_cache/` and `.art` |\r\n| `examples/art/README.md` | Added venv setup and troubleshooting instructions |\r\n| `examples/art/elizaos_art/games/game_2048/__init__.py` | Exported additional agents |\r\n| `examples/art/elizaos_art/games/game_2048/cli.py` | Added new CLI options (rollouts, groups, lr, judge) |\r\n| `examples/art/elizaos_art/trainer.py` | Enhanced trainer with LocalBackend and TrainableModel |\r\n| `examples/art/pyproject.toml` | Added peft, unsloth, trl dependencies |\r\n| `examples/art/tests/test_games.py` | Improved test logic for player actions |\r\n| `examples/art/tests/test_integration.py` | Added ElizaActionAttempt to step completion |\n\n<!-- greptile_comment -->\n\n<h2>Greptile Overview</h2>\n\n<h3>Greptile Summary</h3>\n\nThis PR enhances the ART (Agentic Reinforcement Training) example for the 2048 game by upgrading to the v2 API and adding fine-tuning capabilities. The changes migrate from `art.Model` to `art.TrainableModel` with `art.local.LocalBackend` for improved training infrastructure.\n\n**Key Changes:**\n- Added fine-tuning dependencies (`peft`, `unsloth`, `trl`) to support parameter-efficient training\n- Refactored trainer to use `TrainableModel` with explicit inference server setup via `LocalBackend`\n- Enhanced CLI with configurable training parameters (rollouts, groups, learning rate, judge model)\n- Improved test coverage with explicit type usage and better game loop handling\n- Added development environment setup instructions with troubleshooting workaround\n\n**Technical Notes:**\n- The trainer now accesses private methods (`_prepare_backend_for_training`, `_train_model`) from the `art` library, which may be fragile if the library's internal API changes\n- OpenAI client is now used directly via `model.openai_client()` for chat completions\n- Changes are well-isolated to the `examples/art` directory with no impact on core functionality\n\n**Minor Issues:**\n- Formatting: Extra blank line on line 179 in `trainer.py`\n- Style: Missing newline at end of `examples/art/.gitignore`\n- Architecture: Consider using public API methods instead of accessing private `backend._train_model()` and `_prepare_backend_for_training()` methods\n\n<h3>Confidence Score: 4/5</h3>\n\n- This PR is safe to merge with minor style issues that don't affect functionality\n- The changes are well-structured and isolated to the examples/art directory. The migration from Model to TrainableModel follows the v2 API pattern. However, the use of private methods (_prepare_backend_for_training, _train_model) could be fragile if the art library changes its internal API. The test improvements and new CLI options are appropriate. Minor style issues (formatting, missing newlines) don't impact correctness.\n- examples/art/elizaos_art/trainer.py should be monitored for compatibility if the art library updates its internal API\n\n<h3>Important Files Changed</h3>\n\n\n\n\n| Filename | Overview |\n|----------|----------|\n| examples/art/pyproject.toml | Added peft, unsloth, and trl dependencies for fine-tuning support |\n| examples/art/elizaos_art/games/game_2048/cli.py | Added CLI options for rollouts, groups, learning rate, and judge model |\n| examples/art/elizaos_art/trainer.py | Refactored to use TrainableModel and LocalBackend with direct backend training, includes inference server setup and OpenAI client usage |\n\n</details>\n\n\n\n<h3>Sequence Diagram</h3>\n\n```mermaid\nsequenceDiagram\n    participant CLI as CLI (cli.py)\n    participant Trainer as GRPOTrainer\n    participant Model as TrainableModel\n    participant Backend as LocalBackend\n    participant Env as Game2048Environment\n    participant Agent as Game2048Agent\n    participant RULER as RulerScorer\n    \n    CLI->>Trainer: pipeline(steps, eval_episodes)\n    Trainer->>Trainer: initialize()\n    Trainer->>Model: art.TrainableModel(name, base_model, project)\n    Trainer->>Backend: art.local.LocalBackend()\n    Trainer->>Model: register(backend)\n    Trainer->>Backend: _prepare_backend_for_training(model)\n    Backend-->>Trainer: base_url, api_key\n    Trainer->>Model: Set inference_base_url and inference_api_key\n    \n    Note over Trainer: Phase 1: Baseline Evaluation\n    Trainer->>Trainer: evaluate(episodes)\n    \n    Note over Trainer: Phase 2: Training Loop\n    loop For each training step\n        Trainer->>Trainer: train_step()\n        Trainer->>Trainer: gather_trajectory_groups()\n        \n        loop For each group\n            loop For each rollout\n                Trainer->>Env: reset(seed)\n                Env-->>Trainer: state\n                \n                loop While not done\n                    Trainer->>Agent: format_action_prompt(state)\n                    Trainer->>Model: openai_client()\n                    Model-->>Trainer: client\n                    Trainer->>Model: client.chat.completions.create()\n                    Model-->>Trainer: response\n                    Trainer->>Agent: parse_action(response)\n                    Trainer->>Env: step(action)\n                    Env-->>Trainer: new_state, reward, done\n                end\n                \n                Trainer->>Trainer: Create Trajectory\n            end\n        end\n        \n        Trainer->>RULER: score_group(trajectory_group)\n        RULER-->>Trainer: scored_group\n        \n        Trainer->>Backend: _train_model(model, scored_groups, config)\n        Backend-->>Trainer: training complete\n        \n        Trainer->>Trainer: _save_checkpoint()\n    end\n    \n    Note over Trainer: Phase 3: Final Evaluation\n    Trainer->>Trainer: evaluate(episodes)\n    Trainer->>Trainer: _generate_report(results)\n    Trainer-->>CLI: Pipeline results\n```\n\n<!-- greptile_other_comments_section -->\n\n<sub>(4/5) You can add custom instructions or style guidelines for the agent [here](https://app.greptile.com/review/github)!</sub>\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-02-05T11:31:11Z",
      "mergedAt": null,
      "additions": 75,
      "deletions": 17
    }
  ],
  "codeChanges": {
    "additions": 0,
    "deletions": 0,
    "files": 0,
    "commitCount": 5
  },
  "completedItems": [],
  "topContributors": [
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 40.6477738965761,
      "prScore": 40.6477738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "hanzlamateen",
      "avatarUrl": "https://avatars.githubusercontent.com/u/10975502?u=53f23921078d9a27d96751373bb44f4bd2d58bf4&v=4",
      "totalScore": 34.39669771918965,
      "prScore": 34.39669771918965,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "10inchdev",
      "avatarUrl": "https://avatars.githubusercontent.com/u/226776904?u=f8556423cfa0bd4464d64395c6c0d526050ba553&v=4",
      "totalScore": 12.874147180559946,
      "prScore": 12.874147180559946,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "greptile-apps",
      "avatarUrl": "https://avatars.githubusercontent.com/in/867647?v=4",
      "totalScore": 9,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 9,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "puncar-dev",
      "avatarUrl": "https://avatars.githubusercontent.com/u/72890404?v=4",
      "totalScore": 6,
      "prScore": 0,
      "issueScore": 6,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "borisudovicic",
      "avatarUrl": "https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&v=4",
      "totalScore": 4,
      "prScore": 0,
      "issueScore": 4,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    }
  ],
  "newPRs": 1,
  "mergedPRs": 0,
  "newIssues": 6,
  "closedIssues": 14,
  "activeContributors": 5
}