Skip to content

mvp: enable USE_TYPED_STAGE_SPLIT=1 in demo controller env (activates typed bootstrap + replan + 5-sketch routing) - #341

Merged
zzylol merged 1 commit into
mainfrom
mvp/enable-typed-stage-split-in-demo
May 8, 2026
Merged

zzylol merged 1 commit into
mainfrom
mvp/enable-typed-stage-split-in-demo

Conversation

@zzylol

@zzylol zzylol commented May 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Promotes the USE_TYPED_STAGE_SPLIT=1 gate from the mvp-multi-stage.yml overlay to deploy/docker-compose/base.yml so the demo (and any ad-hoc docker compose -f base.yml up controller) routes the controller through the typed-stage-split path by default. Tracks #46.

What flips on with this env (verified via 30-second smoke test):

run_mvp_demo.sh already exports the var with default 1; the only file changed is deploy/docker-compose/base.yml. Override is still respected (e.g. USE_TYPED_STAGE_SPLIT=0 docker compose up controller for the legacy free-form emitter, useful for A/B comparison).

Smoke-test evidence

docker compose -f deploy/docker-compose/base.yml \
               -f deploy/docker-compose/mvp-multi-stage.yml \
               -f deploy/docker-compose/mvp-thanos-archive.yml \
               up -d controller backend minio
# (POST a canonical workload to /api/v1/plan to drive a plan)
docker compose ... logs controller | grep USE_TYPED
controller-1  | INFO controller: [USE_TYPED_STAGE_SPLIT] pushing typed edge YAML stage="edge" bytes=746
controller-1  | INFO controller: [USE_TYPED_STAGE_SPLIT] posting typed backend JSON stage="backend" aggregations=1 readouts=1
controller-1  | INFO controller: [USE_TYPED_STAGE_SPLIT] posting storage-routing JSON stage="backend" metric=http_requests_total_latency_ms
controller-1  | INFO controller: [USE_TYPED_STAGE_SPLIT] storage-routing JSON push succeeded stage="backend" metric=http_requests_total_latency_ms

The [USE_TYPED_STAGE_SPLIT] markers from pushing typed edge YAML, posting typed backend JSON, and storage-routing JSON push succeeded confirm all three arms (edge OpAMP push, backend StreamingConfig POST, per-metric storage-routing POST) are firing through the typed pipeline.

Test plan

🤖 Generated with Claude Code

Activates the typed-stage-split path for every compose invocation that
includes base.yml, so the demo (and any ad-hoc `docker compose up
controller` against base alone) routes through the typed pipeline:
bootstrap GET (#329), OpAMP-on-connect replan (#334), and per-metric
5-sketch family routing (#339 + #340 + the in-flight stitching PR).

The mvp-multi-stage.yml overlay already sets the same default; this
just promotes the gate to the base layer so it is on without the
overlay.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zzylol
zzylol merged commit a799d67 into main May 8, 2026
@zzylol
zzylol deleted the mvp/enable-typed-stage-split-in-demo branch May 9, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant