Срез 3b (docs): §7/§9 по факту, контракт API форм и мелких дыр, OQ #49

Merged
aep merged 6 commits from feat/48-slice-3b-docs into main 2026-10-07 14:20:55 +03:00
Showing only changes of commit 8c399daac6 - Show all commits

View File

@ -460,8 +460,8 @@ variance = |amount_a − amount_b|; variance_pct = variance / min(amount_a, amou
/documents/{id}/statement`, подтверждение). Правила — словарь `arm-core/api/rules/statement_checks.yaml`: **копия**
словаря tabular-parser (те же жёсткие и мягкие соотношения, допуск ±1 в единицах формы, округление 0,001 %, `abs_terms`,
мягкая «сумма пятизначных подстрок = родитель»); тест идентичности копий между репозиториями не ставится, расхождение —
известный риск (`03-architecture.md`). Соотношение считается по каждой колонке и только если присутствует его цель
(левая часть — сумма в этой колонке непуста; пустая ячейка цели соотношение пропускает); отсутствующий код в правой части = 0. Результат в ответе API: `failed` (жёсткие), `soft_failed` (мягкие, в
известный риск (`03-architecture.md`). Соотношение считается по каждой колонке и только если строка-цель (левая часть) есть в форме;
отсутствующий код и пустая сумма — 0 (ненулевые слагаемые при пустой цели дают жёсткое нарушение). Результат в ответе API: `failed` (жёсткие), `soft_failed` (мягкие, в
том числе «в пределах округления»), `cross_form`, `accepted`.
Межформенная `1370(отчётная дата) − 1370(начало года) = 2400` — **мягкая** и не блокирует подтверждение: пара — другой
документ формы того же ЮЛ с тем же годом и кварталом периода (файл не `SUPERSEDED`; подтверждённый предпочтительнее, далее