You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: record UYAP Live Pilot 1 third real live FAIL + Live Interoperability Fix 3
README pilot callout and DEVELOPMENT_HISTORY milestone updated to reflect THREE real live runs all FAIL and the dual entry paths. Third-run root cause: from the search/listing page a global page-level text locator was not scoped to the 2026/263 card (generic text node not actionable -> click timeout -> MISSING_APPRAISAL/FAIL); mutation guard passed (count 7). Fix 3 is page-state-aware and target-record-scoped: classify_page_state, find_target_record_card (by official file identity, Esas/Icra alias, never price/nth), actionable card-local control requirement, classify_document_entry_path (listing_card_modal vs detail_tab_panel), row-local eye vs download distinction, and a shared document-row collector converging both paths -> new-tab UDF viewer. No live PASS is claimed and the UDF viewer representation is not asserted; a post-Fix-3 operator rerun is required. Structural core, four SMM moments, conditional_on_trade, Theta_A, TOKI external status, and the numerical-search convention are unchanged.
The dedicated profile lives **outside** the repository; browser profiles, cookies, tokens, and the pilot report are gitignored and never committed. Outcome semantics: **`PASS`** (real live session reached, required evidence extracted, reconciliation passed, audit `ADMISSIBLE_COMPLETED_SALE`, known-truth matched, `uyap.json` unchanged, count still 7); **`PARTIAL`** (live session worked but a required artifact/parser path was unsupported, reconciliation ambiguous, or terminal evidence not collected); **`FAIL`** (a real live run produced incorrect required evidence or an incorrect audit decision); **`NOT_RUN`** (no real user-controlled UYAP browser session was available). Offline regression success does **not** convert `NOT_RUN` into `PASS`.
261
261
262
-
> **Two real live runs, both `FAIL` (interoperability); Fix 2 targets the operator-observed UI.** A real operator Chrome/CDP session connected and the real UYAP `2026/263` page was reached; the appraisal (`6,800,000`), terminal status (`satildi`) and KDV (`20.0`) are extracted, but no run has yet collected the official auction-result document, so the explicit İhale Bedeli is missing (`audit_decision = MISSING_AUCTION_PRICE`). Both runs left `uyap.json` byte-unchanged with the genuine count at **7** — a collection defect, not a structural/admission defect. **Fix 1** hardened KDV (`KDV Oranı : %20` → `20.0`) and found the "İhale Evrak Listesi" control, but then wrongly waited for a modal/dialog. The operator then directly observed the real UI: "İhale Evrak Listesi" is a **same-page tab/panel** (no modal), and each row's **eye/view action opens a new UYAP tab** at a `viewer.jsp?mimeType=Udf&evrakId=...` **UDF viewer** ("Evrak Görüntüleme"). **Fix 2** adds first-class same-page document-panel detection (modal only as fallback), row-local eye-action association (never a global Nth-eye), new-tab detection via the browser-context page delta, and honest viewer-representation diagnostics (`viewer_url_kind`, `viewer_text_available`, iframe/canvas/image/embed/object counts) that collect a document **only** from a deterministically accessible source (no OCR, no fabrication). **A live `PASS` is not claimed**, and the UDF viewer's content representation is **not** asserted until a runtime rerun observes it — the operator must rerun `sold uyap pilot` against the real UYAP page and a new real live report must measure `PASS` (or an honest `PARTIAL` if the UDF viewer proves canvas/image-only).
262
+
> **Three real live runs, all `FAIL` (interoperability); Fix 3 makes document entry page-state-aware and target-record-scoped.** A real operator Chrome/CDP session connected and the real UYAP `2026/263` page was reached; the appraisal (`6,800,000`), terminal status (`satildi`) and KDV (`20.0`) are extracted, but no run has yet collected the official auction-result document, so the explicit İhale Bedeli is missing (`audit_decision = MISSING_APPRAISAL` / `MISSING_AUCTION_PRICE`). Every run left `uyap.json` byte-unchanged with the genuine count at **7** — a collection defect, not a structural/admission defect. **Fix 1** hardened KDV (`KDV Oranı : %20` → `20.0`) and found the "İhale Evrak Listesi" control, but then wrongly waited for a modal/dialog. **Fix 2** switched to same-page tab/panel detection with a row-local eye action opening a new-tab `viewer.jsp?mimeType=Udf&evrakId=...` **UDF viewer**. The third live run then failed differently: the operator ran from the **search/listing page**, where the code used a **global page-level text locator** for "İhale Evrak Listesi" that was **not scoped to the `2026/263` record card**; a generic text node is not an actionable control, so the click timed out (`document_list_opened = false`, labels `[]`). The operator also confirmed **two genuine entry paths** to the same documents: **(A)** on the **listing card** the card-local "İhale Evrak Listesi" opens a **modal**; **(B)** "İncele" opens a **detail page** whose "İhale Evrak Listesi" **tab** renders a **same-page panel**. **Fix 3** adds a page-state classifier (`classify_page_state` → `search_listing` / `record_detail` / `udf_viewer`), locates the **target record card by official file identity** (`find_target_record_card` — never by price, never a first/Nth card, with an Esas/İcra listing-alias match), requires an **actionable card-local control** (`card_document_list_control`; bare text is rejected as `non_actionable_text_only`), derives the **entry path** (`classify_document_entry_path`), distinguishes a **row-local eye action from a download arrow** (downloads are skipped), and converges **both paths** onto the **same document-row abstraction** → new-tab UDF viewer. **A live `PASS` is not claimed**, and the UDF viewer's content representation is **not** asserted until a runtime rerun observes it — the operator must rerun `sold uyap pilot` against the real UYAP page (the search/listing page with the `2026/263` card visible is recommended) and a new real live report must measure `PASS` (or an honest `PARTIAL` if the UDF viewer proves canvas/image-only).
0 commit comments