Spaces:
Running
Running
Commit History
14 days ago
-
Private temp dir for state fallback instead of shared tmp
SilverElixirafada05 -
Resolve declined nicknames both ways, cover fixes with tests
SilverElixir85833be -
Review fixes: full sender names, nick hints, ctx persist, trim order
SilverElixir6e8e909 -
Chat memory: sender directory and combined 100-message cap
SilverElixir60ad579
15 days ago
-
Count model attempts and failures in daily stats
SilverElixir965ba13
16 days ago
-
Fix small hardening issues across logging media and errors
SilverElixir3438464 -
Read numeric env settings through guarded helper
SilverElixira5fc83f -
Fail closed when the chat index is corrupt without legacy
SilverElixir2111b5d -
Guard state dirty flags with generation counters
SilverElixir909b840
17 days ago
-
Add owner ban commands, dependabot PR cap, seed docs
SilverElixireb80878
18 days ago
-
Fix review findings on limits and stats
SilverElixir87259c9 -
Fix stats activity clock and expand diagnostics
SilverElixir5e12873 -
Add per-user daily limits with Gemini fallback
SilverElixirf47e28b
22 days ago
-
Single-source limit scalars; generation-checked chat lock acquisition (A5-8, A5-10)
SilverElixira7a4333 -
Validate restored chat state; cap media buckets per chat; stop pruning from dirtying every chat (A5-4, A5-5, A5-6, A5-7, A5-9)
SilverElixird728999
23 days ago
-
Guard state flush on failed startup load; keep failed shutdown writes queued (A5-2, A5-1)
SilverElixir13f2c64
24 days ago
-
Comment cleanup: short Russian why-comments, no AI boilerplate
SilverElixirOnly comments and docstrings changed in all 27 files; code verified identical via AST comparison (comments/docstrings normalized). - Removed the repeated P2-audit/extraction-history boilerplate from every module docstring; kept one line saying what the module does. - Trimmed verbose paraphrasing comments to 2-3 lines of reason and evidence. - Kept dated evidence comments (incidents, audits) in short form. - Translated leftover English headers to Russian; no emojis in comments (the ones found live in user strings and assertions, untouched). - Fixed a mojibake comment and two docstrings accidentally truncated mid-edit; full gate green after the fix.5f80ef1
25 days ago
-
Independent re-review: fix missed regressions and close gaps
SilverElixir- lumen_routes: initialize the skipped-retry flag before the MALFORMED branch. A blocked non-MALFORMED answer raised UnboundLocalError instead of reporting the block reason. Added a regression test. - lumen_routes: recognize Google's concatenated PerDay quota metric (GenerateRequestsPerDayPerProjectPerModel) as a daily quota; otherwise a real daily limit was downgraded to a short cooldown. - lumen_tts/lumen_commands: TTS now distinguishes daily quota from burst 429 like the text route. A burst only cools the TTS model down; a daily quota still marks it exhausted. Updated and added TTS quota tests. - lumen_message_core/lumen_chat_state: rate-limit refusals no longer create chat state. Added _t_no_create/_peek_chat_lang and a test proving a rejected message leaves no state behind. - lumen_tiktok: follow download redirects manually, validating scheme and public host before each hop instead of trusting the client and checking only after contact. Added redirect tests. - …5bd5d41 -
Fix regressions found by adversarial review: routing, rendering, rate limits
SilverElixirRegressions from the previous waves, found by six independent adversarial reviews and confirmed directly: - lumen_routes: the account-wide OpenRouter early exit had moved into the request wrapper, where the shared except swallowed it, so the whole chain was burned instead of stopping after one attempt. The decision now lives in the loop via stop_on. - lumen_routes: a skipped retry after a malformed tool call used to answer the user with a "response blocked" placeholder instead of falling through to the next model. - lumen_formatting: the inline list splitters ate blockquotes, headings and markdown table rows, so quotes rendered empty, a bare heading marker leaked and tables broke differently in the stream and in the final message. - lumen_formatting: the element-of command preceded the integral command in the symbol map, so int with limits turned into element-of plus t. Headings were also extracted before the LaTeX scrub, leaving raw commands in h3. - lumen_streaming…62c1832 -
Reliability wave 3: router skips quota-exhausted models, prune never drops a chat holding the lock
SilverElixir83fef4a
27 days ago
-
Reliability: cap malformed-call retry by route deadline, service quota separation, album buffer cleanup
SilverElixirc67c969
29 days ago
-
Luna audit fixes: album lock, multilingual routing, streaming budget, quota and persistence hardening
SilverElixirdd4c939 -
Qwen audit fixes: aio Gemini client, snapshot-before-thread state flush, drop dead Fish check, utcnow fix
SilverElixir3704a0f
30 days ago
-
History summarization: compress overflow into summary instead of silent cut
SilverElixira348a03
-
Comment polish: Russian pro-style comments, keep dated evidence short (+426/-2765). Fix: bot.send_chat_action -> bot.bot.send_chat_action (was AttributeError, typing indicator never showed)
SilverElixir0b65b92
-
Fix lang reset on restart: keep lang in restored chat state
SilverElixir8af70d7
-
P2: extract lumen_chat_state.py (chat state, quotas, locks, owner utils) with bot.X re-exports (AUD-A-001)
SilverElixird124960