Claude-skill-registry guardrails-contracts
Follow these patterns when designing guardrails validation contracts in OptAIC. Use for signal bounds, dataset schemas, portfolio constraints, PIT validation, and other domain-specific validation rules. Covers the "Law vs Police" architecture where Definitions contain contracts and the Engine enforces them.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/guardrails-contracts" ~/.claude/skills/majiayu000-claude-skill-registry-guardrails-contracts && rm -rf "$T"
skills/data/guardrails-contracts/SKILL.mdGuardrails Contract Patterns
Guide for implementing validation contracts that enforce data quality, risk limits, and compliance.
When to Use
Apply when:
- Adding validation rules for domain resources
- Implementing signal bounds, dataset schema checks
- Creating portfolio constraints (weights, leverage)
- Enforcing PIT correctness on datasets
- Building custom validators
- Embedding contracts in Definition resources
Law vs Police Architecture
┌────────────────────────────────────────────────────────────┐ │ DEFINITION RESOURCE (The Law) │ │ ├── interface_spec # Abstract interface │ │ ├── input_schema # Expected inputs │ │ ├── output_schema # Expected outputs │ │ ├── compatibility_rules # Connection rules │ │ └── guardrail_contracts # Validation rules │ │ ├── signal.bounds: {min: -1, max: 1} │ │ ├── pit.policy: {knowledge_date_required: true} │ │ └── dataset.schema: {columns: [...]} │ └────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────┐ │ GUARDRAILS ENGINE (The Police) │ │ Reads contracts FROM Definitions, enforces at gates: │ │ ├── Gate 1: Instance Creation (validate config) │ │ ├── Gate 2: Run Execution (validate inputs) │ │ ├── Gate 3: Data Write (validate outputs in real-time) │ │ └── Gate 4: Promotion/Merge (all must pass) │ └────────────────────────────────────────────────────────────┘
Key Insight: Contracts live IN Definition resources. The Guardrails Engine reads and enforces them—no manual attachment needed.
Core Concepts
ContractRef: Identifies contract kind + JSON schema ContractInstance: Bound contract with config + enforcement hint ContractBundle: Collection of contracts for a resource ValidationReport: Results with issues, enforcement decision
Implementation Workflow
1. Define Contract Kind
Use namespaced naming:
<domain>.<aspect>
signal.bounds # Value range [-1, 1] signal.schema # Arrow schema conformance dataset.pit # Point-in-time correctness dataset.freshness # Data staleness SLA portfolio.weights # Sum-to-one, min/max weight portfolio.leverage # Gross/net exposure limits
2. Create JSON Schema
Location:
optaic/guardrails/contracts/<domain>.py
See references/contract-schemas.md.
3. Implement Validator
Location:
optaic/guardrails/validators/<domain>.py
Validators must be pure and deterministic. See references/validators.md.
4. Register Contract
ContractRegistry.register( kind="signal.bounds", schema=SIGNAL_BOUNDS_SCHEMA, validator=SignalBoundsValidator, version="1.0" )
5. Write Tests
Test cases:
- Valid config + valid data → Pass
- Invalid config → Schema validation fail
- Valid config + invalid data → Business validation fail
Enforcement Policy
# official subspace → BLOCK on errors # staging subspace → WARN on errors (unless elevated) if subspace == "official": return EnforcementLevel.BLOCK return EnforcementLevel.WARN
Lifecycle Gates
Guardrails validate at:
/resource.createresource.update
/promotion.requestpromotion.merge
/run.submitrun.start
Reference Files
- Contract Schemas - JSON schema patterns
- Validators - Validator implementation
- Quant Contracts - Domain-specific examples