3 Commits

Author SHA1 Message Date
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
322752bb43 feat: improve shujuku-compatible extraction and recall input 2026-04-11 16:05:34 +08:00