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
redisTopologyTestopt-in; do not add it to normalcheck. - 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
RedisTopologyLanePluginusingStrictTestLaneExtensionand a JavaTestListenertracker. - Register
ca.redis-topology-lanein 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, andgit diff --check.