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 fourth real live FAIL + Live Interoperability Fix 4
README pilot callout and DEVELOPMENT_HISTORY milestone updated to four real live runs all FAIL. Run 4: operator started from the real search/listing page (active source /pp/index.jsp) with the 2026/263 Icra card visible; real terminal 'Satis Islemleri Tamamlandi' extracted; but classify_page_state incorrectly returned udf_viewer because weak embedded viewer references in raw HTML overrode active-page semantics, so document_entry_path became unsupported and the Fix-3 target-record-card logic never ran. Fix 4 hardens active-page state precedence (active URL first, then visible detail, then visible listing, then viewer-only-when-no-listing/detail), records weak embedded refs as ignored, trusts the live page.url, and adds safe multi-tab selection. Preserves Fix-3 card matching. No live PASS is claimed; the modal is not asserted to open and the UDF viewer is not asserted to be reached; a post-Fix-4 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
-
> **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).
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.
0 commit comments