diff --git a/docs/agent-handoff.md b/docs/agent-handoff.md index 712dc3b..8ff52c7 100644 --- a/docs/agent-handoff.md +++ b/docs/agent-handoff.md @@ -2,18 +2,18 @@ Last updated: 2026-07-05 -## Active WIP: Dynamic DAVE Presence +## Dynamic DAVE Presence -- Gitea issue #70 tracks dynamic autonomous Telegram presence for DAVE. -- Local branch: `codex/issue-70-dave-presence`. -- Local implementation commit: `08b6016 feat: add dynamic autonomous DAVE presence`. +- Gitea issue #70 was closed by merged PR #71. Production merge commit: `ca68541adf9931e311f1a79a09cb87b3cae85928`. +- Implementation commit: `08b6016 feat: add dynamic autonomous DAVE presence`; handoff commit: `f2d8e89`. - The implementation deliberately uses no fixed daily schedule. It evaluates at randomized intervals, is pulled forward by material/critical sweep deltas, delays itself after operator chat activity, and lengthens quiet periods. - Hard controls: profile quiet hours, daily cap, minimum message gap, bounded evaluation interval, persisted state in `runs/dave-presence-state.json`, and agent-core rejection of mutating tools outside operator-initiated chat. - Presence can produce a grounded warning, update, all-clear, practical suggestion, or one useful question; it stays silent when another message would add noise. It never claims consciousness or continuous observation. -- New env keys start with `DAVE_PRESENCE_`; the feature defaults off and must be enabled explicitly in the Dockge `.env`. +- New env keys start with `DAVE_PRESENCE_`; the repository default remains opt-in. - Local lightweight verification passed: Node syntax checks, `package.json` parse, Compose config, and `git diff --check`. Heavy tests/build were not run locally per kit policy. -- Push was blocked by the Codex usage-limit approval service until 2026-07-06 02:28 local time. The branch and commit currently exist only in this workspace. -- Required continuation: push the branch, create a PR closing #70, poll Gitea runners, fix failures if any, merge, poll production publish workflows, add `DAVE_PRESENCE_ENABLED=true` to the Dockge environment, redeploy `latest`, verify `/api/health.davePresence`, then update this handoff with final commits/run IDs/live state. +- PR runs 915-916 and production runs 917-919 passed, including unit tests, Compose validation, Docker build/publish, release dry-run, and template compliance. +- Dockge was updated from the Gitea Registry and explicitly configured with `DAVE_PRESENCE_ENABLED=true`, max 4 messages/day, 75-minute minimum gap, randomized 45-180 minute evaluation bounds, 60-minute post-interaction idle delay, and a 5-minute timer resolution. +- Live `/api/health` reported `davePresence.enabled=true`, `running=true`, `dynamic=true`, `sentToday=0`, a variable `nextEvaluationAt`, the existing encrypted profile preserved, and no sweep error. The container reported `running/healthy`. ## Latest Completed Work