Skip to content

all: move time onto darkbio-clock, bump wire to v0.12.0 - #22

Merged
karalabe merged 1 commit into
dark-bio:mainfrom
karalabe:wire-clock
Sep 26, 2026
Merged

karalabe merged 1 commit into
dark-bio:mainfrom
karalabe:wire-clock

Conversation

@karalabe

Copy link
Copy Markdown
Member

Moves the ark CLI and its connect library onto darkbio-clock 0.3.1, so everything that waits, times out or checks a deadline runs on the connection's clock, which tests pause and step. It also updates darkbio-wire to 0.12.0, along with darkbio-crypto 0.19.1 and darkbio-trust 0.6.0.

  • A connection takes its clock from the wire stream when it attaches, and Services and Client::clock() hand it on. Workflows given a Requester read its clock, and components without an owner take one at construction. connect re-exports darkbio_clock as clock.
  • Cloud sync's drift window, attestation validity, the pairing scan, dataset and app uploads, execution polling, DNS retries, the Access login helper and the output's wait displays all measure on it.
  • The pairing scan deadline arrives from the cloud as Unix seconds and is converted once. The same Instant the scan waits on, clipped by an earlier caller deadline, reaches the terminal countdown through PairingProgress::Rendezvous.
  • DNS lookups coalesce per connection instead of process-wide, relay completions wake the mio loop directly instead of a 10 ms poll, and the output ticker is an owned worker that joins on drop.
  • The update check before any connection and doctor's lookup stamp read the real clock at their sites.
  • .cargo/clippy.toml bans the std, crossbeam and chrono time calls and crypto's implicit-time functions. The sites that must stay on real time carry an #[expect] with the reason. These are argument checks, the updater watchdog, Access helper polling, the relay heartbeat and both socket pumps, and the palette test's build stamp.

Tests pause the clock and step it once the event they wait on has happened, replacing their real sleeps. Network and subprocess smoke tests still exercise real I/O.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@karalabe
karalabe merged commit ceda16d into dark-bio:main Sep 26, 2026
8 checks passed
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