Skip to content

feat: integrate craqle 0.3 and irokle 0.3 - #484

Closed
St4NNi wants to merge 18 commits into
feat/arc-interfacefrom
feat/craqle-irokle-update
Closed

St4NNi wants to merge 18 commits into
feat/arc-interfacefrom
feat/craqle-irokle-update

Conversation

@St4NNi

@St4NNi St4NNi commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Description

Integrates the Craqle 0.3.0 and Irokle 0.3.0 releases into Aruna. Irokle 0.3 changed the sync wire protocol: requests are answered in bounded pages, pushes to peers that do not hold a topic get a receipt, and one data message holds at most 256 operations. Aruna's hand-written sync client could no longer talk to peers, so document sync now uses Irokle's own paged client. Craqle 0.3 changed its search tie order, added new error kinds and a process-wide store memory budget; Aruna now follows all three.

This PR is stacked on the ARC interface branch (feat/arc-interface).

Changes

  • Pin irokle f3770c5 (0.3.0) and craqle 0f32a5a, the craqle main merge of fix: keep single writes fast as the store grows craqle#13 with the write latency and retention consistency fixes. Released 0.3.0 made metadata writes about 10x slower than 0.2 as a node accumulated receipts; with the fixes, seeding 10,000 documents takes 5.4 s instead of 52 s on 0.2 and 639 s on 0.3.0.
  • Resolve spareval with matching md-5, sha1 and sha2 digest versions; cargo update -p craqle alone picks a mix that does not compile.
  • Sync document topic batches and bootstrap pulls through IrohNet::sync_topics_now, which pages requests, stages topics this node does not hold yet and applies acknowledgements. The bootstrap still checks the peer's summary for the document event type before pulling data.
  • Treat WouldBlock from Irokle as progress: Irokle has scheduled the pages left after its budget.
  • Keep the peer sync timeout around each Irokle batch sync; Irokle bounds every exchange but not the wait for one of its outbound slots.
  • Remove the hand-written summary, data and acknowledgement rounds and Aruna's second eviction forwarding path. Irokle forwards evictions to the same sink.
  • Report a full eviction journal from the per-topic sync errors.
  • Mirror Craqle's new search hit order (exact score, then a hash of graph and subject) in search paging, so page boundaries neither skip nor repeat tied hits.
  • Retry Craqle storage, cancellation, dependency and resource-limit failures instead of parking materialization jobs.
  • Release the inbound handler when the net handle shuts down. The handler owned the node context, so stopped nodes never dropped their Craqle stores; with Craqle's memory budget, test processes that start many nodes ran out of store budget.
  • Name craqle-shacl-core/0.3 as the SHACL evaluator.
  • Box the Git HTTP effect, drop a needless borrow in the native Git test, add the ARC README file header and register the Git folders as small domains, so the ARC branch passes the CI Clippy and style checks.
  • Copy the Git runtime libraries under /usr/lib in the node image, since the Debian 13 distroless base links /lib to usr/lib and the image build failed on the copy.
  • Advance the workspace to 3.0.0-alpha.94.

@codecov

codecov Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.96970% with 4 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (feat/arc-interface@d77692b). Learn more about missing BASE report.

Files with missing lines Patch % Lines
net/src/document_sync/reconcile/cursor.rs 92.00% 2 Missing ⚠️
operations/src/git/mod.rs 0.00% 1 Missing ⚠️
operations/src/metadata/handle/entity_convert.rs 80.00% 1 Missing ⚠️
Additional details and impacted files
@@                  Coverage Diff                  @@
##             feat/arc-interface     #484   +/-   ##
=====================================================
  Coverage                      ?   87.98%           
=====================================================
  Files                         ?      883           
  Lines                         ?   380015           
  Branches                      ?        0           
=====================================================
  Hits                          ?   334346           
  Misses                        ?    45669           
  Partials                      ?        0           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@St4NNi

St4NNi commented Sep 24, 2026

Copy link
Copy Markdown
Member Author

Superseded by #486

@St4NNi St4NNi closed this Sep 24, 2026
@St4NNi
St4NNi deleted the feat/craqle-irokle-update branch September 24, 2026 17:52

This branch was successfully deployed

1 active deployment
coverage — 20aceeec Deployed Sep 24, 2026 by St4NNi via Generate Coverage Report #731
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