feat(ldd): реестр утверждений, evidence gate и runtime-проверки

This commit is contained in:
2026-10-27 21:46:07 +03:00
parent 0ac75bcd5c
commit 4130a1af2f
8 changed files with 1400 additions and 1 deletions

34
build.gradle.kts Normal file
View File

@@ -0,0 +1,34 @@
import lms.evidence.EvidenceCheckTask
/**
* LDD evidence gate: каждое критичное утверждение из docs/evidence/claims.json
* должно ссылаться на реально прошедший тест. P0-утверждение без свидетельства
* валит сборку; P1-пробелы показываются в отчёте.
*
* Запуск: ./gradlew evidenceCheck
*/
val evidenceTestTasks =
listOf(
":libs:markdown:test",
":services:identity-service:test",
":services:academic-service:test",
":services:progress-service:test",
":web:test",
)
tasks.register<EvidenceCheckTask>("evidenceCheck") {
group = "verification"
description = "LDD: проверяет, что claims имеют актуальные зелёные свидетельства"
dependsOn(evidenceTestTasks)
claimsFile.set(layout.projectDirectory.file("docs/evidence/claims.json"))
runtimeFiles.from(
fileTree("build/evidence") {
include("*.json")
},
)
evidenceTestTasks.forEach { taskPath ->
val projectPath = taskPath.substringBeforeLast(':')
testResults.from(project(projectPath).tasks.named("test"))
}
reportFile.set(layout.buildDirectory.file("reports/evidence/index.md"))
}