Files
clean-architecture-backend-…/docs/superpowers/plans/2026-09-17-redis-topology-lane-java.md
T

1.9 KiB

Redis Topology Lane Java Migration Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task.

Goal: Remove the last adapter-level procedural Groovy test lifecycle logic by moving Redis topology qualification into a typed Java convention plugin.

Architecture: ca.redis-topology-lane belongs in build-logic: it configures the default test exclusion, declares the strict redisTopologyTest lane, validates mode/properties, forwards topology system properties, and verifies executed required classes/no skips. The Redis leaf keeps only plugin and dependency declarations.

Tech Stack: Java 21, Gradle 9, JUnit Platform test tasks.

Spec: docs/superpowers/specs/2026-09-16-verification-surface-reduction-design.md

Constraints

  • Preserve supported modes: standalone, sentinel, cluster, tls.
  • Preserve TLS deployment-mode mapping to standalone.
  • Preserve required property and required executed-class semantics.
  • Preserve fail-closed behavior for unknown mode and skipped topology tests.
  • Keep redisTopologyTest opt-in; do not add it to normal check.
  • Do not stage, commit, amend, or push.

Task 1: Typed topology contract

  • Write failing Java tests for mode validation, required properties, class coverage, and skipped-test rejection.
  • Implement typed contract/result records and get focused tests GREEN.

Task 2: Java convention plugin

  • Implement RedisTopologyLanePlugin using StrictTestLaneExtension and a Java TestListener tracker.
  • Register ca.redis-topology-lane in build-logic.
  • Apply it in cache-redis and remove the Groovy topology lifecycle/configuration block.
  • Verify build-logic tests, Redis unit check, task configuration, invalid-mode fail-closed behavior, and git diff --check.