chore(devex): add backend_only intent and trim always_required#51999
Draft
chore(devex): add backend_only intent and trim always_required#51999
Conversation
Move service processes (celery, nodejs, capture, feature-flags, property-defs-rs) out of always_required and into the intents that actually need them. Backfill all existing product intents with the missing capabilities so no existing user sees a behavior change. Adds a new `backend_only` intent with zero capabilities for folks who just need backend + frontend + database — no celery, no nodejs, no rust services. Useful for lightweight Python-only development without thermal suicide. Also fixes: feature_flags intent now includes event_ingestion so the nodejs process is correctly resolved (previously papered over by always_required).
Contributor
|
Size Change: 0 B Total Size: 110 MB ℹ️ View Unchanged
|
Proxy, objectstorage, feature-flags, and redis-cluster are now gated behind docker-compose profiles (routing, objectstorage, flags, livestream). The intent system activates these profiles via capability docker_profiles — event_ingestion activates routing + objectstorage, flag_evaluation activates flags, livestream activates livestream. With backend_only (zero capabilities), docker now starts only the core data stack: db, redis7, clickhouse, kafka, zookeeper — matching the minimal setup for Python-only development.
Contributor
|
🎭 Playwright report · View test results → ❌ 1 failed test:
If your changes intentionally update screenshots: add the These issues are not necessarily caused by your changes. |
Contributor
❌ Hobby deploy smoke test: FAILEDFailing fast because: Timed out after 45 minutes Connection errors: 180 Run 23459252405 | Consecutive failures: 2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
always_requiredlist in the dev intent system forces 14 processes for everyone — including celery, nodejs, capture, feature-flags, property-defs-rs — even when someone just wants to hack on Python backend code.Changes
Trims
always_requiredfrom 14 to 5 items (backend, frontend, docker-compose, migrate-postgres, migrate-clickhouse). All service processes already declare capabilities in mprocs.yaml, so they get pulled in by the intents that need them.Backfills every existing product intent with the capabilities they were implicitly getting from
always_required(celery_scheduler, flag_evaluation, etc.), so no existing user sees a behavior change after re-generating.Adds a
backend_onlyintent with zero capabilities — selectable viahogli dev:setup(pick "none") for lightweight Python-only development. Result: ~5 processes instead of 20+.Also fixes:
feature_flagsintent now includesevent_ingestionso the nodejs process is correctly resolved (previously papered over by always_required).How did you test this code?