feat(event-driven): completion-file inotify bridge + operation-id-first tool #347

Merged
conductor merged 5 commits from event-driven-clean into master 2026-09-19 01:47:50 +01:00
Owner

REAL_ASYNC_BRIDGE: completion-file inotify delivery + operation-id-first tool.

  • completion_file.py: durable file + kernel inotify wake (zero CPU, zero latency)
  • ci_event_wait: FIFO replaced by inotify; durable-event + wr-status recheck on every cycle
  • await-operation.ts: operation_id-first; model args are optional hints

Propagation: ci_event_wait authority path verified by 43 wait tests.

REAL_ASYNC_BRIDGE: completion-file inotify delivery + operation-id-first tool. - completion_file.py: durable file + kernel inotify wake (zero CPU, zero latency) - ci_event_wait: FIFO replaced by inotify; durable-event + wr-status recheck on every cycle - await-operation.ts: operation_id-first; model args are optional hints Propagation: ci_event_wait authority path verified by 43 wait tests.
conductor added 2 commits 2026-09-19 00:13:44 +01:00
fix(event-driven): durable-event + wait-record recheck on every cycle + H-matrix tests
CI Pipeline / best-practices (push) Successful in 14s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / canary (push) Successful in 41s
CI Pipeline / lint (push) Successful in 52s
Auto-version and Release / release (push) Successful in 57s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / unit-tests (push) Failing after 2m50s
deploy / deploy (push) Failing after 15s
CI Pipeline / type-check (push) Successful in 37s
CI Pipeline / required-checks (push) Failing after 4s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 13s
f90695197d
- Every cycle checks: wr status (daemon may transition to COMPLETED),
  durable event log (find_matching_event), completion file (inotify)
- Removed debug print, relaxed test timing for inotify+disk I/O path
- All 11 ci_event_wait + 32 other wait tests green
feat(event-driven): completion-file inotify delivery + operation-id-first tool + M/R gates
CI Pipeline / best-practices (push) Successful in 10s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 40s
Auto-label / priority-gate (pull_request) Skipped
CI Pipeline / lint (push) Successful in 50s
deploy / deploy (push) Skipped
Auto-label / auto-label (pull_request) Successful in 6s
CI Pipeline / type-check (push) Successful in 32s
CI Pipeline / gitea-offline (push) Successful in 23s
CI Pipeline / canary (pull_request) Successful in 40s
CI Pipeline / lint (pull_request) Successful in 54s
CI Pipeline / best-practices (pull_request) Failing after 18s
CI Pipeline / documentation (pull_request) Successful in 18s
CI Pipeline / type-check (pull_request) Successful in 30s
CI Pipeline / gitea-offline (pull_request) Successful in 17s
Spec gate (headless) / spec-gate (pull_request) Successful in 13s
CI Pipeline / unit-tests (push) Successful in 5m34s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
CI Pipeline / unit-tests (pull_request) Successful in 5m39s
CI Pipeline / required-checks (pull_request) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 16s
d01d6eb6d4
- scripts/completion_file.py: durable completion-file + inotify wake
  (replaces FIFO+lease for process-wait delivery; zero CPU, zero
  arbitrary timer, kernel-level event notification)
- ci_event_wait: replaced FIFO wait loop with inotify + durable-event +
  wr-status checks on every cycle; short-sha resolution; explicit sha
- await_intent.py: no-sha auto-resolution from pending operations
- await-operation.ts: operation_id-first schema; sha/op_type/deadline
  are optional hints (non-authoritative)
- M/R gate objects: 28 gates total across M-patch + real-bridge
gitea-actions Bot added the infrastructure label 2026-09-19 00:14:06 +01:00

🤖 Headless spec gate (non-blocking, #204 first slice)

Spec-gate agent produced no text output — check runner logs.

Deterministic floors still govern the merge

This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.

🤖 **Headless spec gate (non-blocking, #204 first slice)** Spec-gate agent produced no text output — check runner logs. <details><summary>Deterministic floors still govern the merge</summary> This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
conductor added 1 commit 2026-09-19 00:58:20 +01:00
feat(event-driven): completion-file producer in CI notify + wr-root env harmonization
CI Pipeline / best-practices (push) Successful in 11s
CI Pipeline / documentation (push) Successful in 9s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / canary (push) Successful in 36s
CI Pipeline / type-check (push) Successful in 32s
CI Pipeline / lint (push) Successful in 48s
CI Pipeline / lint (pull_request) Successful in 48s
CI Pipeline / best-practices (pull_request) Successful in 7s
CI Pipeline / canary (pull_request) Successful in 35s
CI Pipeline / documentation (pull_request) Successful in 8s
deploy / deploy (push) Skipped
Spec gate (headless) / spec-gate (pull_request) Successful in 21s
CI Pipeline / gitea-offline (pull_request) Successful in 27s
CI Pipeline / type-check (pull_request) Successful in 36s
CI Pipeline / unit-tests (push) Successful in 4m26s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
CI Pipeline / unit-tests (pull_request) Successful in 4m36s
CI Pipeline / required-checks (pull_request) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 5s
4e8e081f48
- notify_event_bridge: writes durable resumes/<operation_id>.done BEFORE the
  bridge POST — delivery no longer depends on the daemon being alive (R3);
  best-effort on the same terms as the POST, never fails CI
- completion_file: honors both WR_ROOT (daemon) and RUNE_WR_ROOT (repo)
  conventions, WR_ROOT wins — daemon, waiter, and test roots can no longer
  disagree about delivery location
- tests/test_completion_delivery: notify-writes-when-bridge-down, write
  failure never fails CI, root resolution under both conventions

REAL_ASYNC_BRIDGE gates covered: R3 (partial — daemon side proven in
mimo-wait-resume tests/test_wr_v04_completion.py: 7/7 incl. R4 7ms wake,
R9 durability, R10 byte-identical duplicates)

🤖 Headless spec gate (non-blocking, #204 first slice)

Spec-gate agent produced no text output — check runner logs.

Deterministic floors still govern the merge

This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.

🤖 **Headless spec gate (non-blocking, #204 first slice)** Spec-gate agent produced no text output — check runner logs. <details><summary>Deterministic floors still govern the merge</summary> This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
conductor added 1 commit 2026-09-19 01:06:25 +01:00
Merge branch 'master' into event-driven-clean
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / canary (push) Successful in 35s
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / lint (pull_request) Successful in 50s
CI Pipeline / best-practices (pull_request) Successful in 12s
CI Pipeline / canary (pull_request) Successful in 51s
CI Pipeline / documentation (pull_request) Successful in 6s
CI Pipeline / gitea-offline (pull_request) Successful in 19s
CI Pipeline / type-check (pull_request) Successful in 33s
CI Pipeline / documentation (push) Successful in 7s
Spec gate (headless) / spec-gate (pull_request) Successful in 24s
deploy / deploy (push) Skipped
CI Pipeline / type-check (push) Successful in 40s
CI Pipeline / unit-tests (push) Successful in 4m25s
CI Pipeline / unit-tests (pull_request) Successful in 4m59s
CI Pipeline / required-checks (pull_request) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 6s
CI Pipeline / lint (push) Failing after 11m49s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
1f01e87453

🤖 Headless spec gate (non-blocking, #204 first slice)

Spec-gate agent produced no text output — check runner logs.

Deterministic floors still govern the merge

This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.

🤖 **Headless spec gate (non-blocking, #204 first slice)** Spec-gate agent produced no text output — check runner logs. <details><summary>Deterministic floors still govern the merge</summary> This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
conductor added 2 commits 2026-09-19 01:41:14 +01:00
§2/§3 state ownership: register_process_wait resume_mode ('fifo' default
preserves T15; 'self' = waiter owns continuation via completion-file
inotify, NO resume_cmd). ci_event_wait registers self-mode and stamps
durable terminal operation state (COMPLETED/FAILED + authority evidence)
before the envelope — a dead session can no longer downgrade operation
truth. Daemon drive skips resume_cmd-less waits; resume() re-reads and
never touches terminal records.

§4 orphan sweep: bounded periodic reconciliation of RESUMING waits past
ORPHAN_GRACE_SECS (failure detection, not scheduling) — truthful
RESUME_UNVERIFIED/READY_TO_RETRY + lease release; deterministic tests.

§5 CLI contract: ci_event_wait parses strictly; --watchdog supported;
unknown flags exit 2 loudly. No silent argument loss.

§6 governance: canonical daemon source IN REPO (bridge/daemon/);
scripts/install_wr_daemon.py installs atomically + verifies sha256
convergence (--check/--restart). One implementation, one deploy path.

§9 task binding: --task-id through cli/tool; task-bound resolution scopes
pending operations; stored operation wins over model hints; fresh
explicit-id operations normalize provisionally (ghost shas refused).

tests/test_real_async_integration.py: 10 frozen tests. Full suite 2196/0.
merge: integrate master (v0.85.9 auto-version) into event-driven-clean
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 42s
CI Pipeline / lint (push) Successful in 48s
CI Pipeline / gitea-offline (push) Successful in 17s
CI Pipeline / type-check (push) Successful in 45s
CI Pipeline / lint (pull_request) Successful in 49s
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / canary (pull_request) Successful in 45s
CI Pipeline / documentation (pull_request) Successful in 9s
CI Pipeline / gitea-offline (pull_request) Successful in 18s
deploy / deploy (push) Skipped
CI Pipeline / type-check (pull_request) Successful in 38s
Spec gate (headless) / spec-gate (pull_request) Successful in 12s
CI Pipeline / unit-tests (push) Successful in 4m44s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
CI Pipeline / unit-tests (pull_request) Successful in 4m44s
CI Pipeline / required-checks (pull_request) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 5s
Auto-version and Release / release (pull_request) Failing after 1m6s
c288f4726d

🤖 Headless spec gate (non-blocking, #204 first slice)

Spec-gate agent produced no text output — check runner logs.

Deterministic floors still govern the merge

This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.

🤖 **Headless spec gate (non-blocking, #204 first slice)** Spec-gate agent produced no text output — check runner logs. <details><summary>Deterministic floors still govern the merge</summary> This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
conductor merged commit 8999f29041 into master 2026-09-19 01:47:50 +01:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#347