Wiki · Research
Public agent frameworks
Shelf
Research

Public agent frameworks

The second research corpus approved in WI-009. The existing repos/ corpus examines how repositories organise agentic work; this corpus examines how independently built public frameworks implement agents. Keeping the two axes separate preserves the workflow corpus’s stated boundary while letting the shared pattern-catalog.md remain the one definition of each pattern.

Corpus question

Which agent-architecture practices recur across independent implementations, which ones are framework-specific bargains, and what does each result confirm, challenge, or add to the rungs pattern catalogue?

This is an architecture comparison, not a framework ranking. Adoption, benchmark performance, and product recommendations are outside the epic’s scope.

Index

WorkSubjectState
TemplateFixed extraction structure and evidence promptsApplied to all six extractions
SWE-agent · WI-011Minimal coding-agent loop and agent-computer interfacePinned at 3ea751c087f32b16e039a2233dd6eefecef325d5
LangGraph · WI-012Checkpointed graph state and resumable interruptsPinned at 644815f9e5bc52ad8f7a5227a456227e9c3e639b
OpenAI Agents SDK · WI-013Small primitive surface across Python and TypeScriptPinned at 1a0c08868aec2a18eba964e5a07da4270a490c25 and d85dd2c144cd99bfdfa0111975cc759c00d56a77
Pydantic AI · WI-014Typing, injection, deterministic tests, and durable-execution adaptersPinned at 9a602b3216b2cde46bfe29c1d32927eb36c501d6
Microsoft Agent Framework · WI-015.NET-first workflows, approval binding, checkpoints, and observabilityPinned at 12621e0a746517068300f7b9445225c3ee2406ea
OpenHands · WI-016Shipped run control, worktrees, sandbox boundaries, recovery, and concurrencyPinned at dc99e98615de4ace821692773b00a7f50d476e50 and 46ad3d43dc385b2e7975c0935f157153930ebb16
Synthesis · WI-017Cross-framework comparison and catalogue reconciliationComplete

Method

  1. Freeze the source. Record the repository URL and full commit SHA before reading. Cite files with permalinks at that SHA, and run every measurement against the same checkout.
  2. Inspect implementation before summarising it. A project’s documentation is evidence of what the project documents; source and executable tests are evidence of what the pinned version does. Label those two kinds of evidence rather than silently treating them as interchangeable. This is the public-source form of the repository’s extraction discipline.
  3. Use one template. Every extraction follows TEMPLATE.md so the synthesis can compare mechanisms and boundaries section by section.
  4. Make claim type visible. Implementation claims cite a pinned file or test; measurements give the dated command and result; documentation claims say that they are documented; judgement is prefixed Opinion. This applies the repository’s evidence rule.
  5. Reconcile once. Per-framework extractions cite existing pattern ids but do not edit the catalogue. WI-017 compares all six and makes any catalogue change in one place.

Absence claims need a search boundary: name the directories, symbols, or command inspected. “None” without that boundary is an unchecked inventory claim.

Commit pinning

A read date identifies when an extraction happened; it cannot reconstruct a moving repository. Each Snapshot therefore carries a full commit SHA, and every source link and measurement resolves against that commit. If a second commit must be consulted, record it as a separate snapshot rather than widening the first one invisibly. This constraint is established by WI-009.

Licence and quotation

  • Record the repository’s licence identifier and cite the licence file at the pinned SHA. If the licence cannot be established from the checkout, say so; do not infer it from repository metadata.
  • Quote sparingly, preserve the source’s wording, and attach a pinned permalink. Prefer a concise paraphrase when exact wording is not the evidence.
  • Attribute documented behaviour as documentation. Do not restate it as an observed implementation fact until the implementation or an executable test supports it.
  • This corpus extracts patterns and warnings. It does not copy framework code into rungs, and WI-009 excludes changes to modules/.