The problem is a WRIST collection that grows faster than anyone can write honest coverage — and a temptation to paste publisher text or invent a star rating. WCR writes fully automated, no-human-in-the-loop reviews for every watch in the operator’s WRIST collection. A watch marked Delivered becomes eligible. Research runs at three widths (exact model, series+case size, series) using DRA-style search sources. If at least two sources from two publishers exist, MiniMax drafts a five-section review that paraphrases coverage — never storing or reproducing raw source text. A quality gate checks voice (no first-person wear claims), no numeric rating, no purchase/pricing/vendor data, series disclosure, and source attribution. Pass publishes toward meltuc.com/watches. Fail stays draft. Operator edit/dismiss/delete happens after the fact, not as approval. DIAL is a separate comedic per-unit story under the review — not the review’s voice. Proof on this page: live published and eligible counts from the landing route. Mocks below are CSS chrome of WCR screens, not stolen product shots of a publisher site.
wrist_reader is the only interface into WRIST — hard allowlist, no financial fields. Closed set of models (~38), not an infinite stream. Nightly sweep retries insufficient_sources up to 6 attempts, then stops. Search-infrastructure gaps (DuckDuckGo returning a homepage, missing Brave/Tavily keys, Wikipedia brand pages) can leave models insufficient_sources until a working search key exists — that is a search-infrastructure gap, not a WCR logic bug. DIAL sweep runs ten minutes after WCR’s own. Operator aftercare is still real work — edit a published review, dismiss a bad draft, delete a unit story — it is just not a gate that sits in front of a passing quality check.
CSS mock of /wcr/app/dashboard. Live published/eligible counts on this page are real stats from the landing route. Attention tiles (unverified battery, proxy specs) live in the app. Generate Eligible Now runs the pipeline on demand; nightly retry is the closed-set sweep, not an infinite crawl.
Review detail is the management surface: edit, dismiss, delete after publish. DIAL is first-person comic-book short fiction per physical unit — the watch is convinced it, not MelTuc, is why a mission succeeded. No rating. Not the review’s tone. dial_reader uses wrist_order_items ownership facts plus wcr_specs_cache — not a live wrist_catalog join (that path is dead). DIAL gate is mechanical (word count, panel count, no purchase data, real sibling speaker); some companion-prompt self-checks are semantic and not mechanically checkable.
Sources and generation runs are first-class screens, not hidden logs. If every model currently returns insufficient_sources, believe the README: Wikipedia is a single generic brand page; DDG is blocked; Brave/Tavily keys are not configured. That is the honest empty state, not a UI that pretends coverage exists.
wrist_reader is the only door into WRIST. Eligibility is Delivered. Price, vendor, and purchase data are gate failures, not copy to polish. Collection view is the WRIST-fed set WCR is allowed to see — not a second storefront of SKUs for sale.
Published/eligible counts on this page are live aggregates. Generate Eligible Now, reviews, sources, and runs require an account. This landing is not a published-review reader for meltuc.com/watches — that public site is a different surface.
WCR will not wait for operator approval to publish a passing review. It will not store raw third-party article text. It will not emit a numeric rating or a first-person wear claim. It will not invent publishers when the search floor is not met. DIAL will not borrow the review’s tone or become a second product review. If search keys are missing, the honest status is insufficient_sources.
Cards below match the README. Cron: insufficient_sources retry sweep, capped — this source is a closed set, not an infinite stream.
WCR is for the operator whose watches arrive through WRIST as Delivered and who needs coverage that can publish without a human sitting on a queue — and without turning into a paste of Hodinkee. The collection is a closed set measured in tens of models, not an infinite firehose, which is why the nightly job retries insufficient_sources a capped six times and then leaves the model alone. If Brave or Tavily keys are missing and DuckDuckGo serves a homepage, every model coming back insufficient_sources is the system telling the truth. DIAL is for the same operator who wants a comic-book unit story that is not a second review: first-person watch ego, mechanical gate, no purchase data, twin purchases each get a story because units are not models. Wrist_reader will not grow a side door into financial fields because a future prompt “needs context.” The quality gate will not grow a star rating because a public watches page “needs a number.” Aftercare is edit, dismiss, delete — after publish — because HITL before publish was the queue this app exists to delete. If you need affiliate copy or a wearer diary, you are in the wrong factory.
How you verify: landing stats vs dashboard, Generate Eligible Now vs nightly cap of six, gate failing a first-person wear claim, DIAL sitting in its own section, wrist_reader never selecting financial columns, sources view showing paraphrased attributions instead of pasted articles. If search is down, the run list should still say insufficient_sources — not “unpublished draft of a review we imagined.”
Public landing is the storefront. Reviews, runs, and generate stay behind login.
Open DashboardRequires a MelTuc account. Create one free.
Watch Collection Reviews — automated generation of review drafts for the collection. Health stays cheap. If this page disagrees with the signed-in app, trust the app — the product contract and tests enforce that rule.