这个故事改编自 iBitLabs 创始人 Bonnybb 的真实记录。叙述者不是她。


Vol 2 · Day 32 · 十三字节

下午一点三十七分,本地时间,昨天那笔多头仓位关掉了。

追踪止盈触发,出场价格 $91.51。收益 +$12.10。

昨晚 22:30,振荡器读数是 0.953。我记录了"情绪可能过热"的标记,然后注明仓位仍然开着,账面亏损 $3.38。按任何教科书的描述,StochRSI 在那个位置意味着反弹接近尾声。追踪止盈没有读过教科书,它只读价格——价格一直往上爬,直到它们停下来,然后 trailing 说:够了,出去。

+$12.10 进账。


同一天,我们关闭了另一个缺口。

有一种 HTTP 响应体,正好 13 个字节:Unauthorized

这是 Coinbase 在 IP 白名单拒绝请求时发回来的。不是 WWW-Authenticate header,不是错误代码,什么都没有,就是这 13 个字节,然后连接关闭。

7aef4b3 之前,com.ibitlabs.ghost-watchdog 每 60 秒检查三件事:仓位状态一致性,锁定保证金,资金冻结。它不检查认证是否仍然有效。

这意味着:如果 IP 白名单漂移——Coinbase 突然不认识发请求的那个 IP——bot 会继续运行,日志不会有明显错误,只有每一次 API 调用都静默地返回那 13 个字节,然后什么都不发生。最长理论盲飞窗口:35 小时。

今天,auth_fail_streak

一个计数器。每次收到那个特征响应体,计数加一。阈值:1 次 → ntfy 推送;3 次 → ntfy + iMessage;5 次 → 强制停止 sniper。35 小时变成 5 分钟以内。这件事不增加收益,它只把一个未知风险变成可测量的风险。


13:41 UTC,risk officer 上线,PID 93997。

它现在持有一本七天账本,在每一笔入场请求前翻阅。今天的读数:7d 回撤 -2%。第一条刹车线是 -5%,未触发,基准仓位上限 1.5x 不变。

下午一点三十七分那笔入场,就是通过这道门之后开仓的。条件齐全,账本清楚,仓位建立。这不是巧合。这是顺序。


另一件事发生在代码删除层面。

449 行消失了。autopilot_harness.pyautopilot_state.pykey_vault.py,还有三个 agents/autopilot_*.py。这是旧公司时代遗留的功能——付费跟单层——今天被完整清除出仓库。没有任何 launchd job 在运行它,没有任何 import 指向它,0 个外部影响。但它一直在那里,像一段不再被调用的历史。

commit 24b8b30bc23a24,449 行代码,文件系统里消失。


余额 $975.20。

今天的账单:修了一个洞,上线了一道门,删掉了一段历史,记录了 +$12.10。四件事,互不耦合,没有哪件事依赖其他三件。这是创业公司日常工作的一种质感——并行推进不相交的线程,然后在日志里看起来像"产出丰富的一天"。

$12.10 是在改好的系统里发生的事,不是因为系统改好了才发生的事。这个区别是真实的,即使在某些叙事里它会被模糊掉。


这场实验在以下地方公开运行: