catalog-import-merge: dear-reality (new=0 discontinued=9 updated=5) - #910
Conversation
Merge refresh via /catalog-import-merge. New entries: 0 Discontinued: 9 Updated: 5 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: a4af9c7 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: existential-engineering/catalog/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (10)
Included review availability: 0 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour. WalkthroughThe changeset retires the Dear Reality plugin line. Nine product records gain discontinued status. Five product records receive updated descriptions or specifications. ChangesDear Reality catalog updates
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Other 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Git: CodeRabbit could not clone the repository, so clone-backed analysis was skipped and this review may be incomplete. Verify repository clone access, such as SSH credentials, before requesting another full review. If clone access is intentionally unavailable, use Comment |
|
/resolve-catalog-pr started.
Polling CodeRabbit, max 4 cycles. This run never merges. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
Cycle 1
Local gate (run against |
|
Outcome:
Two things a reviewer should still know:
Left for human batched merge — NOT auto-merged. |
|
Tip For best results, initiate chat on the files or code changes.
PR The PR is ready for the planned human batched merge. You are interacting with an AI system. |
Merge plan
Read this first: Dear Reality has been wound down, and this PR retires the whole line.
Dear Reality's own site is sunset. Every one of the 11 catalog URLs under
https://www.dear-reality.com/en-us/products/now answers301and lands on a singleSennheiser brand page,
/en-us/immersive/dear-reality,which is the only remaining first-party source. That page says, in its own words:
So every entry gets the
discontinuedcategory. Two (dearvr-mix-se,dearvr-unity) alreadycarried it on
mainand were left byte-for-byte alone, which corroborates the read.This is the one judgement call in the PR and it is worth a reviewer's attention: the entries all
still match the current listing, so
merge-diff'sdiscontinuedbucket is empty byconstruction. The retirement was driven by the page's explicit end-of-life statement instead,
through a supplementary plan (
eol-plan.json) handed toapply-merge-discontinued.ts. Nothingwas deleted, no ID moved, and the category is the catalog's canonical marker rather than a
top-level
discontinued:key.The heuristic promoted 16 fields. Nine reached the YAML; the rest were
safe-keeportype/categories, which the apply step skips as non-schema.data/software/dear-reality-dearvr-pro-2.yamlfielddescription→ applied extracted valuethe center of the sound".
data/software/dear-reality-exoverb-micro.yamlfielddescription→ applied extracted valuedata/software/dear-reality-exoverb.yamlfieldspecs→ applied extracted valuedata/software/dear-reality-dearvr-micro.yamlfieldspecs→ applied extracted valuedata/software/dear-reality-dearvr-music.yamlfieldspecs→ applied extracted valuedata/software/dear-reality-dearvr-ambi-micro.yamlfieldspecs→ kept existingdata/software/dear-reality-dearvr-spatial-connect.yamlfieldspecs→ kept existingFour default-trust promotions were reverted by the review pass, because the live page's copy
is worse than what
mainalready carried. Each is a typo or naming slip on Sennheiser's side,not a correction:
dearvr-mix-se.yamldearvr-mix.yamldearvr-spatial-connect.yamlmiya.yamlReverting the
dearvr-mix-sedescription left that file identical tomain, so it is not inthe diff at all.
Buckets
Auto-resolved by heuristic: 16 field(s) — see list above. Nine files changed in total.
Conflicts requiring human review
None.
conflictCountwas 0.urlwas deliberately not extracted and every entry keeps the onemaincarries: there isno per-product page on sennheiser.com any more, only the shared listing page, so re-pointing the
entries would replace a redirecting URL with a listing URL. That decision is filed as a finding
(below) rather than made here.
Deterministic checks
data/software/dear-reality-dearvr-spatial-connect.yamldata/software/dear-reality-dearvr-micro.yamldata/software/dear-reality-exoverb-micro.yamldata/software/dear-reality-exoverb-micro.yamldata/software/dear-reality-exoverb.yamldata/software/dear-reality-dearvr-music.yamldetails, a marketplace availability notice rather than product descriptiondata/software/dear-reality-miya.yamlformats, while eight siblings have one. Neither the entry nor the page names a format, so there is nothing to fill it from. Needs an external source.supersedes-resolve.tsfound no candidates. Scopedpnpm validate --strict-unknown-keys,unscoped
pnpm validate,pnpm validate:translationsandpnpm buildare all clean for thesefiles; every ID is preserved.
Data review
miyahas noformats(see above)Counts, features and format lists reconcile across
description/details/specson everyentry: AMBI MICRO's 3rd order, MICRO's 5 acoustic materials, MIX's 55 headphone models, MUSIC's
18 reverb scenes, PRO 2's 35 formats / 9.1.6 / 46 environments, EXOVERB's 50 scenes and EXOVERB
MICRO's 8.
Robots
Findings filed
broken-url:dear-reality:dear-reality-com-sunsetThis finding was recorded and not filed, and it needs a person.
file-findings.tsexited 0as designed, but
gh issue createwas refused withGraphQL: Resource not accessible by personal access token (createIssue).SUBMISSIONS_GITHUB_PATwas not set in this run, and the ambient token can read
catalog-submissionsand create labelsbut has no Issues:write. The finding itself: all 11 Dear Reality entries carry a
urlunder thesunset
dear-reality.com, each 301s to the shared Sennheiser listing page, and no per-productpage exists any more. Someone has to choose between leaving the redirecting URLs, pointing all 11
at the listing page, or dropping
url. The payload is inscripts/catalog-import/data/dear-reality/findings.jsonland can be re-filed by re-runningfile-findings.tswith a token that has Issues:write.Two further products are named in the page's FAQ and have no catalog entry: dearVR MONITOR
and dearVR PRO (the v1 the catalog's
dearvr-pro-2supersedes). They were deliberately notfiled as
new-productsubmissions: both are legacy, neither has a product page anywhere anymore, and a submission that cannot be imported would loop through the maintenance lane forever.
Recorded here so the decision is visible.
Known tooling defect found by this run
scripts/shared/sitemap.tsthrowsRangeError: Maximum call stack size exceededon very largesitemaps (
allUrls.push(...urls)spreading a huge array at line 219). It is what made thisbrand's prestage record a failure stub (
"reason": "Maximum call stack size exceeded",platform: "none", 0 products) and it killsdiscover-urls.tsagainstsennheiser.com.Discovery here was done by reading the brand page directly instead. Not fixed in this PR, which
is a catalog data change; it belongs in racks.
Audit trail
scripts/catalog-import/data/dear-reality/inventory.jsonscripts/catalog-import/data/dear-reality/merge-plan.jsonscripts/catalog-import/data/dear-reality/eol-plan.jsonscripts/catalog-import/data/dear-reality/extracted/scripts/catalog-import/data/dear-reality/pages/(one file per product, plus thebrand page, which is what to read to verify a claim offline)
scripts/catalog-import/data/dear-reality/findings.jsonlscripts/catalog-import/data/dear-reality/robots.jsonlSummary by CodeRabbit