Skip to content

feat: add idle watchdog admission gate - #4

Merged
ahrazzle merged 3 commits into
mainfrom
feat/idle-watchdog-admission
Sep 17, 2026
Merged

ahrazzle merged 3 commits into
mainfrom
feat/idle-watchdog-admission

Conversation

@ahrazzle

Copy link
Copy Markdown
Contributor

This PR adds a fail-closed scheduled idle-watchdog admission gate for continual contribution mode.

Scope

  • Adds scripts/idle-watchdog.py with ordered singleton, kill-switch, process-registry, TASK-HOME, shared-gate, cooldown, daily-cap, quiet-hours, digest-recheck, and transactional reservation guards.
  • Adds the Proteus sweep brief, seed state/event log/receipt paths, quoted */15 * * * * cron specification, and fixture-driven tests.
  • Documents that cron installation remains an explicit operator action.

Validation

  • python3 -m unittest tests.test_idle_watchdog → 78 tests, OK.
  • python3 gates/protean-ops/check-internal-names.py . → 66 files scanned, 0 findings.
  • Independent no-storm probe → 18/18 PASS: kill-switch off, running/uncertain worker, malformed state, awaiting-owner blockers, lock collision, cooldown, duplicate fingerprint, daily cap, quiet hours, launcher failure, pending reservation, and one-child green dispatch.
  • git diff --check → clean.

Evidence boundary

  • The narrow repository suite has two pre-existing time-dependent failures in tests/test_contrib_state.py; both reproduce on clean base 0b78ff7 with identical test names. This PR does not modify that gate or test.
  • Cron is shipped as a spec only. No cron entry was installed and no live Proteus session was launched by tests.

@ahrazzle
ahrazzle merged commit 19e658f into main Sep 17, 2026
2 checks passed
@ahrazzle

Copy link
Copy Markdown
Contributor Author

Team6 QA pass on head 9cb3e12 (the audited head at merge).

The two base-owned failures in tests/test_contrib_state.py were fixed data-only.
The shipped three-lanes fixture and three write-limit tests carried wall-clock
dates that expired. The invalid fixture now encodes a permanent cap breach and the
time-dependent cases pin --now. Assertions, caps, and the G-14 gate
(check-contrib-state.py, md5 875fd1a7) are byte-identical to base.

Evidence: full suite 137 passed twice on the audited head. Determinism probes
are green at wall clock now, 2026-09-25 and 2030 clocks. Internal-name leak gate
reports 0 findings. Merged as squash commit 19e658f.

Automated posting by agentic team with human oversight.

ahrazzle added a commit that referenced this pull request Sep 17, 2026
* feat: add idle watchdog admission gate

* test: make G-14 lane-cap fixtures time-independent

* test: remove residual wall-clock dependence from G-14 fixtures

---------

Co-authored-by: Mozi <mozi@askaconsult.com>
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