Jesse_Chen
ef1bd6dfa9
feat(report): give the writer a static interpretation guide
...
The report writer had no interpretation methodology at all: a local agent
calling the jyotish skill can read the reference library, the report model
could read nothing. It could only restate the bundle.
- frontend/src/lib/report-interpretation-packs/ holds one general pack and
one pack per report theme, distilled from the in-repo reference guides.
They constrain wording and reasoning discipline (term modernisation,
how to talk about relative strength and SAV scores, the reasoning errors
to avoid, the banned phrasings) and never assert a chart fact.
- The general pack rides INSIDE the cached system message so the cached
prefix stays byte-identical across sections; the chapter pack follows it
and summary calls get the general pack only.
- Skill jyotish-personal-report goes to 1.1.0 (1.0.0 deprecated): the
contract now names interpretiveFacts and themeNarrativeSeeds as a
bounded fact layer and states that the knowledge pack is not a fact
source and cannot raise certainty.
- Telemetry records interpretiveFactCount and knowledgePackCharacters as
numbers only; the counter never throws so telemetry cannot break a run.
Tests lock every theme resolving a pack, the 3,000 character budget, a
forbidden-substring scan (paths, module names, vendor names, artefact
names), the byte-stable cache prefix, and that no evidence id or date
appears in the static content.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_016P5RoqzmUQEbeC2qjAkeGr
2026-09-01 20:35:02 +00:00
..
2026-08-15 05:10:37 +08:00
2026-06-24 13:37:33 +08:00
2026-06-29 07:50:32 +08:00
2026-05-04 22:53:52 +08:00
2026-06-10 20:50:52 +08:00
2026-06-10 20:50:52 +08:00
2026-07-11 23:24:54 +08:00
2026-06-10 20:50:52 +08:00
2026-06-10 20:50:52 +08:00
2026-06-10 20:50:52 +08:00
2026-07-17 11:39:24 +08:00
2026-06-10 20:50:52 +08:00
2026-06-24 13:37:33 +08:00
2026-06-10 20:50:52 +08:00
2026-06-24 18:42:09 +08:00
2026-06-10 20:50:52 +08:00
2026-07-15 13:52:05 +08:00
2026-06-13 10:56:41 +08:00
2026-07-25 11:50:41 +08:00
2026-08-20 21:42:47 +08:00
2026-08-20 21:42:47 +08:00
2026-07-21 22:16:18 +08:00
2026-07-12 19:22:13 +08:00
2026-07-20 16:56:46 +08:00
2026-07-19 22:23:29 +08:00
2026-07-15 22:23:17 +08:00
2026-08-31 10:36:38 +08:00
2026-07-17 22:19:09 +08:00
2026-06-13 15:06:11 +08:00
2026-07-19 09:00:14 +08:00
2026-06-24 14:43:33 +08:00
2026-06-13 15:06:11 +08:00
2026-06-27 18:55:49 +08:00
2026-07-15 00:19:30 +08:00
2026-07-19 20:35:08 +08:00
2026-08-20 21:42:47 +08:00
2026-06-13 16:18:37 +08:00
2026-07-19 09:12:45 +08:00
2026-07-19 07:20:40 +08:00
2026-07-19 09:12:45 +08:00
2026-09-02 04:34:14 +08:00
2026-07-20 00:42:11 +08:00
2026-07-01 19:15:35 +08:00
2026-08-17 14:16:05 +08:00
2026-07-21 20:30:49 +08:00
2026-07-09 13:43:58 +08:00
2026-09-01 17:41:06 +08:00
2026-07-22 09:58:32 +08:00
2026-07-19 15:43:25 +08:00
2026-07-20 14:56:57 +08:00
2026-07-16 23:22:18 +08:00
2026-06-13 15:06:11 +08:00
2026-06-13 15:06:11 +08:00
2026-07-08 17:03:04 +08:00
2026-07-21 19:21:02 +08:00
2026-07-19 23:30:46 +08:00
2026-08-20 22:05:13 +08:00
2026-07-05 18:27:33 +08:00
2026-07-17 22:35:19 +08:00
2026-07-19 15:47:40 +08:00
2026-07-25 01:17:14 +08:00
2026-07-21 16:56:20 +08:00
2026-07-19 22:23:29 +08:00
2026-07-21 16:52:58 +08:00
2026-07-20 11:09:13 +08:00
2026-07-08 17:03:04 +08:00
2026-07-17 00:23:31 +08:00
2026-08-19 19:08:17 +08:00
2026-08-15 06:04:23 +08:00
2026-08-18 23:30:36 +08:00
2026-08-19 17:51:27 +08:00
2026-07-17 11:21:14 +08:00
2026-07-21 20:30:49 +08:00
2026-07-19 11:40:23 +08:00
2026-07-19 16:36:41 +08:00
2026-07-10 22:31:28 +08:00
2026-07-19 23:24:06 +08:00
2026-07-19 23:24:06 +08:00
2026-07-23 12:03:58 +08:00
2026-09-01 22:58:02 +08:00
2026-08-19 15:35:38 +08:00
2026-06-26 18:17:50 +08:00
2026-07-17 15:23:16 +08:00
2026-06-27 00:43:10 +08:00
2026-07-16 23:45:00 +08:00
2026-06-28 17:32:03 +08:00
2026-07-19 15:14:13 +08:00
2026-07-19 18:36:25 +08:00
2026-07-19 16:36:41 +08:00
2026-07-19 16:36:41 +08:00
2026-07-19 23:30:46 +08:00
2026-07-19 08:02:44 +08:00
2026-07-18 10:24:10 +08:00
2026-08-21 15:29:58 +08:00
2026-07-19 23:04:46 +08:00
2026-06-24 13:37:33 +08:00
2026-06-25 18:33:26 +08:00
2026-07-21 22:16:18 +08:00
2026-07-21 22:16:18 +08:00
2026-07-25 01:17:14 +08:00
2026-07-21 22:16:18 +08:00
2026-07-20 00:03:56 +08:00
2026-07-17 22:35:19 +08:00
2026-07-23 12:03:58 +08:00
2026-07-16 20:36:44 +08:00
2026-07-17 13:03:47 +08:00
2026-07-20 00:18:18 +08:00
2026-07-17 14:32:56 +08:00
2026-07-16 11:09:46 +08:00
2026-07-08 18:34:13 +08:00
2026-07-20 00:57:46 +08:00
2026-07-08 16:23:45 +08:00
2026-07-20 11:02:41 +08:00
2026-07-21 02:22:01 +08:00
2026-07-21 02:22:01 +08:00
2026-07-17 10:01:22 +08:00
2026-07-16 21:54:34 +08:00
2026-07-23 12:03:58 +08:00
2026-07-19 11:15:17 +08:00
2026-07-08 18:34:13 +08:00
2026-07-17 15:23:16 +08:00
2026-07-23 20:35:14 +08:00
2026-07-23 12:03:58 +08:00
2026-07-19 18:36:25 +08:00
2026-07-20 00:18:18 +08:00
2026-07-14 20:29:11 +08:00
2026-07-19 18:36:25 +08:00
2026-07-08 18:34:13 +08:00
2026-07-22 19:55:13 +08:00
2026-08-15 12:13:09 +08:00
2026-07-20 11:02:41 +08:00
2026-07-02 14:57:58 +08:00
2026-07-20 11:02:41 +08:00
2026-07-08 18:34:13 +08:00
2026-07-02 14:51:16 +08:00
2026-07-05 18:27:33 +08:00
2026-06-26 20:41:31 +08:00
2026-07-17 01:03:50 +08:00
2026-07-16 23:45:00 +08:00
2026-09-01 20:35:02 +00:00
2026-07-15 22:23:17 +08:00
2026-07-05 18:27:33 +08:00
2026-07-21 16:52:58 +08:00
2026-07-21 16:52:58 +08:00
2026-07-20 00:03:56 +08:00
2026-07-21 16:52:58 +08:00
2026-07-21 16:52:58 +08:00
2026-07-19 20:11:46 +08:00
2026-07-18 01:00:53 +08:00
2026-07-23 12:03:58 +08:00
2026-07-08 17:03:04 +08:00
2026-07-23 12:03:58 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-19 18:36:25 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-23 12:03:58 +08:00
2026-07-23 12:03:58 +08:00
2026-07-19 22:07:31 +08:00
2026-07-22 19:55:13 +08:00
2026-07-20 18:40:02 +08:00
2026-07-19 16:49:46 +08:00
2026-07-22 19:55:13 +08:00
2026-07-21 16:52:58 +08:00
2026-07-23 12:03:58 +08:00
2026-07-23 12:03:58 +08:00
2026-06-24 14:59:57 +08:00
2026-07-21 21:25:57 +08:00
2026-07-22 19:55:13 +08:00
2026-06-27 18:55:49 +08:00
2026-07-01 19:15:35 +08:00
2026-06-27 18:52:10 +08:00
2026-06-29 10:45:11 +08:00
2026-06-28 17:19:30 +08:00
2026-07-08 18:34:13 +08:00
2026-07-29 18:17:46 +08:00
2026-07-20 11:02:41 +08:00
2026-07-05 18:27:33 +08:00
2026-06-28 18:46:25 +08:00
2026-07-16 23:22:18 +08:00
2026-07-05 18:27:33 +08:00
2026-07-21 22:16:18 +08:00
2026-07-21 22:16:18 +08:00
2026-07-21 22:16:18 +08:00
2026-07-21 22:16:18 +08:00
2026-07-21 22:16:18 +08:00
2026-08-29 01:33:20 +08:00
2026-08-29 01:33:20 +08:00
2026-07-21 22:16:18 +08:00
2026-07-22 09:58:32 +08:00
2026-07-23 12:03:58 +08:00
2026-07-19 18:36:25 +08:00
2026-07-19 23:20:39 +08:00
2026-07-22 19:55:13 +08:00
2026-07-20 13:55:54 +08:00
2026-07-22 19:55:13 +08:00
2026-07-23 12:03:58 +08:00
2026-07-05 18:27:33 +08:00
2026-07-12 00:27:25 +08:00
2026-06-13 16:18:37 +08:00
2026-07-01 19:15:35 +08:00
2026-07-08 16:23:45 +08:00
2026-07-23 12:03:58 +08:00
2026-07-17 00:27:57 +08:00
2026-06-10 20:50:52 +08:00
2026-06-29 10:45:11 +08:00
2026-06-28 15:45:31 +08:00
2026-07-08 17:03:04 +08:00
2026-07-17 15:23:16 +08:00
2026-07-22 23:40:59 +08:00
2026-07-08 17:03:04 +08:00
2026-07-08 17:03:04 +08:00
2026-07-02 01:22:53 +08:00
2026-07-21 22:16:18 +08:00
2026-07-20 18:40:02 +08:00
2026-07-21 16:56:19 +08:00
2026-07-21 16:56:19 +08:00
2026-08-14 16:37:53 +08:00
2026-07-16 21:54:34 +08:00
2026-07-20 11:02:41 +08:00
2026-07-17 00:38:44 +08:00
2026-07-20 13:55:54 +08:00
2026-07-20 18:40:02 +08:00
2026-07-20 18:40:02 +08:00
2026-07-21 19:21:02 +08:00
2026-07-20 18:40:02 +08:00
2026-07-20 18:40:02 +08:00
2026-07-21 19:21:02 +08:00
2026-07-20 18:40:02 +08:00
2026-07-17 22:35:19 +08:00
2026-07-20 18:40:02 +08:00
2026-07-20 18:40:02 +08:00
2026-07-20 18:40:02 +08:00
2026-07-16 21:54:34 +08:00
2026-07-22 19:55:13 +08:00
2026-08-10 17:57:06 +08:00
2026-07-20 17:30:35 +08:00
2026-06-28 17:57:16 +08:00
2026-08-30 10:55:11 +08:00
2026-07-19 18:45:46 +08:00
2026-07-20 02:44:05 +08:00
2026-07-08 17:03:04 +08:00
2026-07-17 15:23:16 +08:00
2026-07-08 16:23:45 +08:00
2026-07-16 21:01:24 +08:00
2026-07-13 22:53:04 +08:00
2026-07-20 12:45:18 +08:00
2026-07-25 01:17:14 +08:00
2026-07-15 19:13:05 +08:00
2026-07-23 21:58:15 +08:00
2026-06-27 14:34:19 +08:00
2026-07-08 17:03:04 +08:00
2026-07-12 15:13:30 +08:00
2026-07-21 21:25:57 +08:00
2026-07-23 12:39:10 +08:00
2026-08-20 22:44:20 +08:00
2026-07-22 23:40:59 +08:00
2026-08-20 21:42:47 +08:00
2026-07-17 01:03:50 +08:00
2026-07-17 01:03:50 +08:00
2026-07-17 01:03:50 +08:00
2026-07-17 01:03:50 +08:00
2026-07-17 01:03:50 +08:00
2026-07-17 01:03:50 +08:00
2026-06-29 11:55:16 +08:00
2026-07-17 19:51:31 +08:00
2026-07-18 06:45:44 +08:00
2026-07-19 08:59:33 +08:00
2026-07-20 13:55:54 +08:00
2026-07-02 10:51:24 +08:00
2026-08-29 01:23:34 +08:00
2026-07-08 17:16:39 +08:00
2026-09-01 19:13:38 +08:00
2026-09-01 17:41:06 +08:00
2026-09-01 17:41:06 +08:00
2026-08-20 15:58:28 +08:00
2026-08-20 15:58:28 +08:00
2026-08-19 20:11:51 +08:00
2026-07-22 09:58:32 +08:00
2026-08-20 15:58:28 +08:00
2026-07-19 16:09:24 +08:00
2026-07-21 22:16:18 +08:00
2026-08-20 21:42:47 +08:00
2026-08-26 19:36:04 +08:00
2026-08-20 11:04:55 +08:00
2026-07-25 01:17:14 +08:00
2026-09-01 18:17:33 +08:00
2026-08-22 10:37:40 +08:00
2026-07-23 12:03:58 +08:00
2026-07-18 06:45:44 +08:00
2026-07-19 11:15:17 +08:00
2026-08-05 11:13:34 +08:00
2026-07-05 18:27:33 +08:00
2026-08-15 12:13:09 +08:00
2026-07-17 00:23:31 +08:00
2026-07-08 17:03:04 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-17 11:39:24 +08:00
2026-07-22 19:55:13 +08:00
2026-07-15 19:13:05 +08:00
2026-07-20 11:02:41 +08:00
2026-07-16 21:54:34 +08:00
2026-09-02 04:34:14 +08:00
2026-07-19 08:59:33 +08:00
2026-07-19 08:37:24 +08:00
2026-07-20 19:51:28 +08:00
2026-07-19 09:00:14 +08:00
2026-07-30 14:38:17 +08:00
2026-07-22 23:40:59 +08:00
2026-07-23 12:03:58 +08:00
2026-07-23 12:03:58 +08:00
2026-07-23 12:03:58 +08:00
2026-07-19 23:12:27 +08:00
2026-07-19 22:36:48 +08:00
2026-07-21 19:21:02 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-08 18:34:13 +08:00
2026-07-01 19:15:35 +08:00
2026-07-22 23:40:59 +08:00
2026-07-20 19:51:28 +08:00
2026-07-08 18:34:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-08 17:03:04 +08:00
2026-07-20 18:40:02 +08:00
2026-07-08 18:34:13 +08:00
2026-07-15 19:13:05 +08:00
2026-06-28 16:56:48 +08:00
2026-06-29 10:38:17 +08:00
2026-07-17 19:51:31 +08:00
2026-07-22 19:55:13 +08:00
2026-07-19 22:40:15 +08:00
2026-06-29 10:38:17 +08:00
2026-06-29 10:38:17 +08:00
2026-06-29 10:38:17 +08:00
2026-07-17 00:16:41 +08:00
2026-07-17 15:23:16 +08:00
2026-07-02 10:51:24 +08:00
2026-06-27 12:27:13 +08:00
2026-06-27 12:37:56 +08:00
2026-07-11 11:53:20 +08:00
2026-07-16 23:29:48 +08:00
2026-07-11 11:53:20 +08:00
2026-07-19 16:36:41 +08:00
2026-07-19 16:09:24 +08:00
2026-07-19 15:06:22 +08:00
2026-06-27 18:52:10 +08:00
2026-07-21 16:52:58 +08:00
2026-07-01 22:45:41 +08:00
2026-06-13 16:18:37 +08:00
2026-07-19 14:46:57 +08:00
2026-07-20 16:52:53 +08:00
2026-09-02 04:34:14 +08:00
2026-07-01 21:35:15 +08:00
2026-07-01 21:35:15 +08:00
2026-07-02 01:22:53 +08:00
2026-06-27 15:06:20 +08:00
2026-07-02 01:22:53 +08:00
2026-07-16 21:54:34 +08:00
2026-07-23 12:03:58 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-22 19:55:13 +08:00
2026-07-16 23:32:52 +08:00
2026-07-22 19:55:13 +08:00
2026-07-21 16:52:58 +08:00
2026-07-19 16:36:41 +08:00
2026-07-21 16:56:19 +08:00
2026-07-21 16:56:19 +08:00
2026-07-21 16:56:19 +08:00
2026-07-21 16:56:19 +08:00
2026-07-21 16:52:58 +08:00
2026-07-21 16:52:58 +08:00
2026-07-21 16:52:58 +08:00
2026-07-20 00:03:56 +08:00
2026-07-20 00:03:56 +08:00
2026-07-20 00:42:11 +08:00
2026-07-21 16:52:58 +08:00
2026-07-17 22:35:19 +08:00
2026-07-16 23:29:48 +08:00
2026-07-20 02:48:15 +08:00
2026-07-06 13:06:12 +08:00
2026-07-18 00:46:41 +08:00
2026-07-17 22:19:09 +08:00
2026-07-19 08:02:44 +08:00
2026-07-22 23:40:59 +08:00
2026-07-23 20:21:27 +08:00
2026-07-08 16:23:45 +08:00
2026-06-13 15:06:11 +08:00
2026-06-13 12:50:46 +08:00
2026-07-21 16:52:58 +08:00
2026-07-22 23:40:59 +08:00
2026-07-22 23:40:59 +08:00
2026-08-17 18:10:00 +08:00
2026-08-20 21:42:47 +08:00
2026-07-10 22:31:28 +08:00
2026-07-02 22:58:51 +08:00
2026-07-20 00:43:25 +08:00
2026-07-01 19:15:35 +08:00
2026-07-20 11:02:41 +08:00
2026-07-25 01:17:14 +08:00
2026-07-17 17:52:30 +08:00
2026-07-17 17:51:48 +08:00
2026-07-21 20:30:49 +08:00
2026-07-21 20:30:49 +08:00
2026-07-08 18:34:13 +08:00
2026-07-08 18:34:13 +08:00
2026-06-29 07:50:32 +08:00
2026-08-10 20:17:35 +08:00
2026-07-18 00:46:41 +08:00
2026-07-19 08:37:24 +08:00
2026-07-19 15:14:13 +08:00
2026-06-29 10:45:11 +08:00
2026-07-23 12:52:26 +08:00
2026-07-01 19:15:35 +08:00
2026-07-16 23:29:48 +08:00
2026-07-08 18:34:13 +08:00
2026-07-08 18:34:13 +08:00
2026-07-25 01:17:14 +08:00
2026-07-16 23:29:48 +08:00
2026-07-17 19:51:31 +08:00
2026-06-29 07:50:32 +08:00
2026-07-08 18:34:13 +08:00
2026-07-01 19:15:35 +08:00
2026-07-19 08:59:33 +08:00
2026-07-18 06:30:23 +08:00
2026-07-25 02:08:10 +08:00
2026-07-17 11:10:52 +08:00
2026-07-11 11:53:20 +08:00
2026-07-21 16:52:58 +08:00
2026-07-21 16:52:58 +08:00
2026-07-21 16:52:58 +08:00
2026-07-19 21:37:03 +08:00
2026-07-05 18:27:33 +08:00
2026-06-29 10:45:11 +08:00
2026-07-18 01:30:50 +08:00
2026-08-18 23:30:36 +08:00
2026-07-10 22:31:28 +08:00
2026-07-10 22:31:28 +08:00
2026-07-17 22:35:19 +08:00
2026-07-17 22:35:19 +08:00
2026-07-21 16:56:19 +08:00
2026-07-21 16:56:20 +08:00
2026-07-21 19:21:02 +08:00
2026-07-21 20:30:49 +08:00
2026-07-21 21:25:57 +08:00
2026-07-21 20:30:49 +08:00
2026-07-22 19:55:13 +08:00
2026-07-20 00:42:11 +08:00
2026-07-20 02:48:15 +08:00
2026-07-18 00:46:41 +08:00
2026-07-17 22:19:09 +08:00
2026-07-17 22:19:09 +08:00
2026-07-17 22:19:09 +08:00
2026-07-17 22:19:09 +08:00
2026-07-17 22:19:09 +08:00
2026-07-19 15:14:13 +08:00
2026-06-28 17:51:34 +08:00
2026-07-15 13:52:05 +08:00
2026-06-05 15:58:06 +08:00
2026-06-10 20:50:52 +08:00
2026-07-16 23:45:00 +08:00
2026-07-16 23:45:00 +08:00
2026-06-06 19:57:09 +08:00