Skip to content

fix: bound logged commands and update README for turn-span#3

Merged
tsilenzio merged 2 commits into
mainfrom
fix/oversized-command-lines
Jul 15, 2026
Merged

fix: bound logged commands and update README for turn-span#3
tsilenzio merged 2 commits into
mainfrom
fix/oversized-command-lines

Conversation

@tsilenzio

Copy link
Copy Markdown
Owner

Summary

  • Truncate the logged command field to 1 KiB at record time (AN-001). It was the one unbounded hook field, and a line longer than the 8 KiB tail window is unreadable by read_last_line, which made the session invisible to the daemon and released the hold mid-turn, exactly the failure class turn-span was built to remove. Nothing reads command since commit detection was deleted, so the bound only trims what future reactors would see.
  • Update the README for the shipped turn-span design (AN-003): the whole-turn hold replaces the commit-timeout paragraph, the 2s tick is described as housekeeping rather than the staleness backstop, seven hooks instead of six, the battery max-hold counts battery time, and status now shows the daemon's last decision.

Test plan

  • cargo fmt --check, clippy -D warnings, cargo test (30 tests, including truncation char-boundary cases and a worst-case-escaping line-size guarantee) green locally
  • End-to-end: a 20 KB command through the real vigil record path produced a 1188-byte line that parses, command bounded at 1024 bytes plus ellipsis
  • CI (macOS check/test/clippy/fmt, conventions)

@tsilenzio
tsilenzio merged commit 6ad66d5 into main Jul 15, 2026
7 checks passed
@tsilenzio
tsilenzio deleted the fix/oversized-command-lines branch July 15, 2026 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant