Skip to content

Adopt gleif_hio 0.6.20rc3 and restore direct response draining - #37

Closed
kentbull wants to merge 1 commit into
v1.2.15from
integration/gleif-hio-directant-drain-v1.2.15
Closed

kentbull wants to merge 1 commit into
v1.2.15from
integration/gleif-hio-directant-drain-v1.2.15

Conversation

@kentbull

@kentbull kentbull commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

Adopt gleif_hio==0.6.20rc3 on the current v1.2.15 base and restore deterministic Directant/Reactant teardown. Receive EOF now starts a bounded drain: buffered CESR is parsed, owed responses are produced, and queued output drains before removal. Transmit cutoff or an absolute drain deadline ends the attempt with diagnostics.

This restores the final receiver-only scope of WebOfTrust WebOfTrust#1614 against bab95c16e949, which already includes WebOfTrust#1650, WebOfTrust#1651, WebOfTrust#1653, WebOfTrust#1655, WebOfTrust#1657, WebOfTrust#1659 and WebOfTrust#1660. The merged Publisher/Messenger accounting and receipt fast path remain intact; agenting.py is unchanged. This replaces the obsolete integration direction of closed GLEIF #36 and does not build on tocks-build-out.

The rc3 compatibility changes log bytes rejected after transmit closure in Reactant and the demo Reactor and adjust the timer regression for restart-from-current-time behavior. Package/runtime/image metadata is aligned at 1.2.15.dev0. CI installs the declared dependency without preinstalling upstream hio, checks dependencies, and asserts sole ownership of the shared import tree.

Validation:

  • Fresh unprivileged Linux/Python 3.12 full suite: 459 passed (41 warnings).
  • Focused directing, messenger accounting, forwarding and demo suite: 31 passed.
  • Complete configured scripts/demo/test_scripts.sh: passed.
  • Wheel and sdist builds, twine check, separate clean installations, dependency checks and sole HIO import ownership: passed. Installed directing source matches this candidate.
  • Exact rc3 wheel/sdist SHA256 values match PyPI; signed tag resolves to e3faed0f751fece388b42d64bea18e3a62a3971b.
  • Changed-source fatal lint and git diff --check: passed.
  • GitHub CI: macOS and Ubuntu tests, coverage, and scripts all passed at 4a3056c46802105808d0a172709a682bb60abda5. Branch-specific interop jobs were skipped as configured.

Native macOS validation encountered an LMDB ENOSPC host error despite available disk; no live KERI state was cleared. Linux qualification used fresh isolated container storage. twine check retains the existing missing long-description content-type warning.

Follow-up PRs handle no-Reactant cleanup, cue-state simplification, stale children, witness timeout policies, transport outcomes, receipt thresholds and matching callers, publisher/Poster/query/stream outcomes, and KERIA/end-to-end qualification. This foundation does not activate zero witness cadence or establish remote durable delivery.

Pin gleif_hio 0.6.20rc3 on the current v1.2.15 base and restore the receiver-only Directant/Reactant contract from upstream PR 1614. Receive closure starts bounded parser, response and transmit settlement instead of immediately discarding accepted work.

Accommodate rc3 transmit-admission errors in Reactant and the demo Reactor, retaining rejected-byte diagnostics. Align development metadata and prevent CI from installing both HIO distributions. Preserve the post-revert messenger and Publisher accounting fixes.

Focused Linux transport, forwarding and demo tests pass (31 tests). Wheel and sdist builds and clean dependency-ownership checks pass; the demo script suite passes. Full-suite qualification and remote CI are tracked in the pull request.
@kentbull
kentbull marked this pull request as ready for review September 14, 2026 18:19
@kentbull

Copy link
Copy Markdown
Collaborator Author

Closing in favor of three independently validated layers: rc2 dependency/CI/metadata adoption; bounded receiver draining; then rc3 adoption and its compatibility fixes. The combined branch is retained as reference evidence. The replacement rc2-only PR will target v1.2.15 and preserve the post-revert accounting fixes.

@kentbull

Copy link
Copy Markdown
Collaborator Author

The rc2-only replacement is #38: four dependency/CI/version files, with receiver and messenger implementations unchanged. Receiver draining and the later rc3 adaptation remain separate follow-ups.

@kentbull
kentbull deleted the integration/gleif-hio-directant-drain-v1.2.15 branch October 1, 2026 17:49
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