# Cheby Apartment PM Gate Queue

Purpose: drive every non-verified favorite through source-fidelity gates before it can enter the release HTML.

Release rule:
- Do not include `pending`, `blocked`, or `removed` items in the verified HTML.
- A listing passes only when source page, source gallery, selected photos, visual labels, rent, area, and room count are all verified against the same Cian/App listing.
- If any displayed photo/fact/link fails source comparison, the entire release candidate is blocked.
- If the source listing is genuinely removed/delisted, mark it `removed-not-complete` and do not keep retrying as a normal listing.

## Current Verified Release Scope

| ID | Listing | Status | Evidence |
| --- | --- | --- | --- |
| `mira37` | `ЖК Мироздание`, ул. Мира 37 | `source-verified` | 27/27 source gallery screenshots/crops; selected bedroom and kitchen-dining verified |
| `skandi80` | `ЖК Skandi Klubb`, Аптекарский пр. 18, 80k/45m2 | `source-verified` | 13/13 source gallery screenshots/crops; selected living-dining and open-kitchen photos verified |
| `riviere100a` | `ЖК RIVIERE NOIRE`, Красногвардейский пер. 14, 100k/72.9m2 | `source-verified` | 13/13 source gallery screenshots/crops; selected bedroom and kitchen-dining verified |
| `riviere95` | `ЖК RIVIERE NOIRE`, Красногвардейский пер. 14, 95k/50m2 | `source-verified` | 15/15 Cian source gallery images saved; selected living room and kitchen-dining photos verified |

## Removed / Exit Queue

| ID | Listing | Gate Result | Reason | PM Action |
| --- | --- | --- | --- | --- |
| `skandi90` | `ЖК Skandi Klubb`, Аптекарский пр. 18, 90k/50m2 | `removed-not-complete` | Cian source page says `Объявление снято с публикации` | Exclude from normal verified HTML unless user explicitly wants archive/delisted items |
| `skandi85` | `ЖК Skandi Klubb`, Аптекарский пр. 18, 85k/49-50m2 | `removed-not-complete` | Direct Cian source `302687979` says `Объявление снято с публикации`; current Cian App/web search for `Аптекарский проспект, 18` does not show the live 85k source | Exclude from normal verified HTML unless user explicitly wants archive/delisted items |
| `riviere100b` | `ЖК RIVIERE NOIRE`, Красногвардейский пер. 14, 100k/72m2 | `merged-duplicate` | Current Cian source for the 100k/72.9m2 RIVIERE listing resolves to already verified source `329626168` (`riviere100a`) | Do not create a second card; keep one verified `riviere100a` card |

## Failed / Pending Queue

| Priority | ID | Listing | Current Failure | Root Cause | Next PM Action | Exit Criteria |
| --- | --- | --- | --- | --- | --- | --- |
| P2 | `riverside1k3` | `ЖК Riverside`, Ушаковская наб. 1к3, 90k/65m2 | Source gallery missing | Existing local photos were not source-matrix verified | Open exact listing from favorites/App; capture source page and full gallery; verify selected photos and labels | Promote to `source-verified` or mark unavailable |
| P2 | `life-lesnaya` | `ЖК Life Лесная`, ул. Грибалевой 7к1, 95k/65m2 | Source gallery missing | ЖК page/list-derived info only; no exact same-listing gallery proof | Search/open exact listing by address/price/area/floor; capture page and gallery | Promote to `source-verified` or mark unavailable |
| P2 | `europa-city` | `ЖК Европа Сити`, пр. Медиков 10к5, 85k/65.4m2 | Source gallery missing | ЖК page/list-derived info only; no exact same-listing gallery proof | Search/open exact listing by address/price/area/floor; capture page and gallery | Promote to `source-verified` or mark unavailable |
| P3 | `sestroretskaya3` | Сестрорецкая ул. 3, 85k/55m2 | Source gallery missing | Street/list page evidence is not exact listing evidence | Search/open exact listing by address/price/area/floor; capture page and gallery | Promote to `source-verified` or mark unavailable |
| P3 | `cds-black-river` | `ЖК ЦДС Черная речка`, Белоостровская 12, 75k/41m2 | Source gallery missing | ЖК page/list-derived info only; no exact same-listing gallery proof | Search/open exact listing by address/price/area/floor; capture page and gallery | Promote to `source-verified` or mark unavailable |

## PM Automation Loop

For each item in priority order:

1. Open the source through Cian App first. If Cian App cannot reach the detail page, try Yandex Browser/Cian web with the exact URL or a targeted search query.
2. Capture source page evidence before touching the gallery.
3. Capture all gallery photos visible in the source listing, then crop individual source photos.
4. Extract and record only the three card facts: monthly rent, area, room count.
5. Select two source photos by actual visual content. Prefer living/bedroom plus kitchen/kitchen-dining when available.
6. Assign labels from visual inspection/model analysis. Do not infer labels from slot position.
7. Update `source-matrix.md` with evidence paths and QA verdict.
8. Rebuild `cheby-apartment-verified.html` only from `source-verified` items.
9. Run Playwright QA plus source-fidelity QA. Release only if every included listing passes.
