一键导入
validation-patterns
Kailash Rust validation — parameter, DataFlow, connection, workflow, security. Use for code review.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Kailash Rust validation — parameter, DataFlow, connection, workflow, security. Use for code review.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Kailash Rust security — input validation, secrets, injection prevention. Hardcoded secrets BLOCKED.
Fork canon-incorporation runbook — rebase onto a canon kailash-rs base, re-apply the fork delta (merge-not-replace), SHA-anchored, gated + redteamed, human-gated cutover. Fork-active / canon-noop.
Project Skills (rs variant): cross-cutting patterns spanning Rust crates and PyO3/Magnus/napi-rs bindings. See enterprise-infra-bindings.md, l3-binding-parity.md, and ffi-handle-lifecycle.md.
Kailash DataFlow (Rust) — MANDATORY for DB/CRUD/bulk/migrations via sqlx + ModelDefinition. Raw SQL BLOCKED.
Kailash Nexus (Rust) — MANDATORY for API+CLI+MCP unified deployment. Direct axum/tonic BLOCKED.
PyO3 Python bindings for Kailash Rust — maturin, .pyi stubs, Value mapping, register_callback.
| name | validation-patterns |
| description | Kailash Rust validation — parameter, DataFlow, connection, workflow, security. Use for code review. |
Comprehensive validation patterns and compliance checking for Kailash Rust SDK development.
Validation tools and patterns for:
builder.connect() formatbuilder.build(®istry)? as validation boundaryuse kailash_core::...)sqlx::query! for compile-time SQL checkingcargo audit for dependency vulnerabilitiesuse kailash_core::value::{Value, ValueMap};
use kailash_core::node::ParamDef;
fn validate_node_params(params: &ValueMap, required: &[ParamDef]) -> Result<(), String> {
for param_def in required {
if param_def.required && !params.contains_key(param_def.name.as_ref()) {
return Err(format!("Missing required parameter: {}", param_def.name));
}
}
Ok(())
}
use kailash_core::WorkflowBuilder;
use kailash_core::value::ValueMap;
let mut builder = WorkflowBuilder::new();
builder.add_node("LLMNode", "node1", ValueMap::new());
builder.add_node("JSONTransformNode", "node2", ValueMap::new());
// 4-parameter connection -- validated at build time
builder.connect("node1", "result", "node2", "data");
// builder.build(®istry)? validates all connections
let workflow = builder.build(®istry)?;
use kailash_dataflow::{DataFlow, ModelDefinition, FieldType};
// CORRECT: Use ModelDefinition
let user_model = ModelDefinition::new("User")
.field("id", FieldType::Integer, |f| f.primary_key())
.field("name", FieldType::String, |f| f.required())
.build()?;
// WRONG: Manual SQL string construction
// let query = format!("INSERT INTO users (name) VALUES ('{}')", name);
// CORRECT: Environment variables for secrets
dotenvy::dotenv().ok();
let api_key = std::env::var("OPENAI_API_KEY")
.map_err(|_| anyhow::anyhow!("OPENAI_API_KEY not set"))?;
// CORRECT: Compile-time checked SQL
let user = sqlx::query_as!(User, "SELECT * FROM users WHERE id = $1", user_id)
.fetch_one(&pool)
.await?;
// WRONG: Hardcoded secrets
// let api_key = "sk-abc123...";
// WRONG: String-interpolated SQL
// let query = format!("SELECT * FROM users WHERE id = {}", user_id);
builder.connect() formatbuilder.build(®istry)? before executeModelDefinition::new().field().build()?std::env::var("DATABASE_URL")?sqlx::query! or sqlx::query_as!unsafe blocks in application codesqlx::query! (compile-time checked) or bound parametersstd::env::var() with .env filecargo audit cleancargo deny check passinguse kailash_core::...)#[cfg(feature = "...")]# Run all checks before commit
cargo test --workspace # Unit tests
cargo clippy --workspace -- -D warnings # Lint (no warnings)
cargo fmt --all --check # Format check
cargo audit # Dependency vulnerabilities
# In CI pipeline
steps:
- name: Validate
run: |
cargo test --workspace
cargo clippy --workspace -- -D warnings
cargo fmt --all --check
cargo audit
builder.build(®istry)?builder.build(®istry)? -- it is the validation boundarycargo auditcargo clippy -- -D warningssqlx::query! is availableUse this skill when you need to:
For validation help, invoke:
reviewer - Code review (MANDATORY after changes)security-reviewer - Security audit (MANDATORY before commit)rust-architect - Cross-crate pattern validationcargo-specialist - Dependency and workspace validation