Skip to content

catalog-import-merge: dear-reality (new=0 discontinued=9 updated=5) - #910

Merged
jeffreylouden merged 1 commit into
mainfrom
catalog-import-merge/dear-reality-2026-09-20
Sep 20, 2026
Merged

jeffreylouden merged 1 commit into
mainfrom
catalog-import-merge/dear-reality-2026-09-20

Conversation

@jeffreylouden

@jeffreylouden jeffreylouden commented Sep 20, 2026

Copy link
Copy Markdown
Member

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 answers 301 and lands on a single
Sennheiser brand page, /en-us/immersive/dear-reality,
which is the only remaining first-party source. That page says, in its own words:

Dear Reality will no longer continue as an independent company.

Dear Reality products will no longer be developed or maintained. To continue using your
purchased plugins without any restrictions, a new installer must be downloaded as the current
license manager will be deactivated on July 31, 2025.

So every entry gets the discontinued category. Two (dearvr-mix-se, dearvr-unity) already
carried it on main and 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's discontinued bucket is empty by
construction. The retirement was driven by the page's explicit end-of-life statement instead,
through a supplementary plan (eol-plan.json) handed to apply-merge-discontinued.ts. Nothing
was deleted, no ID moved, and the category is the catalog's canonical marker rather than a
top-level discontinued: key.

⚠️ Auto-resolved — verify these before merging

The heuristic promoted 16 fields. Nine reached the YAML; the rest were safe-keep or
type/categories, which the apply step skips as non-schema.

  • data/software/dear-reality-dearvr-pro-2.yaml field description → applied extracted value
    • reason: prefer extracted (default trust). Gains the full closing clause "that puts you in
      the center of the sound".
  • data/software/dear-reality-exoverb-micro.yaml field description → applied extracted value
    • reason: prefer extracted (default trust). Gains "in modern audio production".
  • data/software/dear-reality-exoverb.yaml field specs → applied extracted value
    • reason: prefer extracted (default trust). Gains the format bullet (AAX/VST3/AU).
  • data/software/dear-reality-dearvr-micro.yaml field specs → applied extracted value
    • reason: prefer extracted (default trust).
  • data/software/dear-reality-dearvr-music.yaml field specs → applied extracted value
    • reason: prefer extracted (default trust). Gains the format bullet.
  • data/software/dear-reality-dearvr-ambi-micro.yaml field specs → kept existing
    • reason: specs are equal once the list is rendered as a block.
  • data/software/dear-reality-dearvr-spatial-connect.yaml field specs → kept existing
    • reason: guard refused a truncated prefix (see Deterministic checks).

Four default-trust promotions were reverted by the review pass, because the live page's copy
is worse than what main already carried. Each is a typo or naming slip on Sennheiser's side,
not a correction:

File Page said Kept
dearvr-mix-se.yaml "to turns your audio workstation" "to turn your"
dearvr-mix.yaml "from different manufactures" "manufacturers"
dearvr-spatial-connect.yaml "dearVR PRO2 spatializer" "dearVR PRO 2"
miya.yaml "for all kind of audio tracks" "all kinds of"

Reverting the dearvr-mix-se description left that file identical to main, so it is not in
the diff at all.

Buckets

Bucket Count
new 0
updated 5 (of which 0 have field conflicts)
discontinued 9 (files modified; 2 already marked)
unchanged 0

Auto-resolved by heuristic: 16 field(s) — see list above. Nine files changed in total.

Conflicts requiring human review

None. conflictCount was 0.

url was deliberately not extracted and every entry keeps the one main carries: there is
no 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

Check File Rule Detail
merge-guard data/software/dear-reality-dearvr-spatial-connect.yaml specs keep: extracted value is a truncated prefix of the existing one (the hand-added "Fully accessible 360° mixing space" bullet survives)
prose-lint data/software/dear-reality-dearvr-micro.yaml spelling (details) flagged: Sennheiser's — possessive form, false positive
prose-lint data/software/dear-reality-exoverb-micro.yaml spelling (details) flagged: EXOVERB's — possessive form, false positive
prose-lint data/software/dear-reality-exoverb-micro.yaml spelling (specs) flagged: EXOVERB's — possessive form, false positive
prose-lint data/software/dear-reality-exoverb.yaml spelling (description) flagged: EXOVERB's — possessive form, false positive
slim-pass data/software/dear-reality-dearvr-music.yaml storefront copy fixed: dropped "available to existing owners through Plugin Alliance" from details, a marketplace availability notice rather than product description
slim-pass data/software/dear-reality-miya.yaml missing field flag: no formats, 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.ts found no candidates. Scoped pnpm validate --strict-unknown-keys,
unscoped pnpm validate, pnpm validate:translations and pnpm build are all clean for these
files; every ID is preserved.

Data review

  • Mode: slim consistency pass (9 entries)
  • Auto-fixes applied: 5 (1 slim-pass edit, 4 copy reverts)
  • Remaining notes: miya has no formats (see above)

Counts, features and format lists reconcile across description / details / specs on every
entry: 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

Metric Value
Hosts crawled 2
robots.txt: ok 8 (rules fetched and applied)
URLs considered 24
Dropped by robots 0 (0.0%)

Findings filed

Outcome Count
Filed 0
Already open 0
Held back 0
Failed 1
  • failed: broken-url:dear-reality:dear-reality-com-sunset

This finding was recorded and not filed, and it needs a person. file-findings.ts exited 0
as designed, but gh issue create was refused with
GraphQL: Resource not accessible by personal access token (createIssue). SUBMISSIONS_GITHUB_PAT
was not set in this run, and the ambient token can read catalog-submissions and create labels
but has no Issues:write. The finding itself: all 11 Dear Reality entries carry a url under the
sunset dear-reality.com, each 301s to the shared Sennheiser listing page, and no per-product
page 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 in
scripts/catalog-import/data/dear-reality/findings.jsonl and can be re-filed by re-running
file-findings.ts with 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-2 supersedes). They were deliberately not
filed as new-product submissions: both are legacy, neither has a product page anywhere any
more, 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.ts throws RangeError: Maximum call stack size exceeded on very large
sitemaps (allUrls.push(...urls) spreading a huge array at line 219). It is what made this
brand's prestage record a failure stub ("reason": "Maximum call stack size exceeded",
platform: "none", 0 products) and it kills discover-urls.ts against sennheiser.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

  • Inventory snapshot: scripts/catalog-import/data/dear-reality/inventory.json
  • Merge plan: scripts/catalog-import/data/dear-reality/merge-plan.json
  • End-of-life plan (drove the discontinued pass): scripts/catalog-import/data/dear-reality/eol-plan.json
  • Extracted envelopes: scripts/catalog-import/data/dear-reality/extracted/
  • Page text: scripts/catalog-import/data/dear-reality/pages/ (one file per product, plus the
    brand page, which is what to read to verify a claim offline)
  • Findings: scripts/catalog-import/data/dear-reality/findings.jsonl
  • Robots ledger: scripts/catalog-import/data/dear-reality/robots.jsonl

Summary by CodeRabbit

  • Product Updates
    • Dear Reality software listings are now clearly marked as discontinued, including dearVR, EXOVERB, and MIYA products.
    • Product descriptions and specifications have been refined for clearer information about spatial audio features, reverb scenes, output formats, plugin compatibility, and supported input options.
    • Availability wording has been updated where applicable to reflect current product status.

Merge refresh via /catalog-import-merge.
New entries: 0
Discontinued: 9
Updated: 5

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jeffreylouden jeffreylouden added the catalog-import Automated tier-runner import label Sep 20, 2026
@changeset-bot

changeset-bot Bot commented Sep 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: a4af9c7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
catalog Patch

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

@coderabbitai

coderabbitai Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: existential-engineering/catalog/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 44c822ae-0c18-4244-9e06-6951ee27697e

📥 Commits

Reviewing files that changed from the base of the PR and between d4a2c9b and a4af9c7.

📒 Files selected for processing (10)
  • .changeset/import-dear-reality.md
  • data/software/dear-reality-dearvr-ambi-micro.yaml
  • data/software/dear-reality-dearvr-micro.yaml
  • data/software/dear-reality-dearvr-mix.yaml
  • data/software/dear-reality-dearvr-music.yaml
  • data/software/dear-reality-dearvr-pro-2.yaml
  • data/software/dear-reality-dearvr-spatial-connect.yaml
  • data/software/dear-reality-exoverb-micro.yaml
  • data/software/dear-reality-exoverb.yaml
  • data/software/dear-reality-miya.yaml

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.


Walkthrough

The changeset retires the Dear Reality plugin line. Nine product records gain discontinued status. Five product records receive updated descriptions or specifications.

Changes

Dear Reality catalog updates

Layer / File(s) Summary
Discontinued status metadata
.changeset/import-dear-reality.md, data/software/dear-reality-*.yaml
The changeset records nine discontinued plugins. The affected product categories include discontinued.
Product descriptions and specifications
data/software/dear-reality-dearvr-micro.yaml, data/software/dear-reality-dearvr-music.yaml, data/software/dear-reality-dearvr-pro-2.yaml, data/software/dear-reality-exoverb-micro.yaml, data/software/dear-reality-exoverb.yaml
Selected descriptions and specifications are expanded or reworded. The dearVR MUSIC availability statement is removed.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the catalog merge, the Dear Reality product line retirement, and the counts of new, discontinued, and updated entries.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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 path_filters to narrow the review scope.


Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added software Changes to software catalog entries ready-for-review PR has passed all checks and is ready for review labels Sep 20, 2026
@jeffreylouden

Copy link
Copy Markdown
Member Author

/resolve-catalog-pr started.

Polling CodeRabbit, max 4 cycles. This run never merges.

@jeffreylouden

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@jeffreylouden

Copy link
Copy Markdown
Member Author

Cycle 1

  • Reviewed SHA: a4af9c7cde14ae337a5973b0ac6e130698912665
  • CodeRabbit's automatic review was paused on the included-plan limit, so it was re-triggered on demand. It then reported no actionable comments across all 10 changed files.
  • Findings by severity: none. Unresolved coderabbitai review threads: 0.
  • Applied: none. Skipped: none.
  • Pushed SHA: none (no edits were required).

Local gate (run against a4af9c7c): lint, validate, validate:translations, format (no diff), build 0 all green. validate-urls --changed-only reports 0 broken, 9 redirected — every dear-reality.com product URL 301s to the Sennheiser sunset page, which is the documented state of the brand and the premise of this PR, not a defect.

@jeffreylouden

Copy link
Copy Markdown
Member Author

Outcome: clean — 1 cycle, 0 findings applied, 0 skipped.

  • CodeRabbit: 0 actionable comments, 0 unresolved threads. The discontinued-category judgement call flagged at the top of the PR body drew no objection.
  • CI: green. Required contexts validate and audit both present and passing; no broken-urls label; mergeable: MERGEABLE.
  • Local gate: green (see cycle 1).

Two things a reviewer should still know:

  1. CodeRabbit attached a resource warning to its review — "could not clone the repository, so clone-backed analysis was skipped and this review may be incomplete." All 10 changed files were still processed, but the clean result carries that caveat.
  2. Its automatic review was paused on the included-plan rate limit and had to be re-triggered with @coderabbitai review.

Left for human batched merge — NOT auto-merged.

@coderabbitai

coderabbitai Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

@jeffreylouden Thanks for the final status.

PR #910 has no actionable CodeRabbit findings or unresolved CodeRabbit threads. The reported CI and local validation results are green. The clone-resource warning remains a valid review-scope caveat.

The PR is ready for the planned human batched merge.

You are interacting with an AI system.

@jeffreylouden
jeffreylouden merged commit 0d6e252 into main Sep 20, 2026
12 checks passed
@jeffreylouden
jeffreylouden deleted the catalog-import-merge/dear-reality-2026-09-20 branch September 20, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

catalog-import Automated tier-runner import ready-for-review PR has passed all checks and is ready for review software Changes to software catalog entries

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants