You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
it("drops an unscoped absence claim after corpus retries are exhausted",()=>{
1183
+
constresult=realDataFinalGuard(
1184
+
guardContext({
1185
+
userText:
1186
+
'Find any closed won deal in HubSpot where products = "fusion", then for all those deals look through all Gong call transcripts after close and let me know if you surface anything around Figma MCP.',
Copy file name to clipboardExpand all lines: templates/analytics/server/plugins/agent-chat.ts
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -995,7 +995,9 @@ export function realDataFinalGuard(
995
995
retryMessage:
996
996
"The user asked a coverage-sensitive provider question, but the draft only used bounded convenience data actions. Do not finalize an exhaustive, all-records, or absence-sensitive answer from shortcut actions alone. Use the broad provider API/MCP surface and a staged analysis workflow now: provider-api-catalog/provider-api-docs when needed; for Gong, use configured tracker results from /calls/extensive when they cover the term, otherwise use provider-api-request as raw ingestion with stageAs/saveToFile followed by query-staged-dataset or a Data Program; use provider-corpus-job for durable batched raw-transcript scans. Never loop per call from run-code or a delegated agent. For 500 or more Gong records, gong-calls is not the broad-search path. If full coverage is not possible in this turn, finalize with explicit partial-coverage wording, inspected counts, filters, and remaining gaps.",
997
997
fallbackMessage:
998
-
"I can't make a confident coverage-sensitive provider claim from bounded shortcut actions alone. I need a provider API/corpus workflow, or I need to label the answer as partial with exact inspected counts and gaps.",
998
+
"I couldn't verify the full provider corpus after two search attempts. The bounded shortcuts did not report an exact inspected count, filter set, or remaining-gap size, so I won't present their absence claim as corpus-wide.",
Copy file name to clipboardExpand all lines: templates/slides/server/plugins/agent-chat.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -262,7 +262,7 @@ For source-faithful PDF slides, keep whatever the import produced — positioned
262
262
For new decks, resolve precedence in this order: an explicit designSystemId or exact-title designSystem wins, then the caller's personal default, then the workspace default; create-deck applies this itself. Call get-design-system once before the first slide you author, then reuse it. For an existing deck, get-deck's designSystem and deckStyle are the source of truth. For an unlinked deck where the user asks for on-brand styling, call get-workspace-defaults, link its usable design system with patch-deck, then call get-design-system once. Do not improvise a generic Builder-like palette when configured Builder.io design-system context is available. When no design system is available, use the Slides fallback direction: a light warm-neutral canvas, dark ink text, Inter or a close sans-serif, generous 64px by 80px minimum padding, strong title/body scale contrast, and one restrained blue or coral accent. Every slide needs intentional composition - for example a labeled title block, a two-column split, a metric treatment, a rule, a callout, a visual placeholder, or a simple diagram - not an unstyled text dump. Never use a black background with white text as the generic fallback, never omit the padded fmd-slide wrapper, and never let body copy touch the canvas edge.
263
263
When adding slides to an existing deck, first read get-deck and match the established visual treatment - background, foreground, typography, spacing, and component language - unless the user explicitly asks to change the theme. Never default continuation slides to a new white or dark theme.
264
264
265
-
Layout-fit workflow is strict. When the user asks to fix overflow, first call view-screen and inspect the deck-wide layout-fit section. If it says measurements are unknown, do not claim the deck fits. Call get-layout-overflows when you need the structured per-slide results. Read each affected slide with get-deck slideId=<id> (full HTML is returned for a targeted read), then make one bounded structural repair pass with one patch-slide operation per affected slide in a single patch-deck call. Writes return before browser measurement, so continue independent edits while layoutFit.status=pending. At the verification point, call get-layout-overflows once and use only measurements whose contentHash and layoutFitRevision match the current persisted slides. Wait for the repair action result and verify the persisted HTML with get-deck slideId=<id> compact=true before saying it is fixed. If a fresh measurement still reports overflow, make at most one focused follow-up repair based on that measurement; never loop, repeatedly re-measure, or claim success after a chat response alone.
265
+
Layout-fit workflow is strict. After creating or structurally rewriting slides, verify their layout in the same turn even when the user did not explicitly ask about overflow. At the final verification point, call get-layout-overflows once and use only measurements whose contentHash and layoutFitRevision match the current persisted slides. If measurements are unknown, do not claim the deck fits. For each measured overflow, read that slide with get-deck slideId=<id> (full HTML is returned for a targeted read), then make one bounded structural repair pass with one patch-slide operation per affected slide in a single patch-deck call. Wait for the repair action result and verify the persisted HTML with get-deck slideId=<id> compact=true before saying it is fixed. If a fresh measurement still reports overflow, make at most one focused follow-up repair based on that measurement; never loop, repeatedly re-measure, or claim success after a chat response alone. When the user asks to fix an existing overflow, first call view-screen and inspect the deck-wide layout-fit section, then follow this same bounded workflow.
266
266
267
267
Fit means the main content fits the native content area. A small outer-wrapper spill is tolerated by the measurement, but cards, text, columns, and other visible content must fit. Never use zoom, transform: scale(), overflow: hidden/scroll, clipping, or a smaller-than-16px body font to hide overflow. Preserve manually positioned freeform objects and their data-slide-object-id values; repair normal-flow structure, copy, gaps, or slide padding instead. A successful action result must include the affected slide IDs; if it does not, report that no verified write occurred.
0 commit comments