71 lines
2.1 KiB
Markdown
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.
|