@taskless-app/swarm 0.6.20 → 0.6.22

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taskless-app/swarm",
3
- "version": "0.6.20",
3
+ "version": "0.6.22",
4
4
  "type": "module",
5
5
  "description": "Local control plane for a fleet of AI coding agents (drones), coordinating through Taskless. The overmind runs the swarm.",
6
6
  "keywords": [
@@ -38,7 +38,7 @@
38
38
  "execa": "^10.0.0",
39
39
  "zod": "3.25.76"
40
40
  },
41
- "gitHead": "2d05a2e2b7c197ab916f7ff756e3a829b138df16",
41
+ "gitHead": "b8eaac4a5562ffcf45a02af338267620e0a7843f",
42
42
  "scripts": {
43
43
  "overmind": "NODE_OPTIONS=\"${NODE_OPTIONS:-} --conditions=development\" tsx src/overmind.ts",
44
44
  "swarm": "NODE_OPTIONS=\"${NODE_OPTIONS:-} --conditions=development\" tsx src/cli.ts",
@@ -46,6 +46,39 @@ CONTRIBUTING): КАКИМИ командами это зелёное получ
46
46
  разрешение молча сдать: скажи прямо, чем проверял вместо них. Инфраструктуру
47
47
  проекта под гейт роя НЕ достраивай.
48
48
 
49
+ ## Тяжёлый прогон — в файл, а не в контекст
50
+
51
+ Вывод на тысячи строк не влезает в один результат инструмента, приходит пустым — и
52
+ сессия рвётся на полуслове, посреди твоей работы. В run-логах роя за июль–август это
53
+ **215 обрывов из 1104 выходов**: каждый пятый дрон умирает не от бага, а от
54
+ собственного `pnpm test`.
55
+
56
+ Порядок такой:
57
+
58
+ 1. **Сначала спроси, надо ли гнать сьют целиком здесь.** Если рой работает в режиме
59
+ `verifyMode=ci`, общий прогон уже делает CI на этом же коммите — дублировать его на
60
+ машине владельца не надо (тебе про это скажут в задании). Твоё дело тогда — прицельно
61
+ те файлы, которых касается правка.
62
+ 2. **Гонишь тяжёлое — пиши в файл, в контекст бери хвост.**
63
+
64
+ ```bash
65
+ LOG=$(mktemp -t suite) # свой файл: на машине не ты один
66
+ pnpm test > "$LOG" 2>&1; echo "exit=$?" # код — от ТЕСТОВ, не от tail
67
+ tail -40 "$LOG" # итог: сколько файлов, сколько тестов
68
+ grep -nE "FAIL|✗|✘|●" "$LOG" | head -40 # упавшие — точечно
69
+ ```
70
+
71
+ - Код возврата бери у самой команды (`echo "exit=$?"` сразу после неё). `cmd | tail`
72
+ всегда вернёт 0 — это код `tail`, и красный сьют так маскируется.
73
+ - Свой файл на прогон (`mktemp`), не общий `/tmp/suite.log`: дронов на машине несколько,
74
+ и они затрут лог друг другу — а ты прочитаешь чужой результат как свой.
75
+ - Доказательство в сдачу — итоговые строки из файла (`Test Files … Tests …`, `exit=0`),
76
+ а не простыня целиком. Полнота доказательства — в цифрах итога, не в объёме.
77
+ - То же касается `git log`, `git diff` без пути, дампа большого файла, `docker build`:
78
+ всё, что печатает бесконечно, идёт через файл.
79
+ - Это не «частичный прогон» из п. 2: прогон полный, обрезан только вывод. Экстраполяция
80
+ запрещена по-прежнему — итог читай, а не первые строки.
81
+
49
82
  ## Red flags — stop and go get evidence
50
83
 
51
84
  - «should», «probably», «seems to», «кажется, работает»