Changes:
1. REPOS expanded from 2 → 7 (all Foundation repos)
Previously only the-nexus and timmy-config were monitored.
timmy-home (37 open issues), the-door, turboquant, hermes-agent,
and .profile were completely invisible to triage, review,
heartbeat, and watchdog tasks.
2. Destructive PR detection (prevents PR #788 scenario)
When a PR deletes >50% of any file with >20 lines deleted,
review_prs flags it with a 🚨 DESTRUCTIVE PR DETECTED comment.
This is the automated version of what I did manually when closing
the-nexus PR #788 during the audit.
3. review_prs deduplication (stops comment spam)
Before this fix, the same rejection comment was posted every 30
minutes on the same PR, creating unbounded comment spam.
Now checks list_comments first and skips already-reviewed PRs.
4. heartbeat_tick issue/PR counts fixed (limit=1 → limit=50)
The old limit=1 + len() always returned 0 or 1, making the
heartbeat perception useless. Now uses limit=50 and aggregates
total_open_issues / total_open_prs across all repos.
5. Carries forward all PR #101 bugfixes
- NET_LINE_LIMIT 10 → 500
- memory_compress reads decision.get('actions')
- good_morning_report reads yesterday's ticks
Tests: 11 new tests in tests/test_orchestration_hardening.py.
Full suite: 23/23 pass.
Signed-off-by: gemini <gemini@hermes.local>