6 Commits

Author SHA1 Message Date
Andrey Epifancev
82ad2ab251 feat(contract): v1.2 — DISCLOSURE, statementDocument.checks, границы периода ОСВ, примеры
Refs #26

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
2026-10-06 14:13:44 +04:00
Andrey Epifancev
c2005a4699 docs: финальное ревью Среза 2a — §1 (лимиты чтения, ИНН, ACCOUNT_RE, риски R-21), OQ-106…OQ-109
- 05-domain-rules §1.0 п. 1: признак ОСВ в первых 30 строках листа; п. 4, §1.3: ИНН по значениям без дополнения
  нулём, дополнение при извлечении (R-24); ACCOUNT_RE с re.ASCII | re.DOTALL (M-1); §1.4: остаточные риски R-21
  (RR-1…RR-4, слепые зоны); §1.6: лимиты чтения (R-23), логирование.
- 06-test-data §3 п. 17: ИНН в тексте строки — ОСВ 76 Счастливочной за 1–3 кв. 2024 (6 + 7 + 7 строк).
- 07-open-questions: OQ-106 (Итого = первый корень), OQ-107 (hierarchy=sums), OQ-108 (defusedxml, лимиты чтения),
  OQ-109 (размер объекта S3 до скачивания); OQ-105 ссылается на риски §1.4.
- OQ-81 «частично закрыт» в 09-delivery-plan, tasks.md и proposal.md change.
- contracts/examples/result-osv-needs-check.json — как пишет парсер (копия tabular-parser байт в байт).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 16:32:52 +04:00
Andrey Epifancev
baeb9189f6 docs: §1 по факту парсера, 06-test-data, план срезов 2a–2d, OQ, пример контракта
- 05-domain-rules §1: обязательные группы (R-12), hierarchy=<имя>, TOTAL в rows, буквенные субсчета и Вал./Кол. (R-16, R-18, R-19), ИНН (R-15, R-17), сверка по нетто (R-21), R-20, пустая ОСВ, ASSUMPTION(OQ-02), новый §1.6 (статусы, коды, лимиты, словари)
- 06-test-data: синтетика s01–s16, golden (82 снимка), рукописный xlsb, пустые ОСВ, буквенные субсчета
- 09-delivery-plan: Срез 2 → 2a–2d, 2a по факту
- 07-open-questions: OQ-98…OQ-105, пометки допущений парсера у OQ-01/02/45, OQ-81 частично закрыт
- contracts/examples/result-osv-needs-check.json: ACCOUNT в group_schema, ИНН из колонки, «Вал.» без контрагента, строка TOTAL
- openspec tasks.md: 1.2, 2.1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 15:53:11 +04:00
Andrey Epifancev
186d6f1dcf contracts: needs_check-пример — строка 3 как «Вал.» под контрагентом (CURRENCY, уровень 2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 11:59:41 +04:00
Andrey Epifancev
ec7c42f964 contracts: результат v1.1 — rows[].extra (§1.2), пример needs_check
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 11:56:16 +04:00
Andrey Epifancev
38c50c2101 Контракт: примеры сообщений и результатов распознавания v1.0
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:04:49 +04:00