purpose-agent / CHANGELOG.md
Rohan03's picture
Sprint 12: CHANGELOG.md + v3 migration guide
fdbceb4 verified

CHANGELOG

v3.0.0a1 (2026-05-01)

Added β€” Track A: Foundation

  • Canonical Event Runtime (purpose_agent/runtime/)
    • PAEvent frozen dataclass with 30 event kinds
    • EventBus async pub/sub with backpressure, replay, lane isolation
    • Visibility levels (public/internal/debug) β€” no raw CoT leaks
    • streaming_v3.py AG-UI compatible stream adapters
  • Durable Execution (runtime/checkpoint.py, runtime/state.py)
    • RunState with node tracking, idempotency keys, serialization
    • Checkpointer protocol + InMemory/JSONL/SQLite implementations
    • Resume from crash, HITL pause/resume
  • Memory Homeostasis (memory_homeostasis.py)
    • MemoryBudget hard limits (active cards, injected tokens, per-kind caps)
    • MemoryArchive append-only cold storage
    • ConsolidationEngine (cluster β†’ merge β†’ compress β†’ hibernate)
    • QFunctionRetriever multi-signal ranking under token budget

Added β€” Track B: Interoperability

  • Protocol Stack (purpose_agent/protocols/)
    • MCPToolBridge β€” MCP server registration, tool wrapping, security policy
    • A2AClient + AgentCard β€” agent-to-agent delegation with circuit breaker
    • AGUIAdapter β€” PAEvent β†’ AG-UI frontend streaming
    • parse_agents_md() β€” repo-local instruction parser with precedence
  • Quorum Coordinator (quorum.py)
    • Agreement β†’ merge, disagreement β†’ escalate, critical risk β†’ HITL
    • CriticEnsemble (correctness/safety/efficiency/alignment)

Added β€” Track C: Intelligence

  • LLM Call Router (routing.py)
    • TaskComplexityClassifier (simple/moderate/complex/critical)
    • ModelSelector local-first, smallest-capable
    • Cost budget hard cap
  • MAS Generator (mas_generator.py)
    • generate(use_case) β†’ complete system (agents + flow + tools + evals + routing)
    • 5 templates: code, security, research, data, operations
  • Skill Genome (purpose_agent/skills/)
    • SkillCard versioned, testable, evolvable
    • SkillGenome lineage tracking + rollback
    • SkillCI immune scan β†’ fitness test β†’ promote/archive + mutation

Added β€” Track D: Optimization

  • Capability Fingerprint (optimization/fingerprint.py)
    • Domains, tool motifs, action patterns, failure modes, latency/cost
  • Dataset Builder (optimization/dataset.py)
    • Trace β†’ filtered examples with immune scan + dedup + train/val/test split
  • Prompt Pack (optimization/prompt_pack.py)
    • Token-budget-compliant optimization artifact (epigenetics first)
  • Shadow Evaluator (optimization/shadow_eval.py)
    • Candidate vs baseline comparison, promote/rollback decisions
  • Agentic Optimizer (optimization/optimizer.py)
    • Trend monitoring: improving β†’ continue, plateau β†’ optimize, degrading β†’ rollback
  • Distillation Planning (optimization/lora_plan.py)
    • Dry-run plans (none/prompt_pack/lora/distill/pdq), no GPU required for planning

Added β€” Track E: Hardening

  • Robustness Benchmark (benchmark_v3.py)
    • 35+ checks: core loop, tools, immune, memory, routing, skills, events, protocols
    • Runs with mock backend in CI

Backward Compatibility

  • All v2.1.1 public imports still work
  • pa.purpose(), Team.run(), Spark, Flow, swarm, Council, Vault unchanged
  • Old names (Agent, Graph, parallel, Conversation, KnowledgeStore) are aliases
  • tests/compat/test_public_api_211.py validates full API surface

v2.1.1 (2026-04-30)

  • Creative naming: Spark, Flow, swarm, Council, Vault
  • 19/19 production test pass with Llama-3.3-70B
  • Published on PyPI

v2.0.0 (2026-04-29)

  • V2 kernel: evidence-gated memory, immune system, RunMode, trace, compiler
  • 13 research papers implemented
  • 6 breakthroughs: self-improving critic, MoH, hindsight, evolution, adversarial
  • TOML prompts, robust_parser, secure tools
  • 119/119 tests pass

v0.2.0 (2026-04-28)

  • Initial release: Actor, Purpose Function, Experience Replay, Optimizer
  • SLM-native backends, streaming, tools, multi-agent, HITL, evaluation
  • Published on PyPI