Add per-watch Jev verification checks #29

Merged
kubus merged 2 commits from t3code/feature/watch-verification-notes into main 2026-10-06 19:44:19 +00:00
Owner

Summary

  • Operators can define up to 8 per-watch checks in the watch dialog (More options)
  • Each check is up to 120 characters, with Require or Exclude mode
  • Require checks hold the alert unless the listing clearly shows it's true
  • Exclude checks reject only when Jev is near-certain the listing matches (≥0.95 confidence)
  • Failed and unconfirmed checks appear as issues in the stored verification snapshot
  • Checks are part of the verification cache key—editing them re-verifies affected deals on the next scan
  • Watches without checks keep their cached verdicts unchanged
  • Both Jev and vision models see the same checks and answer each one

Testing

  • Verification check parsing and JSON validation in ai.ts (8-check max, 120-char limit)
  • Check outcome logic in jev.ts (require vs. exclude thresholds, issue generation)
  • Verification decision combining check results with base verdict
  • Database migration (new verification_checks_json column)
  • Frontend watch dialog: add/remove/edit checks, mode toggle
  • E2E: checks passed to Jev and vision, cache invalidated when edited
  • Existing cached verdicts remain valid when no checks are present
## Summary - Operators can define up to 8 per-watch checks in the watch dialog (More options) - Each check is up to 120 characters, with **Require** or **Exclude** mode - **Require** checks hold the alert unless the listing clearly shows it's true - **Exclude** checks reject only when Jev is near-certain the listing matches (≥0.95 confidence) - Failed and unconfirmed checks appear as issues in the stored verification snapshot - Checks are part of the verification cache key—editing them re-verifies affected deals on the next scan - Watches without checks keep their cached verdicts unchanged - Both Jev and vision models see the same checks and answer each one ## Testing - Verification check parsing and JSON validation in ai.ts (8-check max, 120-char limit) - Check outcome logic in jev.ts (require vs. exclude thresholds, issue generation) - Verification decision combining check results with base verdict - Database migration (new `verification_checks_json` column) - Frontend watch dialog: add/remove/edit checks, mode toggle - E2E: checks passed to Jev and vision, cache invalidated when edited - Existing cached verdicts remain valid when no checks are present
Add per-watch Jev verification checks
Some checks failed
ci / verify (pull_request) Has been cancelled
b63bb0e34e
Each watch can define up to 8 verification checks (require or exclude mode) that Jev evaluates before high-priority alerts. Require checks hold the alert unless the listing clearly shows them; exclude checks reject only when Jev is near-certain. Failed or unconfirmed checks appear as issues in the stored verification. Checks are part of the cache key, so editing them re-verifies affected deals on next scan. Vision model sees the same checks during escalation.
Run Jev checks on manual search results
Some checks failed
ci / verify (pull_request) Has been cancelled
9e14be3b5a
- Add Jev checks filter to Search form; requires/excludes results per check mode
- Results tagged passed/unconfirmed/unchecked; require checks hide unconfirmed by default
- Fetch up to 12 detail pages per marketplace to fill missing descriptions
- Cap Jev calls at 40 per search page and cache verdicts by listing + checks
- Extract VerificationChecksEditor component for reuse across dialogs and search
- Refactor checkQuestions and parseCheckResults as standalone helpers in jev.ts
- Save as watch carries checks from search into new watch
kubus merged commit 1576b0d930 into main 2026-10-06 19:44:19 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kubus/scout!29
No description provided.