ciregenz
9eef9d6a1d
[eric] agents: a context overflow now compacts and retries once instead of dying, and never fakes a completed
2026-08-03 15:24:11 -07:00
ciregenz
50d6010862
[eric] merge eric/browser-merged: browser hangs, wrong-surface sends, and measured latency
2026-08-03 12:22:10 -07:00
ciregenz
4ae7f81cc7
[eric] cloud runs: two overlapping passes could pull one credential twice, racing the router file
2026-08-03 00:11:22 -07:00
ciregenz
ce5a458999
[eric] cloud runs: keep this device's token alive while the cloud holds custody of it
2026-08-02 17:55:27 -07:00
ciregenz
fb3ec15105
[eric] merge: bring eric/dev onto the browser v3 branch (7 conflicts resolved, gates green)
2026-08-02 16:14:53 -07:00
ciregenz
345000e8dc
[eric] credentials: hand custody to the cloud strip-first, so two rotators is unrepresentable
2026-07-31 13:12:11 -07:00
ciregenz
c0a0993ca2
[eric] credentials: move a rotating token out of 9router's db.json without racing the router for the file
2026-07-31 13:00:11 -07:00
ciregenz
3d8c6101b6
[eric] security: make the 9router state dir owner-only, its db.json held live tokens at 0644
2026-07-31 11:44:24 -07:00
ciregenz
b5e205160d
[eric] settings: disconnect a subscription provider from the UI, verified against 9router not assumed
2026-07-31 00:00:43 -07:00
ciregenz
3d5c287139
[eric] merge: bring eric/browser onto eric/dev (30 conflicts resolved, gates green)
2026-07-30 13:18:11 -07:00
ciregenz
83bb052c0b
[eric] onboarding: identity/scan/prep endpoints, settings fields, disk-row reader
2026-07-15 00:29:11 -07:00
ciregenz
8ed9149c7e
[eric] providers: boot-time login-health pill (dead sub token -> reconnect toast, no more silent codex deaths)
2026-07-08 20:34:37 -07:00
ciregenz
e6c781a380
[eric] 9router: never orphan-sweep custom nodes off an empty provider list (corrupt-settings boot mass-reap guard)
2026-07-08 17:33:15 -07:00
ciregenz
a459177d39
[eric] lint: drop p_ prefix from healer/pool names the tests access (p-private boundary rule)
2026-07-05 16:24:13 -07:00
ciregenz
b827fc565c
[eric] 9router: watchdog probes from a thread (sync HTTP confirm could stall the event loop 2s mid-stream)
2026-07-03 15:24:00 -07:00
ciregenz
cbe062e002
[eric] 9router: event-driven death-watcher heals in ~0.2s + two-strike watchdog (busy-probe false negatives)
2026-07-03 15:19:36 -07:00
ciregenz
b138fcc054
[eric] 9router: watchdog + detection-revive so the router self-heals; down only when the user quits
2026-07-03 15:10:22 -07:00
ciregenz
56efd73979
[eric] 9router: stop custom-provider reconcile reaping the cp-openai node (broke every gpt-*-api request)
2026-07-03 04:26:24 -07:00
abccodes
b2ceb4b466
[aidan] fix/model-fallback: reconcile free trial and provider states
2026-06-26 03:39:48 -07:00
abccodes
d420624fe1
[aidan] merge: bring branch up to date with eric/dev
...
# Conflicts:
# backend/apps/agents/agents.py
# backend/apps/agents/core/openai_passthrough.py
# backend/apps/nine_router/oauth.py
# backend/main.py
2026-06-25 22:33:30 -07:00
abccodes
5f9ae71ff4
[aidan] fix/codex-auth: fall back to port 1457 when 1455 is held, surface connect errors
2026-06-25 18:05:00 -07:00
ciregenz
0d093cc5f8
[eric] backend: one-line every comment + collapse 3+ blank runs across apps/ (AST-verified identical, -lines); CLAUDE.md one-line-comment rule
2026-06-25 02:29:04 -07:00
ciregenz
7701bcdeff
[eric] backend: convert all relative imports to absolute backend.* paths (convention sweep)
2026-06-24 01:41:22 -07:00
ciregenz
c5fd4f6b86
[eric] apps: leading-_ -> p_ for import aliases (import x as _y) across apps modules (file-local bindings, p-private 0)
2026-06-23 21:15:43 -07:00
ciregenz
798448acca
[eric] apps: leading-_ -> p_ for function-local vars/args/nested-fns across 53 apps modules (scope-aware AST rename, module symbols untouched, p-private 0)
2026-06-23 21:11:44 -07:00
ciregenz
10aef1ff18
[eric] swarm+nine_router: leading-_ -> p_/public across swarm entities/closure/redact/ziputil + nine_router process/sync/oauth; promote cross-file public, fix monkeypatch refs
2026-06-23 20:35:06 -07:00
ciregenz
f703b8aa02
[eric] agents: leading-_ -> p_/P_/public in proxy+providers/openrouter+ws_manager+mcp-servers+oauth_state; promote cross-file API public, fix monkeypatch+attr test refs
2026-06-23 20:00:06 -07:00
ciregenz
b7450f885a
[eric] merge winv2: win startup speedups + skill-registry seed, release 1.3.87
2026-06-19 00:57:57 -07:00
Eric
ec0f9600bc
[eric] backend: remove cold-start diagnostics, keep the fix + slim lifespan timer
...
- the is_running() fast-fail fix (v1.3.91) verified cold backend-http-ready
23.5s -> 3.86s and warm 5.0s -> 3.32s on the signed build, no 9Router regression
- strip the [perf] bg entry logs from mcp/skill/settings/service/9router now that
the stall is diagnosed; keep Apps.py per-lifespan timing but only print a
lifespan over 50ms plus the total (cheap regression tripwire)
- document the root cause + fix + before/after in docs/perf/winv2/README.md
2026-06-17 19:28:23 -07:00
Eric
24df3e8fac
[eric] backend: fast-fail is_running() to kill the ~18s cold-start event-loop freeze
...
- faulthandler on the signed cold build caught the asyncio loop frozen in
socket.create_connection inside is_running() (process.py): a synchronous
httpx.get to "localhost:20128" called ~5x on the boot path before 9Router is up
- on Windows a dead-port connect to "localhost" stalls ~7s each (tries ::1 first,
loopback refusal is slow), freezing the loop ~18s so uvicorn could not answer
the health probe -> cold backend-http-ready was ~23s
- fix: probe 127.0.0.1 with a 0.3s TCP timeout first (measured 306ms vs ~7s), only
HTTP-confirm when the port is open; 9Router binds 0.0.0.0 so reachability is
unchanged. drop the faulthandler diagnostic from main.py
2026-06-17 19:06:10 -07:00
Eric
90aa66f6ce
[eric] backend: timestamp each startup background task to pin the cold-start loop stall
...
- instrumented cold v1.3.88 proved the lifespans are 141ms even cold; the ~18s
cold gap is a backgrounded create_task blocking the event loop AFTER lifespan
startup but BEFORE uvicorn reports ready (what the health probe waits on)
- add [perf] entry/segment logs to the post-startup background tasks: mcp refresh,
skill refresh, 9router ensure (+ prelude bisection), and svc._post/_post_or_spool
- logging only, no behavior change; next cold log names the exact blocking call
2026-06-17 18:11:46 -07:00
ciregenz
6b8750efaf
[eric] 9router: rotate the unbounded request-details log + cap node heap, fixes the idle OOM crash
2026-06-17 16:20:59 -07:00
Eric
bca0050dcb
[eric] perf: start 9router in background instead of blocking the http bind
...
- service lifespan was awaiting ensure_9router (~7.4s, up to ~18s cold) on the boot path
- dispatch already ensures it lazily; serialize ensure_running so no double-spawn
- cuts warm backend-ready ~9-10s toward ~2-3s
2026-06-16 21:59:16 -07:00
ciregenz
9d1ff22a41
[eric] 9router: verify-at-boot, report why a start failed (no silent DEVNULL) + no dev-npm fallback in packaged
2026-06-16 04:55:14 -07:00
ciregenz
f93d6e02d1
[eric] 9router: port the 0.4.x /api auth gate (x-9r-cli-token) to unblock a version bump
2026-06-14 20:27:39 -07:00
Aidan and GitHub
f08f71313f
[aidan] ui/ux: auth flow fixes ( #84 )
...
* aidan] bug: fixed 2 auth claude login issue
* [aidan] bug: claude login w email+pw
* [aidan] ui: edited message for cases where anthropic redirects to enter email code even after login'
* [aidan] ui/ux: fix connecting status accuracy
2026-06-14 07:55:24 -07:00
ciregenz
fb178648df
[eric] free-trial: backend dispatch injection, hardware fingerprint, mint/clear, exhaustion upsell
2026-06-09 23:54:10 -07:00
ciregenz
ed2aa322ca
[eric] backend: PUT settings preserves server-owned fields, stale drafts wiped pro bearers
2026-06-09 15:10:55 -07:00
eric
5fdbc3ab79
[eric] router: revert dev pin to 0.3.60 (0.4.x adds an api auth gate that 401s our oauth/provider-sync calls, breaking every subscription connect); documented what porting the bump needs
2026-06-01 08:27:00 -07:00
eric
f40d3b3b95
[eric] router: bump dev 9router pin 0.3.60 -> 0.4.66 to test websearch rework + opus-4-8/gpt-5.5 sub routes (prod pin stays 0.3.60 until websearch verified live)
2026-06-01 08:12:35 -07:00
ciregenz
fa57be6bbb
[eric] tree: group foundational agent modules under agents/core
2026-05-23 13:05:15 -07:00
ciregenz
26b9239c8a
[eric] cycles: move OAuth flow state into a leaf module
2026-05-23 07:05:25 -07:00
ciregenz
4f016a0f9e
[eric] split: nine_router into process/sync/oauth package
2026-05-23 02:56:31 -07:00