Venus/Jupiter/Moon periods no longer collapse into one marriage-opportunity line. Full reading reports the ten BPHS conditional dasha families; Skill 6.9.16.
Co-authored-by: Cursor <cursoragent@cursor.com>
Longform report pages kept the D1/D9/Moon and varga headings but skipHtml
stripped the engine's inline SVG. Emit a jyotish-chart JSON fence beside
each SVG and render a diamond chart on the reader without relaxing HTML
sanitization. BUG-607.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep both changelog entries, BUG_HISTORY 602–606, and both task-board rows at 待验收. Auto-merged chat.tsx retains inferenceMarks and collect-reply buttons.
Co-authored-by: Cursor <cursoragent@cursor.com>
Timeline brief pins three things the investigation settled: a third grid
row rather than position: sticky (so useConversationScrollAnchor is not
touched), fixed bar height as a correctness requirement, and a two-element
sticky bar per the product's less-is-more call.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016P5RoqzmUQEbeC2qjAkeGr
Replace the minute-row delivery card with up to three compare columns so users can pick the time that fits, and apply the adult-year floor on inspect fallbacks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Make the range card row-select, drop the composer 先这样 control and adopt status bar, keep delivery copy to three sentences with a folded verification report, and skip a second no-message agent run after a terminal delivery turn.
Co-authored-by: Cursor <cursoragent@cursor.com>
Rescored candidate sets were widening because new minutes stayed
neutral. Derive support/conflict from varga signs and dasha segments,
and announce range changes from facts rather than tool names.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>