about = "CORREX — local-first, event-sourced orchestration kernel for LLM workflows. Kotlin 2.0 / JVM 21, Gradle multi-module, kotlinx.serialization, Ktor."

conventions = [
    "Event log is the only source of truth; projections are disposable and rebuilt from events",
    "Dependency direction: apps -> core -> infrastructure; no cross-core imports",
    "No bare try-catch; use runCatching and sealed domain error types",
    "Every new EventPayload must be registered in the eventModule polymorphic block (Serialization.kt)",
    "Track multi-session or handoff work as native tasks: search before creating to avoid duplicates (task_search), task_context before starting, claim before working, submit_for_review when ready, complete after review. Don't open a task for a single self-contained edit you finish now. When a goal has dependency seams or independent review points, task_decompose it into a parent + DEPENDS_ON-linked children (one approval) instead of one big task; a session works one task at a time, so siblings are claimed by later runs as they unblock.",
]

[commands]
test-all = "./gradlew check --rerun-tasks"
test-module = "./gradlew :core:<module>:test --rerun-tasks"
context-lookup = "python scripts/ctx.py <query>"
epic-status = "bash scripts/epic-status.sh"
