Skip to content

Commit 7858845

Browse files
committed
docs: record UYAP Live Pilot 1 second real live FAIL + Live Interoperability Fix 2
README: update the pilot note to two real live FAILs and the operator-observed real UI (Ihale Evrak Listesi = same-page tab/panel, no modal; row eye action opens a new UYAP tab at viewer.jsp?mimeType=Udf&evrakId=... UDF viewer) and Fix 2 (same-page panel detection + new-tab UDF viewer + honest representation diagnostics); operator rerun still required and UDF content representation not asserted until observed. DEVELOPMENT_HISTORY: add the Live Interoperability Fix 2 milestone preserving the chronology (first live FAIL -> Fix 1 -> second live FAIL -> Fix 2 -> operator rerun pending). Documentation only; no live PASS claimed.
1 parent c456bfc commit 7858845

2 files changed

Lines changed: 30 additions & 1 deletion

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ Get-Content data\ingestion\uyap\pilot_report.json
259259

260260
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`.
261261

262-
> **First real live result: `FAIL` (interoperability), addressed by Live Interoperability Fix 1.** A real operator Chrome/CDP session connected and the real UYAP `2026/263` page was reached; the appraisal (`6,800,000`) and terminal status (`satildi`) were extracted, but the first run **failed** because the official auction-result document was **not** collected — UYAP exposes it behind an "İhale Evrak Listesi" **button → modal → view/eye-action** UI rather than an ordinary `<a href>`, so only `status_card` was collected and the explicit İhale Bedeli was missing (`audit_decision = MISSING_AUCTION_PRICE`, `document_access_patterns = []`). The mutation guard confirmed `uyap.json` was byte-unchanged and the genuine count stayed **7**, so this is a collection/parser interoperability defect, not a structural or admission-mutation defect. **Fix 1** adds the observed document-list modal interaction, row-local view/eye-action association (never a global Nth-eye), and hardened `KDV Oranı : %20` and asset-identifier (`50984 Ada, 1 Parsel`, `12. Kat`, `60 Nolu B.B.`) parsing. A **live `PASS` is not claimed**: the operator must rerun `sold uyap pilot` against the real UYAP page, and a new real live report must measure `PASS`.
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).
263263

264264
## Optional direct-label validation channel
265265

docs/DEVELOPMENT_HISTORY.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,3 +231,32 @@ milestones:
231231
**262 passed** (249 baseline + 13 tests). **No live `PASS` is claimed** — the operator rerun against
232232
real UYAP is still required to establish a live `PASS`. Structural core, four SMM moments,
233233
`conditional_on_trade`, `Θ_A`, TOKİ external status, and the numerical-search convention are unchanged.
234+
235+
- **UYAP Live Browser Pilot 1 — Live Interoperability Fix 2 (measured second live result: `FAIL`)**
236+
chronology: first real live pilot = **FAIL** → Fix 1 → second real live pilot = **FAIL** → Fix 2 →
237+
operator rerun pending. On the second real run against the same real UYAP `2026/263` page, Fix 1
238+
**improved KDV** (`kdv_rate: null -> 20.0`) and **found** the “İhale Evrak Listesi” control
239+
(`document_list_control_found=true`, `kind=link`), but then **wrongly waited for a modal/dialog**
240+
(`document_modal_opened=false`, `document_labels_observed=[]`, `document_actions_observed=0`), so the
241+
official *Artırma Sonuç Tutanağı* was still not collected → `extracted_auction_price=null`,
242+
`audit_decision=MISSING_AUCTION_PRICE`, `pilot_outcome=FAIL`. The mutation guard passed again
243+
(`uyap.json` unchanged, count `7 -> 7`, SMM unchanged). The operator then **directly observed** the real
244+
UI: “İhale Evrak Listesi” is a **same-page tab/panel** (no modal); the document list renders inside the
245+
detail page; and the row-local **eye action** for *Artırma Sonuç / Uzatma Tutanağı* opens a **new UYAP
246+
tab** at `viewer.jsp?mimeType=Udf&evrakId=...` (“Evrak Görüntüleme”) rendering the official UDF, whose
247+
visible content includes `İhale Bedeli: 5.715.000,00` and `ALACAĞA MAHSUBEN`. **Fix 2 (narrow):**
248+
first-class same-page document-panel detection (`classify_document_list_container``same_page_tab_panel`;
249+
modal/dialog only as fallback), testable panel row extraction (`extract_panel_document_rows` /
250+
`panel_has_documents`), row-local eye association (never a global Nth-eye), new-tab detection via the
251+
browser-context `pages` delta, UDF viewer URL/mime classification (`classify_viewer_url`,
252+
`viewer_mime_hint`), viewer-representation classification (`classify_viewer_representation`:
253+
dom_text / iframe / embed_object / canvas_image_only / unknown), a new access-pattern name
254+
(`same_page_tab_new_tab_udf_viewer`), and privacy-safe report diagnostics (`document_list_opened`,
255+
`document_list_container_kind`, `viewer_pages_opened`, per-attempt viewer counts). The collector
256+
captures the UDF **only** from a deterministically accessible source (DOM/iframe text); if the viewer
257+
proves canvas/image-only it is reported unsupported — **no OCR, no fabrication, no injected truth**.
258+
Result-card `Satış Tutarı` is still not substituted for the explicit İhale Bedeli. Added 15 offline
259+
tests. Full suite: **277 passed** (262 baseline + 15 tests). **No live `PASS` is claimed and the UDF
260+
viewer content representation is not asserted** until a runtime operator rerun observes it. Structural
261+
core, four SMM moments, `conditional_on_trade`, `Θ_A`, TOKİ external status, and the numerical-search
262+
convention are unchanged; the pilot remains non-mutating (genuine count stays 7).

0 commit comments

Comments
 (0)