chore: update scout — agno 2.6.4→2.7.0a6, replica/hygiene fixes - #24
Draft
ashpreetbedi wants to merge 1 commit into
Draft
chore: update scout — agno 2.6.4→2.7.0a6, replica/hygiene fixes#24ashpreetbedi wants to merge 1 commit into
ashpreetbedi wants to merge 1 commit into
Conversation
- pyproject: pin agno[os,slack]==2.7.0a6 (was unpinned; lock held 2.6.4) - requirements.txt regenerated via scripts/generate_requirements.sh; openinference-instrumentation-agno 0.1.31→0.1.38 to match the agentos-railway reference - railway.json: numReplicas 2→1 (in-process scheduler double-fires on 2) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
|
🤖 Automated re-review 1 issue found.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overnight maintenance pass bringing
scoutup to theagentos-railwayStarter reference standard (perprompts/apps-update.md). Bump + known-bug fixes + hygiene only — no refactors.What changed
pyproject.tomlnow pinsagno[os,slack]==2.7.0a6(it was previously unpinned; the lock held 2.6.4). Matches the reference pin inagentos-railway../scripts/generate_requirements.sh(uv pip compile). Notable lock movement:openinference-instrumentation-agno0.1.31 → 0.1.38 (+openinference-instrumentation0.1.47 → 0.1.54,openinference-semantic-conventions0.1.29 → 0.1.30) — matches the reference.agnoctl==0.1.0a5is now an explicit dependency of agno 2.7.fastapi[standard]extra tree:fastapi-cli,fastapi-cloud-cli,uvloop,watchfiles,jinja2,email-validator,sentry-sdk,gitpythonetc. fell out of the lock. uvicorn now runs the plain asyncio loop — no code change needed, but worth knowing.railway.jsonnumReplicas2 → 1 — the scheduler runs in-process; two replicas double-fire every cron (docs/decisions.md, single-replica-scheduler). This was a live production-behavior bug.Hygiene bugs checked, already clean at public HEAD
CLAUDE.mdis already a symlink toAGENTS.md(not a byte copy)..claude/settings.local.json, no stale*.egg-info, notmp/scratch.Migration hazards to keep in mind (2.6.4 → 2.7.0a6 is a multi-version jump)
RUNTIME_ENV=prd(the default),import app.mainnow raisesValueError: AgentOS(authorization=True) requires a JWT verification key: set JWT_VERIFICATION_KEY or JWT_JWKS_FILE.... On 2.6.4 this was not a hard startup failure. Any Railway deploy of this branch must haveJWT_VERIFICATION_KEY(or JWKS) set, or it will crash-loop.421 Misdirected Requestfor/mcpon every non-localhost host. Fixed by the 2.7.0a5+ pin (we're on a6), and scout's lock doesn't currently pull fastmcp (plainmcp==1.27.0) — but probe MCP over the public domain after deploy, never just localhost./,/health,/info,/docs,/redoc,/openapi.json— health checks and/docskeep working with auth on. If scout relies on any additional unauthenticated route, re-verify it post-bump.AGENTOS_URLmust be set in prod or scheduled jobs silently never fire.agno_service_accounts.user_id). agno migrates its own tables on boot; take a DB snapshot before deploying and verify sessions/memory/knowledge reads afterward.Reviewer checklist (full verify gate — run before merge)
docker compose up -d --build(needs the real.env; ports 8000/5432 free — serialize with other template gates)curl localhost:8000/docs→ 200/mcp); after any cloud deploy, probe MCP over the public domainsource .venv/bin/activate && python -m evals --tag smoke→ all passJWT_VERIFICATION_KEYis present in the Railway environment before deploying (new hard requirement, see hazards)docker compose downwhen doneNot verified autonomously
.envin this fresh clone → no live gate ran: nodocker compose up, no/docsprobe, no MCP handshake, nopython -m evals --tag smoke(needsOPENAI_API_KEYetc.).numReplicas: 1takes effect on the next deploy from this repo; the currently-deployed service (if any) still runs 2 replicas until then../scripts/validate.sh(ruff + mypy clean, 19 files),docker compose configparses,import scoutandRUNTIME_ENV=dev python -c "import app.main"both OK against agno 2.7.0a6 in the repo venv.🤖 Generated with Claude Code