mirror of
https://github.com/stablyai/orca.git
synced 2026-10-19 16:03:26 +00:00
* perf(rate-limits): throttle statusline usage posts to one curl per pane per 15s The managed Claude statusline script posted on every statusLine tick carrying rate_limits — ~3 curl spawns/sec per streaming pane, multiplied across concurrent panes. The service drops same-value posts inside its 30s dedupe window anyway, so most spawns bought nothing. Gate the post on a per-pane stamp file: POSIX compares date +%s against the stamp; Windows uses an all-builtin seconds-of-day parse of %TIME% (octal-safe, no extra process). Both fail open — unparseable time, garbage stamp, or midnight wrap posts rather than darkening the live usage feed — and the stamp only advances when a post actually fires, so skipped ticks never defer the next one. Measured: 30 rapid rate-limit ticks spawn 1 curl (was 30). * perf(rate-limits): keep throttled statusline ticks process-free Use Claude's monotonic session duration for the POSIX throttle so skipped ticks do not replace curl churn with date churn, while retaining a fail-open date fallback. Key temp files by the stable leaf UUID so path-like or long host tab IDs cannot disable the throttle. * fix(rate-limits): preserve throttle isolation across upgrades * fix(rate-limits): reject leading-zero stamp values before arithmetic All-digits validation still admitted values like 008, which are invalid octal inside $(( )) — and dash treats that expansion error as fatal, so the script died before rewriting the stamp and the pane's live usage feed stayed dark until the file was deleted. Allow-list canonical decimals (same pattern as the duration parse) on both the stamp and the computed clock so malformed values fail open to posting. Verified under dash: the old digits-only check aborts at the arithmetic (Illegal number: 008); the allow-list survives and posts. * perf(rate-limits): eliminate POSIX statusline cat churn * test(rate-limits): exercise overlapping statusline ticks The stamp check/write is deliberately lock-free (a lock could wedge the feed closed; fail-open is the contract), so a truly concurrent burst may post more than once, bounded by overlap width — an exact at-most-one assertion would be flaky by design. Assert the invariants that do hold: every overlapping run exits 0, the raced stamp lands valid, and it throttles the following ticks.