Commit 1240e7d
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
0 commit comments