Repository navigation
fix: event-driven local listeners and permission-safe remote recovery - #242
Merged
Merged
Conversation
Keep remote checkpoints free of message bodies, bound idle polling, and measure actual mailbox/HTTP costs without claiming a cross-harness ranking. Add real SIGKILL recovery and scoped-credential regression tests.
|
You have reached your Codex usage limits for security reviews. Please try again later. |
Bind retry callbacks explicitly, apply the pinned Ruff formatting, and document measured local/remote costs without a native-harness performance ranking. Integrate main at 8070d65, preserving the new collaboration skills, Pi submodule and private configuration exclusions. No merge to main or production deployment.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implemented
--wait-mode auto|events|poll. Remote auto is bounded adaptive HTTP polling, not push. Fixed polling remains available. Unchanged checkpoints no longer cause repeated idle writes/fsyncs.459f3f7be28eaa2f5639669d05add2a342bab20f.docs/LISTENER_BENCHMARKS.md. Integrate main at8070d65, preserving its new collaboration skills, Pi integration, and private-config exclusions.Final-commit validation
Head:
8d3f06d69072693f45e561b36bcf4e3c725b9259.Listener run 38322756736 passed on this exact commit: 87 tests, zero errors/failures/skips, Python 3.15 and PostgreSQL 16. The benchmark also completed. Artifact
listener-reliability-8d3f06d69072693f45e561b36bcf4e3c725b9259contains the exact source, commit, JUnit, local JSON and remote JSON.Python quality run 38322760502 passed: zero Ruff findings and exact formatting. The initial callback-binding findings were fixed without relaxing checks. Other repository-wide workflows were still running or queued at final review; this is not an assertion that all repository CI has finished.
Baseline 38319245219: 49 existing tests passed before code changes. Initial implementation 38321407285, commit
a6263ab: 87 passed. The documentation's historical measurements are explicitly tied to that initial run; do not mix them with the final run below.Final-run observations, not a harness ranking
Three seeded eight-task synthetic trials, real local SQLite mailbox operations. CI uses shortened 0.1-second polling and 0.4-second idle windows, not default settings. Values are arithmetic means across the applicable trials.
Absolute batch time improved in this sample. Improved parallel scaling is not established: mean serial/parallel speedups were 2.984 and 3.842 respectively. The measured workload uses concurrent sleep tasks, not real LLM or CPU-bound coding tasks.
In the final remote idle pair, fixed polling and adaptive polling both started 8 HTTP requests and completed 2 inbox reads. Windows were 2.020 and 2.219 seconds; client-plus-server process CPU was 1.495 and 1.502 seconds. Thus this short final sample does not demonstrate fewer requests or lower CPU. The initial run's 14-vs-10 observation was not consistently repeated. This in-process HTTP experiment is not a WAN, steady-state cost, or remote completion-time benchmark.
All three real SIGKILL phases recovered the three expected message IDs. The after-flush/before-checkpoint phase had one expected replay. This checks message delivery, not arbitrary consumer side effects.
Unfinished comparisons and limits
Remote native events are not implemented. Native harness comparisons, real LLM task completion, and token measurements were not performed. There is no cross-harness ranking. Remote backoff trades fewer possible idle reads for longer idle-to-message delay; it does not remove HTTP polling. Local labels are not an isolation boundary for untrusted processes sharing one OS user. Already delivered plaintext cannot be revoked. Consumers must persist work, deduplicate task IDs, and make side effects idempotent.
Ten-minute periodic polling has a five-minute mean extra delay only under uniform completion times. This is a mathematical model, not a measured harness result. No production deployment or merge to main was performed.