code-yeongyu / code-yeongyu/senpi
Compaction uses default Codex credentials instead of the selected account
- Dominant language
- TypeScript
- Stars
- 429
- Forks
- 98
- Avg merge
- 4h 32m
- Merged PRs (30d)
- 530
Description
### What happened?
Built-in compaction uses the default Codex credential even when a different account is pinned. When the default account is out of quota, summarization fails with `Codex error: The usage limit has been reached`, interrupting a long-running session.
### Steps to reproduce
1. Configure two Codex accounts, with quota available on the secondary account but exhausted on the default account.
2. Pin the secondary account and use a Codex-backed model.
3. Trigger automatic compaction.
4. Observe a quota error from the default account.
### Expected behavior
Compaction should use the selected/pinned account, just as normal requests do.
### Diagnostic evidence
An offline probe of the installed compaction function, model registry, and auth resolver with synthetic credentials selected the default credential despite a secondary-account pin. The summary request resolves authentication without a slot selection, then passes an explicit API key, which disables account rotation. Explicit slot selection resolves the secondary credential correctly. No live provider requests were made by the probe.
Contributor guide
Research direction
Start by locating the built-in compaction function, model registry, and auth resolver mentioned in the diagnostic evidence. Reproduce the two-account scenario with the secondary account pinned, then verify that compaction resolves and uses the selected credential rather than the default account without disrupting normal requests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authentication, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100