Usage Examples

Validate One Manifest

maid_runner.validate() validates a single manifest file and returns a maid_runner.ValidationResult.

from maid_runner import ValidationResult, validate

result: ValidationResult = validate("manifests/add-auth.manifest.yaml")
if not result.success:
    for error in result.errors:
        print(f"{error.code}: {error.message}")

Validate A Manifest Directory

maid_runner.validate_all() validates every active manifest in a directory and returns a maid_runner.BatchValidationResult.

from maid_runner import BatchValidationResult, validate_all

batch: BatchValidationResult = validate_all("manifests/")
print(f"{batch.passed}/{batch.total_manifests} manifests passed")

Load, Edit, And Save A Manifest

maid_runner.load_manifest() and maid_runner.save_manifest() expose the manifest parser and writer used by the CLI.

from maid_runner import Manifest, load_manifest, save_manifest

manifest: Manifest = load_manifest("manifests/add-auth.manifest.yaml")
manifest.metadata["reviewed_by"] = "api-reference-example"
save_manifest(manifest, "manifests/add-auth.manifest.yaml")

Use The Validation Engine

maid_runner.ValidationEngine is the lower-level entry point when an application needs to reuse a configured engine across calls.

from maid_runner import ValidationEngine

engine = ValidationEngine(project_root=".")
result = engine.validate("manifests/add-auth.manifest.yaml")
print(result.success)

Work With Manifest Chains

maid_runner.ManifestChain gives callers direct access to manifest-chain resolution when they need to inspect effective task history.

from maid_runner import ManifestChain

chain = ManifestChain("manifests")
active_manifests = chain.active_manifests()
print([manifest.source_path for manifest in active_manifests])

Generate A Snapshot

maid_runner.generate_snapshot() creates a manifest-style snapshot from an existing source file.

from maid_runner import generate_snapshot

snapshot = generate_snapshot("maid_runner/core/validate.py")
print(snapshot.files_snapshot[0].path)

Register Validators

maid_runner.ValidatorRegistry stores the language validators used by validation flows.

from maid_runner import ValidatorRegistry

registry = ValidatorRegistry.with_builtin_validators()
print(sorted(registry.supported_extensions()))