1. Refresh local signal data

scrape:open updates public/data/open-channel-messages.json. The v1 API parses that file at request time so parser-rule exports are picked up without a rebuild.

2. Start the API

Prefer a stable local route:
The primary local server URL is https://charan-signal-api.localhost. The raw Vite port remains an implementation detail.

3. Read latest signal events

4. Hand trade intents to the router

Every intent ships with safeguards.submit: false. Treat the payload as an input to the QuantVPS/Nautilus risk layer, not as authorization to trade.