219e2c762e
New core:artifacts-store interface + infrastructure/artifacts-cas implementation: segment files + SQLite index, Blake3 hashing, group-commit fsync via flushBefore, recovery tail-scan, manual compactor, and oldest-first disk-cap evictor. Inference events now carry promptArtifactId / responseArtifactId; orchestrators put bytes before emitting. SqliteEventStore wraps its txn in artifactStore.flushBefore so segment data is fsynced before the event commit, making the crash window non-corrupting (TailScanner re-indexes orphan tail records on reopen). Compactor and evictor are mutually exclusive via maintenanceMutex. Step 9 (cloud sync) deferred to a later epic. See docs/reviews/2026-05-18-cas-steps-1-8-review.md for the final review.
46 lines
1.8 KiB
Groovy
46 lines
1.8 KiB
Groovy
plugins {
|
|
id 'org.jetbrains.kotlin.jvm'
|
|
id 'org.jetbrains.kotlin.plugin.serialization'
|
|
id 'application'
|
|
}
|
|
|
|
application {
|
|
mainClass = 'com.correx.apps.server.MainKt'
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':core:events')
|
|
implementation project(':core:approvals')
|
|
implementation project(':core:sessions')
|
|
implementation project(':core:kernel')
|
|
implementation project(':core:inference')
|
|
implementation project(':core:transitions')
|
|
implementation project(':core:context')
|
|
implementation project(':core:validation')
|
|
implementation project(':core:risk')
|
|
implementation project(':core:artifacts')
|
|
implementation project(':core:artifacts-store')
|
|
implementation project(':infrastructure')
|
|
implementation project(':infrastructure:workflow')
|
|
implementation project(':infrastructure:persistence')
|
|
implementation project(':infrastructure:inference')
|
|
implementation project(':infrastructure:inference:llama_cpp')
|
|
implementation project(':infrastructure:inference:commons')
|
|
|
|
implementation "com.github.ajalt.clikt:clikt:5.0.1"
|
|
|
|
implementation "io.ktor:ktor-client-cio:$ktor_version"
|
|
implementation "io.ktor:ktor-client-logging:$ktor_version"
|
|
implementation "io.ktor:ktor-server-core:$ktor_version"
|
|
implementation "io.ktor:ktor-server-netty:$ktor_version"
|
|
implementation "io.ktor:ktor-server-websockets:$ktor_version"
|
|
implementation "io.ktor:ktor-server-content-negotiation:$ktor_version"
|
|
implementation "io.ktor:ktor-serialization-kotlinx-json:$ktor_version"
|
|
implementation "io.ktor:ktor-server-status-pages:$ktor_version"
|
|
implementation "io.ktor:ktor-server-call-logging:$ktor_version"
|
|
|
|
implementation "org.apache.logging.log4j:log4j-core:2.24.1"
|
|
implementation "org.apache.logging.log4j:log4j-slf4j2-impl:2.24.1"
|
|
implementation "org.slf4j:slf4j-api:2.0.16"
|
|
}
|