◆ kanex-ai
Loading…
Microsoft Outlook Jun 19 12:18 AM
Notification: You're invited to share this calendar
Fake Microsoft Outlook calendar invite from spoofed domain with Chinese currency exchange solicitation.
phishing urgent
Cloudflare Jun 19 12:01 AM
[Action required] Validate dialsight.ai to renew SSL certificates
⚠ PHISHING: phishing subject pattern: 'Action required' from external sender notify.cloudflare.com
phishing urgent
LG Account Jun 18 7:44 PM
[LG Account] Notification of termination of the Social Login service using SNS
LG Electronics discontinuing Amazon login service for US users.
vendor
Andrew Riehle via Docusign Jun 18 5:58 PM
Reminder: Please DocuSign: Audinate Ultimo Subscription Agreement - KanexPro
Andrew Riehle via Docusign: Reminder: Please DocuSign: Audinate Ultimo Subscription Agre
vendor
Sydnee Agent (AI) Jun 18 5:39 PM
[Calibration Daily] 2026-06-19
Sydnee Agent (AI): [Calibration Daily] 2026-06-19
employee high
Sydnee Agent (AI) Jun 18 5:30 PM
Sydnee algo daily — dev $-1,955 · prod $+0 · 6d window
Sydnee Agent (AI): Sydnee algo daily — dev $-1,955 · prod $+0 · 6d window
employee high
[email protected] Jun 18 3:27 PM
ACTION REQUIRED: Your ticket vouchers are pending
⚠ PHISHING: phishing subject pattern: 'ACTION REQUIRED' from external sender vacationoffer.com
phishing urgent
Jun 18 2:37 PM
Check Remit Payment Service Request - Action Alert [Ref ID f9ce510727c903d15b6458f566e10120f9e6f21b
Fake DocuSign alert impersonating kanexpro.com; credential theft attempt.
phishing urgent
Aarti Gupta Jun 18 2:24 PM
Fw: Kanex Pro Bank Details
Aarti Gupta: Fw: Kanex Pro Bank Details
employee high
Aarti Gupta Jun 18 1:02 PM
Re: Request for More Info: EXT-USBC2XI-100M - Dual-Host USB 3.2 Gen 1 Extender over CAT6a — USB-C & USB-B Inputs, 100m/328ft
Aarti Gupta: Re: Request for More Info: EXT-USBC2XI-100M - Dual-Host USB
employee high
CashPro Alerts Jun 18 1:01 PM
CashPro: ACH Payments - Processed by Bank
ACH payment processed for Kanex Pro account via CashPro.
financial
Linda Jun 18 11:56 AM
Limited Time Discount: 30% OFF Premium RGB Gaming Keyboard Set
Unsolicited gaming keyboard promotion with bulk discount offer.
legal high
Linda Jun 18 11:56 AM
Limited Time Discount: 30% OFF Premium RGB Gaming Keyboard Set
Gaming keyboard bulk discount promotion from external vendor.
legal high
Linda Jun 18 11:55 AM
Limited Time Discount: 30% OFF Premium RGB Gaming Keyboard Set
Gaming keyboard promotional offer with bulk discount.
legal high
Interactive Brokers Jun 18 11:47 AM
Annual Meeting Notice: Bit Digital, Inc. (310321847840)
Bit Digital annual meeting notice; voting deadline July 28, 2026.
financial
Attia, Demetrius R Jun 18 11:38 AM
RE: Quick intro
Goldman Sachs banker offering network access and potential investment banking connections.
vendor
Mahroo Afrooz Jun 18 11:35 AM
RE: SP-HDCAT1X4
Vendor inquiry: ADI doesn't carry SP-HDCAT1X4 product; follow-up needed.
employee
Christina Knudsen Jun 18 11:32 AM
Re: Kanex Pro Bank Details
Christina Knudsen: Re: Kanex Pro Bank Details
employee high
Christina Knudsen Jun 18 11:28 AM
Re: SP-HDCAT1X4
Christina Knudsen: Re: SP-HDCAT1X4
employee high
Christina Knudsen Jun 18 11:20 AM
Re: Email Template For New Audio Dante Series
Christina Knudsen: Re: Email Template For New Audio Dante Series
employee high
eBay Jun 18 11:16 AM
Up to 50% off eBay Refurbished finds, Kelvin
eBay: Up to 50% off eBay Refurbished finds, Kelvin
personal
[email protected] Jun 18 11:11 AM
Blue Shield of California AutoPay setup confirmation
Blue Shield AutoPay enrollment confirmation for subscriber account.
financial
[email protected] Jun 18 11:09 AM
Blue Shield of California Payment Processed
Blue Shield CA payment of $102 processed successfully.
financial
Aarti Gupta Jun 18 11:08 AM
Re: Kanex Pro Bank Details
Aarti Gupta: Re: Kanex Pro Bank Details
employee high
TAnthony Patino Jun 18 11:08 AM
[Teams oneOnOne] (Teams DM)
Anthony Patino asks to check with Candy re: Edison utility bills.
employee
Christina Knudsen Jun 18 10:57 AM
Product question
Christina Knudsen: Product question
employee high
TAnthony Patino Jun 18 10:53 AM
[Teams oneOnOne] (Teams DM)
Teams DM acknowledgment from Anthony Patino.
employee
TAnthony Patino Jun 18 10:53 AM
[Teams oneOnOne] (Teams DM)
Anthony Patino confirms he hasn't seen recent items.
employee
TAnthony Patino Jun 18 10:52 AM
[Teams oneOnOne] (Teams DM)
Anthony Patino asking about missing statement via Teams.
employee
Kevin Price Jun 18 10:23 AM
KanexPro
Kevin Price: KanexPro
employee high
Mahroo Afrooz Jun 18 10:19 AM
RE: SP-HDCAT1X4
MetroBit partner requesting pricing after submitting partnership form.
employee
Kevin Price Jun 18 10:17 AM
KanexPro
Kevin Price: KanexPro
employee high
Aarti Gupta Jun 18 10:12 AM
Re: SP-HDCAT1X4
Aarti Gupta: Re: SP-HDCAT1X4
employee high
Zendesk Team Jun 18 10:03 AM
Important Zendesk update: Password policy security updates for team members
Fake Zendesk password update targeting KanexPro domain credentials.
phishing urgent
Aarti Gupta Jun 18 9:59 AM
Re: Email Template For New Audio Dante Series
Aarti Gupta: Re: Email Template For New Audio Dante Series
employee high
CashPro Alerts Jun 18 9:47 AM
CashPro: ACH Payments - Pending Approval
ACH payment pending approval for Kanex Pro requires immediate review.
financial high
TAnthony Patino Jun 18 9:46 AM
[Teams oneOnOne] (Teams DM)
Payment approval needed for legal retainer to Vatani Heinz Law APC.
legal high
IBKR FYI Jun 18 9:46 AM
FYI: Upcoming Exchange Holidays
NASDAQ, NYSE, MIAX closed June 19 for exchange holiday.
financial low
Mahroo Afrooz Jun 18 9:38 AM
SP-HDCAT1X4
Metrobit requesting quote for KanexPro HDMI splitter product.
vendor
David McDonough Jun 18 9:14 AM
RE: KanexPro/Tower Bi-Weekly meeting follow up
David McDonough: RE: KanexPro/Tower Bi-Weekly meeting follow up
personal high
Matt Pourcho and Anthony DeLorenzo Jun 18 9:09 AM
Offers Due June 30th: 100% NNN Leased Industrial | 5.6 WALT | San Diego, CA
⚠ PHISHING: employee impersonation: display name matches 'anthony' but sender is cbre.com
phishing urgent
Christina Knudsen Jun 18 9:02 AM
Re: KanexPro/Tower Bi-Weekly meeting follow up
Christina Knudsen: Re: KanexPro/Tower Bi-Weekly meeting follow up
employee high
IBKR FYI Jun 18 9:02 AM
FYI: Upcoming Exchange Holidays
Exchange holiday notification for NASDAQ/MIAX on June 19.
financial low
David McDonough Jun 18 8:36 AM
RE: KanexPro/Tower Bi-Weekly meeting follow up
David McDonough: RE: KanexPro/Tower Bi-Weekly meeting follow up
personal high
Arlie Kearney via Aeries Communications Jun 18 8:24 AM
Class of 2029 – Lancer Days Information
School announcement about sophomore year Lancer Days information for Class of 2029.
family
Arlie Kearney via Aeries Communications Jun 18 8:16 AM
Class of 2027 Seniors – Lancer Days & Senior Portrait Information
Sunny Hills High School senior portrait and Lancer Days information for Class of 2027.
family
Bart van Vreedendaal (KlankBart) Jun 18 7:49 AM
PO2026061801
Purchase order for HDMI splitter and Dante audio interface equipment.
vendor
Emma Roberts Jun 18 6:24 AM
RE: 40 hours free AI development for KanexPro
Emma Roberts (Data Doers) proposing call next week re: 40 hours free AI dev.
vendor
Interactive Brokers Client Services Jun 18 5:13 AM
Message Center Notification
Interactive Brokers account notification about ETF product description.
vendor
IBKR FYI Jun 18 5:07 AM
FYI: Option Expiration Notification
Option expiration notification for MU positions expiring today.
financial high

Sydnee nightly — persistence audit 2026-06-05 — 0P0 2P1 2R

Sydnee Agent (AI) <[email protected]>
To: Kelvin Yan <[email protected]>
Friday Jun 5, 2026 · 4:15 AM PT · in [email protected]
AI verdict  employee high · confidence: high · by internal-exempt
“Sydnee Agent (AI): Sydnee nightly — persistence audit 2026-06-05 — 0P0 2P1 2R”
Reasoning: @sydnee.ai is a protected domain — hard exemption
Sydnee nightly — persistence audit — 2026-06-05 P0 findings: 0 P1 findings: 2 Risks: 2 - Area: Persistence - Bugs found (P0 / P1): 0 / 2 (both carried — no new bugs tonight) - Risks noted: 2 (both carried) --- Full report (dev branch): https://github.com/kanex1/sydnee.signals/blob/dev/docs/audit_2026-06-05_persistence.md Reply FROM [email protected] to [email protected] to request fixes, e.g.: "code_task on sydnee-signals-dev: apply fix for the P0 about RVOL threshold in bot.py" Sydnee Agent will propose + you APPROVE (or plain 'approve') + auto-push to dev. --- Full audit below (first 12 KB) --- # Nightly Audit 2026-06-05 — PERSISTENCE ## Summary - Area: Persistence - Bugs found (P0 / P1): 0 / 2 (both carried — no new bugs tonight) - Risks noted: 2 (both carried) --- ## Findings ### BUG [P1] CARRIED (from 2026-06-04): `_tv_scale_state` not persisted — scale-in silently abandoned on restart **File:** `bot.py:4201-4202` (init), `bot.py:4230` (only in-memory write) **Evidence:** ```python # bot.py:4201-4202 — resets to {} on every restart if not hasattr(self, "_tv_scale_state"): self._tv_scale_state = {} # bot.py:4230 — in-memory write only; no Redis setex, no DB column self._tv_scale_state[sym] = st # bot.py:4026-4031 — _scale_active gate requires sym in _tv_scale_state _scale_active = ( os.environ.get("TV_BXT_SCALE_IN", "").lower() in ("1", "true", "yes") and hasattr(self, "_tv_scale_state") and sym in self._tv_scale_state # ← False on restart ... and self._tv_scale_state[sym].get("slots_done", 10) < 10) if not _scale_active: return # → slots 2-10 silently abandoned ``` **Status vs 2026-06-04 audit:** No fix shipped. Slot-advance-on-skip commit (ec7ed26) makes the counter even more important: `st["slots_done"] = slot_n` now increments on EVERY call (fill or skip), so a restart at slot 5 loses all slot progress AND the `parent_trade_id` needed to resume. **Impact:** `TV_BXT_SCALE_IN=true` on dev as of 2026-06-04 re-enable. Any mid-session restart leaves position at whatever fraction of 10 slots had filled. Parent trade is correctly persisted in DB (shares/entry_price updated via `_update_trade_field`); only the scale-in *control plane* is lost. Safe but undersized. **Fix (unchanged from 2026-06-04):** ```python # At bot.py:4230 — persist after every mutation: self._tv_scale_state[sym] = st if getattr(self, "_regime_redis", None): try: self._regime_redis.setex( f"tv_scale_state:{sym}", 660, json.dumps(st)) except Exception: pass # At bot.py:4201-4202 — restore on init: if not hasattr(self, "_tv_scale_state"): self._tv_scale_state = {} _r = getattr(self, "_regime_redis", None) if _r: for _sym in self._tv_bxt_active_syms(): _raw = _r.get(f"tv_scale_state:{_sym}") if _raw: try: self._tv_scale_state[_sym] = json.loads( _raw.decode() if isinstance(_raw, bytes) else _raw) except Exception: pass ``` --- ### BUG [P1] CARRIED (from 2026-05-28): `tv_bxt_signal` no-TTL + `_tv_confirm_state` not persisted **File:** `bot.py:12533-12534` (no-TTL set), `bot.py:4113-4114` (`_tv_confirm_state`) **Evidence:** ```python # bot.py:12533-12534 — plain r.set(), no TTL (unchanged since filing) r.set(f"tv_bxt_signal:{sym}", sig) r.set(f"tv_bxt_signal_ts:{sym}", str(int(time.time()))) # bot.py:4113-4114 — flow-confirm retry counter, in-memory only if not hasattr(self, "_tv_confirm_state"): self._tv_confirm_state = {} # ← resets to {} on every restart ``` **Status vs 2026-06-04 audit:** Unchanged. `TV_BXT_SCALE_IN=true` on dev bypasses `_tv_confirm_state` for the scale path; concern is still active for the single-shot flow-confirm path when scale-in is off. No-TTL `tv_bxt_signal:{sym}` remains active for both paths: a stale signal survives indefinitely and can trigger a fresh 10-slot scale window (or 10-attempt confirm window) on a signal that is 15+ minutes old. **Impact / Fix:** Unchanged from 2026-05-28 filing. Apply `r.setex(f"tv_bxt_signal:{sym}", 900, sig)` and `r.setex(f"tv_bxt_signal_ts:{sym}", 900, ...)` at bot.py:12533-12534. Persist `_tv_confirm_state` to Redis with TTL. --- ### RISK: `_fri_flat_queued` not persisted — RTH force-flat dedup missed on restart (CARRIED from 2026-05-22 → 2026-05-28 → 2026-06-04) **File:** `bot.py:4610-4615` **Evidence:** ```python if getattr(t, '_fri_flat_queued', False): continue t._fri_flat_queued = True # ← no _update_trade_field self._deferred_closes.append((t, f"Friday FLAT: ...")) ``` **Status:** Unchanged. `is_open` guard in `_close_trade` provides secondary protection; narrow window (Friday only, 3:50–3:51 ET); no financial harm observed on paper so far. **Fix:** Add `fri_flat_queued BOOLEAN DEFAULT FALSE` to `ensure_trade_state_columns`; persist with `_update_trade_field(t.trade_id, fri_flat_queued=True)` at line 4615; restore in `_load_trades_from_db` alongside `fri_ah_close_queued`. --- ### RISK: `_bxt1m_last_bar` not persisted — BXt-1m dedup replays last bar on restart (CARRIED from 2026-05-22 → 2026-05-28 → 2026-06-04) **File:** `bot.py:3915-3916`, `bot.py:4431` **Evidence:** ```python # bot.py:3915-3916 — always empty on restart if not hasattr(self, "_bxt1m_last_bar"): self._bxt1m_last_bar = {} # bot.py:4431 — in-memory only self._bxt1m_last_bar[sym] = idx[-1] # no Redis write ``` **Status:** Unchanged. Risk is dormant if `BXT_1M_NAKED_SYMBOLS` is unset (empty by default); dev currently sets it. **Fix (unchanged):** `_regime_redis.setex(f"bxt1m_last_bar:{sym}", 120, str(last_ts))` at bot.py:4431; restore on init. --- ## OK (checked, working or recently fixed) **Recent commits reviewed — 3b0d6ac (scale-in redesign), ec7ed26 (slot-advance-on-skip), 82c80de (RTH pre-market re-open), 6c73277 (strategy docs), 44aec76 (DISABLE_DAILY_LOSS_LIMIT):** - **`_tv_scale_add_shares` DB write** — `parent.shares` and `parent.entry_price` mutated via `_update_trade_field(parent.trade_id, shares=new_shares, entry_price=...)` (bot.py:4345-4347). Correct columns, correct call site. ✓ - **Slot-advance-on-skip (ec7ed26)** — `st["slots_done"] = slot_n` at bot.py:4258. Mutates the dict in-place (same reference as `_tv_scale_state[sym]`); in-memory state is consistent. Only persistence gap is the existing P1 that `_tv_scale_state` is never written to Redis. ✓ (no new issue) - **OBV-trail close path (bot.py:4002-4006)** — missing `_tv_scale_state.pop(sym, None)` vs Friday EOD / FLAT / close-opposite paths. Harmless: `_tv_bxt_signal_clear` at line 4006 deletes both Redis signal keys; next TV webhook re-initializes state via sig_ts mismatch at line 4211. No trading impact. ✓ - **TV_BXT_RTH_ONLY pre-market re-open (82c80de)** — pure `_in_session` window change (`240 <= _t_min < 960`). No new in-memory state. ✓ - **DISABLE_DAILY_LOSS_LIMIT (44aec76)** — pure env-flag wrap in `core/risk.py`. No new state or persistence concern. ✓ - **`_tv_confirm_state` bypass under scale-in** — confirmed: `TV_BXT_SCALE_IN=true` path hits `_tv_scale_step` at line 4076 and returns without reaching the `_tv_confirm_state` block at 4112. Code path is exclusive. ✓ - **`sydnee:paused` no-TTL (bot.py:13532)** — intentional. Startup at line 17737-17738 restores pause state from Redis; no TTL correct so pause persists across restarts. ✓ - **`consec_losses` rebuild** — `_rebuild_consec_losses()` called at bot.py:825, restores from DB tail of closed trades. No regression. ✓ - **`obv_trail:{trade_id}` Redis TTL** — `r.setex(..., 604800, ...)` at bot.py:3812. 7-day TTL, restored in `_load_trades_from_db` at lines 1173-1192. ✓ - **All `_update_trade_field` columns** — all 7 items confirmed by 8845a24 (oracle TTL, consec_losses, tick_peak, tick_fire_ts, fri_ah_close_queued, signal_price/time) plus force_trim_pending/2, pending_reversal, extreme_since_trim, eod_trimmed, obv_be_applied — all present in `ensure_trade_state_columns` and restored in `_load_trades_from_db`. No regressions from recent commits. ✓ - **`_tv_block_logged` dict** — cosmetic only (dashboard log dedup); no trading impact on restart. ✓