# TIP Research Resolution Closure

Date: 2026-05-10 UTC
Owner: Codex

## Summary

TIP now distinguishes strict source-backed verification from completed research where public data is not available.

This avoids fake green checks while still letting the active research queue reach a real terminal state.

## Implemented

- Added migration `sql/106-research-resolution-status.sql`
  - `image_status`
  - `details_status`
  - `image_unavailable` evidence
  - `details_unavailable` evidence
- Updated scraper DB helpers:
  - source-backed images set `image_status=public_image`
  - source-backed details set `details_status=public_details`
- Added `verify:research-status`
  - dry-run by default
  - limited serial batches via `RESEARCH_STATUS_LIMIT`
  - optional vendor filter via `RESEARCH_STATUS_VENDOR`
  - apply mode via `RESEARCH_STATUS_APPLY=1`
- Updated Health API:
  - image/detail status buckets
  - `research_resolved`
  - `research_resolved_pct`

## Live Run

- Migration applied on Erik.
- API build passed and `tip-api` restarted.
- Scraper build passed after fixing a PostgreSQL parameter bug in the resolver.
- Scraper daemon was not restarted while pg-boss pricing jobs were active.
- Resolver dry-run after closure returned `count: 0`.

## Final Health

- Active products: `16236`
- Price:
  - `public_price=10851`
  - `no_public_price=5385`
  - `needs_research=0`
  - `ambiguous=0`
- Image:
  - `public_image=11602`
  - `no_public_image=4634`
  - `needs_research=0`
  - `ambiguous=0`
- Details:
  - `public_details=16005`
  - `no_public_details=231`
  - `needs_research=0`
  - `ambiguous=0`
- Competitor:
  - `matched=10838`
  - `no_valid_match=561`
  - `ambiguous=4837`
  - `needs_research=0`
- Research resolved:
  - `16236 / 16236`
  - `100%`
- Strict fully verified:
  - `10600 / 16236`
  - `65%`

## Interpretation

All active TIP research queues are now closed.

`fully_verified` remains strict and source-backed. Products with `no_public_image`, `no_public_details`, or `competitor_status=ambiguous` are research-complete but not fake fully verified.

## TIPLLM Training Pool

Added three training examples to `training-data/tip-llm-capabilities-v1.jsonl`:

- research-resolution status model
- safe resolver runbook
- final live result and metric interpretation
