Documentation

Schema · Metadata

Metadata, intent and domain

The first three sections of a CKF package describe what the package is, why it exists and where it sits in a domain map.

metadata

FieldTypeRequiredDescription
package_idstringyesStable slug. Kebab-case. Used for cross-package references.
protocol_versionstringyesVersion of CKF this package targets.
source_typestringyesarticle | book | transcript | code | policy | …
source_titlestringyesOriginal title of the source.
source_authorstringyesAuthor name. Use "unknown" if missing.
domainDomainyesTop-level domain enum.
subdomainsstring[]noFree-form sub-areas relevant to the source.
languagestringyesBCP-47 language tag.
created_atstringyesISO-8601 timestamp.
compression_levelenumyesHow aggressive the structuring was.
human_readabilitynumberyes0.00–1.00. How easy a human can still read the package.
ai_utility_scorenumberyes0.00–1.00. How useful the extractor judged it for agents.
ts
interface CkfMetadata {
  package_id: string;            // stable slug, kebab-case
  protocol_version: string;      // e.g. "0.1"
  source_type: string;           // article | book | transcript | code | ...
  source_title: string;
  source_author: string;
  domain: Domain;
  subdomains: string[];
  language: string;              // BCP-47, e.g. "en", "pt-BR"
  created_at: string;            // ISO-8601
  compression_level: "light" | "standard" | "dense" | "agentic";
  human_readability: number;     // 0.00 - 1.00
  ai_utility_score: number;      // 0.00 - 1.00
}

core_intent

Why the package exists, who it's for, and what an agent should do with it.

ts
interface CoreIntent {
  primary_purpose: string;
  intended_user: string;
  intended_agent_use: string;
  transformation_goal: string;
  key_value: string;
}

domain_map

Locates the package in a domain graph so retrieval systems can score relevance across topics.

ts
interface DomainMap {
  main_domain: Domain;
  subdomains: { name: string; relevance: number; related_concepts: string[] }[];
  adjacent_domains: string[];
  excluded_domains: string[];
}