fix(tests): restore heartbeat dual-emit and update analyze-job test#26278
Merged
Conversation
- Revert heartbeat.ts superRefine to dual-emit so validateWithSchema's delete-and-retry strips both sides in one pass. Single-emit cascades when the explicit value equals the opposite default, triggering a full-defaults fallback that wipes unrelated fields like maxTokens. - Update conversation-analyze-job test to expect BackendUnavailableError. The handler correctly throws so handleJobError() defers the job via deferMemoryJob (BackendUnavailableError has special non-fatal handling in jobs-worker.ts, contrary to the old test comment's assumption).
siddseethepalli
added a commit
that referenced
this pull request
Apr 18, 2026
PR #26159 (LLM callsite unification) accidentally reverted two earlier fixes when squash-merged from a stale base: 1. Re-applies the heartbeat dual-emit superRefine from #26278 so validateWithSchema's delete-and-retry strips both activeHours sides in one pass. Single-emit cascades when the explicit value equals the opposite default (e.g. { start: null, end: 8 }), causing the loader to fall back to full defaults and wipe unrelated fields like llm.default.maxTokens. 2. Changes LLMSchema.callSites to default to {} instead of LATENCY_OPTIMIZED_CALLSITE_DEFAULTS. Latency-optimized call-site defaults are owned by workspace migration 040 (which seeds them into the user's on-disk config), not the schema layer. Leaving the schema default populated polluted parsed configs with unrequested entries and broke the 'empty callSites by default' invariant that tests and downstream callers rely on. LATENCY_OPTIMIZED_FRAGMENT / LATENCY_OPTIMIZED_CALLSITE_DEFAULTS are now unused and removed.
siddseethepalli
added a commit
that referenced
this pull request
Apr 18, 2026
…ult (#26286) PR #26159 (LLM callsite unification) accidentally reverted two earlier fixes when squash-merged from a stale base: 1. Re-applies the heartbeat dual-emit superRefine from #26278 so validateWithSchema's delete-and-retry strips both activeHours sides in one pass. Single-emit cascades when the explicit value equals the opposite default (e.g. { start: null, end: 8 }), causing the loader to fall back to full defaults and wipe unrelated fields like llm.default.maxTokens. 2. Changes LLMSchema.callSites to default to {} instead of LATENCY_OPTIMIZED_CALLSITE_DEFAULTS. Latency-optimized call-site defaults are owned by workspace migration 040 (which seeds them into the user's on-disk config), not the schema layer. Leaving the schema default populated polluted parsed configs with unrequested entries and broke the 'empty callSites by default' invariant that tests and downstream callers rely on. LATENCY_OPTIMIZED_FRAGMENT / LATENCY_OPTIMIZED_CALLSITE_DEFAULTS are now unused and removed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the three `config-schema.test.ts` failures and the one `conversation-analyze-job.test.ts` failure seen in CI run 24591555165.
Original prompt
--yolo Fix the specific CI issue in this failing job only: https://github.com/vellum-ai/vellum-assistant/actions/runs/24591555165/job/71913156040