openhands b3bf509634 docs(enterprise): Update M3 implementation checklist to reflect two-phase scheduling
Enhance section 5.3 (Embedded Telemetry Service) implementation plan to explicitly
document the two-phase adaptive scheduling requirements that were added to the
technical design in the previous commit.

Changes to Implementation Checklist:
-------------------------------------
1. Updated Key Features section (5.3.1):
   - Added two-phase adaptive scheduling description
   - Documented bootstrap phase (3-minute checks)
   - Documented normal phase (1-hour checks, 7-day collection, 24-hour upload)
   - Added identity establishment detection requirement
   - Noted hardcoded publishable key (not environment variables)

2. Enhanced service.py checklist items:
   - Implement __init__() with hardcoded Replicated publishable key
   - Add two-phase interval constants (180s bootstrap, 3600s normal)
   - Implement _is_identity_established() method for phase detection
   - Implement _collection_loop() with adaptive intervals
   - Implement _upload_loop() with adaptive intervals and transition detection
   - Implement _get_admin_email() supporting bootstrap phase
   - Implement _get_or_create_identity() for Replicated integration

3. Added two-phase scheduling test requirements (5.3.3):
   - Test bootstrap phase: 3-minute check intervals before first user
   - Test phase transition: Immediate upload when first user authenticates
   - Test normal phase: 1-hour check intervals after identity established
   - Test identity detection: _is_identity_established() logic
   - Test error handling: Falls back to bootstrap interval on errors

4. Enhanced unit test checklist:
   - Test _is_identity_established() with no/partial/complete identity
   - Test interval selection logic (bootstrap vs normal)
   - Test phase transition detection in upload loop

5. Updated demo description:
   - Added: "New installations become visible within 3 minutes of first user login"
   - Clarified ongoing behavior after identity establishment

Rationale:
----------
The previous commit added comprehensive two-phase scheduling to the technical
design (section 4.3), but the implementation checklist (section 5.3) still
described the original fixed-interval approach. This update ensures developers
implementing M3 have clear guidance on all the two-phase scheduling requirements.

The checklist now explicitly calls out:
- New methods to implement (_is_identity_established)
- New constants to define (bootstrap vs normal intervals)
- New logic to add (adaptive interval selection)
- New tests to write (phase detection and transition)

This aligns the implementation requirements with the technical design.

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-19 14:11:39 +00:00
2025-10-14 02:16:44 +00:00
2025-10-29 16:17:46 -04:00
2025-05-26 21:35:27 -04:00
2025-05-26 21:35:27 -04:00
2025-03-01 13:21:31 +00:00
2025-05-12 15:41:14 -04:00
2025-12-16 21:53:15 +00:00
2025-12-16 21:53:15 +00:00

Logo

OpenHands: AI-Driven Development


🙌 Welcome to OpenHands, a community focused on AI-driven development. Wed love for you to join us on Slack.

There are a few ways to work with OpenHands:

OpenHands Software Agent SDK

The SDK is a composable Python library that contains all of our agentic tech. It's the engine that powers everything else below.

Define agents in code, then run them locally, or scale to 1000s of agents in the cloud.

Check out the docs or view the source

OpenHands CLI

The CLI is the easiest way to start using OpenHands. The experience will be familiar to anyone who has worked with e.g. Claude Code or Codex. You can power it with Claude, GPT, or any other LLM.

Check out the docs or view the source

OpenHands Local GUI

Use the Local GUI for running agents on your laptop. It comes with a REST API and a single-page React application. The experience will be familiar to anyone who has used Devin or Jules.

Check out the docs or view the source in this repo.

OpenHands Cloud

This is a deployment of OpenHands GUI, running on hosted infrastructure.

You can try it with a free $10 credit by signing in with your GitHub account.

OpenHands Cloud comes with source-available features and integrations:

  • Integrations with Slack, Jira, and Linear
  • Multi-user support
  • RBAC and permissions
  • Collaboration features (e.g., conversation sharing)

OpenHands Enterprise

Large enterprises can work with us to self-host OpenHands Cloud in their own VPC, via Kubernetes. OpenHands Enterprise can also work with the CLI and SDK above.

OpenHands Enterprise is source-available--you can see all the source code here in the enterprise/ directory, but you'll need to purchase a license if you want to run it for more than one month.

Enterprise contracts also come with extended support and access to our research team.

Learn more at openhands.dev/enterprise

Everything Else

Check out our Product Roadmap, and feel free to open up an issue if there's something you'd like to see!

You might also be interested in our evaluation infrastructure, our chrome extension, or our Theory-of-Mind module.

All our work is available under the MIT license, except for the enterprise/ directory in this repository (see the enterprise license for details). The core openhands and agent-server Docker images are fully MIT-licensed as well.

If you need help with anything, or just want to chat, come find us on Slack.

Description
🙌 OpenHands: Code Less, Make More
Readme MIT Cite this repository 668 MiB
Languages
Python 77.3%
TypeScript 19.9%
Shell 1.3%
Jinja 0.8%
JavaScript 0.3%
Other 0.3%