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 fifth real live FAIL + Live Interoperability Fix 5
README pilot callout and DEVELOPMENT_HISTORY milestone updated to five real live runs all FAIL. Run 5 proved live that page-state classification, target 2026/263 card matching (file_id+institution), listing_card_modal entry-path selection, and the card-local Ihale Evrak Listesi control (card_link) all worked and the click succeeded; the operator directly watched the real UYAP modal visibly open, yet the collector reported document_list_opened=false / modal_opened=false / labels=[] / actions=0. The exact defect was a visible-modal / document-list recognition false negative (detection required .modal/role=dialog/<tr>; the real overlay is a div/portal; diagnostics also showed mojibake label text). Fix 5 detects the open list from visible semantic content (title + >=2 distinct recognized document types), locates the container by nearest common ancestor (guarded against body/html/whole-results; no .modal/dialog required), anchors document rows on the label elements, distinguishes download vs eye (unresolved rows not clicked), tracks a pre-click/post-click visible transition, and applies a constrained mojibake repair to classification input only. No live PASS is claimed, the modal is not asserted to open programmatically in a live run, and UDF source extraction is not proven; a post-Fix-5 operator rerun is required. Structural core, four SMM moments, conditional_on_trade, Theta_A, TOKI external (5 observed / 0 SMM), 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
-
> **Four real live runs, all `FAIL` (interoperability); Fix 4 hardens active-page state classification against embedded-reference false positives.** 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. 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 and found the "İhale Evrak Listesi" control but wrongly waited for a modal. **Fix 2** switched to same-page tab/panel detection with a row-local eye action opening a new-tab `viewer.jsp?mimeType=Udf` **UDF viewer**. **Fix 3** made document entry **page-state-aware and target-record-card-scoped** (listing card → modal; detail tab → panel). The **fourth** live run then failed *before* the Fix-3 logic could run: the operator started on the real **search/listing page** (active source `/pp/index.jsp`) with the `2026/263 İcra` card visible and the real `Satış İşlemleri Tamamlandı` was extracted, but `classify_page_state` returned **`udf_viewer`** because the listing HTML contained weak embedded viewer references (a hidden "Evrak Görüntüleme" string / a `viewer.jsp?mimeType=Udf` fragment in script/template) that were treated as decisive. That produced `document_entry_path = unsupported` (`blocking_reason = unsupported_page_state:udf_viewer`), so the target-record-card path **never executed** — run 4 did **not** test whether card matching, the card-local control, the modal, document rows, or the UDF viewer work. **Fix 4** introduces deterministic **active-page state evidence precedence**: strong active-**URL** viewer evidence (`/pp/viewer.jsp` path with `mimeType=Udf`) first, then strong visible detail semantics, then strong visible listing semantics, then viewer semantics only when no listing/detail is present. A `viewer.jsp` or `mimeType=Udf` string embedded in raw HTML (script, hidden markup, link target, template) **no longer** classifies the active page as a viewer (it is recorded as `weak_embedded_viewer_reference_ignored`); the classifier trusts the live `page.url` as the active URL, and multi-tab page selection prefers a supported target page over a stale viewer tab (`select_target_page_index`). New privacy-safe diagnostics: `page_state_evidence`, `page_candidates_seen`, `selected_page_url_kind`, `selected_page_state`, `selected_page_target_identity_match`. **No live `PASS` is claimed**; the fix only removes the incorrect page-state blocker, and the operator must rerun `sold uyap pilot` from the real search/listing page (`2026/263 İcra` card visible) so a new real report can measure whether the pipeline now reaches the card, modal, document rows, and UDF viewer.
262
+
> **Five real live runs, all `FAIL` (interoperability); Fix 5 recognizes the visibly-open document modal by semantic content.** 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. 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 and found the "İhale Evrak Listesi" control but wrongly waited for a modal. **Fix 2** added same-page tab/panel detection with a row-local eye opening a new-tab `viewer.jsp?mimeType=Udf` **UDF viewer**. **Fix 3** made document entry **page-state-aware and target-record-card-scoped** (listing card → modal; detail tab → panel). **Fix 4** hardened active-page state classification so embedded viewer references in raw HTML no longer misclassify the listing page as a viewer. On the **fifth** run everything up to the click worked live — `page_state = search_listing`, the `2026/263` card was found by `file_id` + `institution`, `document_entry_path = listing_card_modal`, the card-local "İhale Evrak Listesi" control was found (`document_list_control_kind = card_link`), the click succeeded, and **the operator directly watched the real UYAP modal visibly open on screen** — yet the collector reported `document_list_opened = false`, `document_modal_opened = false`, `document_labels_observed = []`. The exact defect was a **visible-modal / document-list recognition false negative**: modal detection required `.modal` / `role=dialog` / `<tr>` markup, but the real overlay is a div/portal, and run-5 diagnostics also showed mojibake-like label text. **Fix 5** detects the open list from **visible semantic content** (a document-list title **plus at least two distinct recognized document types** — never the title alone), locates the container by the **nearest common ancestor** of the recognized label elements (guarded so `html`/`body`/a whole multi-record results container can never be chosen; `.modal`/`role=dialog` not required — a plain div/portal works), anchors **document rows on the label elements** (no `<tr>` assumption, no global Nth-icon), distinguishes a **row-local download vs eye/view action** (reporting a row **unresolved** rather than clicking arbitrarily), tracks a **pre-click→post-click semantic transition** over *visible* labels (hidden templates ignored, echoing the run-4 raw-HTML lesson), and applies a **constrained mojibake repair** (UTF-8-as-Latin-1/cp1252) to classification input only — never mutating source artifacts. On success it sets `document_list_opened = true`, `document_list_container_kind = listing_modal`, populates the labels/actions, and flows into the existing shared collection → new-tab UDF viewer. New privacy-safe diagnostics: `pre_click_visible_document_types`, `post_click_visible_document_types`, `document_list_semantic_transition_detected`, `document_container_strategy`, `document_container_recognized_types`, `document_row_detection_strategy`, `recognized_document_rows`. **No live `PASS` is claimed**, UDF source extraction is **not** proven, and the İhale Bedeli was **not** programmatically extracted; the operator must rerun `sold uyap pilot` from the real search/listing page (`2026/263 İcra` card visible) so a new real report can measure whether the pipeline now recognizes the modal, reads the rows, and reaches the viewer (or fails honestly later at eye resolution / viewer representation / UDF extraction).
0 commit comments