Agent Learning Kit
June 24, 2026 · View on GitHub
What is implemented today, what is planned next. Every "implemented" claim below is backed by an executable release gate (
agent-learn release-check) and a passed full release proof (agent-learning.release-proof.v1) — the kit's rule is that no capability claim ships without a gate that proves it. The per-gate map is maintained internally; every claim here is enforced byagent-learn release-check.
Status date: 2026-06-22. Release candidate: tag v1.0.0-rc.1
(Python agent-learning-kit==0.1.0, TypeScript @future-agi/agent-learning-kit==0.2.0).
Implemented
Core: one SDK, one CLI, three engines
- Single public surface:
fi.alk(Python),agent-learn(CLI),@future-agi/agent-learning-kit(TypeScript, evaluation-focused). - Three engines, four workflows —
simulate,evals,optimize, with red-teaming riding on simulate + evals. - One key:
AGENT_LEARNING_API_KEY(withFUTURE_AGI_API_KEY/FI_API_KEYaliases). Fully offline by default — no credential is required for any local workflow, golden path, or release gate. - A suite of executable release gates behind
agent-learn release-check(run the command for the authoritative count); the heavieragent-learn release-proofruns gates + full test suites + package builds and emits a verifiable proof artifact.
Evaluation (evaluate any task)
- Eval suites (promptfoo-style JSON manifests), saved-artifact evaluation, raw task-evidence evaluation, and deterministic evaluation-config synthesis (criteria/tools/weights inferred from evidence — no hosted judge required).
- Localhost-default evaluation hooks for custom judges (non-local endpoints are explicit opt-in).
- Judge-reliability tooling: perturbation checks (formatting / verbosity / paraphrase) over scripted judges, taught as a first-class cookbook.
- JSON / JUnit / SARIF / Markdown outputs on every eval surface.
Simulation (simulate any framework)
- Local worlds, task simulations, world hooks, stateful tool worlds, memory layers, multi-agent rooms, orchestration stacks, realtime/voice fixtures, browser/CUA traces, multimodal image runs.
- Framework adapters — probe → discover → optimize → promote — for LangChain, LangGraph, LlamaIndex, AutoGen, CrewAI, LiveKit, Pipecat, Browser Use, MCP, A2A, and custom orchestration objects (probe-promoted coverage); PydanticAI and OpenAI Agents via runtime simulation (runtime-simulated coverage).
- OpenEnv/Gymnasium shapes consumed as compatibility inputs (wire format only); environment replay is the owned surface, enforced by gate.
- Regression lifecycle: baseline → compare → report → promote-to-regression → replay → shrink, all CLI-first and CI-ready.
Live framework lanes (opt-in, never release prerequisites)
- Real framework processes under one harness contract, behind per-lane env
flags and extras: LiveKit
AgentSession, PipecatPipeline, LangChain/ LangGraph compiled graphs with real checkpoint stores (including cross-session stored-prompt-injection probes), loopback MCP server processes, A2A HTTP peers. All five lanes proven against the real frameworks. - Evidence classes (
local_gate/live_lane/live_stressed/captured_fixture) keep live results out of release claims; thelive_lane_boundarygate enforces the boundary statically. - Untrusted-subprocess isolation with scrubbed env (harness credentials never reach lane processes); layer-attributed failures (lane infra never scores the agent); n-repeat variance statistics (ICC, divergence step) with pass / fail / unstable verdicts; replayable transcripts demotable into credential-free regression fixtures with reviewed provenance.
Red-teaming
- Canonical research-backed corpus and campaign execution, adaptive loops, attack evolution with counterexample shrinking, persistent-state / cross-session stored-injection scenarios, long-horizon campaigns, causal attribution, society-driven scenario optimization, readiness certification, and promotion of findings into replayable regression packs.
Optimization (optimize the whole agent, not just the prompt)
- Path-exact
optimize_target()family proven across surfaces: world transitions, framework adapter method, memory operations, multi-agent roster, orchestration spans, workflow traces, adapter matrices. - Whole-agent search:
base_agent+search_spaceover model, voice, first message, instructions, tools, memory policy, and topology paths — staged conditioning (component text → structure/config → global re-polish), diagnosis-scoped search locality with harness-layer attribution, declared eval budgets with opt-in Elo tournament selection, external-verification- only ranking, and an apply-plan artifact for provider application with read-back verification (execution of the apply stays platform-side). - Optimizer profile matrix: 33 declared (framework × target-kind × backend) cells, per-cell winners only — the gate rejects any "globally best backend" aggregate by construction.
- Capability-profile regression freezing: promoted profiles become frozen, content-addressed evidence rows; an optimization win that breaks any frozen row is vetoed; security rows are non-tradable.
- Trajectory-profiled backend routing: every backend run emits a fitness
profile (improvement frequency, locality, dedupe, regressions); routing
recommendations cite that evidence, with cold-start fallback and explicit
override (
--backend). - Society-of-agents governance: deterministic role graph with asymmetric authority, two-chamber (samiti/sabhā) rounds, guṇa temperament parameters on roles, structured pañca-avayava proposal justifications, fallacy-class (hetvābhāsa) rejection records, pooled diagnosis ledger, full audit trail.
Benchmark harness (run a benchmark against any agent, any modality)
- One harness surface —
fi.alk.bench.run_bench(...)/agent-learn bench— over a fixed Task↔Verifier contract with a pluggable Environment and Agent-adapter, emitting a unifiedResult(scalar/components/pass_fail/explanation) every modality projects into. - Three control modes, all live: push (the harness drives the agent through a world — text / tool), artifact-in (score a submitted artifact against a held-out oracle, no live agent — coding + voice), and pull (the agent drives a simulated environment via reset/step — RL/Gym/OpenEnv shape).
- Coding — two tiers. A convenience
check_*tier (trusted/accidental-gaming only), and a hardened command/artifact-graded tier: the candidate produces files/output, a HELD-OUT grader runs after (candidate processes killed) and emits the verdict via its exit code + a grader-owned reward file — never parsed from candidate stdout. This structurally defeats verdict-forgery and oracle-reads, and is multi-language (Python, bash, … — the candidate and grader are arbitrary commands). Two sandboxes: credential-free subprocess (the gate runs it on trusted reference code, no Docker) and an opt-in hardened Docker lane for untrusted output (--network none, read-only rootfs,--cap-drop ALL, no-new-privileges, nosuid tmpfs, non-root, CPU/mem/PID caps, per-task ephemeral containers, hard timeout). - Pull / RL — a deterministic, credential-free environment registry (navigation, search) with a reference policy; the agent (a policy callable or spec) steps it to a reward. A live external env server (HTTP step/reset) is the same contract with a transport — deferred to owner infra.
- Voice — a deterministic voice-episode verifier scoring a transcript on latency, turn-taking, barge-in handling, and content (pass only if every dimension meets its floor). Live audio/SIP/WebRTC + real WER capture is deferred to owner infra and plugs in by producing the same transcript shape.
- Trustworthy by construction: the oracle is held out; a fake-success no-op (or a
forged-stdout candidate) fails; results are deterministic; Docker runs are
stamped
evidence_class=live_lane(never mislabeled a fixture); infra failures (no Docker daemon) are honestvoid, never a 0% score. Enforced by thebench_contract_readinessgate, whose every failure mode is itself tested.
Run telemetry & dashboard (Weights & Biases / promptfoo–style)
- Every workflow —
run_benchmark,optimize_against_dataset,improve_agent_code— records a run summary locally by default: a deterministic ledger plus a one-line stderr digest, with zero credentials required. - When an API key is present and sync is enabled (
AGENT_LEARNING_SYNC=auto, the default), the same run additionally emits a trace to the Future AGI dashboard and prints a deep-link URL to that run; with no key — orAGENT_LEARNING_SYNC=local— it stays fully local. No workflow ever blocks on the network. - Honest sync reporting: a run is reported
syncedonly on an observed successful export; auth/transport failures surface asexport_failedinstead of a false success. - The
telemetry_boundarygate enforces the contract on every release check: local-default, payload redaction, evidence-class honesty, and no unsolicited network emission or stdout side-channel during gated runs.
Developer experience
- Born-executable docs pages across every track: each page opens with a
YAML-frontmatter "manifest twin" backed by a CI-executed example; the
docs_executabilitygate re-verifies backing, claims, and the generateddocs/llms.txtmachine index on every release check — docs cannot rot. agent-learn initgolden paths: all five presets (run,redteam,ci,optimize,all) reach a first replayable artifact in ≤3 commands, offline, with machine-checkable postconditions and doctor mappings in every scaffold README.- Bring-your-own framework examples (
examples/frameworks/): runnable end-to-end loops (evaluate → simulate → optimize → code-level self-improve) for 16 agent frameworks plus a synthetic third-party agent, with a bring-your-own guide. These run live against your own provider keys and are examples — not release prerequisites; the certified credential-free adapter surface is the gated one above. - Packaging hygiene: the sdist ships only source, tests, examples, docs, and
standard release files — enforced by gate;
pip install -e .from source today, PyPI/npm at launch.
Planned
Near term (current program)
- Benchmark harness extensions — push / artifact-in / pull modes, the hardened multi-language coding lane (subprocess + Docker), the pull/RL env registry, and the voice transcript verifier are all implemented + gated. What remains: a born-executable docs/cookbook page for the harness; and the owner-infra live tiers (a live external env server for pull, and live audio/SIP/WebRTC + WER capture for voice) — both already contract-compatible.
- Voice lane rungs 2–3 — loopback real-transport audio (WebRTC/WS over
localhost) and real telephony/SIP for the LiveKit/Pipecat lanes, with
dual-channel barge-in/overlap evidence. Rung 1 (virtual-clock simulated
user) is implemented; higher rungs currently raise
NotImplementedErrorby design rather than pretending. - Credentialed lane runs — owner-keyed runs for LiveKit Cloud/SIP and provider-applied whole-agent optimization (ElevenLabs-style apply with read-back), producing the first reviewed captured fixtures.
- Live red-team targets — pointing the persona/corpus generators at live lane targets, including repo-conditioned test generation.
- Platform artifact surface — Future AGI UI rendering and acting on kit artifacts (report cards, action cards, run/red-team/optimization pages), with the platform consuming apply-plan artifacts.
- TypeScript parity — simulate/optimize/red-team surfaces in the TS package (currently evaluation-focused), plus npm publish readiness.
Release cut (owner actions)
- Security-contact address in
SECURITY.md; push, tag publication, and PyPI/npm publishing from the proved commit.
Post-v1 queue
- Split the release-gate registry (
trinity.py) into atrinity/gates/package (internal refactor; no behavior change). - Additional framework/provider adapter promotions as the ecosystem moves; more per-framework optimizer profile matrix cells beyond the declared 33.
- Generated notebook views of cookbook pages (docs remain script-backed; the executability gate stays the source of truth).
- Meta-optimization of society parameters (guṇa mix as an optimizable meta-parameter) and live-lane-evidence-informed routing once captured fixtures accumulate.
How to verify any claim on this page
uv run agent-learn release-check --project-root . # every release gate
uv run agent-learn release-proof --project-root . \
--output /tmp/proof.json --quiet # full proof artifact
If a claim here ever drifts from what those commands prove, the commands win.