Skip to content

feat(public-api): add experimental recommend endpoints for LLM consumption#3678

Merged
capJavert merged 5 commits intomainfrom
feat/experimental-recommend-endpoints
Mar 9, 2026
Merged

feat(public-api): add experimental recommend endpoints for LLM consumption#3678
capJavert merged 5 commits intomainfrom
feat/experimental-recommend-endpoints

Conversation

@capJavert
Copy link
Contributor

Two new endpoints under /public/v1/recommend/ for surfacing daily.dev articles to AI agents and LLM-based tools:

  • /keyword — keyword-based search, supports pagination and time filters
  • /semantic — semantic search via Mimir, single-shot for LLM context

Both marked experimental with x-daily-experimental header and response flag.

…ption

Two new endpoints under /public/v1/recommend/ for surfacing daily.dev articles
to AI agents and LLM-based tools:
- /keyword — keyword-based search, supports pagination and time filters
- /semantic — semantic search via Mimir, single-shot for LLM context

Both marked experimental with x-daily-experimental header and response flag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@capJavert capJavert self-assigned this Mar 9, 2026
…only

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@pulumi
Copy link

pulumi bot commented Mar 9, 2026

🍹 The Update (preview) for dailydotdev/api/prod (at ee703dc) was successful.

✨ Neo Explanation

This is a standard application version rollout — all 7 services and 33 cron jobs are being updated to the new container image, with fresh database and ClickHouse migration jobs created for the new version. The primary thing to monitor is whether the two migration jobs complete successfully before traffic shifts to the new pods.

Root Cause Analysis

A new version of the API application has been built and is being deployed to production. Every Kubernetes workload is being updated to run the new container image, replacing the previous version across all deployments and cron jobs.

Dependency Chain

The new application version cascades uniformly across the entire fleet:

  • 7 Deployments (main API, background worker, WebSocket, private, temporal, worker-job, personalized digest) are being rolling-updated to the new image
  • 33 CronJobs are having their job templates updated to reference the new image, so the next scheduled run of each will use the new version
  • 2 migration Jobs (database and ClickHouse) tied to the previous version are being deleted, and 2 new migration Jobs pinned to the new version are being created — these run the TypeORM and ClickHouse migrations before/alongside the rollout

Risk analysis

No stateful resources (databases, storage buckets, persistent volumes) are being replaced or deleted. Deployments use rolling updates by default in Kubernetes, so the main API and worker services should update without downtime. The migration jobs run as one-off Kubernetes Jobs with restartPolicy: Never, so if a migration fails it won't auto-retry — that is the main operational risk to watch.

Resource Changes

    Name                                                       Type                           Operation
~   vpc-native-update-tags-str-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-ws-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-worker-job-deployment                           kubernetes:apps/v1:Deployment  update
+   vpc-native-api-db-migration-f1a49f81                       kubernetes:batch/v1:Job        create
~   vpc-native-clean-stale-user-transactions-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-private-deployment                              kubernetes:apps/v1:Deployment  update
~   vpc-native-temporal-deployment                             kubernetes:apps/v1:Deployment  update
~   vpc-native-user-profile-updated-sync-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-expire-super-agent-trial-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-squad-posts-analytics-refresh-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-calculate-top-readers-cron                      kubernetes:batch/v1:CronJob    update
+   vpc-native-api-clickhouse-migration-f1a49f81               kubernetes:batch/v1:Job        create
~   vpc-native-daily-digest-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-deployment                  kubernetes:apps/v1:Deployment  update
-   vpc-native-api-db-migration-f1ee2605                       kubernetes:batch/v1:Job        delete
~   vpc-native-clean-zombie-images-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-public-threshold-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-history-day-clickhouse-cron      kubernetes:batch/v1:CronJob    update
~   vpc-native-update-highlighted-views-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-sync-subscription-with-cio-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-bg-deployment                                   kubernetes:apps/v1:Deployment  update
~   vpc-native-user-posts-analytics-refresh-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-opportunities-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-history-clickhouse-cron  kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-agents-digest-cron                              kubernetes:batch/v1:CronJob    update
~   vpc-native-generic-referral-reminder-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-clickhouse-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-gifted-plus-cron                          kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tag-recommendations-cron                 kubernetes:batch/v1:CronJob    update
-   vpc-native-api-clickhouse-migration-f1ee2605               kubernetes:batch/v1:Job        delete
~   vpc-native-update-views-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-update-achievement-rarity-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-generate-search-invites-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-update-current-streak-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-hourly-notification-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-deployment                                      kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-zombie-user-companies-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-clickhouse-cron                  kubernetes:batch/v1:CronJob    update
... and 5 other changes

capJavert and others added 3 commits March 9, 2026 12:38
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…end endpoints

Semantic endpoint no longer passes unused $after variable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@capJavert capJavert enabled auto-merge (squash) March 9, 2026 15:26
@capJavert capJavert merged commit d02e9b3 into main Mar 9, 2026
9 checks passed
@capJavert capJavert deleted the feat/experimental-recommend-endpoints branch March 9, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant