Skip to content

phionyx-core v0.6.0 — Multi-Agent Evidence

Pre-release
Pre-release

Choose a tag to compare

@halvrenofviryel halvrenofviryel released this 25 May 13:34
· 78 commits to main since this release

phionyx-core v0.6.0 — the Multi-Agent Evidence release. 4 months ahead of plan (target 2026-09-29 → actual 2026-05-25).

Install:

pip install phionyx-core==0.6.0

What changed in phionyx-core

  • phionyx_core.contracts.envelopes.SubagentChainV0 — Pydantic v2 model for the per-turn multi-agent / subagent audit chain block. Three role invariants (root depth=0 + null parent fields; non-root depth≥1 + non-null parent fields; leaf has zero child_agent_ids) enforced by model_validator(mode="after") and mirrored in the published JSON Schema.
  • compute_handoff_signing_body(...) helper — canonical-JSON encoding of the 5-field handoff signing body per RFC §2.4. Caller-supplied signer.
  • SubagentChainProtocol / SubagentChainRole Literal types — closed enums covering a2a, agntcy, phionyx_native, langgraph_subgraph, crewai, autogen and root/child/leaf.
  • Public envelope surface grew from 8 to 12 exports. Strictly additive; no removals, no renames.
  • __version__"0.6.0".

What changed in documentation

  • examples/envelopes/subagent_chain_v0_1/ — 6-file RFC bundle (RFC + JSON Schema + 3-agent minimal envelope + A2A worked example + extended walkthroughs + migration doc).
  • examples/envelopes/rge_v0_2/ — RGE v0.2 RFC bundle backported from v0.4.0 W1 (was monorepo-internal until now).
  • examples/envelopes/v0_6_schema_portfolio.md — catalogue of the 7 schemas Phionyx publishes at v0.6.0 + additive-only versioning policy.
  • docs/adr/0007-multi-agent-envelope-chain.md — decision record.
  • docs/releases/v0.6.0_RELEASE_NOTES.md — full release notes.

CI restoration (separate from release content)

Discovered while staging v0.6.0: CI had been failing silently since the v0.5.0 ship commit. pip install -e ".[dev]" was succeeding with an empty extras set, so ruff/mypy/pytest never installed; every CI step subsequently failed at "command not found"; the release.yml workflow runs independently of CI and published v0.5.0 to PyPI regardless. Fixed in this release:

  • [project.optional-dependencies] dev re-declared with ruff, mypy, pytest, hypothesis, jsonschema, opentelemetry-api.
  • [tool.mypy] now enables the pydantic.mypy plugin and per-module overrides for runtime-optional dependencies.
  • [tool.coverage.report] fail_under collapsed from sub-table to single float (the v0.5.0-era [tool.coverage.report.fail_under] total = 80 form was rejected by coverage.py 7.x).
  • [tool.pytest.ini_options] addopts dropped its monorepo-only --cov=echo-server/app --cov=adapters --cov=scripts paths that did not exist in the public checkout.
  • 5 of 6 stale type: ignore comments restored after a one-cycle removal turned out to break the otel-not-installed code path.
  • Branch protection rule on main requires all 5 CI status checks (pytest 3.10 / 3.11 / 3.12 / 3.13 + build) green before merge. Forces a v0.5.0-style silent CI regression to be visible at the PR level rather than discovered post-release.

Companion packages shipping alongside

  • phionyx-eval v0.1.0a1 (PyPI · repo) — LLM-as-judge primitive (F9) + Langfuse / LangSmith cross-runtime importers (F13). Caller supplies the LLM client; runtime derives the verdict from the rubric threshold, not the model.
  • Claude Code plugin /phionyx:replay-trace (F12-plus) — walks a persisted multi-agent envelope chain timestep-by-timestep. Ships in the v0.5.1 plugin's tools/phionyx_claude_code_plugin/ distribution.

Tests

  • 42 new tests in this release (12 contract + 30 unit) targeting SubagentChainV0 invariants + compute_handoff_signing_body canonical-JSON discipline.
  • 1048/1048 tests/core pass with the restored CI configuration.

Breaking changes

None. v0.6.0 is fully backwards-compatible with v0.5.0.

Links