@@ -201,13 +201,19 @@ Cryptad now uses a partial multi-project Gradle build.
201201 address matching, allow-list parsing, listener abstraction, I/O statistics collection, transfer
202202 throttling, and partially received block assembly that stay free of ` :runtime-node` , adapters,
203203 and root-composition dependencies.
204+ - ` :kernel-routing` owns the compile-neutral phase-1 routing/helper slice across selected
205+ ` network.crypta.node` value, exception, callback, and request-item helper types such as
206+ ` BaseRequestThrottle` , ` LowLevelGetException` , ` LowLevelPutException` , ` RequestClient` ,
207+ ` PeerStatusCounts` , and ` SendableRequestItem* ` that stay free of ` :runtime-node` , adapters, and
208+ root-composition dependencies.
204209- ` :runtime-spi` owns ` network.crypta.runtime.spi` and the JDK-only runtime/config boundary used
205210 by higher layers, including detached FCP peer management plus the admin-HTTP config,
206211 connectivity, connections, queue, security-levels, shared page-chrome, core-update action,
207212 first-time-wizard, symlinker, and welcome-page slices.
208213- ` :runtime-node` owns the remaining daemon runtime body across the still-cyclic
209214 ` network.crypta.client` async/request engine and high-level client APIs, large slices of
210- ` network.crypta.node` , the retained node-coupled transport/message execution code in
215+ ` network.crypta.node` after the phase-1 routing/helper move, the retained node-coupled
216+ transport/message execution code in
211217 ` network.crypta.io` , ` network.crypta.io.comm` , and ` network.crypta.io.xfer` ,
212218 ` network.crypta.runtime.* ` , and the remaining daemon-coupled
213219 ` network.crypta.support` / ` network.crypta.support.io` / ` network.crypta.support.api` subset
@@ -235,7 +241,7 @@ Cryptad now uses a partial multi-project Gradle build.
235241- Higher-level infrastructure now crosses a narrower boundary through
236242 ` network.crypta.runtime.spi.RuntimePorts` , the minimal wire-side ` MessageSource` seam used by
237243 leaf-owned messages, the new phase-1 ` :kernel-content` content slice, the phase-1
238- ` :kernel-transport` helper slice, client-owned seams such as
244+ ` :kernel-transport` helper slice, the phase-1 ` :kernel-routing ` helper slice, client-owned seams such as
239245 ` network.crypta.client.async.alerts` and ` network.crypta.client.async.persistence` , and
240246 runtime-owned seams such as
241247 ` network.crypta.runtime.alerts.feed` , ` network.crypta.runtime.fcp` ,
@@ -280,7 +286,7 @@ For extraction and boundary work, run the focused root boundary tests that freez
280286ownership and import rules:
281287
282288` ` ` bash
283- ./gradlew test --tests * KernelTransportBoundaryTest --tests * KernelContentBoundaryTest --tests * RuntimeNodeKernelSplitPrepBoundaryTest --tests * HttpLegacyAdminBoundaryTest
289+ ./gradlew test --tests * KernelTransportBoundaryTest --tests * KernelContentBoundaryTest --tests * KernelRoutingBoundaryTest --tests * RuntimeNodeKernelSplitPrepBoundaryTest --tests * HttpLegacyAdminBoundaryTest
284290` ` `
285291
286292Those tests also enforce the current extracted-leaf documentation convention that production
@@ -551,12 +557,17 @@ Root build also includes:
551557 ` network.crypta.io` , ` network.crypta.io.comm` , and ` network.crypta.io.xfer` helpers such as
552558 allow-list parsing, listener abstraction, statistics collection, throttling, and partially
553559 received block assembly.
560+ - ` :kernel-routing` : compile-neutral phase-1 routing/helper leaf spanning selected
561+ ` network.crypta.node` value, exception, callback, and request-item helper types such as
562+ ` BaseRequestThrottle` , ` LowLevelGetException` , ` LowLevelPutException` , ` RequestClient` ,
563+ ` PeerStatusCounts` , and ` SendableRequestItem* ` .
554564- ` :runtime-spi` : JDK-only runtime ports plus immutable config snapshot/value types used by FCP
555565 and other infrastructure code.
556566- ` :runtime-node` : extracted daemon runtime body across the remaining cyclic/high-level
557- ` network.crypta.client` body, large ` network.crypta.node` and ` network.crypta.runtime.* `
558- slices, the retained node-coupled transport/message execution code in ` network.crypta.io* ` , and
559- the remaining daemon-coupled support helpers.
567+ ` network.crypta.client` body, the remaining peer/request/routing-engine and transport-heavy
568+ ` network.crypta.node` / ` network.crypta.runtime.* ` slices, the retained node-coupled
569+ transport/message execution code in ` network.crypta.io* ` , and the remaining daemon-coupled
570+ support helpers.
560571- ` :adapter-fcp` : extracted ` network.crypta.clients.fcp` adapter code, including
561572 ` network.crypta.clients.fcp.bridge` .
562573- ` :adapter-http-legacy-admin` : extracted legacy ` network.crypta.clients.http` adapter code plus
@@ -614,7 +625,7 @@ Tip: Keep the Spotless formatter at the intended version (currently `googleJavaF
614625 - Leaf subprojects are ` :foundation-support` , ` :foundation-store` ,
615626 ` :foundation-store-contracts` , ` :foundation-crypto-keys` , ` :interop-wire` ,
616627 ` :foundation-config` , ` :foundation-fs` , ` :foundation-compat` , ` :kernel-content` ,
617- ` :kernel-transport` , ` :runtime-spi` ,
628+ ` :kernel-transport` , ` :kernel-routing ` , ` : runtime-spi` ,
618629 ` :runtime-node` , ` :adapter-fcp` , ` :adapter-http-legacy-admin` , ` :thirdparty-onion` ,
619630 ` :thirdparty-legacy` , and ` :launcher-desktop` .
620631- Core network (` network.crypta.node` ): ` Node` , ` PeerNode` , ` PeerManager` , ` PacketSender` , ` RequestStarter` , ` RequestScheduler` , ` NodeUpdateManager` .
@@ -634,9 +645,13 @@ Tip: Keep the Spotless formatter at the intended version (currently `googleJavaF
634645 compile-neutral transport helper slice across selected ` network.crypta.io` ,
635646 ` network.crypta.io.comm` , and ` network.crypta.io.xfer` classes such as ` AllowedHosts` ,
636647 ` NetworkInterface` , ` IOStatisticCollector` , ` SocketHandler` , ` PacketThrottle` , and
637- ` PartiallyReceivedBlock` . ` :runtime-node` keeps the node-coupled transport/socket/filter and
638- transfer-execution side of ` network.crypta.io* ` , and ` Message` now depends on the minimal
639- ` MessageSource` seam rather than directly on ` PeerContext` .
648+ ` PartiallyReceivedBlock` . ` :kernel-routing` now owns the compile-neutral phase-1
649+ ` network.crypta.node` helper/value slice, including ` BaseRequestThrottle` ,
650+ ` LowLevelGetException` , ` LowLevelPutException` , ` RequestClient` , ` PeerStatusCounts` ,
651+ ` RecentlyFailedReturn` , and ` SendableRequestItem* ` . ` :runtime-node` keeps the node-coupled
652+ transport/socket/filter side of ` network.crypta.io* ` plus the remaining peer, scheduler,
653+ request-sender, and routing-engine side of ` network.crypta.node` , and ` Message` now depends on
654+ the minimal ` MessageSource` seam rather than directly on ` PeerContext` .
640655- Clients: ` network.crypta.client` , FCP (` network.crypta.clients.fcp` ), HTTP
641656 (` network.crypta.clients.http` ). ` :kernel-content` now owns the compile-neutral phase-1 content
642657 slice: selected client value/archive/helper classes, immutable client event values, a
@@ -720,11 +735,14 @@ Tip: Keep the Spotless formatter at the intended version (currently `googleJavaF
720735- Runtime boundary leaves: ` :kernel-content` provides the compile-neutral phase-1 content slice
721736 across selected ` network.crypta.client* ` classes plus ` network.crypta.support.MediaType` ;
722737 ` :kernel-transport` provides the compile-neutral phase-1 transport slice across selected
723- ` network.crypta.io* ` helpers; ` :runtime-spi` provides ` network.crypta.runtime.spi` ;
724- ` :runtime-node` provides the extracted daemon runtime body across the remaining cyclic/high-level
725- ` network.crypta.client` body, large ` network.crypta.node` / ` network.crypta.runtime.* ` slices,
726- the retained node-coupled transport/message execution code, and the remaining daemon-coupled
727- support helpers; ` :adapter-fcp` provides ` network.crypta.clients.fcp` ; and
738+ ` network.crypta.io* ` helpers; ` :kernel-routing` provides the compile-neutral phase-1
739+ ` network.crypta.node` helper slice across selected request/routing value, exception, callback,
740+ and request-item types; ` :runtime-spi` provides ` network.crypta.runtime.spi` ; ` :runtime-node`
741+ provides the extracted daemon runtime body across the remaining cyclic/high-level
742+ ` network.crypta.client` body, the remaining peer/request/routing-engine
743+ ` network.crypta.node` / ` network.crypta.runtime.* ` slices, the retained node-coupled
744+ transport/message execution code, and the remaining daemon-coupled support helpers;
745+ ` :adapter-fcp` provides ` network.crypta.clients.fcp` ; and
728746 ` :adapter-http-legacy-admin` provides the current legacy ` network.crypta.clients.http` classes
729747 and resources.
730748- Vendored libraries: ` :thirdparty-onion` provides ` com.onionnetworks` ,
0 commit comments