NODEDC_1C/docs/slot3_recon_2026-03-22.md

71 lines
2.1 KiB
Markdown

# Slot3 Recon Report (2026-03-22)
## Scope
Target hard check:
`posting -> subconto[1..3] -> counterparty / contract / item`
Source artifacts:
- `scripts/recon_slot3_gap.py`
- `logs/slot3_recon_report.json`
- `logs/deep_accounting_mvp_gate.json`
Endpoint:
- `http://localhost/buh_test/odata/standard.odata/`
## Numeric Result
From `logs/slot3_recon_report.json`:
- `sets_with_slot3_fields`: `11`
- `sets_with_data_rows`: `5`
- `sets_with_non_null_slot3`: `0`
- `sets_with_joined_slot3_rows`: `0`
- `rows_with_non_null_slot3_total`: `0`
- `rows_with_joined_slot3_total`: `0`
Recon strategy:
- Baseline sample read (`$top`) for each candidate set.
- Additional targeted reads per slot3 field with `$filter: <slot3_field> ne null`.
Interpretation:
- Metadata contains slot `3` fields in multiple document line entity sets.
- In current sampled data, slot `3` is always empty.
- Because slot `3` has no non-null values, reproducible posting-linked evidence for slot `3` cannot be produced.
## Gate Impact
Hard gate #2 remains `fail` for objective data reasons:
- Slots `1` and `2` are proven.
- Slot `3` is not provable on current OData sample because observed values are null.
This is consistent with:
- `docs/mvp_gate_3_hard_checks_2026-03-22.md`
- `docs/decision_report_odata_vs_deeper_access.md`
## What Must Change To Close Check #2
At least one posted document line is needed where all conditions hold:
1. Slot `3` field is non-null.
2. The line can be joined to accounting posting by:
- `Ref_Key = Recorder`
- `Recorder_Type`
- `LineNumber`
3. The slot `3` value can be categorized into one of required semantic dimensions (`counterparty`, `contract`, `item`) or explicitly mapped as equivalent analytics dimension for the canonical model.
## Next Action
1. Use Universal Tools in test copy to identify document types and posting scenarios that actually fill slot `3`.
2. Reproduce the same scenario through OData extraction and rerun:
- `scripts/recon_slot3_gap.py`
- `scripts/deep_probe_accounting_mvp_gate.py`
3. If slot `3` remains opaque in OData despite known non-null data in 1C internals, continue FoxyLink PoC as deeper access closure path.