You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(cache-policy): verified provider healing profiles in CK inventory
Source-grounded ground-truth pass on the OpenCode<->Pi quirk divergences ahead of
the MC-under-SUBC migration. Verified every divergent quirk is still valid (none
obsolete) and added a 'Provider healing profiles' section establishing the
organizing principle: quirk_pass_work = provider_requirement - serializer_healing,
a per-path property.
Verified (current source + harness-owner confirmation, not stale comments):
- @ai-sdk/anthropic 4.0.1 (latest) groupIntoBlocks still merges consecutive
assistants and pushes thinking in source order (no reposition); OpenCode 1.17.10
ships 3.0.82. stripReasoningFromMergedAssistants stays required.
- OpenCode AI-SDK ProviderTransform.message empty-filter covers anthropic+bedrock
only (exact model.api.npm, excludes google-vertex/anthropic); a separate V2 core
runner path heals universally.
- Pi 0.80.2 serializers heal empties universally (drop empty text/thinking,
auto-fill reasoning_content='') and never merge consecutive assistants.
Migration consequence: on the owned/llm-runner path the residual can be ZERO if
llm-runner heals like Pi - Pi is named the reference implementation and the
llm-runner column is the spec to fill.
Co-authored-by: Alfonso [Magic Context] <288211368+alfonso-magic-context@users.noreply.github.com>
| drop empty text | universal |**anthropic + bedrock only** (exact `model.api.npm`; excludes google-vertex/anthropic) | universal |**TBD - must specify**|
132
+
| drop empty thinking | universal | anthropic + bedrock only | universal |**TBD**|
133
+
| auto-fill `reasoning_content=""`| yes (`requiresReasoningContentOnAssistantMessages`) | not in this path | n/a (native lowering) |**TBD**|
134
+
| no consecutive-assistant merge (avoids interleaved-thinking 400) |**never merges** - one provider message per assistant |**merges** (`@ai-sdk/anthropic``groupIntoBlocks`, still unfixed in 4.0.1 latest; OC ships 3.0.82) | n/a |**should follow Pi: do not merge**|
0 commit comments