Implement the TODO() stub in: $ARGUMENTS
Discovery
- •Read the target file containing the TODO() stub
- •Identify which domain interface the class implements (check
core-domain/src/main/kotlin/org/example/pipeline/domain/) - •Read that interface to understand the full contract (parameter types, return types, semantics)
- •Read any sibling methods already implemented in the same file for pattern consistency
All TODO Stubs
!grep -rn "TODO(" --include="*.kt" .
Implementation Rules
- •Exposed DSL only — use
select/insert/update/deleteWhere, not DAO entities - •
kotlinx.datetime.Instantfor all timestamps, neverjava.time - •
kotlinx.serializationfor any JSON — classes need@Serializable - •Suspend functions must use appropriate dispatchers (
Dispatchers.IOfor file/network I/O) - •
newSuspendedTransactionfrom Exposed for coroutine-safe DB access - •
import kotlin.time.ClockforClock.System(notkotlinx.datetime.Clock) - •Avoid Pair/Triple destructuring in lambdas — use data classes or
.first/.second - •Match the logging style already present in the file (
logger.info/logger.error) - •Follow the hints in the TODO() string — they describe the expected implementation
After Implementing
- •Determine which module the file belongs to
- •Run
./gradlew :<module>:compileKotlin --quietto verify compilation - •Run
./gradlew :<module>:testif tests exist for that module - •Report what was implemented and any test results