Skip to content

Instantly share code, notes, and snippets.

View AlexanderDzhoganov's full-sized avatar

Alexander Dzhoganov AlexanderDzhoganov

  • Sofia, Bulgaria
View GitHub Profile

Codex CLI appears to have an unbounded agent-wait polling bug

I investigated a Codex CLI 0.146.0 session after noticing frequent horizontal dividers, repeated “Interacted with /root/...” messages, and the model drifting into agent coordination for many hours.

The divider itself is harmless: the TUI displays it between tool activity and the next assistant message. It appears constantly because Codex is repeatedly alternating between agent activity and fresh model responses.

The underlying problem is wait_agent:

  1. It waits locally for a short timeout, commonly 30 seconds.
  2. A quiet timeout returns a successful Wait timed out tool result.
@AlexanderDzhoganov
AlexanderDzhoganov / README.md
Last active January 31, 2026 05:15
World Engine Tool Launcher (we) - Download and run WE tools

World Engine Tool Launcher (we)

A simple tool to download, cache, and run World Engine tools from GitHub releases.

Quick Install

macOS / Linux

curl -fsSL https://gist.githubusercontent.com/AlexanderDzhoganov/33a076f2b90f1f181bcec26dbb8a999f/raw/we.sh | bash
@AlexanderDzhoganov
AlexanderDzhoganov / README.md
Created January 21, 2026 21:24
World Engine Tool Launcher (we) - Download and run WE tools

World Engine Tool Launcher (we)

A simple tool to download, cache, and run World Engine tools from GitHub releases.

Quick Install

macOS / Linux

curl -fsSL https://gist.githubusercontent.com/__GIST_USER__/__GIST_ID__/raw/we.sh | bash
import { AsyncLocalStorage } from 'async_hooks'
import nanoid from 'nanoid'
export const traceIdLocalStorage = new AsyncLocalStorage()
async function addTraceIdToRequest(ctx, next) {
const traceId = await nanoid()
ctx.set('X-Trace-ID', traceId)
traceIdLocalStorage.run({ traceId }, next)
}
import fs from 'fs'
import path from 'path'
import qs from 'querystring'
import httpsProxyAgent from 'https-proxy-agent'
import axios from 'axios'
const outDir = './images/'
const baseUrl = 'https://www.deviantart.com/_napi/da-browse/api/tags'
const userAgent = 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'
let proxies = [
loader.js:1014 received input: frame = 501, effective = 504, time = 8.3499, my_time = 8.4999, my_frame = 510
loader.js:1014 rollback at 511 to 501
loader.js:1014 frame sim took 70ms
loader.js:1014 frame sim took 5ms
loader.js:1014 frame sim took 6ms
loader.js:1014 frame sim took 4ms
loader.js:1014 frame sim took 5ms
loader.js:1014 frame sim took 5ms
loader.js:1014 frame sim took 4ms
loader.js:1014 frame sim took 4ms
bool netplay_manager::rollback(unsigned long long before_frame)
{
if (m_debug)
{
NETPLAY_LOG("rollback at %llu to %llu", m_frame_count, before_frame);
}
auto sys_start_time = system_time();
netplay_assert(before_frame <= m_frame_count); // impossible to go to the future
#ifndef __THREADSAFEQUEUE_H
#define __THREADSAFEQUEUE_H
#include <mutex>
#include <condition_variable>
template <typename T, typename Container>
class Queue
{
public:
function(context, args)
{
var SERVICE_USER = "foobar"
var CURRENT_USER = context.caller
function user_sells_rep(amount) {
var send_result = #s.rep.bank({ send: true, to: BANK_USER, from: CURRENT_USER, amount: amount })
if(!send_result.ok) {
return { ok: false, msg: "Failed to create deposit transaction: " + send_result.msg }
}
// Hackmud Token API
//
// Authors:
// nlight (aka facebook.com)
//
// -- Motivation --
//
// The token API allows for the existence of unhackable* user issued in-game currencies running on a network of FULLSEC scripts.
// Each implementation (instance) of the API represents a supply of tokens (currency) the ownership of which can be transferred
// securely between users. The user who hosts the token script (the issuer) is in full control of the supply and can issue new