Yyunozor
7116a6f5f5
fix(llm): pin claude-cli output to a JSON schema when supported ( #2076 )
...
The claude-cli backend delivers the extraction schema in the user turn and
trusts the model to emit raw JSON. Newer Claude Code releases treat that
prompt as an agentic task and report the result in prose instead ("Knowledge
graph extracted — 21 nodes, 20 edges…"), so the graph parses empty, reads as
truncation, and adaptive-retry bisects without ever converging.
Pass --json-schema (structured output) when the CLI advertises it — probed
once via `claude --help` and cached — so the object shape is constrained
regardless of prompt framing. Older CLIs that predate the flag keep the
user-turn prompt as a fallback. The `result` envelope still carries the JSON
string, so the parse path is unchanged.
2026-07-22 15:51:03 +01:00
..
2026-07-15 10:58:57 +01:00
2026-07-15 15:09:17 +01:00
2026-07-21 18:39:05 +01:00
2026-07-05 11:41:18 +01:00
2026-07-11 11:52:12 +01:00
2026-07-16 23:48:07 +01:00
2026-07-20 13:29:54 +01:00
2026-07-21 13:03:34 +01:00
2026-07-08 12:09:40 +01:00
2026-07-16 16:38:12 +01:00
2026-07-14 13:19:16 +01:00
2026-07-16 23:48:07 +01:00
2026-07-15 13:13:30 +01:00
2026-07-22 15:51:03 +01:00
2026-07-18 19:07:16 +01:00
2026-07-12 23:57:16 +01:00
2026-07-11 16:31:10 +01:00
2026-07-18 19:07:16 +01:00
2026-07-18 12:04:23 +01:00
2026-07-08 01:16:58 +01:00
2026-07-10 21:57:16 +01:00
2026-07-14 13:51:42 +01:00
2026-07-20 15:28:59 +01:00
2026-07-14 23:42:06 +01:00
2026-07-17 00:09:02 +01:00
2026-07-22 15:27:07 +01:00
2026-07-16 23:42:47 +01:00
2026-07-13 10:29:26 +01:00
2026-07-20 11:31:36 +01:00
2026-07-21 21:33:12 +01:00
2026-07-22 15:40:00 +01:00
2026-07-09 13:22:36 +01:00
2026-07-20 16:35:14 +01:00
2026-07-06 16:43:21 +01:00
2026-07-20 15:35:40 +01:00
2026-07-06 16:49:31 +01:00
2026-07-18 19:07:16 +01:00
2026-07-15 00:41:36 +01:00
2026-07-20 11:29:22 +01:00
2026-07-16 23:42:47 +01:00
2026-07-06 16:43:21 +01:00
2026-07-06 16:38:42 +01:00
2026-07-21 12:40:49 +01:00
2026-07-10 02:11:36 +01:00
2026-07-09 10:44:50 +01:00
2026-07-20 11:41:44 +01:00
2026-07-21 12:59:10 +01:00
2026-07-20 15:40:32 +01:00
2026-07-20 11:29:22 +01:00
2026-07-04 22:12:47 +01:00
2026-07-17 10:54:07 +01:00
2026-07-08 12:45:08 +01:00
2026-07-15 10:58:57 +01:00
2026-07-03 18:34:41 +01:00
2026-07-04 22:12:47 +01:00
2026-07-06 12:44:47 +01:00
2026-07-17 00:02:15 +01:00
2026-07-09 00:32:21 +01:00
2026-07-09 00:32:21 +01:00
2026-07-09 01:06:02 +01:00
2026-07-21 12:54:58 +01:00
2026-07-16 16:36:49 +01:00
2026-07-04 21:22:39 +01:00
2026-07-04 03:12:23 +01:00
2026-07-15 19:51:53 +01:00
2026-07-18 12:03:47 +01:00
2026-07-21 21:45:53 +01:00
2026-07-12 10:36:00 +01:00
2026-07-06 00:45:51 +01:00
2026-07-06 16:38:42 +01:00
2026-07-06 12:36:12 +01:00
2026-07-07 10:57:52 +01:00
2026-07-11 11:31:47 +01:00
2026-07-18 19:07:16 +01:00
2026-07-10 20:24:25 +01:00
2026-07-18 19:09:53 +01:00
2026-07-16 23:36:49 +01:00
2026-07-04 03:12:23 +01:00
2026-07-15 15:14:34 +01:00
2026-07-21 21:46:42 +01:00
2026-07-16 16:38:12 +01:00
2026-07-21 14:22:50 +01:00
2026-07-04 03:12:23 +01:00
2026-07-14 23:32:02 +01:00
2026-07-20 13:57:12 +01:00
2026-07-18 12:03:34 +01:00
2026-07-05 10:33:07 +01:00