Skip to main content

Enforces structural integrity across the entire CoReason ecosystem

Project description

coreason-validator

CI License Python Ruff codecov Checked with mypy pre-commit

Enforces structural integrity across the entire CoReason ecosystem.

Overview

coreason-validator acts as the Single Source of Truth for all data structures (Agents, Tests, Topologies, Messages). It provides "Schemas-as-Code" definitions and validation logic to check assets before they are processed, ensuring structural soundness.

In a GxP environment, "Implicit Trust" is a vulnerability. Component A must never assume Component B sent valid data. This library ensures that what is about to happen is structurally sound.

Key Features

  • Schema Registry: A collection of immutable Pydantic Models defining valid assets.
  • Static Analyzer: A validation engine that runs on static files (JSON/YAML) with rich error reporting.
  • Runtime Guard: A lightweight validation function for dynamic payloads with microsecond latency.
  • Integrity Hasher: Provides canonical hashing to ensure file integrity and GxP compliance.
  • Frontend Bridge: Exports JSON Schemas to keep the UI in sync with the backend.

Documentation

For detailed documentation, please refer to the docs/ directory or the hosted site:

Architecture

The library implements the Define-Check-Hash Loop:

  1. Define: Schemas as strict Python classes (Pydantic V2).
  2. Check: Shift-left validation locally and at runtime.
  3. Hash: Canonical hashing of the validated structure for GxP integrity.

See Architecture for more details.

Getting Started

Prerequisites

  • Python 3.12+
  • Poetry

Installation

  1. Clone the repository:
    git clone https://github.com/CoReason-AI/coreason_validator.git
    cd coreason_validator
    
  2. Install dependencies:
    poetry install
    

Usage

CLI Quick Start

The package exposes a CLI tool coreason-val for validation and schema operations.

Validate a File

To validate a YAML or JSON file against its schema (schema type is auto-detected):

poetry run coreason-val check path/to/file.yaml

Example:

poetry run coreason-val check samples/agent_config.yaml

Export JSON Schemas

To export the canonical JSON Schemas for use in other systems (e.g., Frontend forms):

poetry run coreason-val export ./schemas_out

This will generate agent.schema.json, bec.schema.json, etc., in the specified directory.

Python API

For deep integration, import coreason_validator directly.

from coreason_validator import validate_file, validate_object

# Validate a file
result = validate_file("path/to/agent.yaml")
if result.is_valid:
    print("Valid!")
else:
    print(f"Errors: {result.errors}")

# Validate an object (Runtime)
data = {"name": "my-agent", "version": "1.0.0"}
try:
    model = validate_object(data, "agent")
    print(f"Canonical Hash: {model.canonical_hash()}")
except Exception as e:
    print(f"Validation failed: {e}")

Development

  • Run the linter:
    poetry run pre-commit run --all-files
    
  • Run the tests:
    poetry run pytest
    
  • Build documentation:
    poetry run mkdocs build
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coreason_validator-0.3.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coreason_validator-0.3.0-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file coreason_validator-0.3.0.tar.gz.

File metadata

  • Download URL: coreason_validator-0.3.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for coreason_validator-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0ef2d98c202aa90c0f03bbc6ece07d2db952b83bce4b99b023834125e9799110
MD5 19389c12a38194d2bb4f2728a31db8fc
BLAKE2b-256 78642e3453ea25ca99e80df32604089d84866c8fd98103ca06f3b1106c04fa20

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_validator-0.3.0.tar.gz:

Publisher: publish.yml on CoReason-AI/coreason-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coreason_validator-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for coreason_validator-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3db1fe6a3e310ddb5caa8c1566561bc7bba6367a0c029c1717121c191c008f2
MD5 965d378c686c88b86a4ffbbc1c26dce7
BLAKE2b-256 f46d5d39c78cdf5c897ba3bdcd79472f95170ce734f94c71bcb6a4580cffca02

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_validator-0.3.0-py3-none-any.whl:

Publisher: publish.yml on CoReason-AI/coreason-validator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page