Skip to content

Commit 1240e7d

Browse files
docs(spec): CK Message normative specification (spec #1)
Promotes the ck-message-field-inventory draft into the normative CK Message spec that is the foundation + canonical-blessing artifact for the MC-under-SUBC build. Normative: CK superset + projection + the keystone conformance invariant as a checkable property test; the 3-bucket field model with every field bucketed; the full CK Rust type (Role, ContentBlock incl Media, HarnessMeta); the composable decide_reasoning predicate with the cache-critical FROZEN-BIT rule; EmptyContent (decide_drop_shape, MC reference) + ReasoningContentRequired (default-off) as the two net-new typed policies; synthesize_hard_stop tool-pairing; step_context / cache_control as render params; Media bucket-a/deferred-owned-render/fail-loud. Folds in two CK#1 field-ownership decisions surfaced by llm-runner's codec spec: - tool_call_id = CK-canonical with per-edge native<->canonical mapping; pairing on canonical; identity-preserving where a native id exists (no durable mapping state); name-binding families (Gemini) resolved per-render. Plus a §5.9 edge-normalization ownership table for every cross-edge field. - system block = opaque pinned bucket-a content; no distinct identity field; identity placement is render-side SystemPromptPolicy; volatile identity leads are a render-config stabilization concern, not a CK field. Co-authored-by: Alfonso [Magic Context] <288211368+alfonso-magic-context@users.noreply.github.com>
1 parent cf0a80a commit 1240e7d

1 file changed

Lines changed: 441 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)