Docs / Capability guide

Decisioners and model promotion

Run an HTTP floor policy and compare it with the baseline in shadow mode.

All capabilities · Related guide · Agent prompt for this capability

When to use this example

Use this example when you want to test your own floor rule before allowing it to affect auctions. Running the policy locally makes its arithmetic easy to inspect; shadow mode lets you compare a deployed candidate while the baseline continues to serve.

What the example gives you

The Go service returns a floor decision over HTTP, with decimal arithmetic and a maximum-bid boundary. Its fixed increment demonstrates the contract; any improvement for your inventory must be established with your own evaluation.

Before you start

Go; model-write permissions for registration. Registering EXTERNAL_ENDPOINT requires an HTTPS service on public IPs. The local test address cannot be registered.

Run the example

Download decisioner-http

Extract the archive and follow README.md for setup, commands, and expected results. Start with go run . -addr 127.0.0.1:8089. Local tests use sample data.

Follow the archive's service configuration and deployment steps before registering or installing it in Riptide. The prerequisites above describe the access and connectivity it needs.

Connect it to your application

  1. Run go test -race ./... and start the service. Send the README's protojson-shaped DecideRequest to /decide; check the four-decimal floor output and max-bid boundary.

  2. Deploy the service behind HTTPS, create an EXTERNAL_ENDPOINT model with config.url and assign it as SHADOW. Assignment uses the /models/{model_id}/assignments route. The deterministic host baseline stays available on timeout or error.

  3. Record evaluation evidence over a comparable sample before requesting operator promotion to BOUNDED_AB or LIVE. Monitor outcomes and retain a baseline rollback; the starter uses a fixed arithmetic policy. Training a model requires your own data and implementation.

Check the result

Local smoke returns the documented floor, invalid/oversized requests fail, and the host falls back within its decision budget. Check shadow results separately after registering the deployed service.

API operations