[object Object]

← back to Ticket System

Audit unproven cost join candidates with retained offline evidence

5a9264152e698510116f491c40e86e97303f1e18 · 2026-09-16 15:11:33 -0700 · Steve Abrams

Files touched

Diff

commit 5a9264152e698510116f491c40e86e97303f1e18
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Sep 16 15:11:33 2026 -0700

    Audit unproven cost join candidates with retained offline evidence
---
 .../yoloforever-yf2139.YF57g8/increment4-dtd.json  |   21 +
 .../yoloforever-yf2139.YF57g8/join-audit/README.md |   20 +
 .../yoloforever-yf2139.YF57g8/join-audit/audit.py  |  125 +
 .../join-audit/input-snapshot.json                 | 2750 ++++++++++++++++++++
 .../join-audit/output/review.json                  |  743 ++++++
 .../join-audit/output/review.md                    |   41 +
 .../join-audit/retained-output/review.json         |  743 ++++++
 .../join-audit/retained-output/review.md           |   41 +
 .../join-audit/test_audit.py                       |   74 +
 .../join-audit/verification/e2e-proof.json         |  104 +
 .../join-parent-proof.json                         |   13 +
 11 files changed, 4675 insertions(+)

diff --git a/verification/yoloforever-yf2139.YF57g8/increment4-dtd.json b/verification/yoloforever-yf2139.YF57g8/increment4-dtd.json
new file mode 100644
index 00000000..00638688
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/increment4-dtd.json
@@ -0,0 +1,21 @@
+{
+  "verdict": "A",
+  "valid_votes_seen": 5,
+  "votes": {
+    "exo.txt": "[exo unavailable: no good+safe model loaded on cluster]\n",
+    "kimi.txt": "[kimi disabled: DTD_ZERO_COST=1 \u2014 paid lens intentionally skipped, not a failure]\n",
+    "heretic.txt": "[ERR heretic]\n",
+    "grok.txt": "[grok disabled: DTD_ZERO_COST=1 \u2014 paid lens intentionally skipped, not a failure]\n",
+    "qwen.txt": "VERDICT: A  \n**Option A: Create a reusable OFFLINE audit script and retain JSON/Markdown artifacts**  \n\nThe task requires generating a **reusable OFFLINE audit script** from the existing `cost-source-triage.json` artifact, preserving metadata (`source_hash`, `generated_at`, and original totals: 18/6243/0). The script must:  \n1. **Enumerate 18 COLUMN_BUT_NO_JOIN rows**\u2014columns with no valid join relationships, which may indicate data integrity gaps or orphaned entries. These rows are preserved without modification.  \n2. **Mark three cross-name table candidates** as `UNPROVEN_TABLE_IDENTITY` (e.g., `Phillip Jeffries->phillipe_romano_catalog3392`, `Designer Wallcoverings->designers_guild_catalog978`, `Studio Ditte->studio_printworks_catalog1`), explicitly noting their impact on 4371 products. These are flagged due to **heuristic mismatches** (e.g., name variations, catalog ID discrepancies) but not inferred as proven.  \n3. **Document six key attempts** to resolve these mismatches (e.g., fuzzy matching, catalog ID alignment, metadata cross-referencing) and **silent SQL errors** (e.g., uncaught join failures, missing constraints).  \n4. **Avoid priced-row filtering** to ensure no assumptions about reachability or cost coverage are made.  \n\nThe script must **test real artifacts** (e.g., valid `cost-source-triage.json`) and **malformed/mismatched inputs** (e.g., invalid catalog IDs, missing hashes) to validate robustness. No DB/API queries, cost-map edits, or canonical/customer mutations are permitted.  \n\n**Key Heuristics**:  \n- **Cross-name candidates** are flagged due to name variations (e.g., \"Phillip Jeffries\" vs. \"phillipe_romano_catalog3392\") or catalog ID mismatches, suggesting potential ownership gaps.  \n- **Zero reachability** is not proven absent explicit cost or join validation, aligning with the \"no priced-row filtering\" constraint.  \n- **Arithmetic verification** (18/6243 + 4371) ensures consistency with prior generator output (parent TK11427).  \n\nThis approach adheres to the requirement for **independent root verification** and avoids ownership claims beyond the audit scope. The script is isolated, artifact-based, and compliant with $0 guard/env constraints.\n",
+    "codex.txt": "VERDICT: A\n\nCreate the isolated offline audit, preserving source hash, generated_at, all 18 rows and original 18/6243/0 totals. Mark the three cross-name candidates UNPROVEN_TABLE_IDENTITY (4,371 products); the other 15 remain unproven. Heuristic table selection, six attempted keys, swallowed SQL errors and no priced-row filtering cannot establish absent cost or broken joins. Require real-input validation and malformed/mismatched-input rejection. Creator process activity does not prove child ownership. This is preparation only, with no coverage lift or source closure.\n\nExecution is blocked by this session\u2019s read-only filesystem: no script or retained artifacts were created, and no tests were run.",
+    "muse.txt": "[disabled \u2014 muse-glimmer removed 2026-08-31 per TK-10980; voter slot retired]\n",
+    "root": "VERDICT: A\nCorrect the evidence classification without inventing cost facts or touching pricing.\n",
+    "ops": "VERDICT: A\n\nCreate the isolated offline audit because retaining the original report and separating heuristic evidence from proven table identity is the most useful bounded correction before any live cost-authority work. Preserve the input hash, generated_at, all 18 rows, and original 18/6243/0 totals; mark the three named cross-table candidates UNPROVEN_TABLE_IDENTITY with their combined 4371-product impact without implying the other 15 identities are verified. The output must explain that six attempted join keys, swallowed SQL errors, and missing priced-row filtering cannot establish either absent cost or a broken authoritative join; do not silently reclassify historical zero reachability as a trustworthy measurement. Fail explicitly on malformed or structurally mismatched input and retain real-artifact evidence, while keeping source ownership unchanged and all DB, API, cost-map, pricing, and customer changes outside scope. The live creator process does not prove current ownership of this child task, but the independent offline output also avoids competing with that process.\n\nGuard evidence: independently read config/dtd-cost-mode = ZERO_COST_REQUIRED and environment DTD_ZERO_COST = 1; canonical TK-11859 reread. This artifact and its ticket log are the only writes; no other ballots, source edits, APIs, database calls, or paid providers. Cost $0. Correlation yf2139-i4-ops.\n",
+    "risk": "VERDICT: A\nPrepare the offline audit and retained artifacts because the source classification overstates what heuristic table selection and six attempted keys can establish. Preserve 18 vendors, 6243 active products, and 0 reported reachable as original report values with source hash and generated_at, not fresh canonical findings. Mark the three named cross-name associations UNPROVEN_TABLE_IDENTITY affecting 4371 products; name differences alone establish neither a valid association nor a definitive mismatch, and the other 15 associations remain unverified. Record that silently caught SQL errors, limited key attempts, and absent priced-row filtering prevent the reported zero from proving absent costs or a broken join. Validate expected schema, class count, numeric totals, and malformed/mismatched rejection before emitting conclusions; avoid any implicit cost-coverage lift or repair authorization. B would change live cost authority on insufficient evidence; C leaves a misleading repair premise uncorrected.\n\nGuard evidence: independently reread /Users/macstudio3/Projects/ticket-system/config/dtd-cost-mode as ZERO_COST_REQUIRED and printenv DTD_ZERO_COST as 1. Read increment4-question.txt and canonical TK-11859 via tk show. Full a2a-contract and dtd skills were read earlier in this delegated session. No other ballots read. Provider spend $0; no Claude runtime, paid API, DB/API query, or source mutation.\nCorrelation: yf2139-i4-risk\nStatus: complete (independent risk vote only). Changed path: this artifact only; no source edits or commit. Residual uncertainty: all 18 candidate table identities and live cost reachability require separate verification; the saved report cannot establish present canonical state. Remaining gates: any cost-map, price-source, canonical, or customer mutation. Safest next action: parent independently inspect this vote and prepare the offline evidence correction, keeping TK-11859 open.\n"
+  },
+  "cost_usd": 0,
+  "dissent": "none among received votes",
+  "rejected_details": [
+    "Qwen invented fuzzy matching/key examples and table suffix numbers in increment4; use literal generator KEYS and tables only"
+  ]
+}
\ No newline at end of file
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/README.md b/verification/yoloforever-yf2139.YF57g8/join-audit/README.md
new file mode 100644
index 00000000..f889e65a
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/README.md
@@ -0,0 +1,20 @@
+# TK-11859 retained candidate review
+
+Offline preparation only. The source ticket remains unresolved. No database, network, cost-map, source-generator or pricing changes.
+
+Run from this directory:
+
+```sh
+python3 -m unittest -v test_audit.py
+python3 audit.py input-snapshot.json --output-dir retained-output
+```
+
+The audit accepts a source path, validates the retained 18 / 6,243 / 0 snapshot and the three reviewed vendor/table associations, then writes `review.json` and `review.md`. Changed totals or reviewed associations require a fresh human review rather than silently reusing this classification. Invalid inputs produce no new report. It never queries a database.
+
+Three associations affecting 4,371 products are `UNPROVEN_TABLE_IDENTITY`; the remaining 15 vendors and 1,872 products are `UNVERIFIED`. Every original bucket row is preserved. A source hash and timestamp establish provenance, not freshness or cost authority.
+
+Tests exercise the actual CLI output with the retained real snapshot, verify source bytes remain unchanged, and reject malformed JSON, summary drift, flag-table drift, missing flag with preserved totals, and a nonzero candidate hidden under zero reachability. Python standard library only.
+
+Next dependency: obtain actual vendor/table identity and read-only join evidence, including captured SQL errors, priced-row predicates, uniqueness and cross-vendor collisions. A proposed repair remains gated. Root owns independent acceptance and commit; no child commit was made.
+
+Replay uses the retained input-snapshot.json with a pinned SHA-256 checked before tests. The CLI may still accept an explicit source path. Corrected tests create fresh mktemp -d directories under /private/tmp and print each retained path; they do not clean up. The initial version used TemporaryDirectory and removed test fixtures; parent review caught this and the corrected six-test run passed.
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/audit.py b/verification/yoloforever-yf2139.YF57g8/join-audit/audit.py
new file mode 100644
index 00000000..51715325
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/audit.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python3
+"""Offline review of the retained TK-11859 triage snapshot; never queries a DB."""
+import argparse
+import hashlib
+import json
+from datetime import datetime, timezone
+from pathlib import Path
+
+STATE = 'COLUMN_BUT_NO_JOIN'
+KEYS = [['dw_sku', 'sku'], ['dw_sku', 'dw_sku'], ['mfr_sku', 'mfr_sku'],
+        ['mfr_sku', 'sku'], ['shopify_id', 'shopify_id'], ['sku', 'sku']]
+FLAGS = {
+    'Phillip Jeffries': ('phillipe_romano_catalog', 3392),
+    'Designer Wallcoverings': ('designers_guild_catalog', 978),
+    'Studio Ditte': ('studio_printworks_catalog', 1),
+}
+LIMITATIONS = [
+    'Candidate tables combine registry declarations and name heuristics; the retained report does not record which origin selected a table.',
+    'The generator tries only the six catalog-to-product key pairs listed here; it does not exhaust possible identity mappings.',
+    'The generator catches SQL errors and continues without retaining error details; zero reachability does not prove successful zero-result queries.',
+    'Join reachability counts distinct product SKUs without requiring a populated positive candidate cost value on the joined row. Column population is measured independently.',
+    'Cross-name table associations require identity evidence. They are not proven false matches; the remaining candidates are also unverified.',
+    'This snapshot proves neither absent cost nor broken joins, cost semantics, current coverage, or a safe repair. No new database or external verification was performed.',
+]
+
+def require(ok, message):
+    if not ok:
+        raise ValueError(message)
+
+def count(value, label):
+    require(type(value) is int and value >= 0, f'{label}: expected nonnegative integer')
+    return value
+
+def build(source):
+    raw = Path(source).read_bytes()
+    data = json.loads(raw)
+    require(isinstance(data, dict), 'root must be an object')
+    summary, report = data.get('summary'), data.get('report')
+    require(isinstance(summary, dict) and isinstance(report, list), 'missing summary/report')
+    generated = summary.get('generated_at')
+    require(isinstance(generated, str), 'missing source generated_at')
+    parsed = datetime.fromisoformat(generated.replace('Z', '+00:00'))
+    require(parsed.tzinfo is not None, 'source timestamp must have timezone')
+    require(all(isinstance(r, dict) for r in report), 'report rows must be objects')
+    rows = [r for r in report if r.get('state') == STATE]
+    buckets = summary.get('buckets')
+    require(isinstance(buckets, list) and all(isinstance(b, dict) for b in buckets), 'invalid buckets')
+    bucket = [b for b in buckets if b.get('state') == STATE]
+    require(len(bucket) == 1, 'expected exactly one join bucket')
+    names = [r.get('vendor') for r in rows]
+    require(all(isinstance(n, str) and n for n in names), 'missing vendor')
+    require(len(set(names)) == len(names), 'duplicate vendor')
+    active = sum(count(r.get('active'), 'active') for r in rows)
+    reachable = sum(count(r.get('reachable'), 'reachable') for r in rows)
+    observed = (len(rows), active, reachable)
+    declared = tuple(count(bucket[0].get(k), k) for k in ['vendors', 'active_products', 'reachable_products'])
+    require(observed == declared, 'summary mismatch')
+    require(observed == (18, 6243, 0), 'snapshot totals changed; review required')
+    reviewed = []
+    seen_flags = set()
+    for row in rows:
+        candidates = row.get('candidates')
+        require(isinstance(candidates, list) and candidates, 'missing candidates')
+        for c in candidates:
+            require(isinstance(c, dict) and isinstance(c.get('table'), str), 'invalid candidate table')
+            join = c.get('best_join')
+            require(isinstance(join, dict) and join.get('key') is None and count(join.get('matched'), 'matched') == 0, 'candidate join conflicts with zero-reachability bucket')
+            cols = c.get('cost_columns')
+            require(isinstance(cols, list) and cols, 'missing candidate columns')
+            for col in cols:
+                require(isinstance(col, dict) and isinstance(col.get('col'), str), 'invalid column')
+                count(col.get('populated'), 'populated')
+        status = 'UNVERIFIED'
+        if row['vendor'] in FLAGS:
+            table, expected_active = FLAGS[row['vendor']]
+            require(row['active'] == expected_active and candidates[0]['table'] == table, 'flag mismatch; association/count changed')
+            seen_flags.add(row['vendor'])
+            status = 'UNPROVEN_TABLE_IDENTITY'
+        reviewed.append({'vendor': row['vendor'], 'active_products': row['active'],
+                         'reported_reachable_products': row['reachable'], 'review_status': status,
+                         'original_row': row})
+    require(seen_flags == set(FLAGS), 'flag mismatch; expected vendor missing')
+    return {'schema_version': 1, 'ticket': 'TK-11859', 'correlation_id': 'yf2139-i4-execute',
+            'kind': 'OFFLINE_SNAPSHOT_REVIEW', 'source': {'path': str(Path(source).resolve()),
+            'sha256': hashlib.sha256(raw).hexdigest(), 'generated_at': generated},
+            'reviewed_at': datetime.now(timezone.utc).isoformat(),
+            'original_totals': {'vendors': 18, 'active_products': 6243, 'reported_reachable_products': 0},
+            'review_totals': {'unproven_table_identity_vendors': 3, 'unproven_table_identity_products': 4371,
+                              'remaining_unverified_vendors': 15, 'remaining_unverified_products': 1872},
+            'attempted_key_pairs': KEYS, 'limitations': LIMITATIONS, 'rows': reviewed,
+            'next_dependency': 'Obtain vendor/table identity and actual read-only join evidence, including errors, priced-row scope, uniqueness and cross-vendor collisions; any repair remains gated.',
+            'implementation_changes': 'None to source, costs, joins, coverage or production.'}
+
+def markdown(result):
+    lines = ['# TK-11859 offline candidate review', '',
+             f"Source snapshot: {result['source']['generated_at']}",
+             f"SHA-256: `{result['source']['sha256']}`", '',
+             'Retained totals: 18 vendors / 6,243 active products / 0 reported reachable.',
+             'Three associations affecting 4,371 products need table identity evidence. Remaining 15 vendors / 1,872 products also remain unverified.', '',
+             '| Vendor | Active | Reported reachable | Review status | Candidate tables |',
+             '|---|---:|---:|---|---|']
+    for r in result['rows']:
+        tables = ', '.join(c['table'] for c in r['original_row']['candidates'])
+        lines.append(f"| {r['vendor']} | {r['active_products']} | {r['reported_reachable_products']} | {r['review_status']} | {tables} |")
+    lines += ['', 'Attempted catalog → product keys: ' + ', '.join(f'`{a} → {b}`' for a, b in KEYS), '']
+    lines += ['- ' + text for text in LIMITATIONS]
+    lines += ['', result['next_dependency'], '', 'Preparation only; the source ticket remains unresolved.', '']
+    return '\n'.join(lines)
+
+def main():
+    parser = argparse.ArgumentParser(description=__doc__)
+    parser.add_argument('source', type=Path)
+    parser.add_argument('--output-dir', required=True, type=Path)
+    args = parser.parse_args()
+    try:
+        result = build(args.source)  # Validate everything before creating output.
+    except (ValueError, OSError, TypeError, KeyError) as error:
+        parser.exit(2, f'AUDIT REJECTED: {error}\n')
+    args.output_dir.mkdir(parents=True, exist_ok=True)
+    (args.output_dir / 'review.json').write_text(json.dumps(result, indent=2) + '\n')
+    (args.output_dir / 'review.md').write_text(markdown(result))
+    print('PASS: retained 18 / 6243 / 0; 3 / 4371 identity-unproven; 15 / 1872 unverified')
+
+if __name__ == '__main__':
+    main()
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/input-snapshot.json b/verification/yoloforever-yf2139.YF57g8/join-audit/input-snapshot.json
new file mode 100644
index 00000000..3b4bc518
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/input-snapshot.json
@@ -0,0 +1,2750 @@
+{
+  "summary": {
+    "generated_at": "2026-09-16T21:22:26.640Z",
+    "ticket": "TK-11427",
+    "active_products_total": 91167,
+    "vendors_with_active": 170,
+    "covered_vendors": 32,
+    "buckets": [
+      {
+        "state": "STRONG_CANDIDATE",
+        "vendors": 26,
+        "active_products": 12852,
+        "reachable_products": 10704
+      },
+      {
+        "state": "PARTIAL_CANDIDATE",
+        "vendors": 13,
+        "active_products": 24623,
+        "reachable_products": 4389
+      },
+      {
+        "state": "COLUMN_BUT_NO_JOIN",
+        "vendors": 18,
+        "active_products": 6243,
+        "reachable_products": 0
+      },
+      {
+        "state": "NO_COST_TABLE",
+        "vendors": 81,
+        "active_products": 10735,
+        "reachable_products": 0
+      }
+    ]
+  },
+  "report": [
+    {
+      "vendor": "Phillipe Romano",
+      "active": 13066,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "phillipe_romano_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 474
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1082
+          },
+          "join_pct": 8.3
+        }
+      ],
+      "join_pct": 8.3,
+      "reachable": 1082
+    },
+    {
+      "vendor": "Carnegie",
+      "active": 4147,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Malibu Wallpaper",
+      "active": 3822,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "malibu_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 3551
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1637
+          },
+          "join_pct": 42.8
+        }
+      ],
+      "join_pct": 42.8,
+      "reachable": 1637
+    },
+    {
+      "vendor": "Clarke And Clarke",
+      "active": 3567,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Hollywood Wallcoverings",
+      "active": 3561,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "hollywood_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 5893
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.sku",
+            "matched": 2039
+          },
+          "join_pct": 57.3
+        },
+        {
+          "table": "hollywood_price_audit_log",
+          "cost_columns": [
+            {
+              "col": "new_price",
+              "populated": 102
+            },
+            {
+              "col": "old_price",
+              "populated": 98
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 57.3,
+      "reachable": 2039
+    },
+    {
+      "vendor": "Phillip Jeffries",
+      "active": 3392,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "phillipe_romano_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 474
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Rebel Walls",
+      "active": 3373,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "rebelwalls_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 4382
+            },
+            {
+              "col": "price_per_sqft_nonwoven",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_peelstick",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_retail",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_commercial",
+              "populated": 3958
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1199
+          },
+          "join_pct": 35.5
+        },
+        {
+          "table": "rebel_walls_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 4123
+            },
+            {
+              "col": "price_trade",
+              "populated": 449
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1172
+          },
+          "join_pct": 34.7
+        },
+        {
+          "table": "rebelwalls_catalog_premerge_tk10084",
+          "cost_columns": [
+            {
+              "col": "price_per_sqft_nonwoven",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_retail",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_peelstick",
+              "populated": 4133
+            },
+            {
+              "col": "price_retail",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_commercial",
+              "populated": 3958
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1014
+          },
+          "join_pct": 30.1
+        }
+      ],
+      "join_pct": 35.5,
+      "reachable": 1199
+    },
+    {
+      "vendor": "Thibaut",
+      "active": 3101,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Brunschwig & Fils",
+      "active": 2737,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Jeffrey Stevens",
+      "active": 2654,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "jeffrey_stevens_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 4991
+            },
+            {
+              "col": "cost",
+              "populated": 1
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.sku",
+            "matched": 2652
+          },
+          "join_pct": 99.9
+        }
+      ],
+      "join_pct": 99.9,
+      "reachable": 2652
+    },
+    {
+      "vendor": "Kravet",
+      "active": 2601,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Koroseal",
+      "active": 2449,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Gaston Y Daniela",
+      "active": 2148,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Lee Jofa",
+      "active": 2026,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Los Angeles Fabrics",
+      "active": 1821,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "China Seas",
+      "active": 1776,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Maharam",
+      "active": 1429,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Coordonné",
+      "active": 1428,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "coordonne_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 3676
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 136
+          },
+          "join_pct": 9.5
+        }
+      ],
+      "join_pct": 9.5,
+      "reachable": 136
+    },
+    {
+      "vendor": "Harlequin",
+      "active": 1257,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Cole & Son",
+      "active": 1238,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Sanderson",
+      "active": 1221,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "GP & J Baker",
+      "active": 1191,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Mind the Gap",
+      "active": 1019,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "mindthegap_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 1040
+            },
+            {
+              "col": "price_trade",
+              "populated": 2
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 830
+          },
+          "join_pct": 81.5
+        }
+      ],
+      "join_pct": 81.5,
+      "reachable": 830
+    },
+    {
+      "vendor": "Designer Wallcoverings",
+      "active": 978,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "designers_guild_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 23
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Scalamandre Wallpaper",
+      "active": 942,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "scalamandre_catalog",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 5002
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 14
+          },
+          "join_pct": 1.5
+        },
+        {
+          "table": "scalamandre_catalog_prebackfill_bak_20260901172726",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 4996
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 14
+          },
+          "join_pct": 1.5
+        },
+        {
+          "table": "scalamandre_pillows",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 1512
+            },
+            {
+              "col": "price_retail",
+              "populated": 1512
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1
+          },
+          "join_pct": 0.1
+        }
+      ],
+      "join_pct": 1.5,
+      "reachable": 14
+    },
+    {
+      "vendor": "DW Bespoke Studio",
+      "active": 925,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Zoffany",
+      "active": 902,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Anna French",
+      "active": 790,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "anna_french_catalog",
+          "cost_columns": [
+            {
+              "col": "cost",
+              "populated": 731
+            },
+            {
+              "col": "price_retail",
+              "populated": 469
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 651
+          },
+          "join_pct": 82.4
+        }
+      ],
+      "join_pct": 82.4,
+      "reachable": 651
+    },
+    {
+      "vendor": "Sandberg",
+      "active": 743,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "sandberg_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 948
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 557
+          },
+          "join_pct": 75
+        },
+        {
+          "table": "sandberg_catalog_prebackfill_bak_20260901172725",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 945
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 557
+          },
+          "join_pct": 75
+        }
+      ],
+      "join_pct": 75,
+      "reachable": 557
+    },
+    {
+      "vendor": "Pierre Frey",
+      "active": 722,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Designtex",
+      "active": 703,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Wolf Gordon",
+      "active": 688,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Morris & Co.",
+      "active": 686,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "morris_feed_pricing",
+          "cost_columns": [
+            {
+              "col": "trade_usd",
+              "populated": 1162
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "PS Removable Wallpaper",
+      "active": 681,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Surface Stick",
+      "active": 639,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Knoll",
+      "active": 622,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "knoll_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 622
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 622
+          },
+          "join_pct": 100
+        },
+        {
+          "table": "knoll_price_backup_20260806",
+          "cost_columns": [
+            {
+              "col": "orig_cost_price",
+              "populated": 622
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 622
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 622
+    },
+    {
+      "vendor": "Maya Romanoff",
+      "active": 617,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Osborne & Little",
+      "active": 602,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Tres Tintas",
+      "active": 601,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "tres_tintas_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 1556
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 601
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 601
+    },
+    {
+      "vendor": "Romo",
+      "active": 585,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Elitis",
+      "active": 579,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Designers Guild",
+      "active": 568,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "designers_guild_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 23
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 145
+          },
+          "join_pct": 25.5
+        }
+      ],
+      "join_pct": 25.5,
+      "reachable": 145
+    },
+    {
+      "vendor": "William Morris",
+      "active": 522,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Fentucci",
+      "active": 514,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "fentucci_catalog",
+          "cost_columns": [
+            {
+              "col": "price",
+              "populated": 85
+            },
+            {
+              "col": "cost",
+              "populated": 84
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 6
+          },
+          "join_pct": 1.2
+        }
+      ],
+      "join_pct": 1.2,
+      "reachable": 6
+    },
+    {
+      "vendor": "Fentucci Naturals",
+      "active": 504,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "fentucci_catalog",
+          "cost_columns": [
+            {
+              "col": "price",
+              "populated": 85
+            },
+            {
+              "col": "cost",
+              "populated": 84
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Arte International",
+      "active": 489,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "1838 Wallcoverings",
+      "active": 456,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "w1838_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 404
+            },
+            {
+              "col": "maxwell_price",
+              "populated": 332
+            },
+            {
+              "col": "master_cost",
+              "populated": 332
+            },
+            {
+              "col": "price_trade",
+              "populated": 332
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 451
+          },
+          "join_pct": 98.9
+        }
+      ],
+      "join_pct": 98.9,
+      "reachable": 451
+    },
+    {
+      "vendor": "Versace",
+      "active": 454,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "versace_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 158
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 157
+          },
+          "join_pct": 34.6
+        }
+      ],
+      "join_pct": 34.6,
+      "reachable": 157
+    },
+    {
+      "vendor": "Quadrille",
+      "active": 454,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Alan Campbell",
+      "active": 434,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Nina Campbell",
+      "active": 433,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "nina_campbell_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 275
+            },
+            {
+              "col": "price_trade",
+              "populated": 3
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 6
+          },
+          "join_pct": 1.4
+        },
+        {
+          "table": "nina_campbell_catalog_prebackfill_bak_20260901172723",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 238
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 6
+          },
+          "join_pct": 1.4
+        }
+      ],
+      "join_pct": 1.4,
+      "reachable": 6
+    },
+    {
+      "vendor": "Scalamandre",
+      "active": 418,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "scalamandre_pillows",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 1512
+            },
+            {
+              "col": "price_retail",
+              "populated": 1512
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 418
+          },
+          "join_pct": 100
+        },
+        {
+          "table": "scalamandre_catalog",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 5002
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 416
+          },
+          "join_pct": 99.5
+        },
+        {
+          "table": "scalamandre_catalog_prebackfill_bak_20260901172726",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 4996
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 416
+          },
+          "join_pct": 99.5
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 418
+    },
+    {
+      "vendor": "Graham & Brown",
+      "active": 405,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "graham_brown_catalog",
+          "cost_columns": [
+            {
+              "col": "retail_price",
+              "populated": 2020
+            },
+            {
+              "col": "dw_retail_price",
+              "populated": 809
+            },
+            {
+              "col": "cost_price",
+              "populated": 809
+            },
+            {
+              "col": "master_cost",
+              "populated": 312
+            },
+            {
+              "col": "vendor_retail_price",
+              "populated": 132
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 403
+          },
+          "join_pct": 99.5
+        },
+        {
+          "table": "graham_brown_murals",
+          "cost_columns": [
+            {
+              "col": "retail_price",
+              "populated": 36
+            },
+            {
+              "col": "price_per_sqft",
+              "populated": 36
+            },
+            {
+              "col": "member_price_per_sqm",
+              "populated": 36
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 99.5,
+      "reachable": 403
+    },
+    {
+      "vendor": "Glitter Walls",
+      "active": 405,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "glitter_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 121
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "British Walls",
+      "active": 351,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "CMO Paris",
+      "active": 344,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "AS Creation",
+      "active": 327,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Mulberry",
+      "active": 317,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Fabricut",
+      "active": 276,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "fabricut_catalog",
+          "cost_columns": [
+            {
+              "col": "vendor_msrp",
+              "populated": 1263
+            },
+            {
+              "col": "price_retail",
+              "populated": 1263
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 274
+          },
+          "join_pct": 99.3
+        }
+      ],
+      "join_pct": 99.3,
+      "reachable": 274
+    },
+    {
+      "vendor": "Suncloth",
+      "active": 254,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Newwall",
+      "active": 251,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "newwall_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 8713
+            },
+            {
+              "col": "price_trade",
+              "populated": 6276
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 251
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 251
+    },
+    {
+      "vendor": "Groundworks",
+      "active": 237,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Home Couture",
+      "active": 229,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Innovations USA",
+      "active": 202,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "innovations_catalog",
+          "cost_columns": [
+            {
+              "col": "price_source",
+              "populated": 221
+            },
+            {
+              "col": "price_trade",
+              "populated": 220
+            },
+            {
+              "col": "price_retail",
+              "populated": 182
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.dw_sku",
+            "matched": 160
+          },
+          "join_pct": 79.2
+        }
+      ],
+      "join_pct": 79.2,
+      "reachable": 160
+    },
+    {
+      "vendor": "Plains",
+      "active": 181,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Stout Textiles",
+      "active": 180,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "stout_catalog",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 180
+            },
+            {
+              "col": "price_retail",
+              "populated": 180
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 180
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 180
+    },
+    {
+      "vendor": "De Gournay",
+      "active": 172,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Ronald Redding",
+      "active": 167,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Novasuede",
+      "active": 166,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Majilite",
+      "active": 160,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Brand McKenzie",
+      "active": 155,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "brand_mckenzie_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 167
+            },
+            {
+              "col": "price_trade",
+              "populated": 37
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 118
+          },
+          "join_pct": 76.1
+        },
+        {
+          "table": "brand_mckenzie_products",
+          "cost_columns": [
+            {
+              "col": "price",
+              "populated": 110
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 76.1,
+      "reachable": 118
+    },
+    {
+      "vendor": "Artmura",
+      "active": 144,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Ralph Lauren",
+      "active": 140,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Roberto Cavalli Wallpaper",
+      "active": 140,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "roberto_cavalli_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 82
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Donghia",
+      "active": 125,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "donghia_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 167
+            },
+            {
+              "col": "price_trade",
+              "populated": 167
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 124
+          },
+          "join_pct": 99.2
+        }
+      ],
+      "join_pct": 99.2,
+      "reachable": 124
+    },
+    {
+      "vendor": "Newmor Wallcoverings",
+      "active": 116,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "newmor_sku_reconcile",
+          "cost_columns": [
+            {
+              "col": "live_price",
+              "populated": 542
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 116
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 116
+    },
+    {
+      "vendor": "Marburg",
+      "active": 112,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "marburg_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 2559
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 96
+          },
+          "join_pct": 85.7
+        }
+      ],
+      "join_pct": 85.7,
+      "reachable": 96
+    },
+    {
+      "vendor": "Ultrasuede",
+      "active": 109,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Laura Ashley Wallpaper",
+      "active": 107,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Mid Century Modern",
+      "active": 106,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Hospitality Wallcoverings",
+      "active": 98,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "PR Faux Leather",
+      "active": 97,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "LA Walls",
+      "active": 94,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Charles Burger",
+      "active": 79,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Christian Lacroix Europe",
+      "active": 77,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Nobilis",
+      "active": 74,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Primo Leathers",
+      "active": 72,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Sister Parish",
+      "active": 71,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Threads",
+      "active": 71,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "LEED Walls",
+      "active": 68,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Pixels",
+      "active": 59,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Glambeads by DW",
+      "active": 58,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Daisy Bennett",
+      "active": 58,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "daisy_bennett_v2_stage",
+          "cost_columns": [
+            {
+              "col": "price_cost",
+              "populated": 64
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "daisy_bennett_v2_catalog",
+          "cost_columns": [
+            {
+              "col": "cost",
+              "populated": 52
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "daisy_bennett_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 63
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Luxury Murals",
+      "active": 56,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "MC Escher Wallpaper",
+      "active": 50,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Steve Abrams Studios",
+      "active": 50,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Missoni Wallpaper",
+      "active": 49,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Madagascar Walls",
+      "active": 49,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Anthology",
+      "active": 48,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Retro Walls",
+      "active": 48,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Lincrusta",
+      "active": 47,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "lincrusta_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 47
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 45
+          },
+          "join_pct": 95.7
+        }
+      ],
+      "join_pct": 95.7,
+      "reachable": 45
+    },
+    {
+      "vendor": "FallingStar Studio",
+      "active": 42,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Sancar",
+      "active": 42,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "sancar_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 3418
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 42
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 42
+    },
+    {
+      "vendor": "Cloth and Paper",
+      "active": 41,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "quadrille_house_catalog",
+          "cost_columns": [
+            {
+              "col": "cost_price",
+              "populated": 1928
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 40
+          },
+          "join_pct": 97.6
+        }
+      ],
+      "join_pct": 97.6,
+      "reachable": 40
+    },
+    {
+      "vendor": "Graduate Collection",
+      "active": 40,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Apartment Wallpaper",
+      "active": 38,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "DW Home",
+      "active": 37,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Marimekko Exclusive",
+      "active": 35,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Graduate Collection UK",
+      "active": 29,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Glass Beaded",
+      "active": 29,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "glass_bead_products",
+          "cost_columns": [
+            {
+              "col": "price",
+              "populated": 717
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Franquemont London",
+      "active": 26,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "franquemont_catalog",
+          "cost_columns": [
+            {
+              "col": "roll_price",
+              "populated": 26
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 26
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 26
+    },
+    {
+      "vendor": "Natural Paint",
+      "active": 26,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Dolce & Gabbana",
+      "active": 26,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "dolce_gabbana_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 15
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Phyllis Morris",
+      "active": 24,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Zeuxis Parrhasius Europe",
+      "active": 21,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Contrado",
+      "active": 15,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "contrado_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 11
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "contrado_catalog_prebackfill_bak_20260901172453",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 8
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Hand Crafted",
+      "active": 15,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Traditional Whimsy",
+      "active": 13,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Hollywood Acoustical",
+      "active": 13,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "hollywood_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 5893
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 4
+          },
+          "join_pct": 30.8
+        },
+        {
+          "table": "hollywood_price_audit_log",
+          "cost_columns": [
+            {
+              "col": "new_price",
+              "populated": 102
+            },
+            {
+              "col": "old_price",
+              "populated": 98
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 30.8,
+      "reachable": 4
+    },
+    {
+      "vendor": "Witch & Watchman",
+      "active": 10,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "SUGARBOO",
+      "active": 10,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Backdrop",
+      "active": 9,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Innovations",
+      "active": 8,
+      "state": "COVERED"
+    },
+    {
+      "vendor": "Wallpaper NYC",
+      "active": 6,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Zeuxis Parrhasius at DW",
+      "active": 5,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Andrew Martin",
+      "active": 5,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "andrew_martin_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 185
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 3
+          },
+          "join_pct": 60
+        }
+      ],
+      "join_pct": 60,
+      "reachable": 3
+    },
+    {
+      "vendor": "Architectural Wallcoverings",
+      "active": 4,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Baker Lifestyle",
+      "active": 4,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "baker_lifestyle_catalog",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 74
+            },
+            {
+              "col": "price_retail",
+              "populated": 74
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1
+          },
+          "join_pct": 25
+        }
+      ],
+      "join_pct": 25,
+      "reachable": 1
+    },
+    {
+      "vendor": "Black Edition",
+      "active": 3,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Malibu",
+      "active": 3,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "malibu_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 3551
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 1
+          },
+          "join_pct": 33.3
+        }
+      ],
+      "join_pct": 33.3,
+      "reachable": 1
+    },
+    {
+      "vendor": "Malibu Walls",
+      "active": 3,
+      "state": "PARTIAL_CANDIDATE",
+      "candidates": [
+        {
+          "table": "malibu_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 3551
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 1
+          },
+          "join_pct": 33.3
+        }
+      ],
+      "join_pct": 33.3,
+      "reachable": 1
+    },
+    {
+      "vendor": "Holland and Sherry",
+      "active": 3,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Peg Norriss",
+      "active": 3,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Sacha Walckhoff",
+      "active": 3,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Clarke and Clarke",
+      "active": 3,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "clarke_clarke_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 578
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Caroline Cecil Textiles",
+      "active": 3,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Villa Nova",
+      "active": 3,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Zinc Textile",
+      "active": 3,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Patty Madden",
+      "active": 2,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Kravet Design",
+      "active": 2,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "kravet_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 9494
+            },
+            {
+              "col": "price_trade",
+              "populated": 9494
+            },
+            {
+              "col": "cost_price",
+              "populated": 8592
+            },
+            {
+              "col": "price_effective_date",
+              "populated": 8221
+            },
+            {
+              "col": "price_retail_new",
+              "populated": 8191
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 2
+          },
+          "join_pct": 100
+        },
+        {
+          "table": "kravet_map_authoritative",
+          "cost_columns": [
+            {
+              "col": "retail_price",
+              "populated": 4522
+            },
+            {
+              "col": "map_price",
+              "populated": 4522
+            },
+            {
+              "col": "whls_cost",
+              "populated": 4522
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 2
+          },
+          "join_pct": 100
+        },
+        {
+          "table": "kravet_dwkk_variant_map",
+          "cost_columns": [
+            {
+              "col": "price",
+              "populated": 14030
+            },
+            {
+              "col": "cost",
+              "populated": 26
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 2
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 2
+    },
+    {
+      "vendor": "Atomic 50 Ceilings",
+      "active": 2,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Kirkby Design",
+      "active": 2,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Kravet Couture",
+      "active": 2,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "kravet_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 9494
+            },
+            {
+              "col": "price_trade",
+              "populated": 9494
+            },
+            {
+              "col": "cost_price",
+              "populated": 8592
+            },
+            {
+              "col": "price_effective_date",
+              "populated": 8221
+            },
+            {
+              "col": "price_retail_new",
+              "populated": 8191
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 2
+          },
+          "join_pct": 100
+        },
+        {
+          "table": "kravet_dwkk_variant_map",
+          "cost_columns": [
+            {
+              "col": "price",
+              "populated": 14030
+            },
+            {
+              "col": "cost",
+              "populated": 26
+            }
+          ],
+          "best_join": {
+            "key": "ct.dw_sku=sp.sku",
+            "matched": 2
+          },
+          "join_pct": 100
+        },
+        {
+          "table": "kravet_master_price",
+          "cost_columns": [
+            {
+              "col": "map_price",
+              "populated": 13726
+            },
+            {
+              "col": "whls_cost",
+              "populated": 13726
+            },
+            {
+              "col": "retail_price",
+              "populated": 4685
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 2
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 2
+    },
+    {
+      "vendor": "Winfield Thybony",
+      "active": 2,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Scion",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Linherr Hollingsworth",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "DW Exclusive Wallpaper",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Steven Abrams Photography",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "DWHD",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Studio Ditte",
+      "active": 1,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "studio_printworks_catalog",
+          "cost_columns": [
+            {
+              "col": "price_sample",
+              "populated": 383
+            },
+            {
+              "col": "price_retail",
+              "populated": 383
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Emiliana Parati",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Farrow & Ball",
+      "active": 1,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "farrow_ball_catalog",
+          "cost_columns": [
+            {
+              "col": "price_gbp",
+              "populated": 545
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "farrow_ball_paints",
+          "cost_columns": [
+            {
+              "col": "price_usd",
+              "populated": 301
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "G P & J Baker",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Happy Menocal",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Architectural Fabrics",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Morris and Company",
+      "active": 1,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "morris_feed_pricing",
+          "cost_columns": [
+            {
+              "col": "trade_usd",
+              "populated": 1162
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Milton & King",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "A.S. Création",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Mark Alexander",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Dedar",
+      "active": 1,
+      "state": "STRONG_CANDIDATE",
+      "candidates": [
+        {
+          "table": "dedar_catalog",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 46
+            }
+          ],
+          "best_join": {
+            "key": "ct.mfr_sku=sp.mfr_sku",
+            "matched": 1
+          },
+          "join_pct": 100
+        }
+      ],
+      "join_pct": 100,
+      "reachable": 1
+    },
+    {
+      "vendor": "Roberto Cavalli",
+      "active": 1,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "roberto_cavalli_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 82
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Rebel Studio",
+      "active": 1,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "rebel_walls_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 4123
+            },
+            {
+              "col": "price_trade",
+              "populated": 449
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "rebelwalls_catalog_premerge_tk10084",
+          "cost_columns": [
+            {
+              "col": "price_per_sqft_nonwoven",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_retail",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_peelstick",
+              "populated": 4133
+            },
+            {
+              "col": "price_retail",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_commercial",
+              "populated": 3958
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "rebelwalls_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 4382
+            },
+            {
+              "col": "price_per_sqft_nonwoven",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_peelstick",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_retail",
+              "populated": 4133
+            },
+            {
+              "col": "price_per_sqft_commercial",
+              "populated": 3958
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Ananbo",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Dupenny",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Rebecca Moses",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Sara Bergqvist",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Sarah Bartholomew",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Celerie Kemble",
+      "active": 1,
+      "state": "NO_COST_TABLE",
+      "candidates": [],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Scalamandre Fabrics",
+      "active": 1,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "scalamandre_catalog",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 5002
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "scalamandre_pillows",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 1512
+            },
+            {
+              "col": "price_retail",
+              "populated": 1512
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        },
+        {
+          "table": "scalamandre_catalog_prebackfill_bak_20260901172726",
+          "cost_columns": [
+            {
+              "col": "price_trade",
+              "populated": 4996
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    },
+    {
+      "vendor": "Catchii Netherlands Europe",
+      "active": 1,
+      "state": "COLUMN_BUT_NO_JOIN",
+      "candidates": [
+        {
+          "table": "catchii_catalog",
+          "cost_columns": [
+            {
+              "col": "price_retail",
+              "populated": 670
+            }
+          ],
+          "best_join": {
+            "key": null,
+            "matched": 0
+          },
+          "join_pct": 0
+        }
+      ],
+      "join_pct": 0,
+      "reachable": 0
+    }
+  ]
+}
\ No newline at end of file
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/output/review.json b/verification/yoloforever-yf2139.YF57g8/join-audit/output/review.json
new file mode 100644
index 00000000..ffed9eaf
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/output/review.json
@@ -0,0 +1,743 @@
+{
+  "schema_version": 1,
+  "ticket": "TK-11859",
+  "correlation_id": "yf2139-i4-execute",
+  "kind": "OFFLINE_SNAPSHOT_REVIEW",
+  "source": {
+    "path": "/Users/macstudio3/.claude/skills/price-finder/data/cost-source-triage.json",
+    "sha256": "fe1406dd96ec286e291373d363b0929a65d54bd5c0ff9542017e31a7b997151a",
+    "generated_at": "2026-09-16T21:22:26.640Z"
+  },
+  "reviewed_at": "2026-09-16T22:07:58.502472+00:00",
+  "original_totals": {
+    "vendors": 18,
+    "active_products": 6243,
+    "reported_reachable_products": 0
+  },
+  "review_totals": {
+    "unproven_table_identity_vendors": 3,
+    "unproven_table_identity_products": 4371,
+    "remaining_unverified_vendors": 15,
+    "remaining_unverified_products": 1872
+  },
+  "attempted_key_pairs": [
+    [
+      "dw_sku",
+      "sku"
+    ],
+    [
+      "dw_sku",
+      "dw_sku"
+    ],
+    [
+      "mfr_sku",
+      "mfr_sku"
+    ],
+    [
+      "mfr_sku",
+      "sku"
+    ],
+    [
+      "shopify_id",
+      "shopify_id"
+    ],
+    [
+      "sku",
+      "sku"
+    ]
+  ],
+  "limitations": [
+    "Candidate tables combine registry declarations and name heuristics; the retained report does not record which origin selected a table.",
+    "The generator tries only the six catalog-to-product key pairs listed here; it does not exhaust possible identity mappings.",
+    "The generator catches SQL errors and continues without retaining error details; zero reachability does not prove successful zero-result queries.",
+    "Join reachability counts distinct product SKUs without requiring a populated positive candidate cost value on the joined row. Column population is measured independently.",
+    "Cross-name table associations require identity evidence. They are not proven false matches; the remaining candidates are also unverified.",
+    "This snapshot proves neither absent cost nor broken joins, cost semantics, current coverage, or a safe repair. No new database or external verification was performed."
+  ],
+  "rows": [
+    {
+      "vendor": "Phillip Jeffries",
+      "active_products": 3392,
+      "reported_reachable_products": 0,
+      "review_status": "UNPROVEN_TABLE_IDENTITY",
+      "original_row": {
+        "vendor": "Phillip Jeffries",
+        "active": 3392,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "phillipe_romano_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 474
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Designer Wallcoverings",
+      "active_products": 978,
+      "reported_reachable_products": 0,
+      "review_status": "UNPROVEN_TABLE_IDENTITY",
+      "original_row": {
+        "vendor": "Designer Wallcoverings",
+        "active": 978,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "designers_guild_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 23
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Morris & Co.",
+      "active_products": 686,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Morris & Co.",
+        "active": 686,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "morris_feed_pricing",
+            "cost_columns": [
+              {
+                "col": "trade_usd",
+                "populated": 1162
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Fentucci Naturals",
+      "active_products": 504,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Fentucci Naturals",
+        "active": 504,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "fentucci_catalog",
+            "cost_columns": [
+              {
+                "col": "price",
+                "populated": 85
+              },
+              {
+                "col": "cost",
+                "populated": 84
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Glitter Walls",
+      "active_products": 405,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Glitter Walls",
+        "active": 405,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "glitter_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 121
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Roberto Cavalli Wallpaper",
+      "active_products": 140,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Roberto Cavalli Wallpaper",
+        "active": 140,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "roberto_cavalli_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 82
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Daisy Bennett",
+      "active_products": 58,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Daisy Bennett",
+        "active": 58,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "daisy_bennett_v2_stage",
+            "cost_columns": [
+              {
+                "col": "price_cost",
+                "populated": 64
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "daisy_bennett_v2_catalog",
+            "cost_columns": [
+              {
+                "col": "cost",
+                "populated": 52
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "daisy_bennett_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 63
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Glass Beaded",
+      "active_products": 29,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Glass Beaded",
+        "active": 29,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "glass_bead_products",
+            "cost_columns": [
+              {
+                "col": "price",
+                "populated": 717
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Dolce & Gabbana",
+      "active_products": 26,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Dolce & Gabbana",
+        "active": 26,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "dolce_gabbana_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 15
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Contrado",
+      "active_products": 15,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Contrado",
+        "active": 15,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "contrado_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 11
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "contrado_catalog_prebackfill_bak_20260901172453",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 8
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Clarke and Clarke",
+      "active_products": 3,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Clarke and Clarke",
+        "active": 3,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "clarke_clarke_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 578
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Studio Ditte",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNPROVEN_TABLE_IDENTITY",
+      "original_row": {
+        "vendor": "Studio Ditte",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "studio_printworks_catalog",
+            "cost_columns": [
+              {
+                "col": "price_sample",
+                "populated": 383
+              },
+              {
+                "col": "price_retail",
+                "populated": 383
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Farrow & Ball",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Farrow & Ball",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "farrow_ball_catalog",
+            "cost_columns": [
+              {
+                "col": "price_gbp",
+                "populated": 545
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "farrow_ball_paints",
+            "cost_columns": [
+              {
+                "col": "price_usd",
+                "populated": 301
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Morris and Company",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Morris and Company",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "morris_feed_pricing",
+            "cost_columns": [
+              {
+                "col": "trade_usd",
+                "populated": 1162
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Roberto Cavalli",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Roberto Cavalli",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "roberto_cavalli_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 82
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Rebel Studio",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Rebel Studio",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "rebel_walls_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 4123
+              },
+              {
+                "col": "price_trade",
+                "populated": 449
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "rebelwalls_catalog_premerge_tk10084",
+            "cost_columns": [
+              {
+                "col": "price_per_sqft_nonwoven",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_retail",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_peelstick",
+                "populated": 4133
+              },
+              {
+                "col": "price_retail",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_commercial",
+                "populated": 3958
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "rebelwalls_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 4382
+              },
+              {
+                "col": "price_per_sqft_nonwoven",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_peelstick",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_retail",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_commercial",
+                "populated": 3958
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Scalamandre Fabrics",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Scalamandre Fabrics",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "scalamandre_catalog",
+            "cost_columns": [
+              {
+                "col": "price_trade",
+                "populated": 5002
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "scalamandre_pillows",
+            "cost_columns": [
+              {
+                "col": "price_trade",
+                "populated": 1512
+              },
+              {
+                "col": "price_retail",
+                "populated": 1512
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "scalamandre_catalog_prebackfill_bak_20260901172726",
+            "cost_columns": [
+              {
+                "col": "price_trade",
+                "populated": 4996
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Catchii Netherlands Europe",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Catchii Netherlands Europe",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "catchii_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 670
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    }
+  ],
+  "next_dependency": "Obtain vendor/table identity and actual read-only join evidence, including errors, priced-row scope, uniqueness and cross-vendor collisions; any repair remains gated.",
+  "implementation_changes": "None to source, costs, joins, coverage or production."
+}
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/output/review.md b/verification/yoloforever-yf2139.YF57g8/join-audit/output/review.md
new file mode 100644
index 00000000..ba5fc89f
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/output/review.md
@@ -0,0 +1,41 @@
+# TK-11859 offline candidate review
+
+Source snapshot: 2026-09-16T21:22:26.640Z
+SHA-256: `fe1406dd96ec286e291373d363b0929a65d54bd5c0ff9542017e31a7b997151a`
+
+Retained totals: 18 vendors / 6,243 active products / 0 reported reachable.
+Three associations affecting 4,371 products need table identity evidence. Remaining 15 vendors / 1,872 products also remain unverified.
+
+| Vendor | Active | Reported reachable | Review status | Candidate tables |
+|---|---:|---:|---|---|
+| Phillip Jeffries | 3392 | 0 | UNPROVEN_TABLE_IDENTITY | phillipe_romano_catalog |
+| Designer Wallcoverings | 978 | 0 | UNPROVEN_TABLE_IDENTITY | designers_guild_catalog |
+| Morris & Co. | 686 | 0 | UNVERIFIED | morris_feed_pricing |
+| Fentucci Naturals | 504 | 0 | UNVERIFIED | fentucci_catalog |
+| Glitter Walls | 405 | 0 | UNVERIFIED | glitter_catalog |
+| Roberto Cavalli Wallpaper | 140 | 0 | UNVERIFIED | roberto_cavalli_catalog |
+| Daisy Bennett | 58 | 0 | UNVERIFIED | daisy_bennett_v2_stage, daisy_bennett_v2_catalog, daisy_bennett_catalog |
+| Glass Beaded | 29 | 0 | UNVERIFIED | glass_bead_products |
+| Dolce & Gabbana | 26 | 0 | UNVERIFIED | dolce_gabbana_catalog |
+| Contrado | 15 | 0 | UNVERIFIED | contrado_catalog, contrado_catalog_prebackfill_bak_20260901172453 |
+| Clarke and Clarke | 3 | 0 | UNVERIFIED | clarke_clarke_catalog |
+| Studio Ditte | 1 | 0 | UNPROVEN_TABLE_IDENTITY | studio_printworks_catalog |
+| Farrow & Ball | 1 | 0 | UNVERIFIED | farrow_ball_catalog, farrow_ball_paints |
+| Morris and Company | 1 | 0 | UNVERIFIED | morris_feed_pricing |
+| Roberto Cavalli | 1 | 0 | UNVERIFIED | roberto_cavalli_catalog |
+| Rebel Studio | 1 | 0 | UNVERIFIED | rebel_walls_catalog, rebelwalls_catalog_premerge_tk10084, rebelwalls_catalog |
+| Scalamandre Fabrics | 1 | 0 | UNVERIFIED | scalamandre_catalog, scalamandre_pillows, scalamandre_catalog_prebackfill_bak_20260901172726 |
+| Catchii Netherlands Europe | 1 | 0 | UNVERIFIED | catchii_catalog |
+
+Attempted catalog → product keys: `dw_sku → sku`, `dw_sku → dw_sku`, `mfr_sku → mfr_sku`, `mfr_sku → sku`, `shopify_id → shopify_id`, `sku → sku`
+
+- Candidate tables combine registry declarations and name heuristics; the retained report does not record which origin selected a table.
+- The generator tries only the six catalog-to-product key pairs listed here; it does not exhaust possible identity mappings.
+- The generator catches SQL errors and continues without retaining error details; zero reachability does not prove successful zero-result queries.
+- Join reachability counts distinct product SKUs without requiring a populated positive candidate cost value on the joined row. Column population is measured independently.
+- Cross-name table associations require identity evidence. They are not proven false matches; the remaining candidates are also unverified.
+- This snapshot proves neither absent cost nor broken joins, cost semantics, current coverage, or a safe repair. No new database or external verification was performed.
+
+Obtain vendor/table identity and actual read-only join evidence, including errors, priced-row scope, uniqueness and cross-vendor collisions; any repair remains gated.
+
+Preparation only; the source ticket remains unresolved.
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/retained-output/review.json b/verification/yoloforever-yf2139.YF57g8/join-audit/retained-output/review.json
new file mode 100644
index 00000000..760232ad
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/retained-output/review.json
@@ -0,0 +1,743 @@
+{
+  "schema_version": 1,
+  "ticket": "TK-11859",
+  "correlation_id": "yf2139-i4-execute",
+  "kind": "OFFLINE_SNAPSHOT_REVIEW",
+  "source": {
+    "path": "/private/tmp/yf2139.YF57g8/join-audit/input-snapshot.json",
+    "sha256": "fe1406dd96ec286e291373d363b0929a65d54bd5c0ff9542017e31a7b997151a",
+    "generated_at": "2026-09-16T21:22:26.640Z"
+  },
+  "reviewed_at": "2026-09-16T22:10:00.333410+00:00",
+  "original_totals": {
+    "vendors": 18,
+    "active_products": 6243,
+    "reported_reachable_products": 0
+  },
+  "review_totals": {
+    "unproven_table_identity_vendors": 3,
+    "unproven_table_identity_products": 4371,
+    "remaining_unverified_vendors": 15,
+    "remaining_unverified_products": 1872
+  },
+  "attempted_key_pairs": [
+    [
+      "dw_sku",
+      "sku"
+    ],
+    [
+      "dw_sku",
+      "dw_sku"
+    ],
+    [
+      "mfr_sku",
+      "mfr_sku"
+    ],
+    [
+      "mfr_sku",
+      "sku"
+    ],
+    [
+      "shopify_id",
+      "shopify_id"
+    ],
+    [
+      "sku",
+      "sku"
+    ]
+  ],
+  "limitations": [
+    "Candidate tables combine registry declarations and name heuristics; the retained report does not record which origin selected a table.",
+    "The generator tries only the six catalog-to-product key pairs listed here; it does not exhaust possible identity mappings.",
+    "The generator catches SQL errors and continues without retaining error details; zero reachability does not prove successful zero-result queries.",
+    "Join reachability counts distinct product SKUs without requiring a populated positive candidate cost value on the joined row. Column population is measured independently.",
+    "Cross-name table associations require identity evidence. They are not proven false matches; the remaining candidates are also unverified.",
+    "This snapshot proves neither absent cost nor broken joins, cost semantics, current coverage, or a safe repair. No new database or external verification was performed."
+  ],
+  "rows": [
+    {
+      "vendor": "Phillip Jeffries",
+      "active_products": 3392,
+      "reported_reachable_products": 0,
+      "review_status": "UNPROVEN_TABLE_IDENTITY",
+      "original_row": {
+        "vendor": "Phillip Jeffries",
+        "active": 3392,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "phillipe_romano_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 474
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Designer Wallcoverings",
+      "active_products": 978,
+      "reported_reachable_products": 0,
+      "review_status": "UNPROVEN_TABLE_IDENTITY",
+      "original_row": {
+        "vendor": "Designer Wallcoverings",
+        "active": 978,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "designers_guild_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 23
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Morris & Co.",
+      "active_products": 686,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Morris & Co.",
+        "active": 686,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "morris_feed_pricing",
+            "cost_columns": [
+              {
+                "col": "trade_usd",
+                "populated": 1162
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Fentucci Naturals",
+      "active_products": 504,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Fentucci Naturals",
+        "active": 504,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "fentucci_catalog",
+            "cost_columns": [
+              {
+                "col": "price",
+                "populated": 85
+              },
+              {
+                "col": "cost",
+                "populated": 84
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Glitter Walls",
+      "active_products": 405,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Glitter Walls",
+        "active": 405,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "glitter_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 121
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Roberto Cavalli Wallpaper",
+      "active_products": 140,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Roberto Cavalli Wallpaper",
+        "active": 140,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "roberto_cavalli_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 82
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Daisy Bennett",
+      "active_products": 58,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Daisy Bennett",
+        "active": 58,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "daisy_bennett_v2_stage",
+            "cost_columns": [
+              {
+                "col": "price_cost",
+                "populated": 64
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "daisy_bennett_v2_catalog",
+            "cost_columns": [
+              {
+                "col": "cost",
+                "populated": 52
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "daisy_bennett_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 63
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Glass Beaded",
+      "active_products": 29,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Glass Beaded",
+        "active": 29,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "glass_bead_products",
+            "cost_columns": [
+              {
+                "col": "price",
+                "populated": 717
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Dolce & Gabbana",
+      "active_products": 26,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Dolce & Gabbana",
+        "active": 26,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "dolce_gabbana_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 15
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Contrado",
+      "active_products": 15,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Contrado",
+        "active": 15,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "contrado_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 11
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "contrado_catalog_prebackfill_bak_20260901172453",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 8
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Clarke and Clarke",
+      "active_products": 3,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Clarke and Clarke",
+        "active": 3,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "clarke_clarke_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 578
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Studio Ditte",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNPROVEN_TABLE_IDENTITY",
+      "original_row": {
+        "vendor": "Studio Ditte",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "studio_printworks_catalog",
+            "cost_columns": [
+              {
+                "col": "price_sample",
+                "populated": 383
+              },
+              {
+                "col": "price_retail",
+                "populated": 383
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Farrow & Ball",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Farrow & Ball",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "farrow_ball_catalog",
+            "cost_columns": [
+              {
+                "col": "price_gbp",
+                "populated": 545
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "farrow_ball_paints",
+            "cost_columns": [
+              {
+                "col": "price_usd",
+                "populated": 301
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Morris and Company",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Morris and Company",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "morris_feed_pricing",
+            "cost_columns": [
+              {
+                "col": "trade_usd",
+                "populated": 1162
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Roberto Cavalli",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Roberto Cavalli",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "roberto_cavalli_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 82
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Rebel Studio",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Rebel Studio",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "rebel_walls_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 4123
+              },
+              {
+                "col": "price_trade",
+                "populated": 449
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "rebelwalls_catalog_premerge_tk10084",
+            "cost_columns": [
+              {
+                "col": "price_per_sqft_nonwoven",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_retail",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_peelstick",
+                "populated": 4133
+              },
+              {
+                "col": "price_retail",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_commercial",
+                "populated": 3958
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "rebelwalls_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 4382
+              },
+              {
+                "col": "price_per_sqft_nonwoven",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_peelstick",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_retail",
+                "populated": 4133
+              },
+              {
+                "col": "price_per_sqft_commercial",
+                "populated": 3958
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Scalamandre Fabrics",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Scalamandre Fabrics",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "scalamandre_catalog",
+            "cost_columns": [
+              {
+                "col": "price_trade",
+                "populated": 5002
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "scalamandre_pillows",
+            "cost_columns": [
+              {
+                "col": "price_trade",
+                "populated": 1512
+              },
+              {
+                "col": "price_retail",
+                "populated": 1512
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          },
+          {
+            "table": "scalamandre_catalog_prebackfill_bak_20260901172726",
+            "cost_columns": [
+              {
+                "col": "price_trade",
+                "populated": 4996
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    },
+    {
+      "vendor": "Catchii Netherlands Europe",
+      "active_products": 1,
+      "reported_reachable_products": 0,
+      "review_status": "UNVERIFIED",
+      "original_row": {
+        "vendor": "Catchii Netherlands Europe",
+        "active": 1,
+        "state": "COLUMN_BUT_NO_JOIN",
+        "candidates": [
+          {
+            "table": "catchii_catalog",
+            "cost_columns": [
+              {
+                "col": "price_retail",
+                "populated": 670
+              }
+            ],
+            "best_join": {
+              "key": null,
+              "matched": 0
+            },
+            "join_pct": 0
+          }
+        ],
+        "join_pct": 0,
+        "reachable": 0
+      }
+    }
+  ],
+  "next_dependency": "Obtain vendor/table identity and actual read-only join evidence, including errors, priced-row scope, uniqueness and cross-vendor collisions; any repair remains gated.",
+  "implementation_changes": "None to source, costs, joins, coverage or production."
+}
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/retained-output/review.md b/verification/yoloforever-yf2139.YF57g8/join-audit/retained-output/review.md
new file mode 100644
index 00000000..ba5fc89f
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/retained-output/review.md
@@ -0,0 +1,41 @@
+# TK-11859 offline candidate review
+
+Source snapshot: 2026-09-16T21:22:26.640Z
+SHA-256: `fe1406dd96ec286e291373d363b0929a65d54bd5c0ff9542017e31a7b997151a`
+
+Retained totals: 18 vendors / 6,243 active products / 0 reported reachable.
+Three associations affecting 4,371 products need table identity evidence. Remaining 15 vendors / 1,872 products also remain unverified.
+
+| Vendor | Active | Reported reachable | Review status | Candidate tables |
+|---|---:|---:|---|---|
+| Phillip Jeffries | 3392 | 0 | UNPROVEN_TABLE_IDENTITY | phillipe_romano_catalog |
+| Designer Wallcoverings | 978 | 0 | UNPROVEN_TABLE_IDENTITY | designers_guild_catalog |
+| Morris & Co. | 686 | 0 | UNVERIFIED | morris_feed_pricing |
+| Fentucci Naturals | 504 | 0 | UNVERIFIED | fentucci_catalog |
+| Glitter Walls | 405 | 0 | UNVERIFIED | glitter_catalog |
+| Roberto Cavalli Wallpaper | 140 | 0 | UNVERIFIED | roberto_cavalli_catalog |
+| Daisy Bennett | 58 | 0 | UNVERIFIED | daisy_bennett_v2_stage, daisy_bennett_v2_catalog, daisy_bennett_catalog |
+| Glass Beaded | 29 | 0 | UNVERIFIED | glass_bead_products |
+| Dolce & Gabbana | 26 | 0 | UNVERIFIED | dolce_gabbana_catalog |
+| Contrado | 15 | 0 | UNVERIFIED | contrado_catalog, contrado_catalog_prebackfill_bak_20260901172453 |
+| Clarke and Clarke | 3 | 0 | UNVERIFIED | clarke_clarke_catalog |
+| Studio Ditte | 1 | 0 | UNPROVEN_TABLE_IDENTITY | studio_printworks_catalog |
+| Farrow & Ball | 1 | 0 | UNVERIFIED | farrow_ball_catalog, farrow_ball_paints |
+| Morris and Company | 1 | 0 | UNVERIFIED | morris_feed_pricing |
+| Roberto Cavalli | 1 | 0 | UNVERIFIED | roberto_cavalli_catalog |
+| Rebel Studio | 1 | 0 | UNVERIFIED | rebel_walls_catalog, rebelwalls_catalog_premerge_tk10084, rebelwalls_catalog |
+| Scalamandre Fabrics | 1 | 0 | UNVERIFIED | scalamandre_catalog, scalamandre_pillows, scalamandre_catalog_prebackfill_bak_20260901172726 |
+| Catchii Netherlands Europe | 1 | 0 | UNVERIFIED | catchii_catalog |
+
+Attempted catalog → product keys: `dw_sku → sku`, `dw_sku → dw_sku`, `mfr_sku → mfr_sku`, `mfr_sku → sku`, `shopify_id → shopify_id`, `sku → sku`
+
+- Candidate tables combine registry declarations and name heuristics; the retained report does not record which origin selected a table.
+- The generator tries only the six catalog-to-product key pairs listed here; it does not exhaust possible identity mappings.
+- The generator catches SQL errors and continues without retaining error details; zero reachability does not prove successful zero-result queries.
+- Join reachability counts distinct product SKUs without requiring a populated positive candidate cost value on the joined row. Column population is measured independently.
+- Cross-name table associations require identity evidence. They are not proven false matches; the remaining candidates are also unverified.
+- This snapshot proves neither absent cost nor broken joins, cost semantics, current coverage, or a safe repair. No new database or external verification was performed.
+
+Obtain vendor/table identity and actual read-only join evidence, including errors, priced-row scope, uniqueness and cross-vendor collisions; any repair remains gated.
+
+Preparation only; the source ticket remains unresolved.
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/test_audit.py b/verification/yoloforever-yf2139.YF57g8/join-audit/test_audit.py
new file mode 100644
index 00000000..1e74e349
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/test_audit.py
@@ -0,0 +1,74 @@
+import copy
+import hashlib
+import json
+import subprocess
+import sys
+import unittest
+from pathlib import Path
+import audit
+
+SOURCE = Path(__file__).parent / 'input-snapshot.json'
+SOURCE_SHA256 = 'fe1406dd96ec286e291373d363b0929a65d54bd5c0ff9542017e31a7b997151a'
+
+class OfflineAuditTests(unittest.TestCase):
+    @classmethod
+    def setUpClass(cls):
+        if hashlib.sha256(SOURCE.read_bytes()).hexdigest() != SOURCE_SHA256:
+            raise ValueError('retained input snapshot SHA-256 mismatch')
+
+    def new_dir(self):
+        path = Path(subprocess.check_output(['mktemp', '-d', '/private/tmp/yf2139-join-test.XXXXXX'], text=True).strip())
+        print(f'RETAINED_TEST_FIXTURE={path}')
+        return path
+
+    def test_real_snapshot_and_cli(self):
+        original = SOURCE.read_bytes()
+        td = self.new_dir()
+        run = subprocess.run([sys.executable, str(Path(audit.__file__)), str(SOURCE), '--output-dir', str(td)], capture_output=True, text=True)
+        self.assertEqual(run.returncode, 0, run.stderr)
+        result = json.loads((td / 'review.json').read_text())
+        self.assertEqual(len(result['rows']), 18)
+        self.assertEqual(result['source']['sha256'], hashlib.sha256(original).hexdigest())
+        self.assertEqual(sum(r['active_products'] for r in result['rows']), 6243)
+        flagged = [r for r in result['rows'] if r['review_status'] == 'UNPROVEN_TABLE_IDENTITY']
+        self.assertEqual((len(flagged), sum(r['active_products'] for r in flagged)), (3, 4371))
+        self.assertEqual(sum(r['review_status'] == 'UNVERIFIED' for r in result['rows']), 15)
+        retained = [r for r in json.loads(original)['report'] if r['state'] == audit.STATE]
+        self.assertEqual([r['original_row'] for r in result['rows']], retained)
+        self.assertIn('source ticket remains unresolved', (td / 'review.md').read_text())
+        self.assertEqual(SOURCE.read_bytes(), original)
+
+    def assert_rejected(self, raw, message):
+        td = self.new_dir()
+        source, out = td / 'input.json', td / 'out'
+        source.write_text(raw)
+        run = subprocess.run([sys.executable, str(Path(audit.__file__)), str(source), '--output-dir', str(out)], capture_output=True, text=True)
+        self.assertEqual(run.returncode, 2)
+        self.assertIn(message, run.stderr)
+        self.assertFalse(out.exists(), 'rejected input must produce no report')
+
+    def test_malformed_json(self):
+        self.assert_rejected('{invalid', 'AUDIT REJECTED')
+
+    def test_summary_mismatch(self):
+        data = json.loads(SOURCE.read_bytes())
+        next(b for b in data['summary']['buckets'] if b['state'] == audit.STATE)['active_products'] += 1
+        self.assert_rejected(json.dumps(data), 'summary mismatch')
+
+    def test_flag_mapping_mismatch(self):
+        data = json.loads(SOURCE.read_bytes())
+        next(r for r in data['report'] if r['vendor'] == 'Phillip Jeffries')['candidates'][0]['table'] = 'changed_catalog'
+        self.assert_rejected(json.dumps(data), 'flag mismatch')
+
+    def test_missing_flag_with_preserved_totals(self):
+        data = json.loads(SOURCE.read_bytes())
+        next(r for r in data['report'] if r['vendor'] == 'Studio Ditte')['vendor'] = 'Unreviewed Association'
+        self.assert_rejected(json.dumps(data), 'flag mismatch')
+
+    def test_reported_zero_hides_nonzero_candidate(self):
+        data = json.loads(SOURCE.read_bytes())
+        next(r for r in data['report'] if r['state'] == audit.STATE)['candidates'][0]['best_join']['matched'] = 1
+        self.assert_rejected(json.dumps(data), 'candidate join conflicts')
+
+if __name__ == '__main__':
+    unittest.main(verbosity=2)
diff --git a/verification/yoloforever-yf2139.YF57g8/join-audit/verification/e2e-proof.json b/verification/yoloforever-yf2139.YF57g8/join-audit/verification/e2e-proof.json
new file mode 100644
index 00000000..0d282aae
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-audit/verification/e2e-proof.json
@@ -0,0 +1,104 @@
+{
+  "intent": "Produce an offline, source-preserving review of the TK-11859 retained candidate snapshot.",
+  "risk_tier": "R1 isolated offline code; no live integration",
+  "environment": "local Python standard library",
+  "correlation_id": "yf2139-i4-execute",
+  "build_identity": "uncommitted isolated artifacts; root owns reviewed commit",
+  "timestamp": "2026-09-16T22:08:57.480Z",
+  "baseline": {
+    "zero_cost_mode": "ZERO_COST_REQUIRED",
+    "DTD_ZERO_COST": "1",
+    "source": "/Users/macstudio3/.claude/skills/price-finder/data/cost-source-triage.json",
+    "expected_totals": [
+      18,
+      6243,
+      0
+    ]
+  },
+  "commands": [
+    {
+      "command": "python3 -m unittest -v test_audit.py",
+      "cwd": "/private/tmp/yf2139.YF57g8/join-audit",
+      "exit_code": 0,
+      "result": "6 tests PASS"
+    },
+    {
+      "command": "python3 audit.py /Users/macstudio3/.claude/skills/price-finder/data/cost-source-triage.json --output-dir output",
+      "cwd": "/private/tmp/yf2139.YF57g8/join-audit",
+      "exit_code": 0,
+      "result": "PASS: retained 18 / 6243 / 0; 3 / 4371 identity-unproven; 15 / 1872 unverified"
+    },
+    {
+      "command": "python3 -m unittest -v test_audit.py",
+      "result": "Corrected replay: 6 PASS; mktemp directories retained",
+      "exit_code": 0
+    },
+    {
+      "command": "python3 audit.py input-snapshot.json --output-dir retained-output",
+      "result": "PASS same18/6243/0 and3/4371 classification",
+      "exit_code": 0
+    }
+  ],
+  "assertions": [
+    {
+      "boundary": "input->report",
+      "verdict": "PASS",
+      "evidence": "Source SHA256 carried to review.json; all18 original rows compared exactly by test; totals preserved"
+    },
+    {
+      "boundary": "classification",
+      "verdict": "PASS",
+      "evidence": "Exactly3 flagged associations4371 products;15 remaining explicitly UNVERIFIED1872"
+    },
+    {
+      "boundary": "invalid input->output",
+      "verdict": "PASS",
+      "evidence": "Malformed JSON, summary mismatch, flag-table mismatch, missing expected flag, and nonzero candidate all exit2 and create no output directory"
+    },
+    {
+      "boundary": "source filesystem",
+      "verdict": "PASS",
+      "evidence": "Real CLI test re-reads original input bytes and asserts unchanged"
+    },
+    {
+      "boundary": "report semantics",
+      "verdict": "PASS",
+      "evidence": "All six generator key pairs listed; limitations explain heuristic origin loss, swallowed SQL errors, independent populated-column counts, no proof of absent costs/broken joins"
+    },
+    {
+      "boundary": "DB/API/pricing",
+      "verdict": "SKIP",
+      "reason": "Explicitly excluded by offline task; no correctness/current-coverage/authority claims"
+    },
+    {
+      "boundary": "parent acceptance",
+      "verdict": "SKIP",
+      "reason": "Root must independently inspect/re-run before accepting preparation"
+    },
+    {
+      "boundary": "retained replay",
+      "verdict": "PASS",
+      "evidence": "Tests validate retained input-snapshot.json SHA256 fe1406dd96ec286e291373d363b0929a65d54bd5c0ff9542017e31a7b997151a before running; corrected six tests PASS; fixture directories retained."
+    }
+  ],
+  "artifacts": [
+    "audit.py",
+    "test_audit.py",
+    "output/review.json",
+    "output/review.md",
+    "input-snapshot.json",
+    "retained-output/review.json",
+    "retained-output/review.md"
+  ],
+  "cleanup": "Corrected run retains all six mktemp fixture directories and both report runs; no deletion/cleanup in corrected test implementation. Earlier initial-run fixtures were automatically removed before correction.",
+  "verdict": "PASS offline artifact journey; source issue remains unresolved; parent acceptance pending",
+  "correction": "Initial tests used TemporaryDirectory and automatically removed test fixtures. Parent review identified the retention violation. Replaced with explicit mktemp -d under /private/tmp; no cleanup now. Retained hash-pinned input-snapshot.json added for replay independent of live-report drift.",
+  "retained_test_fixtures": [
+    "/private/tmp/yf2139-join-test.0pC5oX",
+    "/private/tmp/yf2139-join-test.2MU4jC",
+    "/private/tmp/yf2139-join-test.TY6ySN",
+    "/private/tmp/yf2139-join-test.zMrck3",
+    "/private/tmp/yf2139-join-test.i5J6GW",
+    "/private/tmp/yf2139-join-test.SO1XY8"
+  ]
+}
diff --git a/verification/yoloforever-yf2139.YF57g8/join-parent-proof.json b/verification/yoloforever-yf2139.YF57g8/join-parent-proof.json
new file mode 100644
index 00000000..66602b53
--- /dev/null
+++ b/verification/yoloforever-yf2139.YF57g8/join-parent-proof.json
@@ -0,0 +1,13 @@
+{
+  "tests": "PASS",
+  "real_cli": "PASS",
+  "input_source_unchanged": "PASS",
+  "evidence": "/private/tmp/yf-join-parent.oK37k0",
+  "counts": {
+    "unproven_table_identity_vendors": 3,
+    "unproven_table_identity_products": 4371,
+    "remaining_unverified_vendors": 15,
+    "remaining_unverified_products": 1872
+  },
+  "limitation": "Initial test harness deleted its own fixtures via TemporaryDirectory; corrected to retained mktemp directories and immutable snapshot; rerun PASS."
+}
\ No newline at end of file

← 61e33ebd Retain reviewed Prestige and Gemma approval preparation  ·  back to Ticket System  ·  Separate Phillipe Romano selling price from acquisition cost d9979e62 →