xl-openai
72d937ed4d
Preserve discovery paths for symlinked skills ( #37144 )
...
## Why
Symlinked skills have a canonical `SKILL.md` path that can differ from the path
under the configured skill root. A catalog entry that advertises the discovery
path must still select the canonical skill.
## What changed
- Track each loaded skill's discovery path alongside its canonical identity.
- Render discovery paths in the skill catalog and accept either form for
structured selections and linked skill mentions.
- Preserve enabled-state checks, deduplication, and product filtering when
resolving discovery paths.
## Testing
Added loader, catalog, mention-resolution, and end-to-end turn coverage for
skills discovered through directory symlinks.
GitOrigin-RevId: bae539b766cc3782c7c121a4276c337699cbb509
2026-08-05 19:51:51 +00:00
..
2026-08-04 00:51:53 +00:00
2026-06-08 13:55:15 -07:00
2026-06-08 13:55:15 -07:00
2026-08-04 12:36:14 +00:00
2026-07-25 01:05:33 +00:00
2026-07-22 19:31:54 +00:00
2026-07-22 02:19:45 +00:00
2026-08-03 21:37:17 +00:00
2026-07-22 19:31:54 +00:00
2026-08-05 08:04:15 +00:00
2026-07-31 15:40:52 +00:00
2026-07-09 03:40:08 +00:00
2026-07-28 21:58:33 +00:00
2026-07-31 17:12:10 +00:00
2026-07-08 15:27:04 -07:00
2026-08-05 04:07:59 +00:00
2026-07-21 14:57:39 +00:00
2026-07-31 20:49:08 +00:00
2026-07-22 01:23:44 +00:00
2026-08-04 22:07:56 +00:00
2026-08-04 15:23:43 +00:00
2026-07-31 20:49:08 +00:00
2026-07-30 16:44:18 +00:00
2026-06-19 05:35:57 -07:00
2026-07-20 19:23:21 +00:00
2026-06-18 14:09:38 +02:00
2026-07-21 19:17:18 +00:00
2026-07-30 04:03:33 +00:00
2026-08-04 15:23:43 +00:00
2026-08-03 15:59:00 +00:00
2026-08-05 14:20:59 +00:00
2026-08-03 18:51:46 +00:00
2026-08-01 01:03:42 +00:00
2026-08-05 18:19:22 +00:00
2026-08-04 23:04:11 +00:00
2026-07-25 16:06:54 +00:00
2026-06-08 13:55:15 -07:00
2026-06-15 21:53:47 -07:00
2026-07-21 18:23:26 +00:00
2026-08-04 15:23:43 +00:00
2026-08-04 15:23:43 +00:00
2026-08-03 18:51:46 +00:00
2026-07-31 16:12:46 +00:00
2026-08-03 17:06:46 +00:00
2026-07-30 01:37:41 +00:00
2026-08-04 23:04:11 +00:00
2026-05-18 21:03:51 -07:00
2026-07-30 20:24:29 +00:00
2026-08-05 08:04:15 +00:00
2026-07-31 20:49:08 +00:00
2026-08-05 08:04:15 +00:00
2026-06-08 13:55:15 -07:00
2026-07-31 20:49:08 +00:00
2026-08-04 17:13:13 +00:00
2026-07-17 16:07:24 +00:00
2026-07-30 15:50:04 +00:00
2026-07-29 18:06:14 +00:00
2026-07-20 19:23:21 +00:00
2026-06-08 13:55:15 -07:00
2026-08-04 18:52:41 +00:00
2026-08-03 19:30:40 +00:00
2026-08-05 08:04:15 +00:00
2026-08-05 04:54:33 +00:00
2026-07-14 10:37:23 +00:00
2026-08-03 19:30:40 +00:00
2026-07-22 20:23:35 +00:00
2026-06-08 13:55:15 -07:00
2026-08-04 15:23:43 +00:00
2026-08-01 01:17:26 +00:00
2026-07-31 14:01:29 +00:00
2026-08-05 08:04:15 +00:00
2026-06-08 13:55:15 -07:00
2026-07-30 11:41:47 +00:00
2026-07-20 19:23:21 +00:00
2026-07-27 21:43:27 +00:00
2026-08-04 22:58:02 +00:00
2026-06-08 13:55:15 -07:00
2026-08-05 04:07:59 +00:00
2026-07-22 00:50:28 +00:00
2026-08-04 15:23:43 +00:00
2026-07-31 20:49:08 +00:00
2026-08-04 18:09:58 +00:00
2026-08-05 09:39:05 +00:00
2026-08-03 09:46:38 +00:00
2026-07-23 19:19:35 +00:00
2026-07-06 17:04:26 +00:00
2026-07-08 16:24:12 -07:00
2026-08-05 04:07:59 +00:00
2026-07-31 15:34:03 +00:00
2026-06-23 14:27:13 -07:00
2026-08-03 14:14:41 +00:00
2026-06-08 13:55:15 -07:00
2026-08-04 21:42:03 +00:00
2026-08-05 19:51:51 +00:00
2026-08-05 08:04:15 +00:00
2026-08-03 18:51:46 +00:00
2026-07-23 00:02:15 +00:00
2026-07-23 00:02:15 +00:00
2026-08-04 12:36:14 +00:00
2026-08-04 20:48:40 +00:00
2026-06-15 21:53:47 -07:00
2026-06-15 21:53:47 -07:00
2026-08-05 08:01:47 +00:00
2026-08-03 18:51:46 +00:00
2026-06-15 21:53:47 -07:00
2026-07-27 18:07:31 +00:00
2026-07-21 19:17:18 +00:00
2026-08-03 23:33:05 +00:00
2026-08-04 15:23:43 +00:00
2026-07-31 20:17:25 +00:00
2026-06-08 13:55:15 -07:00
2026-06-16 10:37:06 -07:00
2026-08-05 18:19:22 +00:00
2026-08-04 17:55:28 +00:00
2026-06-08 13:55:15 -07:00
2026-06-15 21:53:47 -07:00
2026-07-21 19:17:18 +00:00
2026-08-05 06:38:57 +00:00