7. Trigger Evergreen Generation

Purpose: Manually trigger evergreen fact generation to produce timeless, non-news content outside the normal daily cron schedule.

Prerequisites:

  • Web app running locally (bun run dev:web)
  • Facts worker running (handles GENERATE_EVERGREEN messages; see Start Workers)
  • CRON_SECRET set in .env.local
  • EVERGREEN_ENABLED=true must be set in .env.local (the endpoint no-ops if disabled)

Cost / Duration: ~$1 AI cost | ~2 minutes

Prompt

Trigger a manual evergreen fact generation run. This produces timeless,
non-news content for the fact corpus.

First, confirm that EVERGREEN_ENABLED=true is set in your .env.local.
The endpoint will silently no-op if this gate is disabled.

Then trigger the evergreen generation cron endpoint:

```bash
curl -X POST http://localhost:3000/api/cron/generate-evergreen \
  -H "Authorization: Bearer $CRON_SECRET"
```

This enqueues GENERATE_EVERGREEN messages for the facts worker to process.

After triggering, verify that messages were enqueued:
```bash
bun scripts/diagnose-pipeline.ts
```

The GENERATE_EVERGREEN queue should show new messages. After processing,
new evergreen facts should appear in the database with source_type = 'evergreen'.

If the endpoint returns success but no facts are generated, check that
EVERGREEN_ENABLED is actually set to true. If output quality is low,
review challenge voice and taxonomy rules configuration.

Verification

  • EVERGREEN_ENABLED=true confirmed in .env.local
  • Evergreen endpoint returns success (HTTP 200)
  • GENERATE_EVERGREEN queue shows new messages
  • New evergreen facts appear in the database with source_type = 'evergreen'
  • Facts worker processes messages without errors

Back to index