Phase 5 · Validation · P5.2 — the gate that makes "parity" a measured claim rather than an assertion.
Conformance
- A test running the same
SKILL.md corpus (tests/fixtures/skills/ + tests/fixtures/openclaw_skills/, 32 skills) through both the Python and C++ parsers, asserting identical accept/refuse verdicts and identical prompt bytes. In CI, not as a spot check.
- A
gaia eval agent adapter for gaia-code following cpp/agents/bash/eval/bash_eval_adapter.py, with a committed baseline scorecard.
Documentation
Several docs currently assert the opposite of what this milestone ships. A functional change must update every doc that describes it:
cpp/README.md — feature matrix lists "Audio / RAG / Stable Diffusion" as Python-only; the env-var table documents only the deprecated GAIA_CPP_* names when the code reads GAIA_BASE_URL / GAIA_MODEL_ID / GAIA_CONTEXT_SIZE; the project-structure tree omits 8 existing headers; only 2 of 6 agents are described.
docs/cpp/overview.mdx — states "RAG and audio are available in the Python SDK".
docs/cpp/api-reference.mdx, docs/cpp/custom-agent.mdx — new subsystems.
- New
docs/cpp/skills.mdx, registered in docs/docs.json.
docs/plans/cpp-webui-integration.md — its capability matrix asserts rag: ❌ and "MCP tools only (no RAG, no file tools)".
docs/roadmap.mdx — the v0.22.5 C++ entry lists cancellation, event callbacks, tool policies, streaming, and runtime config as planned when all five already shipped.
Acceptance
Plan: docs/plans/cpp-framework-parity.md
Phase 5 · Validation · P5.2 — the gate that makes "parity" a measured claim rather than an assertion.
Conformance
SKILL.mdcorpus (tests/fixtures/skills/+tests/fixtures/openclaw_skills/, 32 skills) through both the Python and C++ parsers, asserting identical accept/refuse verdicts and identical prompt bytes. In CI, not as a spot check.gaia eval agentadapter forgaia-codefollowingcpp/agents/bash/eval/bash_eval_adapter.py, with a committed baseline scorecard.Documentation
Several docs currently assert the opposite of what this milestone ships. A functional change must update every doc that describes it:
cpp/README.md— feature matrix lists "Audio / RAG / Stable Diffusion" as Python-only; the env-var table documents only the deprecatedGAIA_CPP_*names when the code readsGAIA_BASE_URL/GAIA_MODEL_ID/GAIA_CONTEXT_SIZE; the project-structure tree omits 8 existing headers; only 2 of 6 agents are described.docs/cpp/overview.mdx— states "RAG and audio are available in the Python SDK".docs/cpp/api-reference.mdx,docs/cpp/custom-agent.mdx— new subsystems.docs/cpp/skills.mdx, registered indocs/docs.json.docs/plans/cpp-webui-integration.md— its capability matrix assertsrag: ❌and "MCP tools only (no RAG, no file tools)".docs/roadmap.mdx— thev0.22.5C++ entry lists cancellation, event callbacks, tool policies, streaming, and runtime config as planned when all five already shipped.Acceptance
gaia-code.grepfor the stale claims returns nothing.Plan:
docs/plans/cpp-framework-parity.md