Skip to content

refactor(store): Prepare store boundary for extraction#1163

Merged
leumor merged 1 commit intodevelopfrom
feature/pr-72-store-boundary-prep
Mar 24, 2026
Merged

refactor(store): Prepare store boundary for extraction#1163
leumor merged 1 commit intodevelopfrom
feature/pr-72-store-boundary-prep

Conversation

@leumor
Copy link
Collaborator

@leumor leumor commented Mar 24, 2026

Summary

  • prepare the network.crypta.store boundary for later extraction into a leaf module without creating :foundation-store yet
  • move store stats contracts into :foundation-store-contracts and add a minimal store-maintenance alert SPI there
  • move the support helper subset into :foundation-support, update ownership metadata, and add the required support dependencies
  • replace direct store dependencies on runtime alert/UI classes with StoreAlertSink plus the new UserAlertManagerStoreAlertSink adapter
  • narrow SlashdotStore to BucketFactory, switch SaltedHashFreenetStore to AtomicFileMoves.moveTo(...), remove MasterKeys usage from CipherManager, and add focused test coverage for the new boundary

How to test

./gradlew :foundation-support:compileJava :foundation-store-contracts:compileJava :compileJava
./gradlew test \
  --tests 'network.crypta.support.ByteArrayWrapperTest' \
  --tests 'network.crypta.support.LRUMapTest' \
  --tests 'network.crypta.support.io.NativeThreadTest' \
  --tests 'network.crypta.support.io.FallocateTest' \
  --tests 'network.crypta.support.WrapperKeepaliveTest' \
  --tests 'network.crypta.node.SemiOrderedShutdownHookTest' \
  --tests 'network.crypta.store.NullFreenetStoreTest' \
  --tests 'network.crypta.store.RAMFreenetStoreTest' \
  --tests 'network.crypta.store.SlashdotStoreTest' \
  --tests 'network.crypta.store.saltedhash.SaltedHashFreenetStoreTest' \
  --tests 'network.crypta.store.caching.CachingFreenetStoreTest'
./gradlew test --tests 'network.crypta.store.*' --tests 'network.crypta.store.saltedhash.*'
./gradlew test

- move store stats contracts into foundation-store-contracts and add the store alert SPI
- move the support helper subset into foundation-support with updated ownership metadata
- replace direct store alert manager wiring with a runtime adapter and narrow remaining root dependencies
- extend focused tests for the runtime adapter and BucketFactory-based slashdot store path
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

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

See analysis details on SonarQube Cloud

@leumor leumor merged commit 8609295 into develop Mar 24, 2026
7 of 8 checks passed
@leumor leumor deleted the feature/pr-72-store-boundary-prep branch March 24, 2026 06:45
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