Files
yvgude--lean-ctx/docs/specs/context-package-v2.schema.json
wehub-resource-sync 26382a7ac6
CI / Clippy (push) Failing after 15m13s
CI / Test (ubuntu-latest) (push) Failing after 16m1s
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Build (no embeddings / no ORT) (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / Cookbook (Node) (push) Has been cancelled
CI / Pi Extension (Node) (push) Has been cancelled
CI / Rust SDK (lean-ctx-client) (push) Has been cancelled
CI / Embed SDK (lean-ctx-sdk) (push) Has been cancelled
CI / Python SDK (leanctx) (push) Has been cancelled
CI / Hermes Plugin (Python) (push) Has been cancelled
CI / SDK Conformance Matrix (push) Has been cancelled
CI / Coverage (push) Has been cancelled
CI / cargo-deny (push) Has been cancelled
CI / Adversarial Safety (push) Has been cancelled
CI / Benchmarks (push) Has been cancelled
CI / Output-Quality Gate (eval A/B) (push) Has been cancelled
CI / Documentation (push) Has been cancelled
CI / CI Green (push) Has been cancelled
JetBrains Plugin / Actionlint (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (rust) (push) Has been cancelled
JetBrains Plugin / Validation (push) Has been cancelled
JetBrains Plugin / Build (push) Has been cancelled
JetBrains Plugin / Test (push) Has been cancelled
Security Check / Security Scan (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:35:30 +08:00

355 lines
10 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ctxpkg.org/schemas/context-package-v2.schema.json",
"title": ".ctxpkg v2 Package",
"description": "Schema for .ctxpkg v2 context packages — graph-native, composable AI-agent context.",
"type": "object",
"required": ["manifest", "content"],
"properties": {
"manifest": { "$ref": "#/$defs/Manifest" },
"content": { "$ref": "#/$defs/Content" }
},
"$defs": {
"Manifest": {
"type": "object",
"required": ["schema_version", "name", "version", "description", "created_at", "layers", "integrity", "provenance"],
"properties": {
"schema_version": {
"type": "integer",
"enum": [1, 2],
"description": "1 for v1, 2 for v2 packages"
},
"conformance_level": {
"type": "integer",
"enum": [1, 2, 3],
"description": "1=Basic, 2=Graph, 3=Cognitive"
},
"kind": {
"type": "string",
"enum": ["context", "skills", "addon", "grammar"],
"default": "context",
"description": "What the package delivers (unified distribution). Omitted for the default 'context'; non-context kinds require schema_version 2."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[a-zA-Z0-9._@/-]+$",
"description": "Package name, optionally scoped as @scope/name"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "SemVer version string"
},
"description": {
"type": "string",
"description": "Human-readable package description"
},
"author": {
"type": "string"
},
"scope": {
"type": "string",
"description": "Namespace prefix (e.g., @company, @verified)"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"layers": {
"type": "array",
"items": {
"type": "string",
"enum": ["knowledge", "graph", "session", "patterns", "gotchas"]
},
"uniqueItems": true,
"description": "Legacy v1 layer indicators"
},
"dependencies": {
"type": "array",
"items": { "$ref": "#/$defs/Dependency" }
},
"tags": {
"type": "array",
"items": { "type": "string" }
},
"integrity": { "$ref": "#/$defs/Integrity" },
"provenance": { "$ref": "#/$defs/Provenance" },
"compatibility": { "$ref": "#/$defs/Compatibility" },
"stats": { "$ref": "#/$defs/Stats" },
"signature": { "$ref": "#/$defs/Signature" },
"graph_summary": { "$ref": "#/$defs/GraphSummary" },
"marketplace": { "$ref": "#/$defs/Marketplace" }
}
},
"Content": {
"type": "object",
"properties": {
"knowledge": { "$ref": "#/$defs/KnowledgeLayer" },
"graph": { "$ref": "#/$defs/GraphLayer" },
"session": { "$ref": "#/$defs/SessionLayer" },
"patterns": { "$ref": "#/$defs/PatternsLayer" },
"gotchas": { "$ref": "#/$defs/GotchasLayer" },
"context_graph": { "$ref": "#/$defs/ContextGraph" }
}
},
"ContextGraph": {
"type": "object",
"required": ["format", "nodes", "edges"],
"properties": {
"format": {
"type": "string",
"const": "ctxpkg-graph-v2"
},
"nodes": {
"type": "array",
"items": { "$ref": "#/$defs/ContextNode" }
},
"edges": {
"type": "array",
"items": { "$ref": "#/$defs/ContextEdge" }
}
}
},
"ContextNode": {
"type": "object",
"required": ["id", "type", "content"],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier within this package"
},
"type": {
"type": "string",
"description": "Node type (fact, gotcha, decision, code_symbol, etc.)"
},
"content": {
"type": "string",
"description": "Node content / value"
},
"activation": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 1.0,
"description": "Activation energy (Phi score)"
},
"category": { "type": "string" },
"source": { "type": "string" },
"created_at": { "type": "string", "format": "date-time" },
"decay_half_life_days": {
"type": "integer",
"minimum": 0,
"description": "Temporal decay half-life in days"
},
"blob_ref": {
"type": "string",
"description": "Reference to content-addressable blob (sha256-...)"
},
"file_path": { "type": "string" },
"line_start": { "type": "integer", "minimum": 0 },
"line_end": { "type": "integer", "minimum": 0 },
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"supersedes": {
"type": "string",
"description": "ID of node this supersedes"
}
}
},
"ContextEdge": {
"type": "object",
"required": ["from", "to", "type"],
"properties": {
"from": {
"type": "string",
"description": "Source node ID"
},
"to": {
"type": "string",
"description": "Target node ID"
},
"type": {
"type": "string",
"description": "Edge type (supports, contradicts, co_activated, etc.)"
},
"weight": {
"type": "number",
"default": 1.0,
"description": "Edge weight"
},
"coactivations": {
"type": "integer",
"minimum": 0,
"default": 0,
"description": "Hebbian co-activation counter"
},
"metadata": { "type": "string" }
}
},
"GraphSummary": {
"type": "object",
"properties": {
"node_count": { "type": "integer", "minimum": 0 },
"edge_count": { "type": "integer", "minimum": 0 },
"node_types": {
"type": "array",
"items": { "type": "string" }
},
"activation_mean": { "type": "number" },
"freshness": { "type": "string", "format": "date-time" }
}
},
"Marketplace": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": { "type": "string" }
},
"badges": {
"type": "array",
"items": { "type": "string" }
},
"license": { "type": "string" }
}
},
"Dependency": {
"type": "object",
"required": ["name", "version_req"],
"properties": {
"name": { "type": "string" },
"version_req": { "type": "string" },
"optional": { "type": "boolean", "default": false }
}
},
"Integrity": {
"type": "object",
"required": ["sha256", "content_hash", "byte_size"],
"properties": {
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"content_hash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"byte_size": {
"type": "integer",
"minimum": 1
}
}
},
"Provenance": {
"type": "object",
"required": ["tool", "tool_version"],
"properties": {
"tool": { "type": "string" },
"tool_version": { "type": "string" },
"project_hash": { "type": "string" },
"source_session_id": { "type": "string" }
}
},
"Compatibility": {
"type": "object",
"properties": {
"min_lean_ctx_version": { "type": "string" },
"target_languages": {
"type": "array",
"items": { "type": "string" }
},
"target_frameworks": {
"type": "array",
"items": { "type": "string" }
}
}
},
"Signature": {
"type": "object",
"required": ["algorithm", "public_key", "value"],
"properties": {
"algorithm": {
"type": "string",
"enum": ["ed25519"]
},
"public_key": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"value": {
"type": "string",
"pattern": "^[a-f0-9]{128}$"
}
}
},
"Stats": {
"type": "object",
"properties": {
"knowledge_facts": { "type": "integer", "minimum": 0 },
"graph_nodes": { "type": "integer", "minimum": 0 },
"graph_edges": { "type": "integer", "minimum": 0 },
"pattern_count": { "type": "integer", "minimum": 0 },
"gotcha_count": { "type": "integer", "minimum": 0 },
"compression_ratio": { "type": "number" }
}
},
"KnowledgeLayer": {
"type": "object",
"required": ["facts", "patterns", "insights", "exported_at"],
"properties": {
"facts": { "type": "array" },
"patterns": { "type": "array" },
"insights": { "type": "array" },
"exported_at": { "type": "string", "format": "date-time" }
}
},
"GraphLayer": {
"type": "object",
"required": ["nodes", "edges", "exported_at"],
"properties": {
"nodes": { "type": "array" },
"edges": { "type": "array" },
"exported_at": { "type": "string", "format": "date-time" }
}
},
"SessionLayer": {
"type": "object",
"required": ["findings", "decisions", "next_steps", "files_touched", "exported_at"],
"properties": {
"task_description": { "type": "string" },
"findings": { "type": "array" },
"decisions": { "type": "array" },
"next_steps": { "type": "array", "items": { "type": "string" } },
"files_touched": { "type": "array", "items": { "type": "string" } },
"exported_at": { "type": "string", "format": "date-time" }
}
},
"PatternsLayer": {
"type": "object",
"required": ["patterns", "exported_at"],
"properties": {
"patterns": { "type": "array" },
"exported_at": { "type": "string", "format": "date-time" }
}
},
"GotchasLayer": {
"type": "object",
"required": ["gotchas", "exported_at"],
"properties": {
"gotchas": { "type": "array" },
"exported_at": { "type": "string", "format": "date-time" }
}
}
}
}