feat: ai-proxy key safety, grok self-refresh, youtube ask rebuild, codex handoff skills, du edge correctness - #296
Closed
genesiscz wants to merge 0 commit into
Closed
feat: ai-proxy key safety, grok self-refresh, youtube ask rebuild, codex handoff skills, du edge correctness#296genesiscz wants to merge 0 commit into
genesiscz wants to merge 0 commit into
Conversation
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.
This branch grew well past its ai-proxy origin. 38 commits, seven themes. Grouped below; each bullet carries its SHA(s).
ai-proxy: no billed key spent implicitly, no traffic lost to the logs
fa3285456Api-key accounts (xai-api-key,openai) refuse ambient env keys unless the account opts in (allowEnvApiKey); a key stored on the account is always allowed. Shared guard inproviders/api-key-guard.ts. Every account logs its credential source at construction (never the value).bbd1644e8Keys can live in the ai-proxy config (redacted in dumps, fingerprinted for provider rebuilds); dropped the launchd daemon that52840fe04had added, since its stripped env caused the dead-account bug in the first place.cb9a8dc03accounts set-keywith no key on a TTY becomes an interactive chooser (current state, masked prompt, env var source file); the key no longer travels through argv.fa3285456Realtime WS sessions write transcripts (delta/audio events counted, not stored; long strings elided), andPOST /v1/realtime/client_secretsis refused by default (403) because a minted secret bypasses the proxy;realtime.allowClientSecretsopts into the blind spot with every mint logged.fa3285456,52840fe04A broken account answers 503 with the construction error instead of a bare 500, and can no longer take the whole proxy down.Grok: the sub token refreshes itself
f1058493e,73bbec925OIDC refresh-token grant done in-process, single-flighted per auth path, temp-file + rename writes so a concurrent CLI never sees a torn file. Verified against the genuinely expired token.e87bc752cRefresh also happens in account resolution, not just the HTTP client.Timely: cookie login and honest token reporting
2c3cd2bbf,2b12722f6Log in from a browser cookie (pasted, from clipboard, or from a curl command) so memories work again.acb76f91f,40b036103,cb8359ce3Refresh tokens with unknown lifetimes, report rejected sessions instead of returning empty, stop claiming a fresh token "will be refreshed".tools du: correctness at filesystem edges
e5de1a700,b859ad29c,7291d3e51Report denials, allocated bytes, sparse files and clone partners with cached extent maps; stop the walk at filesystem and cloud-provider boundaries; detect blocks shared outside the scan root and lead with freeable bytes.ba8d7bd84benchmark-doc correction.YouTube: ask pipeline rebuild plus extension/server fixes
1e9fdb461,05c7ab458,f54b26348,69abc2b82ask_threadswidened into user-scopedask_sessions; one queue facade behind CLI, HTTP and future MCP doors; a console service account for attribution; command tests moved onto the facade.9408f5d74,e76aac0eaAudited qaIndex stage, fixed the retrieval bucket mismatch, and a captions miss no longer silently escalates to paid ASR.1781d1bf4One subtitle renderer and one cache-ops module.496957096,69ce76b2e,7cb7cc490,bc4ca4c56Extension: seek the watch-page player directly (the IFrame API message was never received), popup styling, Generate-report button containment; launchd server agent now gets the provider API keys it resolves from env.Claude teams and cmux
a20d27b0a,587de3ae4,c4ce2172dtools claude teams+ OAuth for tmux teammates;--cmuxlaunches start/run through cmux claude-teams and keeps the skip-permissions flag the ccc wrapper would have added.d37073ca2dev-dashboard relaunches ttyd when a tmux session is renamed.Codex handoff: skills that finally teach the app-server path
c3cf5a233tools codexsessions seed a receiving-end contract into the worker: report in on the agents bus first, honor "Stop and report" checkpoint blocks, never claim unobserved verification.6e3669afaNew plugin skills:gt:handoff-to(model routing: rankings, task table, readiness gate) andgt:handoff-to-codex(self-contained driver manual: spawn/write policies, checkpoint contract, steer, approvals,codex execfallback), plus agenesis-tools:agent-driversubagent that owns one worker session end to end. agents-talk's Codex section shrank to a pointer.6e7433286me:wrap-upported into the plugin asgt:wrap-upwith the oldgt:handoffskill folded in as PLAN mode (the.claude/plans/*.handoff.mdprotocol) and retired as a standalone skill.resolve.tsgains a shared plugin config at~/.genesis-tools/plugins/config.json(registryPath,vaultDir, project-relativedocDir) as an automatic fallback tier between the registry and ask-the-user.6aaf774f4Plugin 1.0.37 to 1.0.38.Smaller fixes
cb29f19b3tools mcp-manager list --jsonso other tools can consume the registry.0b5dd0144A targeted provider scan no longer caches itself as the full catalog.cfb16d342Handoff MCP matches a session id abbreviated to its leading segment.Verification
bun run test src/ai-proxy src/utils/ai/grok272 pass / 0 fail across 51 files; grok refresh exercised against the real expired token; mint refusal, credential-source logs and the interactive chooser exercised live.bun run test src/codex/lib/seed-instructions.test.ts2 pass / 0 fail.vaultDirand project-relativedocDirfallbacks under a fake HOME,found:falsewith neither).tsgo --noEmitand biome clean via the pre-commit hook on every commit.Session narratives live in the vault:
GenesisTools/AiProxy/2026-07-27-SentryMcpCodexRouting.handoff.mdandGenesisTools/2026-07-28-HandoffToCodex.md.