32 Commits

Author SHA1 Message Date
Youzini-afk
6116d7bc6d fix: auto align legacy planner fake-default profiles 2026-04-23 17:52:21 +08:00
Youzini-afk
493b41fc63 refactor: planner prompt split into 13 modular blocks aligned with extract structure
- ena-planner-presets.js: split monolithic system prompt into 7 content constants (heading, role, identity-ack, info-ack, format, rules, seed)
- prompt-profiles.js: rewrite buildPlannerDefaultTaskProfileTemplate() to 13-block template, version 4->5 triggers auto-refresh
- prompt-profiles.js: fix getBuiltinBlockDefinitions() to show generic builtins for planner task type
- ena-planner.js: extend resolvePlannerBuiltinBlockContent() with generic sourceKey aliases
- ena-planner.js: add userPersona and storyTimeContext to planner block context
- tests: update planner block structure assertions
2026-04-23 17:26:11 +08:00
Youzini-afk
efff3b15b3 Integrate ENA planner task profiles 2026-04-23 16:26:32 +08:00
Youzini-afk
587f28e87b fix: update default task profile updatedAt to 2026-04-23 2026-04-23 00:33:13 +08:00
Youzini-afk
e7cb7b31b6 feat: optimize default prompt structure for U-shaped attention + fix opfs/ranking flakes
- Restructure all 7 task templates: add assistant identity-ack and info-ack blocks, restore reference materials to system role, keep only format+rules as user tail
- Fix writeJsonFile treating empty serializedText as valid (opfs-persistence flake)
- Fix shared-ranking test: strip diagnostic lastSearchTimings from side-effect comparison
- Update all related test assertions (prompt-builder-defaults, task-profile-migration, task-profile-storage, prompt-builder-mixed-transcript, p0-regressions, extractor-phase3-layered-context)
2026-04-23 00:28:32 +08:00
Youzini-afk
d3c199fee1 feat: 同批次节点默认弱关联边 + LLM 可增强/移除 + prompt 更新
- extractor: 批次操作完成后统一处理 links,再补默认弱 related 边(0.25)
- extractor: 支持 remove/delete/unlink/invalidate 语义显式移除边
- extractor: update 操作现在也能处理 links
- extractor: 边计数改为仅统计真正新增的边
- prompt: 输出格式示例加 links 字段,补 links/remove 语法说明
- prompt: 行为规则加关联边使用规范段落
- tests: 3 条回归覆盖默认弱边、显式覆盖、显式移除
2026-04-20 20:27:30 +08:00
Youzini-afk
359a2a07b7 feat: deepen luker host integration 2026-04-15 21:20:08 +08:00
Youzini-afk
360dfe3f19 feat: harden Luker sidecar persistence flow 2026-04-15 13:46:27 +08:00
Youzini-afk
47ffd5413d refactor(terminology): 层级总结为主路径,synopsis 标记为旧式全局概要
- README: 明确 summaryState 为主总结体系,legacy synopsis 为兼容兜底
- prompt-profiles: synopsis 任务标签改为「小总结」
- schema/task-graph-stats/panel: synopsis 节点显示为「全局概要(旧)」
- index.js: fallback 状态文案改为「旧式全局概要生成/更新中」
- p0-regressions: 同步更新断言字符串
2026-04-12 17:58:05 +08:00
Youzini-afk
ea105104a5 chore: 提取默认预设 event.title 字数要求从 6-18 改为 6-10 字
- prompting/prompt-profiles.js: FALLBACK_DEFAULT_TASK_BLOCKS extract role/rules
- prompting/default-task-profile-templates.js: extract default-role / default-rules 模板
- maintenance/extractor.js: buildDefaultExtractPrompt 规则说明
- graph/schema.js: event.title hint
2026-04-12 17:00:03 +08:00
Youzini-afk
64dec0df2b recall: sectioned recentMessages with context/target split for LLM prompt
- prompt-builder.js: add RECALL_TARGET_CONTENT_HEADER, update splitSectionedTranscriptPayloadMessage to recognize recall-specific target header
- retriever.js: add buildRecallSectionedTranscript helper, format recentMessages as sectioned transcript with context-review and recall-target headers for prompt building while keeping flat string[] for ranking
- p0-regressions.mjs: add testRecallUsesSectionedPromptMessagesForContextAndTarget regression asserting two system messages with correct transcriptSection and headers
2026-04-12 16:07:38 +08:00
Youzini-afk
dc5051f2ef feat: shared ranking core + prompt node references; recall reuses shared core for base query/vector/diffusion; remove retriever-local duplicate helpers; add regression tests 2026-04-12 14:59:37 +08:00
Youzini-afk
f40b03c306 feat: hide assistant card names in extraction transcript, split sectioned recentMessages into 2 system messages 2026-04-12 13:33:41 +08:00
Youzini-afk
559312c1b6 fix: preserve isContextOnly context/target dividers in final prompt transcript rendering
Root cause: formatPromptMessageTranscript in prompt-builder.js ignored
isContextOnly, so context review and extraction target sections were
flattened into plain transcript even though the flag was correctly set
in intermediate layers. Additionally, userPromptSections (which
contained the dividers) was only a fallback that never reached the
final prompt when block-based profiles had user blocks.

Fix:
- getPromptMessageLikeDescriptor now preserves isContextOnly flag
- formatPromptMessageTranscript now inserts context/target section
  dividers when messages carry isContextOnly, ensuring the final
  LLM prompt always shows the distinction regardless of which
  rendering path (recentMessages, chatMessages, dialogueText) is used

Regression tests:
- prompt-builder-mixed-transcript: verify recentMessages block content
  includes context review and extraction target dividers
- extractor-phase3-layered-context: end-to-end test proving default
  extract profile + default structured mode produces final promptMessages
  with context/target section dividers
2026-04-12 13:04:04 +08:00
Youzini-afk
30046dd66b feat(regex): move contamination cleanup to default global preset 2026-04-11 19:38:17 +08:00
Youzini-afk
0cb95c4f2b phase2-4 recall prompt-flow hardening 2026-04-11 18:51:59 +08:00
Youzini-afk
322752bb43 feat: improve shujuku-compatible extraction and recall input 2026-04-11 16:05:34 +08:00
Youzini-afk
5eaf8aaeb9 Enable candidate text regex stage by default 2026-04-10 20:13:34 +08:00
Youzini-afk
6882087c67 Refactor recall LLM selection protocol 2026-04-10 16:24:53 +08:00
Youzini-afk
ab99ca4fcc Fix world info at-depth chat injection ordering 2026-04-09 22:50:52 +08:00
Youzini-afk
c5c1d3acbf fix: sync builtin prompt defaults with fallback 2026-04-09 19:00:51 +08:00
Youzini-afk
9bedcb0091 fix: restore extract fallback rules prompt 2026-04-09 18:40:05 +08:00
Youzini-afk
a96fefc581 feat: optimize builtin task prompt copy 2026-04-09 17:40:41 +08:00
Youzini-afk
e4feda5471 Add hierarchical summary frontier system 2026-04-09 14:50:52 +08:00
Youzini-afk
14a0dbe59d Fix legacy task regex migration compatibility 2026-04-09 12:11:57 +08:00
Hao19911125
3533aeab18 Add global task regex migration and UI 2026-04-09 10:06:29 +08:00
Youzini-afk
922b716ff6 Fix host regex reuse for extraction inputs 2026-04-09 00:28:29 +08:00
Youzini-afk
323e1fd5b0 feat: add story timeline layer 2026-04-08 22:41:49 +08:00
Youzini-afk
d7989303d9 feat: support multi-owner scene recall anchors 2026-04-08 21:29:36 +08:00
Youzini-afk
a4fed87e6e feat(cognition): finish multi-character knowledge and monitor workflow 2026-04-08 18:21:38 +08:00
Youzini-afk
3be915ba7a Fix host import paths after directory reorganization 2026-04-08 01:39:45 +08:00
Youzini-afk
feec17f3e3 Reorganize modules into layered directories 2026-04-08 01:17:57 +08:00