provisioning/schemas/lib/knowledge-base.ncl
Jesús Pérez 44648e3206
chore: complete nickel migration and consolidate legacy configs
- Remove KCL ecosystem (~220 files deleted)
- Migrate all infrastructure to Nickel schema system
- Consolidate documentation: legacy docs → provisioning/docs/src/
- Add CI/CD workflows (.github/) and Rust build config (.cargo/)
- Update core system for Nickel schema parsing
- Update README.md and CHANGES.md for v5.0.0 release
- Fix pre-commit hooks: end-of-file, trailing-whitespace
- Breaking changes: KCL workspaces require migration
- Migration bridge available in docs/src/development/
2026-01-08 09:55:37 +00:00

105 lines
3.0 KiB
Plaintext

# Knowledge Base Schema for RAG Integration with SurrealDB
# Defines document structures for best practices and extension metadata
# stored in the vector database with embeddings for semantic search
# Document types
let DocType = [
"best_practice",
"extension_metadata",
"deployment_guide",
"troubleshooting",
] | Array;
# Base document metadata (common to all knowledge documents)
let DocumentMetadata = {
source_path | String,
doc_type | DocType,
category | String,
tags | Array,
version | String,
created_at | String,
updated_at | String,
};
# Best Practice document structure
let BestPracticeDoc = {
id | String,
title | String,
description | String,
category | String, # deployment, security, reliability, operations, architecture, quality
relevance | Number, # 0-100 relevance score
tags | Array, # categorization tags
source | String, # source reference
implementation_notes | Array, # practical implementation details
related_practices | Array, # IDs of related best practices
# RAG fields
content | String, # full text for embedding
embedding | Array, # vector embedding (1536-dim)
chunk_index | Number, # if document is chunked
source_path | String, # file location of source
indexed_at | String, # timestamp when indexed
} & DocumentMetadata;
# Extension Metadata document structure
let ExtensionMetadataDoc = {
id | String,
name | String,
version | String,
category | String, # provider, taskserv
description | String,
dependencies | Array, # names of extensions this depends on
tags | Array,
best_practices | Array, # IDs of best practices that apply
# Additional metadata
author | String,
license | String,
documentation_url | String,
repository_url | String,
# Dependency graph information
dependency_count | Number, # number of direct dependencies
dependents | Array, # extensions that depend on this
initialization_order | Number, # position in topological sort
# RAG fields
content | String, # full text for embedding
embedding | Array, # vector embedding (1536-dim)
source_path | String, # file location of metadata.ncl
indexed_at | String, # timestamp when indexed
} & DocumentMetadata;
# Document relationship (for graph structure)
let DocumentRelationship = {
source_id | String,
target_id | String,
relationship_type | ["relates_to", "depends_on", "implements", "extends"],
strength | Number, # 0-1 relevance strength
created_at | String,
};
# Knowledge base statistics (metadata about the index)
let KnowledgeBaseStats = {
namespace | String,
database | String,
total_documents | Number,
by_doc_type | {
best_practice | Number,
extension_metadata | Number,
_,
},
embedding_dimension | Number,
total_relationships | Number,
last_indexed_at | String,
vector_index_status | ["healthy", "degraded", "error"],
};
{
DocumentMetadata,
BestPracticeDoc,
ExtensionMetadataDoc,
DocumentRelationship,
KnowledgeBaseStats,
}