141 lines
4.5 KiB
JSON
141 lines
4.5 KiB
JSON
{
|
||
"generated_at": "2026-03-22T16:31:00",
|
||
"endpoint": "http://localhost/buh_test/odata/standard.odata/",
|
||
"source_files": [
|
||
"logs/metadata.xml",
|
||
"logs/probe_report.json",
|
||
"logs/sample_links.json",
|
||
"logs/deep_subconto_join_probe.json"
|
||
],
|
||
"chains": [
|
||
{
|
||
"chain": "A",
|
||
"name": "Document_Реализация -> Posting -> Account -> Subconto",
|
||
"status": "derivable",
|
||
"evidence": [
|
||
"Join proven by Ref_Key + LineNumber <-> Recorder + LineNumber",
|
||
"Account key consistency verified on joined sample",
|
||
"Subconto_Type extracted from linked document lines"
|
||
]
|
||
},
|
||
{
|
||
"chain": "B",
|
||
"name": "Document_Поступление -> Posting -> Accounts",
|
||
"status": "derivable",
|
||
"evidence": [
|
||
"Document_ПоступлениеТоваровУслуг readable",
|
||
"Recorder bridge to accounting register",
|
||
"AccountDr/AccountCr present"
|
||
]
|
||
},
|
||
{
|
||
"chain": "C",
|
||
"name": "Counterparty -> Contract -> Documents -> Movements",
|
||
"status": "derivable",
|
||
"evidence": [
|
||
"Catalog_Контрагенты + Catalog_ДоговорыКонтрагентов readable",
|
||
"Owner_Key / Контрагент_Key / ДоговорКонтрагента_Key present",
|
||
"Movement join via recorder derivable"
|
||
]
|
||
},
|
||
{
|
||
"chain": "D",
|
||
"name": "Bank docs -> BankAccount -> Movements",
|
||
"status": "derivable",
|
||
"evidence": [
|
||
"Document_СписаниеСРасчетногоСчета readable",
|
||
"Document_ПоступлениеНаРасчетныйСчет readable",
|
||
"Bank/account keys + register join available"
|
||
]
|
||
},
|
||
{
|
||
"chain": "E",
|
||
"name": "Document_ОперацияБух -> AccountingRegister -> Explainability",
|
||
"status": "derivable",
|
||
"evidence": [
|
||
"Document_ОперацияБух readable",
|
||
"AccountingRegister_Хозрасчетный and RecordType readable",
|
||
"Recorder/account fields allow explainability graph base"
|
||
]
|
||
},
|
||
{
|
||
"chain": "F",
|
||
"name": "ChartOfAccounts -> SubcontoType -> Posting",
|
||
"status": "derivable",
|
||
"evidence": [
|
||
"Posting account keys are directly readable",
|
||
"Subconto_Type is available on linked document line entities",
|
||
"Mapping is data-driven; direct normative chart field mapping is not exposed"
|
||
]
|
||
}
|
||
],
|
||
"relations": [
|
||
{
|
||
"relation": "Document->Posting",
|
||
"status": "derivable",
|
||
"evidence": "Recorder bridge in accounting register (+ LineNumber on deep probe)"
|
||
},
|
||
{
|
||
"relation": "Posting->debitAccount",
|
||
"status": "direct",
|
||
"evidence": "AccountDr_Key"
|
||
},
|
||
{
|
||
"relation": "Posting->creditAccount",
|
||
"status": "direct",
|
||
"evidence": "AccountCr_Key"
|
||
},
|
||
{
|
||
"relation": "Posting->Organization",
|
||
"status": "direct",
|
||
"evidence": "Организация_Key"
|
||
},
|
||
{
|
||
"relation": "Document->Counterparty",
|
||
"status": "direct",
|
||
"evidence": "Контрагент_Key in documents"
|
||
},
|
||
{
|
||
"relation": "Document->Contract",
|
||
"status": "direct",
|
||
"evidence": "ДоговорКонтрагента_Key in documents"
|
||
},
|
||
{
|
||
"relation": "Counterparty->Contract",
|
||
"status": "direct",
|
||
"evidence": "Owner_Key in contracts"
|
||
},
|
||
{
|
||
"relation": "Organization->BankAccount",
|
||
"status": "direct",
|
||
"evidence": "ОсновнойБанковскийСчет_Key and СчетОрганизации_Key"
|
||
},
|
||
{
|
||
"relation": "Posting->SubcontoType",
|
||
"status": "derivable",
|
||
"evidence": "Deep join proof in logs/deep_subconto_join_probe.json"
|
||
}
|
||
],
|
||
"write_guard": {
|
||
"endpoint": "http://localhost/buh_test/odata/standard.odata/$metadata",
|
||
"post_status": 405,
|
||
"patch_status": 405,
|
||
"delete_status": 405,
|
||
"note": "transport-level check; role-level deny should be audited in 1C"
|
||
},
|
||
"hard_gate_2026_03_22": {
|
||
"source": "logs/deep_accounting_mvp_gate.json",
|
||
"document_to_posting_to_accounts": "pass",
|
||
"posting_to_subconto123_to_counterparty_contract_item": "fail",
|
||
"saldo_explainability_from_movements": "pass",
|
||
"verdict": "Not yet sufficient for MVP accounting ontology; deeper access is justified for failed checks."
|
||
},
|
||
"deep_probe_snapshot": {
|
||
"tested_document_key": "b8661088-b0f2-11e4-9980-5404a6c12c2c",
|
||
"posting_rows_for_document": 108,
|
||
"line_rows_for_document": 36,
|
||
"joined_rows": 36,
|
||
"account_match": true
|
||
}
|
||
}
|