Skip to content
This repository was archived by the owner on Feb 4, 2026. It is now read-only.

Release 0.7.3#27

Merged
siy merged 5 commits intomainfrom
release-0.7.3
Jan 10, 2026
Merged

Release 0.7.3#27
siy merged 5 commits intomainfrom
release-0.7.3

Conversation

@siy
Copy link
Copy Markdown
Owner

@siy siy commented Jan 10, 2026

Production readiness release

Summary by CodeRabbit

Release Notes v0.7.3

  • New Features

    • Added artifact repository management with metrics and integrity verification
    • Introduced autonomous rollback system for slice deployment failures
    • Implemented webhook-based alert forwarding with retry logic
    • Added CLI commands for artifact push, info, delete, and metrics
    • New repository configuration options for slice deployment
  • Bug Fixes

    • Improved route path validation and matching logic
    • Enhanced thread-safety for concurrent operations
  • Documentation

    • Added comprehensive artifact repository architecture guide
  • Chores

    • Upgraded to version 0.7.3 across all modules
    • Improved JBCT compliance and code formatting standards

✏️ Tip: You can customize this high-level summary in your review settings.

siy added 5 commits January 9, 2026 13:56
- Add request ID propagation through inter-slice invocations
- Add multi-instance failover (tries all endpoints before failing)
- Add slice failure alerting with webhook forwarding
- Add automatic rollback on persistent slice failure
- Add previous version tracking in KV-Store
- Fix 102 JBCT compliance issues across codebase
- Re-enable jbct-maven-plugin (0.4.7)
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 10, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR comprehensively enhances the Aether runtime with artifact storage and repository management, autonomous rollback orchestration, refined alerting infrastructure, and asynchronous Promise-based slice invocation patterns. It introduces new configuration types (SliceConfig, RollbackConfig, AlertConfig), artifact deployment tracking, failure event propagation, endpoint failover with exclusion, and integrated metrics collection.

Changes

Cohort / File(s) Summary
Version and Plugin Updates
pom.xml, aether-*/pom.xml, cli/pom.xml, cluster/pom.xml, dashboard/pom.xml, e2e-tests/pom.xml, examples/**/pom.xml, forge/pom.xml, http-routing/pom.xml, infra-services/pom.xml, node/pom.xml, slice-*/pom.xml
Bumped parent version from 0.7.2 to 0.7.3; enabled and updated jbct-maven-plugin to 0.4.7; Java CI updated from 25-ea to 25
New Configuration Types
aether-config/src/main/java/.../RollbackConfig.java, AlertConfig.java, SliceConfig.java, RepositoryType.java
Introduced four new public record-based configuration classes with validation, error hierarchies, and factory methods; RollbackConfig manages rollback policies, AlertConfig configures webhook forwarding, SliceConfig specifies repository loading order, RepositoryType enumerates LOCAL and BUILTIN repositories
AetherConfig Integration
aether-config/src/main/java/.../AetherConfig.java, ConfigLoader.java, AetherNodeConfig.java
Added SliceConfig and RollbackConfig fields to AetherConfig and AetherNodeConfig; ConfigLoader now parses slice.repositories from TOML; builder patterns updated to wire new configuration components
TTMConfig Error Refactoring
aether-config/src/main/java/.../TTMConfig.java
Restructured error hierarchy: replaced standalone InvalidTTMConfig with sealed TTMConfigError interface and nested record; preserved error semantics while consolidating error types
Configuration Tests
aether-config/src/test/java/.../AetherConfigTest.java, ConfigLoaderTest.java, RepositoryTypeTest.java, SliceConfigTest.java
Added comprehensive unit tests validating slice configuration parsing, repository type resolution, default handling, and integration with AetherConfig builder
Artifact Storage & Repository
infra-services/artifact-repo/src/main/java/.../ArtifactStore.java, ArtifactRepoSlice.java
Added public methods resolveWithMetadata, metrics() and records ResolvedArtifact, Metrics to ArtifactStore; integrated integrity verification via SHA-1 hashing and atomic deployment/chunk counting
Repository Factory & Builtin
node/src/main/java/.../RepositoryFactory.java, BuiltinRepository.java
Introduced RepositoryFactory interface with create/createAll methods; BuiltinRepository provides in-process artifact resolution with temp-file writing and error handling via sealed RepositoryError interface
Artifact Metrics & Deployment Tracking
node/src/main/java/.../artifact/ArtifactDeploymentTracker.java, ArtifactMetricsCollector.java
New public interfaces tracking deployed artifacts across cluster and aggregating artifact storage metrics; implementations maintain concurrent maps and delegate to artifact store
Alerting System
node/src/main/java/.../AlertEvent.java, AlertForwarder.java, AlertManager.java
Introduced sealed AlertEvent interface with threshold/slice-failure/resolved variants; AlertForwarder sends events to webhooks with retry/timeout logic; AlertManager consolidates threshold and slice-failure alerting with history tracking and JSON APIs
Rollback Orchestration
node/src/main/java/.../RollbackManager.java, RollbackManagerTest.java
New RollbackManager interface and implementation for autonomous rollback on slice failures; tracks previous versions in KV store, enforces cooldown/max-rollback limits, responds to leader changes and deployment updates
Async Slice Invocation
node/src/main/java/.../SliceInvoker.java, slice-api/src/.../SliceRuntime.java
Refactored SliceInvoker from synchronous retry to asynchronous failover with exponential backoff; added SliceFailureListener mechanism; removed deprecated sliceInvoker() accessor; replaced endpoint selection with failover-aware variant excluding attempted nodes
Slice Failure Event & Context
node/src/main/java/.../SliceFailureEvent.java, InvocationContext.java, InvocationMessage.java
Introduced SliceFailureEvent sealed interface with AllInstancesFailed record; added InvocationContext for thread-local request ID propagation; extended InvokeRequest/InvokeResponse with requestId field
Invocation Handling Updates
node/src/main/java/.../InvocationHandler.java, EndpointRegistry.java
Enhanced InvocationHandler with per-request logging via requestId and InvocationContext initialization; added selectEndpointExcluding method to EndpointRegistry for failover-aware routing; improved error response formatting
HTTP Routing & Pattern Matching
node/src/main/java/.../PathPattern.java, MatchResult.java, RouteRegistry.java
Renamed PathPattern.compile() to pathPattern(); converted MatchResult factory to Result-wrapped validation; updated route matching to filter via path compatibility checks
Management Server Extensions
node/src/main/java/.../ManagementServer.java
Added /api/* endpoint prefixes for status/nodes/slices/metrics; introduced /repository/info/{path} for artifact metadata retrieval; enhanced artifact metrics endpoint with deployed artifact list; refactored rolling update request parsing via RollingUpdateRequest record; made serverChannel thread-safe via AtomicReference
Controller & Decision Tree Updates
node/src/main/java/.../ControllerConfig.java, DecisionTreeController.java
ControllerConfig factory now returns Result with validation (threshold bounds, positivity); DecisionTreeController methods return Result/Unit instead of direct/void; refactored evaluation flow to use Option-based composition for blueprint rules
Deployment Manager Refactoring
node/src/main/java/.../ClusterDeploymentManager.java, NodeDeploymentManager.java, RollingUpdateManagerImpl.java
Extracted KV-store rebuild logic into dedicated helper methods; introduced AccumulatedMetrics for metrics aggregation; extracted slice value handling into dedicated methods for clarity
Metrics & Telemetry
node/src/main/java/.../MetricsCollector.java, MethodMetrics.java, MinuteAggregate.java, MinuteAggregator.java
Dynamic ring buffer capacity from sliding window; added Snapshot factory method with defensive histogram copying; introduced MinuteAggregate factory method; refactored minute aggregation to use factory pattern
AetherNode & Configuration Wiring
node/src/main/java/.../AetherNode.java, Main.java
Added public accessors artifactStore(), rollbackManager(), artifactMetricsCollector() to AetherNode; extended node construction to create and wire artifact store, repositories, rollback manager, and artifact metrics collector; updated collectRouteEntries to accept new dependencies; replaced defaultSliceConfig() with defaultSliceActionConfig()
Example Service Refactoring
examples/ecommerce/*/src/main/java/.../\*Service.java
Replaced concrete service classes (FulfillmentServiceImpl, InventoryServiceImpl, PaymentServiceImpl, PricingServiceImpl) with local record implementations inside factory methods; consolidated immutable data handling and state management patterns
Place Order Pipeline
examples/ecommerce/place-order/src/main/java/.../PlaceOrder.java
Introduced pipeline context records (OrderWithPricing, OrderWithReservation, OrderWithPayment, OrderComplete); moved PlaceOrderImpl logic into local placeOrder record; preserved order processing flow with immutable context threading
Order Demo Slice Updates
examples/order-demo/*/src/main/java/.../\*Slice.java
Converted invoker access from SliceInvokerFacade to Promise; updated methods() signatures to use consistent wildcard syntax (< ?, ?> instead of < ?, ? >); added TypeToken parameters to SliceMethod constructors; refactored invocation chains to use flatMap over async invoker
Domain Refactoring
examples/order-demo/order-domain/.../OrderRepository.java, slice/.../blueprint/\*.java
Replaced null-check conditionals with Option-based composition; converted factory methods to Result-wrapped validation (Blueprint, ResolvedSlice, Location); refactored Blueprint parsing and expansion to propagate monadic errors
Key-Value Store Extensions
slice/src/main/java/.../kvstore/AetherKey.java, AetherValue.java
Introduced PreviousVersionKey record implementing AetherKey for tracking previous artifact versions; added PreviousVersionValue to store version history with timestamps
Artifact & Repository APIs
slice/src/main/java/.../Artifact.java, ArtifactBase.java, repository/\*.java
Added artifact(ArtifactBase, Version) factory and base() accessor to Artifact; renamed fromArtifact() to artifactBase(); converted Location.location() to Result-wrapped validation; updated LocalRepository to use flatMap for Location chaining
Generic Type Formatting
cluster/, http-routing/, forge/, node/, slice/ (multiple files)
Standardized unbounded wildcard syntax from Class< ? > to Class< ?> and List< ? > to List< ?> across method signatures, record fields, and type parameters for consistency
Slice & Runtime Refactoring
slice/src/main/java/.../Slice.java, SliceRuntime.java, SliceBridgeImpl.java, SliceClassLoader.java
Removed deprecated SliceRuntime.sliceInvoker() accessor; updated SliceInvoker to async Promise pattern; refactored SliceBridgeImpl with Option-based method lookup; adjusted class loader type parameters; added SliceStoreImpl helper asLoadedSlice()
Blueprint Validation
slice/src/main/java/.../blueprint/\*.java
Added null/empty validation to Blueprint.blueprint(); converted ResolvedSlice factory to return Result with instance validation; refactored BlueprintExpander to use Result chaining; updated parser to use flatMap for monadic composition
Serialization Updates
slice/src/main/java/.../serialization/SerializerFactoryProvider.java
Minor wildcard syntax adjustment in createFactory typeTokens parameter
Test Method Naming
cluster/src/test/java/.../\*IT.java, LeaderManagerTest.java
slice/src/test/java/.../*Test.java
Renamed test methods to follow JBCT conventions (apply_, onTopologyChange_, parse_, resolvedSlice_) for clarity and test organization; updated test logic to reflect new Result-based APIs (unwrap patterns, flatMap chains, failure assertions)
Artifact Repository Tests
infra-services/artifact-repo/src/test/java/.../ArtifactStoreIntegrityTest.java, MavenProtocolHandlerTest.java
Added comprehensive integrity tests for artifact resolution, metadata, corruption detection, and large-artifact handling; extended test doubles to implement new resolveWithMetadata() and metrics() methods
Documentation
CLAUDE.md, docs/artifact-repository.md, docs/typed-slice-api-design.md
New artifact repository documentation covering security, environment strategies, configuration, repository types, CLI commands, metrics, and integrity verification; updated CLAUDE.md with distributed communication guarantees, module structure, and new artifact/repository components; refined typed-slice-api-design to document async invoker pattern and flatMap-based composition
Build & Configuration
.github/workflows/ci.yml, CHANGELOG.md
Updated Java setup from 25-ea to 25; documented configuration types, JBCT compliance fixes, and plugin re-enablement in CHANGELOG

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant SliceInvoker
    participant EndpointRegistry
    participant Endpoint1
    participant Endpoint2
    participant AlertManager
    participant RollbackManager

    Client->>SliceInvoker: executeWithFailover(request)
    SliceInvoker->>EndpointRegistry: selectEndpointWithFailover(artifact, method)
    EndpointRegistry->>EndpointRegistry: exclude attempted nodes
    EndpointRegistry-->>SliceInvoker: Endpoint1

    SliceInvoker->>Endpoint1: invoke(requestId, payload)
    Endpoint1-->>SliceInvoker: timeout/failure
    
    SliceInvoker->>SliceInvoker: exponential backoff
    SliceInvoker->>EndpointRegistry: selectEndpointWithFailover(artifact, method, {Endpoint1})
    EndpointRegistry-->>SliceInvoker: Endpoint2
    
    SliceInvoker->>Endpoint2: invoke(requestId, payload)
    Endpoint2-->>SliceInvoker: failure
    
    SliceInvoker->>SliceInvoker: all endpoints exhausted
    SliceInvoker->>AlertManager: publishFailureEvent(AllInstancesFailed)
    AlertManager->>AlertManager: createSliceFailureAlert()
    AlertManager->>RollbackManager: onAllInstancesFailed(event)
    RollbackManager->>RollbackManager: trigger rollback if leader
    
    SliceInvoker-->>Client: Promise<InvokeResponse>(error)
Loading
sequenceDiagram
    participant KVStore
    participant RollbackManager
    participant LeaderManager
    participant ClusterNode
    participant KVStore2 as KVStore (persist)

    LeaderManager->>RollbackManager: onLeaderChange(elected=true)
    RollbackManager->>RollbackManager: set leader status

    KVStore->>RollbackManager: onValuePut(BlueprintValue, newVersion)
    RollbackManager->>RollbackManager: extract artifact & version
    RollbackManager->>KVStore2: store previousVersion in KV
    RollbackManager->>RollbackManager: track currentVersion

    KVStore->>RollbackManager: onAllInstancesFailed(SliceFailureEvent)
    RollbackManager->>RollbackManager: check leader & cooldown & max count
    RollbackManager->>RollbackManager: check previousVersion exists
    RollbackManager->>ClusterNode: emit BlueprintKey with previousVersion
    RollbackManager->>RollbackManager: increment rollbackCount, update timestamp
    RollbackManager-->>LeaderManager: operation complete
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

  • v0.7.0 - Complete Unimplemented Features #24: Overlaps on AlertManager/alerting, ManagementServer endpoints, SliceInvoker failover routing, AetherNode wiring, and rollback/slice config types—directly connected code-level changes across core subsystems.
  • Release 0.6.3 #21: Directly related—both modify artifact repository (ArtifactStore, RepositoryFactory), slice/repository configuration (SliceConfig, RepositoryType), rollback management (RollbackManager), and Alert/alerting infrastructure.
  • Release 0.7.1: Production Readiness #25: Related via aether-config module changes (AetherConfig, ConfigLoader, new configuration records) and configuration wiring across deployment and node initialization.

Poem

🐰 Artifacts now flow with grace,
Failover hops from place to place,
Rollbacks heal when slices fail,
Alerts hop on the webhook trail,
Async promises light the way—
Aether thrives another day! 🌟

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e37b77 and 828ca05.

📒 Files selected for processing (144)
  • .github/workflows/ci.yml
  • CHANGELOG.md
  • CLAUDE.md
  • aether-config/pom.xml
  • aether-config/src/main/java/org/pragmatica/aether/config/AetherConfig.java
  • aether-config/src/main/java/org/pragmatica/aether/config/AlertConfig.java
  • aether-config/src/main/java/org/pragmatica/aether/config/ConfigLoader.java
  • aether-config/src/main/java/org/pragmatica/aether/config/RepositoryType.java
  • aether-config/src/main/java/org/pragmatica/aether/config/RollbackConfig.java
  • aether-config/src/main/java/org/pragmatica/aether/config/SliceConfig.java
  • aether-config/src/main/java/org/pragmatica/aether/config/TTMConfig.java
  • aether-config/src/test/java/org/pragmatica/aether/config/AetherConfigTest.java
  • aether-config/src/test/java/org/pragmatica/aether/config/ConfigLoaderTest.java
  • aether-config/src/test/java/org/pragmatica/aether/config/RepositoryTypeTest.java
  • aether-config/src/test/java/org/pragmatica/aether/config/SliceConfigTest.java
  • aether-setup/pom.xml
  • aether-ttm/pom.xml
  • aether-ttm/src/main/java/org/pragmatica/aether/ttm/model/TTMPredictor.java
  • aether-ttm/src/main/java/org/pragmatica/aether/ttm/model/TTMPredictorImpl.java
  • cli/pom.xml
  • cli/src/main/java/org/pragmatica/aether/cli/AetherCli.java
  • cluster/pom.xml
  • cluster/src/main/java/org/pragmatica/cluster/node/rabia/CustomClasses.java
  • cluster/src/main/java/org/pragmatica/cluster/node/rabia/RabiaNode.java
  • cluster/src/main/java/org/pragmatica/cluster/state/kvstore/KVStore.java
  • cluster/src/test/java/org/pragmatica/cluster/consensus/rabia/CrashStopFailuresIT.java
  • cluster/src/test/java/org/pragmatica/cluster/consensus/rabia/NominalOperationIT.java
  • cluster/src/test/java/org/pragmatica/cluster/leader/LeaderManagerTest.java
  • dashboard/pom.xml
  • docs/artifact-repository.md
  • docs/typed-slice-api-design.md
  • e2e-tests/pom.xml
  • examples/ecommerce/fulfillment/pom.xml
  • examples/ecommerce/fulfillment/src/main/java/org/pragmatica/aether/example/fulfillment/FulfillmentService.java
  • examples/ecommerce/inventory/pom.xml
  • examples/ecommerce/inventory/src/main/java/org/pragmatica/aether/example/inventory/InventoryService.java
  • examples/ecommerce/payment/pom.xml
  • examples/ecommerce/payment/src/main/java/org/pragmatica/aether/example/payment/PaymentService.java
  • examples/ecommerce/place-order/pom.xml
  • examples/ecommerce/place-order/src/main/java/org/pragmatica/aether/example/order/PlaceOrder.java
  • examples/ecommerce/pom.xml
  • examples/ecommerce/pricing/pom.xml
  • examples/ecommerce/pricing/src/main/java/org/pragmatica/aether/example/pricing/PricingService.java
  • examples/ecommerce/shared/pom.xml
  • examples/order-demo/cancel-order/src/main/java/org/pragmatica/aether/demo/order/usecase/cancelorder/CancelOrderSlice.java
  • examples/order-demo/get-order-status/src/main/java/org/pragmatica/aether/demo/order/usecase/getorderstatus/GetOrderStatusSlice.java
  • examples/order-demo/inventory-service/src/main/java/org/pragmatica/aether/demo/order/inventory/InventoryServiceSlice.java
  • examples/order-demo/order-domain/src/main/java/org/pragmatica/aether/demo/order/domain/OrderRepository.java
  • examples/order-demo/place-order/src/main/java/org/pragmatica/aether/demo/order/usecase/placeorder/PlaceOrderSlice.java
  • examples/order-demo/pom.xml
  • examples/order-demo/pricing-service/src/main/java/org/pragmatica/aether/demo/order/pricing/PricingServiceSlice.java
  • examples/pom.xml
  • forge/pom.xml
  • forge/src/main/java/org/pragmatica/aether/forge/ForgeApiHandler.java
  • forge/src/main/java/org/pragmatica/aether/forge/ForgeCluster.java
  • forge/src/main/java/org/pragmatica/aether/forge/ForgeConfig.java
  • forge/src/main/java/org/pragmatica/aether/forge/ForgeResponses.java
  • forge/src/main/java/org/pragmatica/aether/forge/ForgeServer.java
  • forge/src/main/java/org/pragmatica/aether/forge/load/LoadConfigLoader.java
  • forge/src/main/java/org/pragmatica/aether/forge/load/LoadTarget.java
  • http-routing/pom.xml
  • http-routing/src/main/java/org/pragmatica/http/routing/RequestContext.java
  • http-routing/src/main/java/org/pragmatica/http/routing/RequestContextImpl.java
  • http-routing/src/main/java/org/pragmatica/http/routing/RequestRouter.java
  • http-routing/src/main/java/org/pragmatica/http/routing/Route.java
  • http-routing/src/main/java/org/pragmatica/http/routing/RouteSource.java
  • infra-services/artifact-repo/pom.xml
  • infra-services/artifact-repo/src/main/java/org/pragmatica/aether/infra/artifact/ArtifactRepoSlice.java
  • infra-services/artifact-repo/src/main/java/org/pragmatica/aether/infra/artifact/ArtifactStore.java
  • infra-services/artifact-repo/src/test/java/org/pragmatica/aether/infra/artifact/ArtifactStoreIntegrityTest.java
  • infra-services/artifact-repo/src/test/java/org/pragmatica/aether/infra/artifact/MavenProtocolHandlerTest.java
  • infra-services/pom.xml
  • node/pom.xml
  • node/src/main/java/org/pragmatica/aether/Main.java
  • node/src/main/java/org/pragmatica/aether/api/AlertEvent.java
  • node/src/main/java/org/pragmatica/aether/api/AlertForwarder.java
  • node/src/main/java/org/pragmatica/aether/api/AlertManager.java
  • node/src/main/java/org/pragmatica/aether/api/ManagementServer.java
  • node/src/main/java/org/pragmatica/aether/controller/ControllerConfig.java
  • node/src/main/java/org/pragmatica/aether/controller/DecisionTreeController.java
  • node/src/main/java/org/pragmatica/aether/controller/RollbackManager.java
  • node/src/main/java/org/pragmatica/aether/deployment/cluster/ClusterDeploymentManager.java
  • node/src/main/java/org/pragmatica/aether/deployment/node/NodeDeploymentManager.java
  • node/src/main/java/org/pragmatica/aether/endpoint/EndpointRegistry.java
  • node/src/main/java/org/pragmatica/aether/http/HttpRouter.java
  • node/src/main/java/org/pragmatica/aether/http/MatchResult.java
  • node/src/main/java/org/pragmatica/aether/http/PathPattern.java
  • node/src/main/java/org/pragmatica/aether/http/RouteRegistry.java
  • node/src/main/java/org/pragmatica/aether/invoke/InvocationContext.java
  • node/src/main/java/org/pragmatica/aether/invoke/InvocationHandler.java
  • node/src/main/java/org/pragmatica/aether/invoke/InvocationMessage.java
  • node/src/main/java/org/pragmatica/aether/invoke/SliceFailureEvent.java
  • node/src/main/java/org/pragmatica/aether/invoke/SliceInvoker.java
  • node/src/main/java/org/pragmatica/aether/metrics/MetricsCollector.java
  • node/src/main/java/org/pragmatica/aether/metrics/MinuteAggregate.java
  • node/src/main/java/org/pragmatica/aether/metrics/MinuteAggregator.java
  • node/src/main/java/org/pragmatica/aether/metrics/artifact/ArtifactDeploymentTracker.java
  • node/src/main/java/org/pragmatica/aether/metrics/artifact/ArtifactMetricsCollector.java
  • node/src/main/java/org/pragmatica/aether/metrics/eventloop/EventLoopMetricsCollector.java
  • node/src/main/java/org/pragmatica/aether/metrics/invocation/MethodMetrics.java
  • node/src/main/java/org/pragmatica/aether/node/AetherCustomClasses.java
  • node/src/main/java/org/pragmatica/aether/node/AetherNode.java
  • node/src/main/java/org/pragmatica/aether/node/AetherNodeConfig.java
  • node/src/main/java/org/pragmatica/aether/repository/BuiltinRepository.java
  • node/src/main/java/org/pragmatica/aether/repository/RepositoryFactory.java
  • node/src/main/java/org/pragmatica/aether/ttm/ForecastAnalyzer.java
  • node/src/main/java/org/pragmatica/aether/update/RollingUpdateError.java
  • node/src/main/java/org/pragmatica/aether/update/RollingUpdateManagerImpl.java
  • node/src/test/java/org/pragmatica/aether/api/ManagementApiIT.java
  • node/src/test/java/org/pragmatica/aether/controller/RollbackManagerTest.java
  • node/src/test/java/org/pragmatica/aether/deployment/cluster/BlueprintServiceTest.java
  • node/src/test/java/org/pragmatica/aether/http/PathPatternTest.java
  • node/src/test/java/org/pragmatica/aether/metrics/artifact/ArtifactDeploymentTrackerTest.java
  • pom.xml
  • slice-annotations/pom.xml
  • slice-api/pom.xml
  • slice-api/src/main/java/org/pragmatica/aether/slice/Slice.java
  • slice-api/src/main/java/org/pragmatica/aether/slice/SliceRuntime.java
  • slice/pom.xml
  • slice/src/main/java/org/pragmatica/aether/artifact/Artifact.java
  • slice/src/main/java/org/pragmatica/aether/artifact/ArtifactBase.java
  • slice/src/main/java/org/pragmatica/aether/slice/SharedLibraryClassLoader.java
  • slice/src/main/java/org/pragmatica/aether/slice/SliceBridgeImpl.java
  • slice/src/main/java/org/pragmatica/aether/slice/SliceClassLoader.java
  • slice/src/main/java/org/pragmatica/aether/slice/SliceState.java
  • slice/src/main/java/org/pragmatica/aether/slice/SliceStoreImpl.java
  • slice/src/main/java/org/pragmatica/aether/slice/blueprint/Blueprint.java
  • slice/src/main/java/org/pragmatica/aether/slice/blueprint/BlueprintExpander.java
  • slice/src/main/java/org/pragmatica/aether/slice/blueprint/BlueprintParser.java
  • slice/src/main/java/org/pragmatica/aether/slice/blueprint/ResolvedSlice.java
  • slice/src/main/java/org/pragmatica/aether/slice/dependency/DependencyResolver.java
  • slice/src/main/java/org/pragmatica/aether/slice/dependency/SliceFactory.java
  • slice/src/main/java/org/pragmatica/aether/slice/kvstore/AetherKey.java
  • slice/src/main/java/org/pragmatica/aether/slice/kvstore/AetherValue.java
  • slice/src/main/java/org/pragmatica/aether/slice/repository/Location.java
  • slice/src/main/java/org/pragmatica/aether/slice/repository/maven/LocalRepository.java
  • slice/src/main/java/org/pragmatica/aether/slice/routing/Route.java
  • slice/src/main/java/org/pragmatica/aether/slice/serialization/SerializerFactoryProvider.java
  • slice/src/test/java/org/pragmatica/aether/slice/SliceClassLoaderTest.java
  • slice/src/test/java/org/pragmatica/aether/slice/blueprint/BlueprintExpanderTest.java
  • slice/src/test/java/org/pragmatica/aether/slice/blueprint/BlueprintParserTest.java
  • slice/src/test/java/org/pragmatica/aether/slice/blueprint/BlueprintTest.java
  • slice/src/test/java/org/pragmatica/aether/slice/blueprint/ExpandedBlueprintTest.java
  • slice/src/test/java/org/pragmatica/aether/slice/blueprint/ResolvedSliceTest.java

Comment @coderabbitai help to get the list of available commands and usage tips.

@siy siy merged commit fc2b791 into main Jan 10, 2026
4 of 5 checks passed
@siy siy deleted the release-0.7.3 branch January 10, 2026 06:40
This was referenced Jan 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant