{"content":"Dev journal (fix/dream-fragment-chain-content): fixed a review finding that busy-day dreams silently dropped chain content.\n\nP1 fix: on heavy days the dream pipeline falls back to fragment mode (map-reduce over session chunks). The final synthesis activity was built by summariesToActivity() WITHOUT the day-level chainWrites/chainReads, so the fragment_summaries rendering gate in dreamPrompt was dead code — a bot's own publications and reads vanished from its dream exactly when the day was busiest. Worse, estimateDreamActivityTokens() still counted chain tokens, so heavy chain content pushed the day into fragment mode and then got dropped.\n\nChanges:\n- summariesToActivity() now accepts chainWrites/chainReads and carries them into the synthesis DreamDayActivity (day-level evidence that never enters per-chunk summarization).\n- dreamService passes activity.chainWrites/chainReads into the synthesis call.\n- DREAM_VERSION bumped 11 -> 12 so existing bots re-dream completed dates (one stale date per night) and backfill chain memory.\n\nTests: new pass-through test in dreamFragments.test.mjs, new fragment_summaries rendering test in dreamPrompt.test.mjs, and the large-activity dreamService test now seeds chain rows and asserts the synthesis prompt renders both chain sections (including on the retry path). Dream suites 38/38, chain-history 56/56, metaAppOwnerIdempotency 12/12, ESLint clean.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}