• v1.13.6: compaction head-assembly audit + reasoning fix

    indifferentketchup released this 2026-05-22 08:18:47 +00:00

    Audit traced compaction's summary path post-v1.13.1-B read flip:

    • Q1: reads from messages_with_parts (view) — clean
    • Q2: parts shape correctly threaded through buildHeadPayload — clean
    • Q3: reasoning omitted from summary input — FIX NEEDED

    v1.13.1-C wired reasoning end-to-end into inference/payload.ts but
    missed this read site. Summarizer model couldn't see the reasoning
    trail for tool-bearing turns, quietly degrading summary quality for
    reasoning-channel models (qwen3.6).

    Fix:

    • CompactionMessage extended with reasoning_parts field
    • SELECT pulls reasoning_parts from messages_with_parts
    • buildHeadPayload (now exported for tests) prefixes assistant content
      with ...\n\n... when reasoning is
      present; standalone ... for tool-call-only
      turns; omits the tag when reasoning is null or empty

    4 new render branch tests (190 total).

    Smoke deferred: forcing real compaction requires either threshold
    pollution or building up a >40k-token chat with reasoning_parts.
    Render branches are unit-covered; integration would only re-prove
    structural correctness.

    Downloads