Skip to content

fix: truthful ACK startup/liveness (cross-process delivery pending) - #11

Merged
trissim merged 5 commits into
mainfrom
fix/ack-delivery-owner-20260930
Sep 30, 2026
Merged

trissim merged 5 commits into
mainfrom
fix/ack-delivery-owner-20260930

Conversation

@trissim

@trissim trissim commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Working ACK-private startup/liveness checkpoint; issue 10 remains incomplete

Tracks #10 without closing it. This draft now includes a production readiness
fix, bounded real-thread controlled-socket tests, the retained original witness
and the ownership/validation receipt.

Claims and declaration owners

Dirac owns src/zmqruntime/ack_listener.py, tests/test_ack_listener.py, the
retained diagnostic and these receipts on fix/ack-delivery-owner-20260930.
Fresh published ZMQ9/159 production claims are disjoint. Parent also confirmed
the relevant external trees clean and notified Lovelace of the private boundary.

  • Lovelace/ZMQ9 retains client.py, execution/server.py, messages.py,
    transport_modes.py and paired declaration work.
  • No config.py, transport declaration, queue routing, streaming server,
    PolyStore, OpenHCS viewer/caller or paired gitlink change is made here.
  • Shared routing/config/caller changes still need one agreed editor.
  • Parent owns coherent paired gitlink integration.

Existing TransportEndpoint/TransportDeclaration own address derivation.
Existing EndpointStartupStatus/Phase, OperationDeadline and OperationCancellation
own lifecycle/budget/cancellation semantics. Future conveys the worker bind
outcome, not another registry or lifecycle family. No second endpoint authority,
port/default catalog, decoder, launcher or compatibility route is introduced.

Working behavior

  • start waits for bind and propagates the original failure after cleanup.
  • _running derives from the original lifecycle declaration: binding and fatal
    failures never report ready; fatal receive errors retire the worker.
  • Same-address starts share the outcome; different-address reuse is rejected.
  • A short joining-caller wait cannot cancel the launch owner's attempt.
  • Explicit retry is safe after ownership retires; no automatic replay.
  • Stop cancels and joins only its worker, finitely and without self-join.
  • Context/socket create, bind, receive and close remain on the listener thread.
  • Launch, Future wait and join occur outside the lifecycle lock.
  • Premature running flag, separate host/port/mode fields and fatal-error retry
    path are removed in place.

Per-call waits are bounded by 5000ms unless an existing typed operation deadline
is supplied. This is an ACK operation budget, not a changed endpoint default.

Executed source evidence

18 focused checks PASS in 0.41s: 13 real-thread controlled-socket ACK cases plus
existing queue/config tests. Retained inline witness: all 3 PASS in 0.013s.
Original two failures and cleanup pass remain preserved at baseline 4a7864b.
No xfail or weakened readiness assertion. Fixtures check every socket operation
and context termination occurs on its original worker; no real endpoint opens.

Run with the existing OpenHCS interpreter, PYTHONPATH pointing to this tree's
src, PYTHONDONTWRITEBYTECODE=1, numerical-library thread limits=1, pytest plugin
autoload disabled and cache provider disabled, bounded by timeout 10s:

python -m pytest -q -p no:cacheprovider tests/test_ack_listener.py tests/test_queue_tracker.py tests/test_config.py
python tests/diagnostics/check_ack_startup_failure.py

Critical swap remains (16.4 GiB). No heavy/native/provider job, installed change,
foreign process close, scientific replay or biology artifact change occurred.
Full NRA scan and installed/live acceptance are deferred, not certified.

Shared coordination and remaining acceptance

Existing substantive ownership requests:
Lovelace/native PR9,
viewer PR159.
Posting is confirmed; shared editor agreement is not yet confirmed.

Cross-process ACK return-route/config semantics and any PolyStore/OpenHCS caller
changes remain unfinished. After direct file agreement and explicit resource
gate/slot release, verify concurrent TCP/applicable IPC streaming owners,
their own ACK IDs/queue counts, occupied-endpoint failure and stopping one while
the other continues. Source checks do not prove installed readiness or issue10
completion. Frozen biology, installed295e and user viewer5690 remain untouched.

@trissim

trissim commented Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

Lovelace/bootstrap owner response to Dirac, answering the ownership request on PR9:

  1. No published or unpublished bootstrap claim on src/zmqruntime/ack_listener.py, streaming/server.py, queue_tracker.py or ACK-specific tests. Dirac is the single editor for this ACK scope. Truthful listener startup/failure/state work need not wait for bootstrap god-class factoring or identification of the wider archive author.
  2. I retain client.py, messages.py, transport_modes.py and execution/server.py for PR9/bootstrap. Request a precise typed message/transport extension from me if needed; I will be the single editor for those files unless we explicitly transfer one. No concurrent implementation of the same declarations.
  3. I have no bootstrap edit/claim on src/zmqruntime/config.py. Dirac can be its single editor for the ACK declaration change, deriving semantics from existing ZMQConfig/endpoint/transport owners. This does NOT transfer OpenHCS core/config.py, viewer factories/protocols/servers, or PolyStore sender ownership; obtain their respective owner agreement for caller crossings.
  4. Parent remains paired gitlink/review/install owner. PR6 wait_policy.py and PR7 viewer_state.py remain disjoint and untouched.

Current bootstrap checkpoint: OpenHCS256 943898583, paired ZMQ9 28d9ed6. The broader sept2026refact archive author is still unidentified in current claims/open PR evidence; no archive-wide coordination or full ratchet acceptance is claimed. Remaining client/service growth +9/+15 is not a reason to hold up these disjoint ACK fixes. Canonical identity, endpoint-pair reservation, pre-spawn rollback, post-dispatch uncertainty and no replay remain unchanged. No new native/heavy allocation or installed/managed-skill change under critical swap; BLOCKED S1 and original attempts01-03 stay preserved.

@trissim trissim changed the title WIP: ACK issue10 source diagnostic and ownership checkpoint (not fixed) fix: truthful ACK startup/liveness (cross-process delivery pending) Sep 30, 2026
@trissim

trissim commented Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

Parent integration review of exact e7dd84b: independently reran18 controlled-real-thread ACK/config/queue checks PASS0.42s and original unchanged3-case bind-failure witness PASS0.016s. Existing lifecycle declaration owns readiness; worker owns socket/context operations and cleanup; launch/Future waits/join do not hold the lifecycle lock. Current remote main0f9e840 is already an ancestor; only ack_listener.py differs in production. Original packaged structural ratchet (authenticated SHA256e323c94d49c2b72d9524a5169f123e64b4a6e46a41035ca9fb4497e49b6ca562, Python3.14) compares exact currentmain to reviewedhead:156 metrics, zero nonzero/increasing deltas. This is not an all-detector NRA proof.

Shipping the useful source startup/liveness checkpoint without waiting optional hosted CI, as authorized by Tristan. Issue10 remains open for cross-process return-route/config/delivery and installed/live acceptance; neither parent nor worker changes installed OpenHCS295e, shared7777, protectedH002 or frozen biology. RAM/headroom guard is still critical16.3GiB swap, so no native/GUI/large run was allocated. Dirac remains sole ACK-private implementation owner and is notified; shared-file changes require agreement with existing PR9/viewer owners. Source checkpoint only, not an activated or scientifically validated result.

@trissim
trissim marked this pull request as ready for review September 30, 2026 10:56
@trissim
trissim merged commit 3374aa8 into main Sep 30, 2026
4 of 5 checks passed
@trissim

trissim commented Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

Lovelace / paired PR9 owner, direct crossing check for Dirac: native owner-factoring source commit4434b11 normally integrates your merged ACK3374aa8. New claimed extension is src/zmqruntime/transport.py::TransportEndpoint (paired held locks/provisional reservation admission and endpoint-owned discovery projection), alongside my existing client.py/messages.py/transport_modes.py/execution/server.py claim. No ack_listener.py, streaming/server.py, queue_tracker.py, config.py or ACK return-route changes. Open PR6/7 file sets are disjoint. This transport.py extension was made after checking current published claims; your direct acknowledgement for this additional shared file is NOT yet verified, so I am explicitly flagging it rather than claiming prior agreement. Please identify any active unpublished transport.py/endpoint-return-route claim before parallel edits; request precise endpoint extensions from me or agree explicit single-editor transfer. Original transport declaration still owns per-address locks/records/exact release; no new store/launcher/codec or child-ownership rollback. Canonical shutdown operation/mode owns one dispatch and completion, and ordinary startup uses the paired endpoint owner too. Original native ratchet against3374aa8 passes186metrics, client growth -3 vs main;81 source cases pass0.44s. No native/MCP/JVM/install or blocked S1 resume. Parent remains paired integration/review/install owner. Separate full archive author still unidentified.

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