driftlessaf

module
v0.0.0-...-dc26663 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2026 License: Apache-2.0

README

DriftlessAF

DriftlessAF is Chainguard's foundational agentic framework for building AI-powered automation and resilient GitHub reconcilers.

Features

This project includes the following Go modules and functionality.

Agentic AI infrastructure
  • AI executors: Production-ready executors for Google Gemini and Anthropic Claude models.
  • Evaluation framework: Testing and monitoring agent quality with comprehensive metrics.
  • OpenTelemetry metrics: Built-in observability for AI operations.
  • Prompt building: Utilities for constructing and managing prompts.
  • Tool calling: Helpers for function/tool calling with Claude and Gemini.
  • Result parsing: Structured output extraction from model responses.

Find more information in the agents README.

Reconciler infrastructure

Production-ready reconciler infrastructure based on the Kubernetes reconciliation pattern, adapted for GitHub automation:

  • Workqueue system: GCS-backed state persistence with retry, exponential backoff, and concurrency control (workqueue/). Find more information in the workqueue README.
  • Reconcilers: Process GitHub pull requests, repository file paths, APK packages, and OCI artifacts (reconcilers/). Find more information in the reconciler README.

Installation

go get chainguard.dev/driftlessaf@latest

Usage

See the package documentation for examples and API reference.

License

Apache-2.0

Directories

Path Synopsis
agents
agenttrace
Package agenttrace provides tracing infrastructure for AI agent interactions.
Package agenttrace provides tracing infrastructure for AI agent interactions.
evals
Package evals provides a comprehensive tracing framework for evaluating and monitoring agent interactions.
Package evals provides a comprehensive tracing framework for evaluating and monitoring agent interactions.
evals/report
Package report provides report generation functionality for evaluation results.
Package report provides report generation functionality for evaluation results.
evals/testevals
Package testevals provides a testing.T adapter for the evals framework.
Package testevals provides a testing.T adapter for the evals framework.
executor/claudeexecutor
Package claudeexecutor provides a generic executor for Claude-based agents that reduces boilerplate while maintaining flexibility for agent-specific logic.
Package claudeexecutor provides a generic executor for Claude-based agents that reduces boilerplate while maintaining flexibility for agent-specific logic.
executor/googleexecutor
Package googleexecutor provides a generic Google AI (Gemini) executor for AI agents.
Package googleexecutor provides a generic Google AI (Gemini) executor for AI agents.
judge
Package judge provides LLM-based evaluation of model outputs using structured rubrics.
Package judge provides LLM-based evaluation of model outputs using structured rubrics.
metaagent
Package metaagent provides a generic framework for building AI agents.
Package metaagent provides a generic framework for building AI agents.
promptbuilder
Package promptbuilder provides a safe, injection-resistant prompt construction library that leverages Go's standard encoding packages to automatically handle escaping and formatting.
Package promptbuilder provides a safe, injection-resistant prompt construction library that leverages Go's standard encoding packages to automatically handle escaping and formatting.
result
Package result provides utilities for extracting and parsing JSON responses from AI models.
Package result provides utilities for extracting and parsing JSON responses from AI models.
toolcall
Package toolcall defines composable tool providers for AI agents.
Package toolcall defines composable tool providers for AI agents.
toolcall/callbacks
Package callbacks provides lightweight callback types for AI agent tool operations.
Package callbacks provides lightweight callback types for AI agent tool operations.
toolcall/claudetool
Package claudetool provides utilities for handling tool calls in Claude AI applications.
Package claudetool provides utilities for handling tool calls in Claude AI applications.
toolcall/googletool
Package googletool provides utilities for handling function calls in Google Gemini AI applications.
Package googletool provides utilities for handling function calls in Google Gemini AI applications.
reconcilers
apkreconciler
Package apkreconciler provides a workqueue-based reconciliation framework for APK packages.
Package apkreconciler provides a workqueue-based reconciliation framework for APK packages.
apkreconciler/apkurl
Package apkurl provides utilities for parsing APK URL keys.
Package apkurl provides utilities for parsing APK URL keys.
githubreconciler/changemanager
Package changemanager provides an abstraction for managing GitHub Pull Request lifecycle operations, similar to how the statusmanager handles GitHub Check Runs.
Package changemanager provides an abstraction for managing GitHub Pull Request lifecycle operations, similar to how the statusmanager handles GitHub Check Runs.
githubreconciler/clonemanager
Package clonemanager provides pooled git clones tailored for reconciler style workloads.
Package clonemanager provides pooled git clones tailored for reconciler style workloads.
githubreconciler/issuemanager
Package issuemanager provides a reconciler-style abstraction for managing GitHub Issues based on desired state.
Package issuemanager provides a reconciler-style abstraction for managing GitHub Issues based on desired state.
githubreconciler/metareconciler
Package metareconciler provides a generic reconciler for metaagent-based GitHub issue handlers.
Package metareconciler provides a generic reconciler for metaagent-based GitHub issue handlers.
githubreconciler/statusmanager
Package statusmanager provides Kubernetes-style status management for GitHub reconcilers using GitHub Check Runs API.
Package statusmanager provides Kubernetes-style status management for GitHub reconcilers using GitHub Check Runs API.
ocireconciler
Package ocireconciler provides a workqueue-based reconciliation framework for OCI image digests.
Package ocireconciler provides a workqueue-based reconciliation framework for OCI image digests.
ocireconciler/statusmanager
Package statusmanager persists ocireconciler reconciliation state as OCI attestations.
Package statusmanager persists ocireconciler reconciliation state as OCI attestations.
Package workqueue contains an interface for a simple key workqueue abstraction.
Package workqueue contains an interface for a simple key workqueue abstraction.
gcs
hyperqueue
Package hyperqueue provides a sharded WorkqueueService implementation that consistently distributes keys across N backend workqueue services using consistent hashing.
Package hyperqueue provides a sharded WorkqueueService implementation that consistently distributes keys across N backend workqueue services using consistent hashing.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL