v1.44.2: document the per-completion tool census in README

This commit is contained in:
2026-10-18 22:15:55 +02:00
parent bbb35c21cd
commit fc436aeb24
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -381,7 +381,7 @@ Every `TAI_*` knob above that behaves like a setting (model, backends, keys, voi
## Debug logging
`./tai.py --debug` records every interesting action twice: one line per event to `~/.tai/debug.log` (wiped on each root start, appended by child processes marked with `TAI_CHILD`), and one row per event in the vault `logs` table. `--debug stdout` / `--debug stderr` move the stream; `--debug-format json` switches lines from sentences to JSON (`TAI_DEBUG` / `TAI_DEBUG_FORMAT` do the same from env). Every event carries profile, bot, telegram chat id, a per-boot run id, and fixed meta: LLM completions trap backend, model, milliseconds, tokens in/out/total, and the system/user/assistant texts; tool calls trap name, redacted args, milliseconds, and outcome; turns, approvals, vault writes, scheduler fires, served MCP requests, CAP turns, and telegram updates each log once at their layer. Secret values never reach a log (names only, values redacted, secret-shaped tool args masked). The table is indexed on every filter column plus FTS, sealed at rest, and pruned to the newest 20,000 rows. Full rules and the event registry: [logging.md](logging.md).
`./tai.py --debug` records every interesting action twice: one line per event to `~/.tai/debug.log` (wiped on each root start, appended by child processes marked with `TAI_CHILD`), and one row per event in the vault `logs` table. `--debug stdout` / `--debug stderr` move the stream; `--debug-format json` switches lines from sentences to JSON (`TAI_DEBUG` / `TAI_DEBUG_FORMAT` do the same from env). Every event carries profile, bot, telegram chat id, a per-boot run id, and fixed meta: LLM completions trap backend, model, milliseconds, tokens in/out/total, the system/user/assistant texts, and the tool census (schemas actually sent, split into MCP/core/lazy, plus the name list, so laziness is checkable per call); tool calls trap name, redacted args, milliseconds, and outcome; turns, approvals, vault writes, scheduler fires, served MCP requests, CAP turns, and telegram updates each log once at their layer. Secret values never reach a log (names only, values redacted, secret-shaped tool args masked). The table is indexed on every filter column plus FTS, sealed at rest, and pruned to the newest 20,000 rows. Full rules and the event registry: [logging.md](logging.md).
## Telegram
+1 -1
View File
@@ -105,7 +105,7 @@ def _fromisoformat(text):
return parsed.replace(tzinfo=tzinfo)
raise ValueError("invalid datetime, use ISO like 2026-10-08T09:00")
VERSION = "1.44.1"
VERSION = "1.44.2"
WORKER_STEPS = 12
CREATE_SKILL_STEPS = 40
FORK_MAX_DEPTH = 2