Skip to content

refactor(interop-wire): Extract wire message nucleus#1166

Merged
leumor merged 3 commits intodevelopfrom
feature/pr-75-interop-wire
Mar 24, 2026
Merged

refactor(interop-wire): Extract wire message nucleus#1166
leumor merged 3 commits intodevelopfrom
feature/pr-75-interop-wire

Conversation

@leumor
Copy link
Collaborator

@leumor leumor commented Mar 24, 2026

Summary

  • add the new :interop-wire leaf, wire it into the root build, and add selective ownership metadata for non-clean builds
  • move the narrow wire/message/schema/version/probe nucleus into :interop-wire, including the leaf-safe network.crypta.io.comm message types, network.crypta.node.Version, probe enums, and network.crypta.support.Serializer
  • introduce network.crypta.io.comm.MessageSource, make PeerContext extend it, and update the few root call sites that still need transport access
  • refresh README.md and the relevant .agents/skills/* guidance so the documented module layout matches the current extracted-leaf architecture

Notes

  • interop-wire/build.gradle.kts includes generated-source wiring for network.crypta.node.Version, because the shared Java conventions exclude that template from direct compilation and the new leaf still needs to produce the generated class

How to test

./gradlew spotlessApply
./gradlew testClasses
./gradlew test --tests "network.crypta.io.comm.MessageTest"
./gradlew test --tests "network.crypta.io.comm.MessageTypeTest"
./gradlew test --tests "network.crypta.io.comm.PeerTest"
./gradlew test --tests "network.crypta.io.comm.FreenetInetAddressTest"
./gradlew test --tests "network.crypta.node.VersionTest"
./gradlew test --tests "network.crypta.node.NodeDispatcherTest"
./gradlew test --tests "network.crypta.node.NodeNotRoutableHandlerTest"
./gradlew test --tests "network.crypta.node.NodeDataRequestHandlerTest"
./gradlew test --tests "network.crypta.clients.fcp.ProbeErrorTest"
./gradlew test --tests "network.crypta.clients.fcp.ProbeRequestTest"

leumor added 3 commits March 24, 2026 18:30
Add the new :interop-wire leaf and move the narrow message/schema/version/probe subset into it.

Introduce MessageSource as the minimal seam between leaf-owned Message types and root-owned PeerContext, then update the affected root handlers to cast only where transport access is still required.

Also wire the new leaf into root build aggregation and add selective ownership metadata for non-clean build safety.
Update README and the relevant repository skills to describe the current multi-project layout after the support, store, crypto, and wire extractions.

This refresh covers module ownership, root-vs-leaf boundaries, compile guidance, packaging expectations, and the moved AEAD source paths so future agent runs and contributor docs point at the right locations.
Delete the root copies of the message/schema/version/probe files that now belong to :interop-wire.

This completes the extraction by leaving the root project with only the transport-facing comm classes and the small handler adaptations that still depend on PeerContext transport methods.
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
74.8% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@leumor
Copy link
Collaborator Author

leumor commented Mar 24, 2026

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aa2100bfb5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@leumor leumor merged commit db5ae43 into develop Mar 24, 2026
7 of 8 checks passed
@leumor leumor deleted the feature/pr-75-interop-wire branch March 24, 2026 18:51
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