docs(agents): clear stale YAML-manifest references after #914#918
docs(agents): clear stale YAML-manifest references after #914#918
Conversation
Address review-bot suggestions on #914 that landed after merge: onboarding docs (CLAUDE.md, .github/workflows/claude.yml, .claude/agents/*.md) and SDK guides still recommended registering agents via YAML manifests, contradicting the Python-only registry shipped in #914. Also clears the two silent-drop polish items the bot flagged: - registry.py warns when companion YAML `models:` list contains non-string entries instead of filtering them silently. - export_import.py warns once per legacy YAML-only directory it skips during export, matching the DeprecationWarning the discovery path already emits. Drops the obsolete "Manifest JSON Schema is not stale" bullet from the agent-conventions linter docstring (the corresponding check was removed in #914) and deletes the dead "Opting in from a YAML-manifest agent" subsection in docs/sdk/sdks/code-index.mdx. Test plan: - pytest tests/unit/agents/test_registry.py tests/unit/test_export_import.py: 46 passed - python util/check_agent_conventions.py: 0 errors - python util/lint.py --black --isort: pass
SummaryTight, well-scoped follow-up to #914. The PR sweeps stale YAML-manifest guidance out of contributor-facing prose ( IssuesNone blocking. A couple of minor observations worth a glance, neither of which justifies churn on its own: 🟢 Logged 🟢 YAML-only export skip silently passes for non-dirs / dirs with neither Strengths
VerdictApprove. Ready to merge as-is. The two minor observations above are FYI only. |
Two adversarial-review agents (verification + scope) flagged
`assert "v0.17.5" in message` as brittle: any future version bump or
message rewording breaks the test for no signal. Switch to substring
assertions on the *actionable* content of the warning ("yaml" and
"agent.py") so the test verifies the user gets a useful migration hint
without coupling to the version stamp.
Also cap the registry's non-string `models:` warning to the first 5
entries with an "(and N more)" suffix. A malformed companion YAML
with a large list would otherwise produce an unbounded log line via
`%r`. Bounded preview gives the same diagnostic information.
Test plan:
- pytest tests/unit/agents/test_registry.py tests/unit/test_export_import.py: 46 passed
- python util/lint.py --black --isort: pass
SummaryTightly-scoped follow-up to #914 that finishes the YAML-manifest removal: 6 onboarding/doc files no longer steer contributors back into the deleted path, and two silent-drop spots ( Issues Found🟢 MinorTwo-pass list iteration in Skip if you'd rather keep the diff minimal — the current form reads fine and the lists are tiny.
Strengths
VerdictApprove — no blocking issues. The minor two-pass nit is cosmetic; everything else is well-scoped, well-tested, and consistent with the post-#914 architecture. |
Summary
Follow-up to #914. The github-actions review-bot left a batch of doc-cleanup suggestions that landed after merge — onboarding files (
CLAUDE.md,.github/workflows/claude.yml,.claude/agents/*.md) and a couple of SDK doc subsections still told contributors to register agents via YAML manifests, directly contradicting the Python-only registry shipped in #914. Same drift class theTestRemovedSymbolsregression guard exists to prevent — it just didn't extend to prose docs and.claude/agents/.Also folds in the two silent-drop polish items the bot flagged: companion YAML
models:filtering andexport_custom_agentsskipping legacy YAML-only directories.Threads
CLAUDE.md(4 spots),.github/workflows/claude.yml(review-bot guidance),.claude/agents/{gaia-agent-builder,sdk-architect,code-reviewer,architecture-reviewer,rag-specialist}.md. Why: contributors and thegaia-agent-builderClaude agent read these as authoritative — leaving them stale would steer new agents back into the deleted YAML path.util/check_agent_conventions.pylisted "Manifest JSON Schema is not stale" under hard checks, but the corresponding_check_manifest_schema()was deleted in refactor(agents): remove YAML manifest agent support (#912) #914. Drop the stale bullet.registry.pynow warns when companion YAMLmodels:contains non-string entries instead of silently filtering them;export_import.pyemits onelog.warningper skipped YAML-only directory during export so users get the same migration signal the discovery path already gives. Why: matches the "no silent fallback / actionable error" rule from CLAUDE.md.Two new test cases guard the warnings.
Test plan
python -m pytest tests/unit/agents/test_registry.py tests/unit/test_export_import.py -xvs— 46 passedpython util/check_agent_conventions.py— 0 errorspython util/lint.py --black --isort— passCLAUDE.md .claude/ .github/ docs/sdk/ docs/guides/code-index.mdx util/— zero hits (migration guide and release notes intentionally retained)Refs #914.