Point-choice used one compare packet, so a May existence card and the same-domain year card both stayed eligible. Hard-exclude same domain+year; keep adjacent years downranked.
Co-authored-by: Cursor <cursoragent@cursor.com>
The verification template was still quoting the engine's pre-inference span and eliminated dasha tops, and D9/D10 signs were left for the model to guess from transition clocks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Yearless-to-collect now skips domains already confirmed, declined, or asked; adopt-exhausted turns skip leftover collect persist. Collect focus collisions only retry with :next when collect_retry is set.
Co-authored-by: Cursor <cursoragent@cursor.com>
Carry answered probe defs into the new candidate set, replay them by minute, and announce range changes on evidence turns.
Co-authored-by: Cursor <cursoragent@cursor.com>
Set-focus must not append a second narration, and a server-owned stem must not also appear as a question in the assistant body.
Co-authored-by: Cursor <cursoragent@cursor.com>
After the dated domains are asked or declined, keep the occupation question or the range card instead of hanging on a leftover other-collect prompt.
Co-authored-by: Cursor <cursoragent@cursor.com>
Null-check the candidate result before reading resultId so next build can ship. Adopt reconnects prospective windows on the first verify turn, and dismissing the range card now shows the collect hint.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stop/idle reuse the scored evidence path so existing answers stay on the range. Delivery uses one range card (Skill 10.0.15) instead of four minute cards.
Co-authored-by: Cursor <cursoragent@cursor.com>
Engine asked_probe_keys no longer include varga split hashes that 400 the scorer, failed compares become visible and retry, user stop can still deliver a range on a stale snapshot, and holdout no longer reasks domains already in the ledger.
Co-authored-by: Cursor <cursoragent@cursor.com>
Engine calls already returned markdown; the worker failed because local postgres upsert required onConflict and the appendix write omitted it.
Co-authored-by: Cursor <cursoragent@cursor.com>
Intake stores how sure the user is; rectification now searches that range, offers a one-click widen when event fit is low at the edge, and trisects windows longer than two hours before the minute grid.
Co-authored-by: Cursor <cursoragent@cursor.com>
Staging PostgREST rejects the executiveSummary JSON-path alias, so GET /api/reports 500s. Persist a plain card_summary column from the Markdown excerpt instead.
Co-authored-by: Cursor <cursoragent@cursor.com>
Choice copy was comparing the search window, so every answer said the range had not changed. Block-scan summed raw scores, so longer afternoon windows won before any evidence difference.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep askable cards after exhaustion, explain each probe, read the adopted credible range in reports and chat, and compare declared periods before the minute grid when the clock is unknown.
Co-authored-by: Cursor <cursoragent@cursor.com>
Implement offset and softmax relative-support scales and a public holdout calibration script, but leave the default proportional because no scheme passed the coverage-and-width gate.
Co-authored-by: Cursor <cursoragent@cursor.com>
Heading-ensure only covered empty packets, so present KP months still dropped MD/AD titles and sanitizer blanked source_path. Also lock the quality gate onto the new contracts.
Co-authored-by: Cursor <cursoragent@cursor.com>
IntersectionObserver fallback called setVisible inside useEffect, which the
react-hooks compiler treats as an error. Queue it on rAF so the gate can
publish the MD report page.
Co-authored-by: Cursor <cursoragent@cursor.com>
New reports skip the writer, persist pl9 Markdown as the body, and settle zero-token usage on the catalog model. Planned longform sections now emit blocked rows instead of vanishing.
Co-authored-by: Cursor <cursoragent@cursor.com>
The first-round title guard compared the pre-RPC snapshot, so append_consultation_question had already rewritten the title and the model name never landed.
Co-authored-by: Cursor <cursoragent@cursor.com>