Jesse_Chen
9417148b0a
feat(rectification): add agentic birth-time rectification MVP
...
Add a new agentic rectification flow that lets an LLM drive the full
jyotish-vedic-astrology methodology on the web, with the Python engine as
its computation layer (mirroring local Claude Code):
- mastra/rectification-tools.ts: 7 engine tools (gate/scan/score/diagnostics/
candidate-features/confirm/save-birth-time)
- mastra/agentic-rectification.ts: agent mounting the full skill + tools
- lib/rectification-agentic/session.ts: server-owned profile + confirmation
gate; the LLM can only persist the exact minute the engine's high-rigor
gate confirmed
- app/api/rectification/agent/route.ts: NDJSON streaming endpoint with
credit reserve/settle
- components/rectification-agentic-chat.tsx + entry switch: new sessions use
the agentic chat; in-progress v4 cases still resume on the v4 panel
- migration 20260801000000: service-role RPC writing profiles.active_birth_time
with baseline concurrency guard
- tests for tools + session (12 cases); full suite passes 1076
Co-Authored-By: Claude <noreply@anthropic.com >
2026-08-01 02:20:00 +08:00
..
2026-07-21 17:52:25 +08:00
2026-07-21 07:45:14 +08:00
2026-07-27 15:47:18 +08:00
2026-07-28 09:47:13 +08:00
2026-07-28 09:47:13 +08:00
2026-07-28 09:47:13 +08:00
2026-07-21 22:16:18 +08:00
2026-07-19 17:11:12 +08:00
2026-07-20 14:58:57 +08:00
2026-07-19 14:48:02 +08:00
2026-07-22 17:39:11 +08:00
2026-07-21 16:06:30 +08:00
2026-07-19 10:56:09 +08:00
2026-07-20 14:45:08 +08:00
2026-07-22 18:41:25 +08:00
2026-07-19 09:12:45 +08:00
2026-07-19 08:25:33 +08:00
2026-07-19 10:12:18 +08:00
2026-07-21 15:50:02 +08:00
2026-07-19 04:38:20 +08:00
2026-07-21 22:16:18 +08:00
2026-07-19 09:12:45 +08:00
2026-07-19 09:12:45 +08:00
2026-07-19 09:12:45 +08:00
2026-07-19 09:12:45 +08:00
2026-07-19 09:12:45 +08:00
2026-07-19 04:57:43 +08:00
2026-07-19 04:38:20 +08:00
2026-07-19 14:48:02 +08:00
2026-07-19 09:12:45 +08:00
2026-07-21 22:16:18 +08:00
2026-07-19 14:48:02 +08:00
2026-07-19 09:24:23 +08:00
2026-07-19 07:50:23 +08:00
2026-07-19 07:50:23 +08:00
2026-07-19 09:12:45 +08:00
2026-07-21 22:16:18 +08:00
2026-07-21 22:16:18 +08:00
2026-07-19 08:25:33 +08:00
2026-07-18 18:40:23 +08:00
2026-07-19 22:23:29 +08:00
2026-07-19 09:45:32 +08:00
2026-07-19 11:04:25 +08:00
2026-07-19 14:51:06 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-20 14:58:57 +08:00
2026-07-20 11:44:56 +08:00
2026-07-22 18:41:25 +08:00
2026-07-25 01:17:14 +08:00
2026-07-18 18:40:23 +08:00
2026-07-27 11:29:12 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-25 01:17:14 +08:00
2026-07-29 17:49:19 +08:00
2026-07-19 06:42:17 +08:00
2026-07-20 14:58:57 +08:00
2026-07-18 18:40:23 +08:00
2026-07-19 07:20:40 +08:00
2026-07-19 06:42:17 +08:00
2026-07-19 14:48:02 +08:00
2026-07-18 18:40:23 +08:00
2026-07-19 14:48:02 +08:00
2026-07-19 07:20:40 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-20 15:55:59 +08:00
2026-07-18 18:40:23 +08:00
2026-07-21 16:06:30 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-18 18:40:23 +08:00
2026-07-19 10:12:18 +08:00
2026-07-22 09:43:11 +08:00
2026-07-20 20:21:53 +08:00
2026-07-20 16:52:53 +08:00
2026-07-21 11:58:42 +08:00
2026-07-27 15:47:18 +08:00
2026-07-26 11:00:20 +08:00
2026-07-22 02:35:31 +08:00
2026-07-15 22:23:17 +08:00
2026-07-17 11:56:29 +08:00
2026-07-22 11:49:58 +08:00
2026-07-19 11:15:17 +08:00
2026-07-27 22:33:12 +08:00
2026-07-17 14:09:57 +08:00
2026-07-22 10:50:23 +08:00
2026-07-27 09:57:14 +08:00
2026-07-21 22:57:50 +08:00
2026-07-21 16:56:20 +08:00
2026-07-25 11:50:41 +08:00
2026-08-01 01:32:06 +08:00
2026-07-25 02:08:10 +08:00
2026-07-26 20:11:53 +08:00
2026-07-22 17:39:11 +08:00
2026-07-25 01:17:14 +08:00
2026-07-31 19:50:49 +08:00
2026-07-25 11:50:41 +08:00
2026-07-25 02:08:10 +08:00
2026-07-21 15:19:03 +08:00
2026-07-25 13:51:54 +08:00
2026-07-27 09:57:14 +08:00
2026-07-29 17:49:19 +08:00
2026-07-25 11:50:41 +08:00
2026-07-25 02:08:10 +08:00
2026-07-25 11:50:41 +08:00
2026-07-30 00:41:48 +08:00
2026-07-21 16:03:53 +08:00
2026-07-21 07:45:14 +08:00
2026-07-21 16:03:53 +08:00
2026-07-28 13:04:30 +08:00
2026-07-21 17:52:25 +08:00
2026-07-22 12:10:16 +08:00
2026-07-22 02:35:31 +08:00
2026-07-25 01:17:14 +08:00
2026-07-30 04:09:51 +08:00
2026-07-27 12:01:31 +08:00
2026-07-28 09:47:13 +08:00
2026-07-29 17:49:19 +08:00
2026-07-21 17:52:25 +08:00
2026-07-21 17:52:25 +08:00
2026-07-21 17:52:25 +08:00
2026-07-27 20:40:55 +08:00
2026-07-21 17:52:25 +08:00
2026-07-21 17:52:25 +08:00
2026-07-19 15:43:25 +08:00
2026-07-25 01:17:14 +08:00
2026-07-30 15:45:23 +08:00
2026-07-17 14:09:57 +08:00
2026-07-21 22:16:18 +08:00
2026-07-21 22:16:18 +08:00
2026-07-18 18:40:23 +08:00
2026-07-19 21:59:43 +08:00
2026-07-25 01:17:14 +08:00
2026-07-29 17:49:19 +08:00
2026-07-22 15:51:54 +08:00
2026-07-22 00:07:42 +08:00
2026-07-17 13:42:50 +08:00
2026-07-31 19:50:49 +08:00
2026-07-31 19:50:49 +08:00
2026-08-01 01:04:33 +08:00
2026-08-01 02:20:00 +08:00
2026-08-01 02:20:00 +08:00
2026-08-01 01:04:33 +08:00
2026-07-29 18:17:46 +08:00
2026-07-30 10:55:39 +08:00
2026-07-31 13:17:00 +08:00
2026-08-01 01:32:06 +08:00
2026-07-22 12:28:55 +08:00
2026-07-19 09:00:14 +08:00
2026-07-30 11:48:02 +08:00
2026-07-31 13:17:00 +08:00
2026-07-27 22:33:12 +08:00
2026-07-30 10:55:39 +08:00
2026-07-31 09:17:49 +08:00
2026-07-27 09:57:14 +08:00
2026-07-31 06:13:47 +08:00
2026-07-31 09:17:49 +08:00
2026-07-31 22:46:38 +08:00
2026-07-30 03:15:06 +08:00
2026-07-30 11:48:02 +08:00
2026-07-22 18:04:56 +08:00
2026-07-17 14:09:57 +08:00
2026-07-22 17:39:11 +08:00
2026-07-17 17:17:10 +08:00
2026-07-30 12:21:37 +08:00
2026-07-21 07:45:14 +08:00
2026-07-26 00:02:11 +08:00
2026-07-21 13:19:53 +08:00
2026-07-21 10:22:05 +08:00
2026-07-22 00:07:42 +08:00