![coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)


fc1d11839c
feat(skills): consolidate Itô market skills into ito-baskets; align ito-training fail-closed contract (#2770)
* feat(skills): consolidate Itô market skills into ito-baskets; align ito-training fail-closed contract
- Replace ito-basket-compare, ito-market-intelligence, ito-data-atlas-agent,
and ito-trade-planner with one read-only ito-baskets skill (index, compare,
brief, worksheet modes) preserving every non-advisory, provenance,
freshness, and recovery contract
- Extend the GET-only client with anonymous basket-index/basket-detail
commands that validate the ito.public_basket_read.v1 contract and never
transmit a credential to public routes
- Rewrite ito-training to the same fail-closed availability-check structure
as ito-inference: pre-spawn rejection, server-verified booking entitlement,
opaque confirmation-ref, manifest digest binding, idempotent lifecycle
- Update install module, npm files, README/docs catalog counts (287 -> 284),
and add consolidated contract tests
* test: anchor Itô API origin assertion (CodeQL js/regex/missing-regexp-anchor)
* test: avoid URL-literal substring assertion (CodeQL js/incomplete-url-substring-sanitization)
* fix: apply CodeRabbit auto-fixes
Fixed 1 file(s) based on 1 unresolved review comment.
Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
2026-08-12 15:52:26 -04:00
..
2026-08-05 18:17:10 -04:00
2026-06-04 21:45:13 +08:00
2026-06-11 16:21:53 -04:00
2026-08-07 14:55:22 -04:00
2026-05-18 10:24:21 -04:00
2026-08-12 15:52:26 -04:00
2026-08-11 19:36:48 -04:00
2026-06-07 16:05:28 +08:00
2026-08-12 00:43:58 -04:00
2026-08-12 00:43:58 -04:00
2026-08-12 00:43:58 -04:00
2026-07-27 14:01:42 -04:00
2026-06-11 16:21:53 -04:00
2026-05-19 20:54:15 -04:00
2026-08-07 14:53:13 -04:00
2026-06-07 13:26:58 +08:00
2026-08-12 15:52:26 -04:00
2026-06-11 16:21:53 -04:00
2026-06-07 13:26:58 +08:00
2026-08-12 15:52:26 -04:00
2026-08-12 00:43:58 -04:00
2026-03-20 00:21:37 -07:00
2026-04-29 21:28:59 -04:00
2026-07-23 19:28:55 -07:00
2026-04-06 14:21:28 -07:00
2026-07-22 20:44:37 -04:00
2026-07-26 02:46:59 -07:00
2026-07-08 17:12:48 -04:00
2026-03-04 14:48:06 -08:00
2026-07-26 01:46:56 -07:00
2026-05-18 08:56:17 -04:00
2026-03-14 12:55:25 -07:00
2026-07-03 20:35:58 -07:00
2026-04-10 11:53:17 -07:00
2026-07-26 02:46:59 -07:00
2026-04-06 14:12:21 -07:00
2026-05-11 11:10:59 -04:00
2026-05-17 14:47:29 -04:00
2026-04-05 14:39:55 -07:00
2026-06-09 23:28:35 -04:00
2026-03-14 12:55:25 -07:00
2026-07-09 03:53:51 -04:00
2026-03-14 12:55:25 -07:00
2026-05-12 00:06:41 -04:00
2026-03-14 12:55:25 -07:00
2026-03-14 12:55:25 -07:00
2026-05-11 11:27:46 -04:00
2026-08-06 15:39:49 -04:00
2026-03-14 12:55:25 -07:00
2026-03-22 15:39:51 -07:00
2026-04-06 14:30:23 -07:00
2026-04-05 15:03:59 -07:00
2026-03-22 15:39:48 -07:00
2026-05-18 06:35:44 -04:00
2026-05-17 01:53:57 -04:00
2026-07-09 03:53:51 -04:00