Commit Graph

883 Commits

Author SHA1 Message Date
Jesse_Chen 8e31680b45 fix(rectification): honor declared birth-time uncertainty and split windows over two hours (BUG-571–573)
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>
2026-09-07 12:18:50 +08:00
Jesse_Chen b2a8d3a005 docs: record BUG-574 staging migrate and deploy evidence
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 11:51:22 +08:00
Jesse_Chen 72dd5e9d7a docs: record BUG-574 fix SHA b466a6fc
Independent Staging Quality Gate / validate (push) Successful in 10m26s
Independent Staging Quality Gate / publish (push) Successful in 8m43s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 11:09:58 +08:00
Jesse_Chen b466a6fc8c fix(report): stop listing reports via PostgREST JSON paths (BUG-574)
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>
2026-09-07 11:08:00 +08:00
Jesse_Chen ad9283d1bd docs(tasks): tidy widen-card tiers and post-widen staging in declared-uncertainty brief
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-07 02:30:59 +00:00
Jesse_Chen 5e7574d153 docs(tasks): declared-uncertainty brief adds sub-block scan (BUG-573), reliability question, scenario scripts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-07 02:30:23 +00:00
Jesse_Chen 9699f63603 docs(tasks): declared birth-time uncertainty brief (BUG-571/572)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-07 02:27:39 +00:00
Jesse_Chen 5c644f9288 docs(tasks): accept 517df002 (BUG-569/570)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-07 02:20:23 +00:00
Jesse_Chen 0a1076d613 docs: record BUG-569/570 fix SHA 517df002
Independent Staging Quality Gate / validate (push) Successful in 8m36s
Independent Staging Quality Gate / publish (push) Successful in 7m16s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 10:04:31 +08:00
Jesse_Chen 517df002b5 fix(rectification): narrate the credible range and stop scoring periods by length (BUG-569–570)
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>
2026-09-07 10:03:28 +08:00
Jesse_Chen d6ee8cbb26 docs(tasks): accept 814c924e (BUG-565~568, explain/range/unknown-time); capability fix brief (BUG-569~570)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-07 01:18:00 +00:00
Jesse_Chen 814c924e4a fix(rectification): exhaustion exit, explain layer, range reading, unknown-time scan (BUG-565–568)
Independent Staging Quality Gate / validate (push) Successful in 9m20s
Independent Staging Quality Gate / publish (push) Successful in 6m51s
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>
2026-09-07 09:10:37 +08:00
Jesse_Chen 43a26a3ccb docs(tasks): rectification capability briefs vs upstream (explain layer, range reading BUG-568, unknown-time route)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-06 15:36:46 +00:00
Jesse_Chen 211f9bb2ac docs(tasks): accept BUG-558~560 (b938c76a); exhaustion-exit fix brief (BUG-565~567)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-06 15:16:28 +00:00
Jesse_Chen b938c76ac4 docs: record post-rebase SHAs for BUG-558–560
Independent Staging Quality Gate / validate (push) Successful in 9m0s
Independent Staging Quality Gate / publish (push) Successful in 23m38s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 23:06:46 +08:00
Jesse_Chen 62afa521f4 fix(rectification): keep proportional prior after holdout calibration (BUG-560)
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>
2026-09-06 23:05:42 +08:00
Jesse_Chen 3c30a579a9 docs: record BUG-564 fix SHA e4d16b75
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 23:00:39 +08:00
Jesse_Chen e4d16b7545 fix(report): keep monthly KP headings and readable timing sources
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>
2026-09-06 23:00:01 +08:00
Jesse_Chen 5aa05bf0d0 docs: record BUG-563 fix SHA ebc8380f
Independent Staging Quality Gate / validate (push) Successful in 9m19s
Independent Staging Quality Gate / publish (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 22:34:04 +08:00
Jesse_Chen ebc8380fb8 fix(report): defer lazy-section setState so staging lint can pass
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>
2026-09-06 22:33:38 +08:00
Jesse_Chen 809bdf13e9 docs(report): record MD-page push SHA and keep markdown view locks
Independent Staging Quality Gate / validate (push) Failing after 26m47s
Independent Staging Quality Gate / publish (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 21:48:00 +08:00
Jesse_Chen 8b140479bd docs: record BUG-561/562 fix SHA cfcd369d
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 21:46:49 +08:00
Jesse_Chen cfcd369d4f feat(report): render longform Markdown as the report and close gaps2 holes
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>
2026-09-06 21:46:16 +08:00
Jesse_Chen 2dc454c974 docs(tasks): rectification convergence + exit brief (BUG-558~560)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-06 11:33:41 +00:00
Jesse_Chen a444c49391 docs: record BUG-557 fix SHA 0102a973
Independent Staging Quality Gate / validate (push) Successful in 9m30s
Independent Staging Quality Gate / publish (push) Successful in 2m0s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 19:23:31 +08:00
Jesse_Chen 0102a973a3 fix(web): persist generated session titles against the post-RPC title (BUG-557)
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>
2026-09-06 19:22:43 +08:00
Jesse_Chen e2d6f20361 docs(tasks): accept e2f4b55c (BUG-542/551-556); session title guard fix brief (BUG-557)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155nFCgCHtoA7jhSDGmZmMu
2026-09-06 10:49:22 +00:00
Jesse_Chen e2f4b55c13 docs: record BUG-554 fix SHA dc6598d7
Independent Staging Quality Gate / validate (push) Successful in 10m56s
Independent Staging Quality Gate / publish (push) Successful in 6m27s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 18:30:25 +08:00
Jesse_Chen dc6598d7e4 fix(web): keep the settings dialog one size and move billing into it (BUG-554)
The four account panes now share a fixed frame, chart profiles open as list then detail, and membership lives in the homepage dialog instead of a separate page.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 18:29:51 +08:00
Jesse_Chen 40bd0e9372 docs: record BUG-555/556 fix SHA bf8ad0d1
Independent Staging Quality Gate / validate (push) Successful in 10m20s
Independent Staging Quality Gate / publish (push) Successful in 2m3s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 15:17:08 +08:00
Jesse_Chen bf8ad0d1ff fix(web): keep consultation conclusions across turns and surface cache hits (BUG-555, BUG-556)
Session history was silently clipped to the first 4000 characters of the last 12 messages, so follow-ups could not see timing or audit tables. Keep an append-only tail plus a checkpoint summary, retry overflow in the same request, and expose cache hit rate in admin usage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 15:16:18 +08:00
Jesse_Chen 9ce7a374ed docs: record BUG-553 fix SHA a1956deb
Independent Staging Quality Gate / validate (push) Successful in 9m24s
Independent Staging Quality Gate / publish (push) Successful in 7m51s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 14:35:00 +08:00
Jesse_Chen a1956deb63 fix(web): summarize session titles, sort by activity, and paginate history (BUG-553)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 14:34:30 +08:00
Jesse_Chen d04990fc4a docs: record BUG-551/552 fix SHA 055b7adc
Independent Staging Quality Gate / validate (push) Failing after 8m1s
Independent Staging Quality Gate / publish (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 13:09:42 +08:00
Jesse_Chen 055b7adca9 fix(web): keep composer enabled while generating and treat stop as neutral (BUG-551, BUG-552)
Enter now queues one follow-up instead of dropping it, and a rectification stop leaves the streamed reply with a grey notice instead of an error alert.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 13:08:43 +08:00
Jesse_Chen f5566c06ef docs: record BUG-542 fix SHA 5483649b
Independent Staging Quality Gate / validate (push) Successful in 10m17s
Independent Staging Quality Gate / publish (push) Successful in 6m9s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 12:39:34 +08:00
Jesse_Chen 5483649bc1 fix(api): stop labeling database blips as unconfigured (BUG-542)
Deploy-window connection errors were translated into "服务尚未配置".
Only real configuration errors keep that copy; other 503s use service_unavailable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-06 12:37:21 +08:00
Jesse_Chen d2a209d326 docs(tasks): consultation context window + prompt cache brief (BUG-555/556) 2026-09-06 03:53:58 +00:00
Jesse_Chen d8a0f615c7 docs(tasks): session list brief adds cursor pagination (5.6)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155nFCgCHtoA7jhSDGmZmMu
2026-09-06 03:36:48 +00:00
Jesse_Chen 5e06a218f6 docs(tasks): session list title/order and settings dialog + billing pane briefs (BUG-553/554)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155nFCgCHtoA7jhSDGmZmMu
2026-09-06 03:33:30 +00:00
Jesse_Chen 985c32583d docs(tasks): composer live input, queued send, neutral stop brief (BUG-551/552) 2026-09-06 03:14:29 +00:00
Jesse_Chen b8ea311235 docs(tasks): accept ca4e2408 (BUG-550); record assertion changes and blocked staging deploy 2026-09-05 15:55:32 +00:00
Jesse_Chen 3b410c141a docs: record BUG-550 fix SHA ca4e2408
Independent Staging Quality Gate / validate (push) Successful in 21m6s
Independent Staging Quality Gate / publish (push) Successful in 28m59s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 21:07:26 +08:00
Jesse_Chen ca4e2408d8 fix(rectification): keep collecting while dated evidence domains remain open
Separated candidates were treated as adoptable while finance, relocation, health, or occupation collect was still pending, so clickable cards and a verification report appeared before those questions were asked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 21:06:38 +08:00
Jesse_Chen 3edb628cb5 docs(tasks): collect-vs-offer consistency brief (BUG-550) 2026-09-05 09:41:20 +00:00
Jesse_Chen 1052a0271e docs: record BUG-549 fix SHA 988d97ae
Independent Staging Quality Gate / validate (push) Successful in 19m41s
Independent Staging Quality Gate / publish (push) Successful in 8m29s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 16:08:01 +08:00
Jesse_Chen 988d97ae62 fix(rectification): treat a yes discriminator as covering that domain's collect
A choice-card yes/weak_yes already told us the domain happened, so skip the same-domain "which year" collect without writing the ledger.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 16:07:27 +08:00
Jesse_Chen 2dc6194671 docs(tasks): probe answer covers domain brief
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155nFCgCHtoA7jhSDGmZmMu
2026-09-05 07:41:57 +00:00
Jesse_Chen c295b8536a docs: record BUG-548 fix SHA 52a4570c
Independent Staging Quality Gate / validate (push) Successful in 9m39s
Independent Staging Quality Gate / publish (push) Successful in 7m19s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 11:32:51 +08:00
Jesse_Chen 52a4570ca1 fix(report): keep the public table allowlist in sync with the longform appendix
The staging quality gate failed because database-local-business still listed the old pg_tables set after 20260905010000.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 11:32:17 +08:00