wizardchen
5d0326f987
fix(wiki): harden slug integrity across ingest and agent write paths
...
Weak LLMs routinely mangle high-entropy wiki slugs (especially UUID-based
summary/<id> slugs), producing dead cross-links and cross-item dedup
hallucinations. This tightens integrity end to end:
- Ingest dedup now groups each new item with only its own trigram
candidates and validates merges against that per-item scope, rejecting
cross-item mispairings; candidate top-K narrowed 20 -> 5.
- Editor path aliases out-link slugs behind low-entropy ref-N tokens and
translates them back after generation, removing the chance to mangle.
- Agent write tool normalizes/validates slugs, blocks manual creation of
system-owned summary pages, and auto-repairs dead [[slug]] links
(rewrite-only, never strips) via bigram/display-text resolution.
- llmresource registry aliases summary/<uuid> slugs the same way as
storage handles so they round-trip safely through chat.
Adds unit tests for slug validation, aliasing round-trip, dead-link
repair, and dedup rejection rules.
2026-07-24 15:57:08 +08:00
..
2026-07-23 19:17:30 +08:00
2026-07-15 17:02:43 +08:00
2026-06-08 21:01:04 +08:00
2026-07-17 10:19:43 +08:00
2026-07-17 10:19:43 +08:00
2026-06-25 23:33:39 +08:00
2026-06-29 18:09:44 +08:00
2026-05-18 16:49:14 +08:00
2026-07-23 10:50:32 +08:00
2026-07-13 17:09:58 +08:00
2026-05-18 17:28:58 +08:00
2026-05-18 17:28:58 +08:00
2026-05-18 17:28:58 +08:00
2026-05-18 17:28:58 +08:00
2026-07-23 10:50:32 +08:00
2026-07-17 10:19:43 +08:00
2026-07-24 10:46:53 +08:00
2026-07-17 10:19:43 +08:00
2026-07-24 10:46:53 +08:00
2026-07-21 16:14:22 +08:00
2026-07-21 16:14:22 +08:00
2026-07-23 10:50:32 +08:00
2026-07-21 16:14:22 +08:00
2026-06-12 23:10:39 +08:00
2026-07-18 23:41:48 +08:00
2026-07-18 23:41:48 +08:00
2026-07-24 10:46:53 +08:00
2026-06-12 23:10:39 +08:00
2026-06-12 23:10:39 +08:00
2026-07-02 19:15:46 +08:00
2026-07-02 19:15:46 +08:00
2026-07-15 14:54:39 +08:00
2026-07-17 10:19:43 +08:00
2026-07-23 10:50:32 +08:00
2026-05-30 17:53:47 +08:00
2026-07-14 15:38:06 +08:00
2026-07-13 12:16:19 +08:00
2026-07-15 17:02:43 +08:00
2026-07-23 10:50:32 +08:00
2026-07-23 10:50:32 +08:00
2026-07-23 10:50:32 +08:00
2026-07-22 15:27:11 +08:00
2026-07-23 10:50:32 +08:00
2026-06-29 18:09:44 +08:00
2026-07-23 10:50:32 +08:00
2026-06-12 23:08:20 +08:00
2026-07-23 19:17:30 +08:00
2026-07-23 10:50:32 +08:00
2026-07-23 10:50:32 +08:00
2026-07-14 17:55:26 +08:00
2026-07-14 17:55:26 +08:00
2026-06-05 15:00:41 +08:00
2026-05-18 17:28:58 +08:00
2026-07-22 17:38:28 +08:00
2026-07-22 17:38:28 +08:00
2026-07-14 11:56:29 +08:00
2026-07-15 14:54:39 +08:00
2026-05-29 17:52:01 +08:00
2026-07-23 19:17:30 +08:00
2026-05-18 17:28:58 +08:00
2026-07-13 10:38:50 +08:00
2026-07-22 17:38:28 +08:00
2026-05-06 17:09:42 +08:00
2026-05-06 11:23:32 +08:00
2026-07-13 15:51:06 +08:00
2026-07-13 15:51:06 +08:00
2026-07-02 12:27:48 +08:00
2026-07-23 10:43:31 +08:00
2026-07-23 10:50:32 +08:00
2026-06-23 17:30:38 +08:00
2026-07-15 11:05:00 +08:00
2026-05-26 20:54:58 +08:00
2026-05-20 22:25:39 +08:00
2026-05-20 22:25:39 +08:00
2026-05-06 17:17:07 +08:00
2026-05-18 17:28:58 +08:00
2026-06-04 15:48:04 +08:00
2026-07-17 10:19:43 +08:00
2026-07-23 12:17:14 +08:00
2026-07-23 12:20:03 +08:00
2026-06-22 20:19:31 +08:00
2026-06-30 20:01:05 +08:00
2026-05-10 22:57:12 +08:00
2026-07-15 19:16:53 +08:00
2026-07-17 10:19:43 +08:00
2026-07-20 19:31:02 +08:00
2026-07-14 15:56:02 +08:00
2026-07-14 15:56:02 +08:00
2026-07-14 16:14:43 +08:00
2026-05-18 17:28:58 +08:00
2026-07-15 17:02:43 +08:00
2026-07-22 17:09:55 +08:00
2026-06-29 18:09:44 +08:00
2026-07-17 10:19:43 +08:00
2026-07-17 11:38:35 +08:00
2026-07-18 23:41:48 +08:00
2026-06-25 23:33:39 +08:00
2026-07-07 12:00:13 +08:00
2026-07-17 10:19:43 +08:00
2026-07-17 10:19:43 +08:00
2026-07-22 14:25:55 +08:00
2026-07-22 14:25:55 +08:00
2026-05-10 00:01:06 +08:00
2026-05-10 00:01:06 +08:00
2026-07-15 14:54:39 +08:00
2026-07-15 17:02:43 +08:00
2026-07-13 15:51:06 +08:00
2026-07-14 16:14:43 +08:00
2026-07-23 10:50:32 +08:00
2026-07-16 17:41:27 +08:00
2026-07-16 17:41:27 +08:00
2026-07-22 17:09:55 +08:00
2026-07-22 17:09:55 +08:00
2026-07-23 16:04:42 +08:00
2026-07-23 16:04:42 +08:00
2026-07-23 16:04:42 +08:00
2026-07-23 16:04:42 +08:00
2026-07-15 14:54:39 +08:00
2026-07-15 14:54:39 +08:00
2026-07-13 20:11:00 +08:00
2026-07-02 17:08:17 +08:00
2026-07-02 19:15:46 +08:00
2026-07-13 18:13:51 +08:00
2026-05-18 17:28:58 +08:00
2026-07-18 23:41:48 +08:00
2026-06-04 15:26:56 +08:00
2026-05-29 16:32:27 +08:00
2026-06-04 15:26:56 +08:00
2026-07-15 14:54:39 +08:00
2026-06-04 15:26:56 +08:00
2026-07-20 12:15:35 +08:00
2026-07-20 12:15:35 +08:00
2026-07-14 16:14:43 +08:00
2026-07-14 16:14:43 +08:00
2026-07-23 12:17:14 +08:00
2026-07-22 19:27:22 +08:00
2026-07-24 15:57:08 +08:00
2026-07-13 12:16:19 +08:00
2026-07-24 15:57:08 +08:00
2026-07-24 15:57:08 +08:00
2026-05-08 21:48:52 +08:00
2026-06-16 23:51:29 +08:00
2026-06-16 23:51:29 +08:00
2026-07-23 19:17:30 +08:00
2026-07-24 15:57:08 +08:00
2026-05-10 00:01:06 +08:00
2026-07-23 10:50:32 +08:00
2026-07-24 15:57:08 +08:00
2026-07-24 15:57:08 +08:00
2026-07-24 15:57:08 +08:00
2026-07-24 15:57:08 +08:00