@vibelord/lanes 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,7 +26,9 @@ Trace keys: `cc-session/<id>` and `codex-session/<id>` (first two segments of th
26
26
 
27
27
  The poller (plan Task 11, opt-in `lanes-economy.service`; enabling it is an operator gate because it reads the
28
28
  production daemon's loopback control port): every `--interval` seconds it GETs `/status` and `/sessions` (3 s
29
- timeout, optional bearer from `LANES_THROTTLE_TOKEN_FILE`), folds today's log through `day_totals`, and writes
29
+ timeout, bearer from `LANES_THROTTLE_TOKEN_FILE`: both routes are guarded control reads, and the daemon's ControlAuth
30
+ answers 401 to a request without the bearer whatever the bind — there is no loopback exemption on the control port,
31
+ DEF-1930), folds today's log through `day_totals`, and writes
30
32
  `STATE/economy.json` (schema `v: 1`, additive) only when the payload changed apart from `at` — or when the file's
31
33
  `at` is HEARTBEAT seconds old, so `at` is a liveness heartbeat the sidebar ages with its own clock (DEF-1528); the
32
34
  cursor lives in `STATE/economy.cursor.json`. `LANES_THROTTLE_CONTROL=none` disables every daemon request (the log fold still runs);
@@ -442,7 +444,9 @@ def control_url(env):
442
444
 
443
445
 
444
446
  def read_token(env):
445
- """The optional bearer (loopback without `remote_key` needs none). Never logged, never written anywhere."""
447
+ """The bearer, or None when no file is named. `/status` and `/sessions` are guarded control routes: the daemon's
448
+ ControlAuth (its `remote_key` or the claude pool's managed local client token) answers 401 without one, loopback
449
+ or not (DEF-1930), so a poll without it degrades to `HTTP 401`. Never logged, never written anywhere."""
446
450
  path = env.get('LANES_THROTTLE_TOKEN_FILE')
447
451
  if not path:
448
452
  return None