NODEDC_1C/docs/foxylink_poc_runbook_2026-0...

106 lines
3.3 KiB
Markdown

# FoxyLink PoC Runbook (2026-03-22)
## Goal
Close hard check #2 with reproducible evidence:
- `posting -> subconto[1..3] -> counterparty / contract / item`
while keeping OData as the baseline read-only contour.
## Current Fact Baseline
- OData baseline is working.
- UT `UI.cfe` quick path is blocked for the current test contour.
- FoxyLink HTTP probe to `http://localhost/buh_test/hs/AppEndpoint/v1/Self/Query/SYNC`
currently returns `404` in this workspace baseline.
This usually means FoxyLink is not merged/published in the currently exposed infobase
or HTTP services are not enabled for the publication.
## Local Artifacts
- FoxyLink source: `external/FoxyLink/src`
- Probe script: `scripts/foxylink_probe_endpoint.py`
- Probe wrapper: `scripts/run_foxylink_probe.ps1`
- Probe report output: `logs/foxylink_probe_report.json`
- Payload template: `docs/snapshots/foxylink_slot3_payload_template.json`
## Step 1: Deploy FoxyLink in Isolated Test Base
1. Open test base in 1C Configurator.
2. Merge configuration from `external/FoxyLink/src` (`Compare, merge with configuration from file...`).
3. Update database configuration.
4. Re-publish the test infobase on IIS with HTTP services enabled.
## Step 2: Initialize and Check Predefined Objects
Confirm these descriptions exist in the target base (they are used in URL routing):
- Exchange: `Self`
- Operation: `Query`
- Channel: `Self (Files)`
If subsystem initial fill was not executed automatically, run FoxyLink initialization
inside the test base so predefined objects and handlers are ready.
## Step 3: Minimal PoC Routing Setup
Create one minimal read-only route for operation `Query` that outputs a slot3-focused dataset:
1. In exchange `Self`, ensure `InUse = true`.
2. For operation `Query`, define Data Composition Schema/Settings that returns:
- document ref + line number
- posting recorder + line number
- debit/credit account
- subconto slot 1..3 values/types (or equivalent semantic columns)
3. Bind operation `Query` to channel `Self (Files)`.
4. Set channel resources for file output:
- `Path = X:\1C\NDC_1C\logs\foxylink_out`
- `BaseName = slot3_probe`
- `Extension = .json`
- `AddTimestamp = true` (optional)
## Step 4: Endpoint Smoke Check
Run:
```powershell
cd X:\1C\NDC_1C
powershell -ExecutionPolicy Bypass -File .\scripts\run_foxylink_probe.ps1 --strict
```
Expected:
- `logs/foxylink_probe_report.json` has `classification = reachable`
- `response.status_code = 200`
If status is `404`, re-check merge/publication path:
- publication base name (`ONEC_INFOBASE`)
- `ONEC_FOXY_PATH` (default `/hs/AppEndpoint/`)
- FoxyLink merge into the exact published infobase
## Step 5: Parameterized Semantic Probe
1. Put request payload JSON into
`docs/snapshots/foxylink_slot3_payload_template.json` (or another file).
2. Run:
```powershell
cd X:\1C\NDC_1C
python scripts/foxylink_probe_endpoint.py --payload-file docs/snapshots/foxylink_slot3_payload_template.json --strict
```
3. Verify exported data file appears in `logs/foxylink_out`.
4. Use that file to update slot3 evidence and re-run the hard gate scripts.
## Acceptance for Promotion
Promotion to "FoxyLink deeper path ready" is allowed when all are true:
1. FoxyLink probe endpoint is reachable (`HTTP 200`).
2. Slot3 evidence is reproducible from FoxyLink output.
3. All three hard checks pass in `logs/deep_accounting_mvp_gate.json`.