玉澜
4b0f71eedc
test: close changed-code coverage gaps to satisfy the coverage gate
- fetch_mcp_metadata: extract run()/resolveToken()/writeMetadata with
injectable deps (keychain, servers, lister, registry, exit); full-path
tests reach 100% file coverage.
- internal/cli: drop dead initSafetyByCLIPath (superseded by ResolveMeta),
split buildMetaByCLIPath / assembleSchemaCatalogSnapshot /
assembleCommandRegistryFrom / mergedCommandRegistryJSON so shard and
malformed-snapshot failure modes are testable; cover catalog structure
violation formatting (sort/truncate) and RenderSafetyAnnotation.
- generators: cover registry shard merge and catalog shard write failure
modes.
- helpers/cmdutil: cover LeafSpec default/server dispatch, transform error
propagation, default env hint, devapp member remove validate chain, and
the required-flags error helpers.
Local gate: overall 90.17% vs merge-base 89.96%, changed-code 100%
(861 statements); make policy and go test ./... green.
2026-07-28 18:05:20 +08:00
..
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-14 08:11:27 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 15:19:25 +08:00
2026-07-17 10:23:40 +08:00
2026-07-15 23:38:37 +08:00
2026-07-17 10:23:40 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 23:02:20 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-15 11:41:30 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 12:04:31 +08:00
2026-07-19 09:38:43 +08:00
2026-07-23 00:18:46 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-23 00:03:58 +08:00
2026-07-23 13:00:05 +08:00
2026-07-23 13:00:05 +08:00
2026-07-17 13:44:18 +08:00
2026-07-10 21:40:36 +08:00
2026-07-23 17:43:12 +08:00
2026-07-16 10:58:56 +08:00
2026-07-28 12:09:57 +08:00
2026-07-07 19:07:03 +08:00
2026-07-13 20:33:56 +08:00
2026-06-11 12:18:25 +08:00
2026-06-11 12:18:25 +08:00
2026-07-15 23:14:16 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 11:41:30 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-06-13 23:34:37 +08:00
2026-06-13 23:34:37 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 17:07:51 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 22:31:21 +08:00
2026-07-15 15:19:25 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 11:41:30 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 22:31:21 +08:00
2026-07-15 15:19:25 +08:00
2026-06-13 23:25:04 +08:00
2026-06-13 23:25:04 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 23:14:16 +08:00
2026-07-15 12:08:39 +08:00
2026-06-24 10:30:04 +08:00
2026-06-24 10:30:04 +08:00
2026-06-24 10:30:04 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 23:02:20 +08:00
2026-07-16 10:58:56 +08:00
2026-07-12 23:11:08 +08:00
2026-07-12 23:11:08 +08:00
2026-07-12 23:11:08 +08:00
2026-07-15 22:19:49 +08:00
2026-07-15 23:02:20 +08:00
2026-07-15 23:14:16 +08:00
2026-07-15 12:08:39 +08:00
2026-07-06 00:46:47 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 22:31:21 +08:00
2026-07-15 15:19:25 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-15 23:02:20 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 11:41:30 +08:00
2026-07-15 12:08:39 +08:00
2026-07-15 12:08:39 +08:00
2026-06-11 12:18:25 +08:00
2026-07-15 22:19:49 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 22:31:21 +08:00
2026-07-15 15:19:25 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 11:41:30 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 22:31:21 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 22:19:49 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 22:19:49 +08:00
2026-07-15 23:14:16 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 23:14:16 +08:00
2026-07-15 12:08:39 +08:00
2026-07-09 21:28:35 +08:00
2026-07-09 21:28:35 +08:00
2026-06-14 10:41:37 +08:00
2026-06-15 17:22:45 +08:00
2026-07-16 10:58:56 +08:00
2026-06-13 21:39:45 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 23:14:16 +08:00
2026-07-15 17:07:51 +08:00
2026-07-16 10:58:56 +08:00
2026-06-24 20:36:26 +08:00
2026-07-15 12:08:39 +08:00
2026-07-15 15:19:25 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 12:38:05 +08:00
2026-07-23 17:43:12 +08:00
2026-07-23 17:43:12 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 11:41:30 +08:00
2026-07-28 14:30:29 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-14 08:11:27 +08:00
2026-07-07 19:07:03 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 16:34:45 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-06-16 17:09:06 +08:00
2026-07-28 18:05:20 +08:00
2026-07-16 10:58:56 +08:00
2026-06-18 18:34:12 +08:00
2026-06-18 18:34:12 +08:00
2026-07-06 00:46:47 +08:00
2026-07-16 11:40:55 +08:00
2026-07-19 09:38:43 +08:00
2026-07-14 00:06:37 +08:00
2026-07-14 19:04:05 +08:00
2026-07-16 10:58:56 +08:00
2026-07-13 21:09:27 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-23 17:43:12 +08:00
2026-07-23 17:43:12 +08:00
2026-07-23 17:43:12 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-23 17:43:12 +08:00
2026-07-23 17:43:12 +08:00
2026-07-07 20:48:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-07 19:07:03 +08:00
2026-07-28 14:30:29 +08:00
2026-07-16 10:58:56 +08:00
2026-07-13 21:09:27 +08:00
2026-07-28 12:09:57 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-17 13:44:18 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:25:38 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-28 16:48:42 +08:00
2026-07-22 16:31:10 +08:00
2026-07-22 16:31:10 +08:00
2026-07-07 19:07:03 +08:00
2026-07-23 00:03:58 +08:00
2026-07-14 19:04:05 +08:00
2026-07-16 10:58:56 +08:00
2026-07-17 15:04:13 +08:00
2026-03-28 17:51:22 +08:00
2026-07-15 12:08:39 +08:00
2026-07-28 18:05:20 +08:00
2026-07-28 16:48:42 +08:00
2026-07-28 16:48:42 +08:00
2026-07-07 19:07:03 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-13 22:51:38 +08:00
2026-07-14 00:06:37 +08:00
2026-07-15 12:08:39 +08:00
2026-07-24 11:05:14 +08:00
2026-07-23 17:43:13 +08:00
2026-07-24 11:05:14 +08:00
2026-07-14 08:11:27 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-28 11:36:44 +08:00
2026-07-16 10:58:56 +08:00
2026-07-08 14:06:57 +08:00
2026-07-07 19:07:03 +08:00
2026-07-21 15:07:59 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:41:59 +08:00
2026-07-23 17:43:12 +08:00
2026-07-24 09:43:16 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 12:08:39 +08:00
2026-07-07 19:07:03 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-15 12:08:39 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-16 10:58:56 +08:00
2026-07-15 11:41:30 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-14 08:11:27 +08:00
2026-07-17 15:04:13 +08:00
2026-07-15 18:21:30 +08:00
2026-07-16 10:58:56 +08:00
2026-07-16 10:24:58 +08:00
2026-07-16 10:58:56 +08:00
2026-07-08 14:06:57 +08:00
2026-07-13 21:09:27 +08:00
2026-07-14 08:11:27 +08:00
2026-07-16 10:58:56 +08:00
2026-07-14 08:11:27 +08:00
2026-07-16 10:58:56 +08:00
2026-07-17 15:04:13 +08:00
2026-07-17 15:04:13 +08:00
2026-07-13 21:09:27 +08:00
2026-07-13 21:09:27 +08:00
2026-07-07 19:07:03 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-14 08:11:27 +08:00
2026-07-15 23:14:16 +08:00
2026-03-27 17:55:57 +08:00
2026-03-27 17:55:57 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 19:07:03 +08:00
2026-07-28 12:09:57 +08:00
2026-07-16 10:58:56 +08:00
2026-07-13 22:51:38 +08:00
2026-07-28 12:09:57 +08:00
2026-07-28 12:09:57 +08:00
2026-07-16 10:58:56 +08:00
2026-07-07 23:38:23 +08:00
2026-07-15 15:31:08 +08:00
2026-07-23 17:43:12 +08:00
2026-07-16 10:58:56 +08:00