# stream.place ingest checklist

## Objective

Verify the last leg of the stack:

- OBS program output reaches stream.place

## Current repo status

This repo currently provides:

- chat intake/runtime
- Gemini Live seam
- OpenVT control seam
- OBS websocket seam

It does **not** yet automate stream.place ingest creation or credentials.

## Manual checklist

### 1. Configure OBS output

In OBS, set stream output using the stream.place-supported ingest path:

- WHIP if your stream.place setup provides WHIP
- otherwise RTMP if your stream.place setup provides RTMP

Required values are expected to come from stream.place, for example:

- server / endpoint URL
- stream key or bearer/auth material

### 2. Verify OBS scene contents

Minimum recommended scene:

- OpenVT capture source
  - window capture, or
  - virtual camera capture path if preferred
- text source for replies
- audio source for Gemini/system output

### 3. Verify OBS websocket is enabled

Expected local control port in this repo:

- `ws://127.0.0.1:4455`

### 4. Verify with repo preflight

Run:

```bash
bun run check:live-stack
```

### 5. Start runtime

Run:

```bash
bun run run:live-stack
```

### 6. Confirm end-to-end behavior

Look for all of the following:

- incoming chat event from Jetstream
- immediate avatar action in OpenVT
- reply text updated in OBS text source
- Gemini-generated reply content
- OBS program stream active to stream.place

## Missing automation

The following is still not implemented in code:

- automatic creation of stream.place ingest sessions
- automatic writing of OBS stream settings from stream.place credentials
- automatic verification that stream.place is receiving program output

## Best next implementation if needed

Add a small config layer for stream.place ingest values, for example:

- `STREAMPLACE_INGEST_URL`
- `STREAMPLACE_STREAM_KEY`

and document how those feed OBS configuration.

