Date: 2026-08-12
AutoCoder-Engine now checks every explicitly configured repository for runnable requirements at startup and every five minutes. It queues one repository requirements task per eligible repository when Codex capacity exists, avoids duplicate outstanding runs, and stores each repository's queued, deferred, idle, or error decision with its reason in PostgreSQL.
Configured repositories:
AutoCoder/AutoCoder-EngineEventHorizon/EventHorizonThe requirements validator and editor accept the standard test token scope produced by CodeCartography chat. Previously, those rows made the entire requirements artifact invalid and prevented both manual and automatic queueing.
The CodeCartography “active” worker count represents currently queued or running worker tasks, not the number of active requirements. It may briefly show zero between scheduler ticks or before a queued task is claimed.
EventHorizon's latest requirements artifact contained three duplicate identifiers created by recent chat updates. The repair retained every requirement while assigning the three newer, distinct intents unique IDs. The resulting artifact contains 115 valid JSONL rows: 115 unique IDs, 105 active and 10 complete.
gitea.app.lan/autocoder/autocoder-engine:sha-fbef17724563autocoder-engine, namespace autocoder-engine, 1/1 ready, zero restarts at verificationThe first multi-repository image build exposed a production-only unused-import error because tests compiled a test-only import path. PR #2527 conditionally scopes that import; cargo fmt --check and cargo check --bin AutoCoder-Engine passed before the corrected image was built.
AutoCoder's original scheduler found 27 runnable requirements and successfully queued and completed requirement tasks.
At 2026-08-12 22:57 UTC, after the EventHorizon artifact repair reached main, the live scheduler persisted:
EventHorizon/EventHorizonqueuedrunnable-requirements-and-capacity-available105requirements-1786575462385743217info@codecartography.devmaincodecartography/requirements-1786575462385743217The task was durably queued and available for worker claim. A queued task does not count as running until a worker lease claims it.
AUTOCODER_REQUIREMENTS_AUTOMATION_REPOSITORIES is a comma-separated list of explicit owner/repository entries.AUTOCODER_REQUIREMENTS_AUTOMATION_ENABLED defaults to true.AUTOCODER_REQUIREMENTS_AUTOMATION_INTERVAL_SECS defaults to 300 seconds and is clamped to at least 30 seconds.AUTOCODER_REQUIREMENTS_AUTOMATION_ENABLED=false through the repository-managed deployment workflow to stop new automatic requirement runs without cancelling existing work.Five enabled Codex account records were authentication-disabled or permanently cooling down due duplicate refresh-token use during diagnosis. One healthy account remained eligible and successfully queued the EventHorizon run. Repair those account sign-ins through CodeCartography to restore broader requirements capacity.
A control-plane ephemeral-storage pressure event evicted the account workers. The durable EventHorizon requirements task remained safely queued, but worker recreation was blocked because four legacy reconciliation queries omitted the newer task-kind and workspace columns; the typed row decoder then panicked on shifted columns.
gitea.app.lan/autocoder/autocoder-engine:sha-7fefd8b21b2dThe repair restores the complete task projection in all reconciliation queries and adds a regression contract test. Local rustfmt, focused regression, production binary check, and full Rust test suite passed. Production then requeued one orphaned task, removed six terminal worker pods, recreated all six account workers on the corrected image, and the healthy info@codecartography.dev worker resumed the durable queue. Disk pressure had cleared before rollout.
At verification, the EventHorizon task requirements-1786575462385743217 remained queued behind three older same-account remediation tasks. It had not yet produced an implementation branch or pull request; the worker was actively processing the oldest durable task in FIFO order.