# 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`.