Skip to content

Layer 4: monitor visibility + arm re-nudge (v0.8.0) - #4

Merged
convenientlymike merged 1 commit into
mainfrom
feat/monitor-visibility
Sep 5, 2026
Merged

convenientlymike merged 1 commit into
mainfrom
feat/monitor-visibility

Conversation

@convenientlymike

Copy link
Copy Markdown
Owner

The operator-facing half of the wake-reliability work: surface the silent "live-but-unmonitored agent misses wakes" failure, and self-heal arming.

Added

  • fleet.sh monitors — classifies every agent MONITORED / UNMONITORED (live but no armed watcher → won't proactively wake) / CLOSED, with unread counts, ranked unmonitored-with-unread first + a "⚠ will miss wakes" flag. Turns the invisible failure into a signal the operator can act on (directly answers "how do I know which agents aren't monitoring").
  • Watcher liveness breadcrumb — wake-cmd's watcher now touches $STATE_DIR/wake/<sid>.monitor each tick → robust, pgrep-free liveness that also catches a wedged watcher. New lib.sh: monitor_fresh, agent_liveness_state, unread_count (fail-safe: MONITORED requires a positive fresh breadcrumb).

Changed

  • awareness.sh re-nudges to arm when the watcher isn't running (⚠ FLEET WAKE NOT ARMED), every turn until armed → a lapse self-heals. Detection is a mechanism; arming stays compliance (a hook can't call the Monitor tool — the irreducible platform limit, stated honestly).

Verified

selftest-collateral.sh LIVENESS controls (MONITORED / UNMONITORED / CLOSED transitions + neg-controls) pass; fleet.sh monitors classifies + ranks correctly by byproduct; shellcheck --severity=warning clean.

🤖 Generated with Claude Code

Surfaces the silent "live-but-unmonitored agent misses wakes" failure and
self-heals arming — the operator-facing half of the wake reliability work.

- fleet.sh monitors: classifies every agent MONITORED / UNMONITORED (live but
  no armed watcher) / CLOSED with unread counts, ranked unmonitored-with-unread
  first + a "will miss wakes" flag. Makes the invisible failure actionable.
- Watcher liveness breadcrumb: wake-cmd's watcher now touches
  $STATE_DIR/wake/<sid>.monitor each tick → robust pgrep-free liveness that also
  catches a wedged watcher. lib.sh: monitor_fresh + agent_liveness_state +
  unread_count (fail-safe: MONITORED requires a POSITIVE fresh breadcrumb).
- awareness.sh re-nudges to arm the watcher when it's not running (every turn
  until armed → a lapse self-heals). Detection = mechanism; arming = compliance
  (a hook can't call the Monitor tool — the irreducible platform limit).

Verified: selftest LIVENESS controls (MONITORED/UNMONITORED/CLOSED transitions)
pass; fleet.sh monitors classifies + ranks correctly; shellcheck --severity=warning clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@convenientlymike
convenientlymike merged commit b8c06f9 into main Sep 5, 2026
2 checks passed
@convenientlymike
convenientlymike deleted the feat/monitor-visibility branch September 5, 2026 18:35
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