Charles Yao and Claude Opus 5
f1bf2fb318
feat(dify-builder): say when the workspace cannot cover the plan
...
Add assess_capability_gap: one plain sentence naming a plan step nothing
installed can perform, or "" when the plan is covered. Grounded only in
installed resources -- there is no marketplace lookup, so it names a missing
CAPABILITY, never a product to install. A missing_config tool (installed but
unauthorized, from the prior task's real readiness) doesn't count as
covering a step either, since the model is shown each option's readiness
alongside its label and kind.
Wired through the full agent seam: the DifyBuilderAgent protocol, the real
LlmBuilderAgent (delegates to build.assess_capability_gap), and the
PlaceholderAgent test double (returns ""). handlers_build.py calls it
after discover_resources and, when non-empty, appends a NoticeItem beside
the existing empty-resources notice -- the two are independent and can
both fire.
Like its sibling cognition functions, it degrades to "" (never raises) on
no model, an LLM error, or an unparseable reply: a gap that can't be
assessed isn't a gap worth inventing. The sentence is LLM-generated prose
already in the user's language (json_language_instruction), not a
catalogue entry, so no static string was added.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-20 16:13:02 -07:00
..
2026-09-18 08:59:54 +00:00
2026-09-02 06:54:47 +00:00
2026-08-29 14:05:35 +00:00
2026-09-08 01:30:39 +00:00
2026-09-20 16:13:02 -07:00
2026-09-07 04:39:43 +00:00
2026-09-19 09:25:48 +00:00
2026-09-19 09:26:15 +00:00
2026-09-19 07:54:35 +00:00
2026-09-18 09:17:36 +00:00
2026-09-19 09:27:05 +00:00
2026-08-29 14:05:34 +00:00
2026-09-07 08:29:57 +00:00
2026-08-11 06:19:08 +00:00
2026-08-06 04:14:12 +00:00
2026-09-04 07:38:01 +00:00
2026-08-27 08:51:05 +00:00
2026-09-03 06:20:21 +00:00
2026-08-21 05:56:30 +00:00
2026-08-21 05:56:30 +00:00
2026-09-18 05:10:25 +00:00
2026-08-21 08:46:06 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-08-31 03:22:01 +00:00
2026-09-18 05:10:25 +00:00
2026-09-11 02:41:35 +00:00
2026-09-03 01:38:59 +00:00
2026-09-03 01:38:59 +00:00
2026-09-18 05:10:25 +00:00
2026-08-21 05:56:30 +00:00
2026-09-03 06:20:21 +00:00
2026-09-03 06:20:21 +00:00
2026-09-03 08:47:14 +00:00
2026-09-03 08:47:14 +00:00
2026-09-03 01:38:59 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-03 01:38:59 +00:00
2026-09-20 02:01:55 +00:00
2026-08-29 14:05:34 +00:00
2026-09-17 07:05:02 +00:00
2026-08-25 10:21:32 +00:00
2026-09-12 04:55:53 +00:00
2026-09-08 01:14:06 +00:00
2026-08-20 05:11:46 +00:00
2026-08-19 07:23:47 +00:00
2026-09-18 05:10:25 +00:00
2026-08-29 14:05:35 +00:00
2026-09-04 12:16:31 +00:00
2026-09-17 12:54:40 +00:00
2026-08-18 12:23:33 +00:00
2026-09-20 09:45:05 +08:00
2026-09-02 06:54:47 +00:00
2026-09-07 02:47:00 +00:00
2026-09-07 02:47:00 +00:00
2026-08-18 12:01:49 +00:00
2026-08-20 05:11:46 +00:00
2026-09-18 05:10:25 +00:00
2026-09-07 08:29:57 +00:00
2026-09-18 05:10:25 +00:00
2026-09-19 09:26:15 +00:00
2026-08-28 14:47:16 +00:00
2026-08-28 14:47:16 +00:00
2026-09-02 06:54:47 +00:00
2026-09-08 03:31:01 +00:00
2026-08-18 12:26:01 +00:00
2026-08-28 14:47:16 +00:00
2026-08-26 07:33:37 +00:00
2026-09-02 10:30:42 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-07 08:29:57 +00:00
2026-09-08 10:22:20 +00:00
2026-08-18 12:01:29 +00:00
2026-09-07 08:29:57 +00:00
2026-09-07 08:29:57 +00:00
2026-08-29 14:05:35 +00:00
2026-08-18 12:23:33 +00:00
2026-09-07 08:29:57 +00:00
2026-09-02 06:54:47 +00:00
2026-08-23 12:38:04 -07:00
2026-09-09 04:38:50 +00:00
2026-09-01 11:50:52 +00:00
2026-09-07 08:29:57 +00:00
2026-09-07 08:29:57 +00:00
2026-08-25 10:26:06 +00:00
2026-09-01 11:50:52 +00:00
2026-09-08 05:42:22 +00:00
2026-08-10 03:27:56 +00:00
2026-09-04 02:01:35 +00:00
2026-09-04 02:01:35 +00:00
2026-08-04 13:14:02 +00:00
2026-09-18 05:10:25 +00:00
2026-08-29 14:05:34 +00:00
2026-09-07 03:21:33 +00:00
2026-08-29 14:05:34 +00:00
2026-09-09 02:56:40 +00:00
2026-08-12 08:42:09 +00:00
2026-09-01 11:50:52 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-07 08:59:18 +00:00
2026-09-03 05:02:09 +00:00
2026-08-18 12:01:49 +00:00
2026-08-11 16:37:14 +00:00
2026-08-11 16:37:14 +00:00
2026-09-18 05:10:25 +00:00
2026-08-07 00:42:13 +00:00
2026-09-18 09:17:35 +00:00
2026-08-31 04:37:07 +00:00
2026-09-04 01:52:30 +00:00
2026-08-26 07:33:37 +00:00
2026-09-18 08:42:53 +00:00
2026-08-26 07:33:37 +00:00
2026-09-08 03:42:32 +00:00
2026-09-08 03:42:32 +00:00
2026-09-07 08:29:57 +00:00
2026-09-07 04:39:43 +00:00
2026-09-15 12:45:34 +00:00
2026-08-29 14:05:35 +00:00
2026-09-04 06:03:46 +00:00
2026-09-03 06:00:13 +00:00
2026-09-18 05:10:25 +00:00
2026-08-08 11:52:15 +00:00
2026-08-24 01:57:17 +00:00
2026-08-08 11:52:15 +00:00
2026-09-17 09:52:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-10 04:11:28 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-09-02 06:54:47 +00:00
2026-08-29 14:05:34 +00:00
2026-09-08 02:51:11 +00:00
2026-09-04 07:21:17 +00:00
2026-08-29 14:05:34 +00:00
2026-09-08 02:03:24 +00:00
2026-08-29 14:05:34 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-09-09 02:56:40 +00:00
2026-09-01 11:50:52 +00:00
2026-09-01 11:50:52 +00:00
2026-08-20 02:27:49 +00:00
2026-08-29 14:05:34 +00:00
2026-09-09 09:02:04 +00:00
2026-09-18 05:10:25 +00:00
2026-08-02 02:49:17 +00:00
2026-09-04 10:06:46 +00:00
2026-09-18 05:10:25 +00:00
2026-09-18 05:10:25 +00:00
2026-08-25 10:21:32 +00:00
2026-09-08 09:31:08 +00:00
2026-09-04 08:16:49 +00:00
2026-09-08 09:31:08 +00:00
2026-09-01 11:50:52 +00:00
2026-09-02 06:54:47 +00:00
2026-09-07 08:29:57 +00:00
2026-09-02 06:54:47 +00:00
2026-08-06 01:08:39 +00:00
2026-09-10 04:13:53 +00:00