fix(status): green the agent validator, fix door freshness, unblock root pytest - #25
Merged
Conversation
railway-app
Bot
temporarily deployed
to
distinguished-wonder / production
August 31, 2026 01:32
Inactive
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.
What
Two items carried over from the session handoff, plus adjacent fixes found while doing them.
Validate AgentsCI — was redagents/default.character.jsonwas the only character file without a top-levelid(it usesentity), andscripts/validate_agents.jsrejects that. Added"id": "default"— matches the filename and theagent_registryalias key. Inert at runtime: the loader only readsname/tools/system_promptvia.get().Doors —
swarm:door:*populate correctly(door["age_s"] or 10**9). A door asserted under half a second ago hasage_s == 0, whichorturns into10**9, so the freshest assertion sorted as the oldest and a stale aliased assertion would win. Extracteddoor_age()and fixed bothswarm_heartbeat.read_doors_asyncandapps/status's_observe.apps/runtime._redis_write_doorsnow calls the sharedwrite_door_asyncinstead of re-inliningbuild_door_payload+r.set(same 600s TTL) — per the repo's "shared code lives inpackages/" rule.packages/swarm-core/tests/test_doors.py(12 tests) — doors had no coverage.FakeRedisgainsscan_iterto support it.pytestfrom the repo root was brokenRun from the root, pytest took the root as rootdir and never read
packages/swarm-core/pyproject.toml, soasyncio_modewas lost and every async test errored with "async def not natively supported" (50 failures). Added[tool.pytest.ini_options]to the rootpyproject.toml. 122 pass from the root now.Note on history
This branch also rewrites the message of one earlier commit (
chore(security): untrack the handoff log…) that spelled out internal infrastructure detail in prose. The tree is byte-identical; only the message changed. That commit is currently onmainas45c065b— see review thread; a normal merge will not remove it frommain's history.Verification
node scripts/validate_agents.jspytest(repo root)🤖 Generated with Claude Code