[AAASM-4854] 📝 (examples): De-fictionalize production-mode claims in offline examples#341
Conversation
The shipped src/main.py always replays the offline scripted _DEMO_CALLS and never reads OPENAI_API_KEY, so the docstring and README claiming the key drives the entrypoint were fictional. Match langchain-basic-agent's gateway-URL-only production note, and scope OPENAI_API_KEY to the 'extend main.py' build-your-own step. Refs AAASM-4854 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
src/main.py replays a scripted trajectory offline and reads no Gemini / Vertex AI key, so attaching the provider-key note to the unchanged entrypoint run was false. Scope it to step 3's 'build a real ADK Agent'. Refs AAASM-4854 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-agent src/main.py invokes the governed tools directly offline and reads no model provider key, so attaching the provider-key note to the unchanged entrypoint run was false. Scope it to step 3's 'build a real smolagents agent'. Refs AAASM-4854 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Review — Claude CodeCI: ✅ green — all 16 per-framework example smoke jobs + Scope vs AAASM-4854: ✅ complete. The 3 named fictional production-mode claims (openai-agents-sdk Side-effects: doc-only — the diff is Markdown plus one Python module docstring, zero logic lines. The passing per-example smoke jobs confirm every example still runs. No behavior change. Front-end: none → no Playwright needed. Verdict: ✅ ready to approve + merge. |



What changed
Three of these framework examples advertised a "production / live" mode that the shipped entrypoint does not implement — the
src/main.pyin each always runs its offline scripted trajectory and never reads a model-provider key, so the documentedOPENAI_API_KEY/ Gemini-Vertex / model-provider-key claims had zero effect when running the unchanged example. This de-fictionalizes those claims (siblings of AAASM-4837/4838): drop the false key fromopenai-agents-sdk, and scope the provider-key note ingoogle-adkandsmolagents-tool-policyto the "build your own agent" step rather than the unchanged run. A repo-wide sweep (python/, node/, go/ — READMEs + src docstrings +.env.example) turned up one extra instance in the same shape:openai-agents-sdk/README.md's production section prependedOPENAI_API_KEY=sk-...to the unchangeduv run python src/main.py; fixed alongside. Documentation-only — no code behavior changed.Examples touched:
python/openai-agents-sdk/src/main.py— docstring: drop theOPENAI_API_KEYproduction line; use the gateway-URL-only note (matchinglangchain-basic-agent).python/openai-agents-sdk/README.md— retitle "Switching to production mode", moveOPENAI_API_KEYoff the shipped run and into the "extendmain.py" build-your-own step.python/google-adk/README.md— move the Gemini / Vertex AI key note from step 2 (.env/run) to step 3 (build a real ADKAgent).python/smolagents-tool-policy/README.md— move the model-provider-key note from step 2 to step 3 (build a real smolagents agent).Kept honest (verified against code, no change):
crewai-research-crew&langchain-research-agent(READMEs already state the live path is "not implemented — exits"); all Node examples (explicit "Offline-only demo (no real-provider mode)"); Go examples (scope provider swaps to code changes, not the entrypoint);pydantic-aiµsoft-agent-framework(already scope the provider key to a build-your-own step); the remaining tool-policy examples make no provider-key-on-entrypoint claim.Related ticket
Closes AAASM-4854
How to verify
git diff origin/master...shows only Markdown and a Python module docstring — no logic lines. Reading each edited "Switching to production mode" section against itssrc/main.py: no remaining doc claims that a provider key affects the shipped offline entrypoint.src/main.pystill parses (ast.parse); no[tool.ruff]/lint config exists in these examples or at the repo root, so there is no formatter to run for a doc-only change.Checklist
[AAASM-XXXX] <GitEmoji> (<scope>): <summary>.envfiles committedREADME.mdwith prerequisites and run instructions🤖 Generated with Claude Code