Scheduling predictions
Operate watchlists with explicit cadence, windows and deployment checks
A watchlist item schedules one subject for a forecaster. The supported cadence labels are hourly, daily and weekly. They are intervals from scheduler execution, not cron appointments. Forecast horizon is a prompt label; evaluation horizon determines when the resulting prediction's window ends.
Prerequisites
You need a Semogram account with project write access, an Active forecaster, and a published evidence query that accepts the subject. Run P-101 manually first and inspect evidence, schema-valid output and the seven-day evaluation date. The deployment must have its prediction scheduler, queue/workflow delivery and outcome jobs configured as needed.
For this example the event is unplanned equipment failure with at least one hour downtime within seven days. Select an evidence query that uses subject_ref P-101. Do not substitute an entity IRI unless that query's input contract expects it.
Create the item
Open the equipment forecaster's Watchlist page and add the following item:
| Field | Value |
|---|---|
| Subject | P-101 |
| Schedule | daily |
| Forecast horizon | 7d |
| Evaluation horizon | 7 days |
| Enabled | true |
Inspect the saved next run and enabled state. Parameter customization beyond the exposed form is available through MCP.
Prepare a daily watchlist item for Equipment failure risk, subject P-101, horizon 7d, evaluation interval 7 days and empty parameters. Read the active forecaster and confirm a successful manual test first. Show the timing and reference before saving, then read back the item and its next run.Send through an initialized project MCP connection; add projectId for a workspace connection. Replace IDs and key with actual values.
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"forecast_watchlist_create","arguments":{"forecasterId":"<FORECASTER_UUID>","subjectRef":"P-101","horizon":"7d","params":{},"schedule":"daily","evaluationHorizon":"7 days","enabled":true,"idempotencyKey":"<UNIQUE_KEY>"}}}No public /api/v1 watchlist action is exposed. The UI's session routes and deployment cron endpoints are different interfaces from a public API-key action.
Verify timing
Use forecast_watchlist_list or the UI to inspect nextRunAt and lastRunAt, then inspect the resulting prediction's watchlistId and horizonEndsAt. A null nextRunAt makes an enabled item due on the next authorized tick. Each invocation's end is its invocation time plus the evaluation interval.
Do not supply arbitrary cron text: the current database implementation falls back to daily for other schedule strings instead of parsing cron. Use the three supported labels. Bounded scheduler batches and deployment availability affect actual launch time.
Pause, change and remove
Use the UI edit controls or forecast_watchlist_update with forecasterId, watchlistId, changed fields and a new idempotencyKey. Set enabled false to pause future selection. Read back the item. It does not cancel existing predictions or resolve their outcomes.
New scheduled predictions use the then-current executable forecaster version. Prior predictions retain their pinned version and policy. Review schema/query/output changes with a manual test before allowing the next scheduled invocation.
Use forecast_watchlist_remove for an intentional removal after reviewing the exact item. Inspect retained prediction/evaluation history separately. Disabling or archiving a forecaster prevents new scheduled selection; it does not erase past results.
Deployment checks
Deployment operators maintain authorized calls to the prediction scheduler, stale-queued sweeper and, for query policies, outcome job. Local development does not automatically run hosted crons. If no run appears, inspect job configuration, credentials, forecaster state, due time and dispatch errors before creating duplicate watchlist items.