v0.4.0
Features
- pollLog FIFO cap:
SENTINEL_MAX_POLL_LOGenv var limits per-task poll history entries. Oldest trimmed first. Unset/zero/negative = unlimited. - Task TTL auto-cleanup:
SENTINEL_TASK_TTL_MSenv var auto-removes completed/errored/cancelled tasks from memory after N ms. Unset/zero/negative = never cleanup. - Structured logging: All sentinel events (poll, error, timeout, completion, cancel, cleanup) now emit to opencode log via
client.app.log()at debug/info/warn/error levels. Log failures are non-fatal.
Internal
- New
src/services/sentinel-config.tsfor env var parsing - New
src/services/logger.tswrapping opencodeclient.app.log() cleanup()now clears both interval timers and TTL timeout timers- 69 unit tests (up from 47) covering config, logger, and TTL integration
- E2E testing framework: 3-group concurrent
pty_spawntests with prompt templates inAGENTS.md - README updated with environment variable configuration section
Full Changelog: v0.3.2...v0.4.0