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)
This commit is contained in:
Youzini-afk
2026-04-23 00:28:06 +08:00
parent e73407c156
commit e7cb7b31b6
7 changed files with 508 additions and 275 deletions

View File

@@ -2100,7 +2100,7 @@ function splitSectionedTranscriptPayloadMessage(message = {}) {
? EXTRACTION_TARGET_CONTENT_HEADER
: "";
if (
normalizedRole !== "system" ||
!["system", "user"].includes(normalizedRole) ||
!["recentMessages", "dialogueText"].includes(sourceKey) ||
!content.includes(EXTRACTION_CONTEXT_REVIEW_HEADER) ||
!targetSectionHeader
@@ -2154,7 +2154,7 @@ function splitSectionedTranscriptPayloadMessage(message = {}) {
current.header === EXTRACTION_CONTEXT_REVIEW_HEADER ? "context" : "target";
splitMessages.push(
createExecutionMessage(
"system",
normalizedRole,
sectionBody ? `${current.header}\n\n${sectionBody}` : current.header,
{
...sharedMeta,