Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .changeset/pioneer-manual-links.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
"catalog": patch
---

Repoint dead manual links on 7 Pioneer DJ effector entries. The
`downloads.support.alphatheta.com/manuals/dj-effectors/` tree no longer
exists, so every link under it 404s; AlphaTheta moved manual content into
support articles. EFX-1000 keeps its "Specifications" title against a
dedicated specifications article; the other six point at the instruction
manual and are retitled, since the per-page anchor no longer exists.
32 changes: 32 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,38 @@ cohort working:
- Use Prettier for YAML formatting
- Data follows strict schemas defined in `scripts/lib/types.ts`

### Incremental Patches

`pnpm patch` emits SQL that brings a released `catalog.sqlite` up to HEAD. It
reads the rows out of a freshly built database rather than encoding the YAML a
second time, and that is the whole point of its shape.

- **Never hand-write a table's INSERT into `generate-patch.ts`.** It used to,
and covered sixteen of the sixty-odd tables `build-sqlite.ts` writes: I/O,
prices, links, versions and variants were left stale on a patched database,
markdown reached HTML columns unrendered, and category aliases went in
unnormalized. The table graph is reflected from the built schema, so a new
child table or column is carried for free. Adding a hand-written block
reintroduces the drift.
- **A collection owns its child tables by name prefix.** `content_compatibility`
references both `content` and `software`, but only `content` owns it. A new
child table has to carry its collection's prefix and a foreign key reaching
the root, or reflection fails loudly rather than skipping it.
- **A rewritten entry's root row is upserted, never deleted.** Another entry's
`supersedes_id` can point at it, and dropping the row trips that key even
though it is about to come straight back.
- **A nested row resolves its parent by natural key.** `hardware_variants.id`
is assigned per build, so the target database has its own numbering and
carrying the build's ids across would attach prices to the wrong variant.
- **The version stamp is written only when every change resolved.** A patch
that skips a change and still stamps leaves a database claiming content it
does not have, which is what makes the other failures hard to diagnose after
the fact.

A patch only rewrites entries whose YAML changed, so renaming a manufacturer
leaves the denormalized `manufacturer_name` stale in the FTS rows of its
unchanged products. Ship a full database when manufacturer names move.

## Data Entry Format

Manufacturers require: name, url
Expand Down
2 changes: 1 addition & 1 deletion data/hardware/pioneer-dj-efx-1000.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ links:
- url: https://support.alphatheta.com/products/4416594001049
type: support
title: Support
- url: https://downloads.support.alphatheta.com/manuals/dj-effectors/EFX-1000/EFX-1000_DRB1368_manual?page=28
- url: https://support.alphatheta.com/articles/24199943617177
type: resource
title: Specifications
4 changes: 2 additions & 2 deletions data/hardware/pioneer-dj-efx-500-r.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ links:
- url: https://support.pioneerdj.com/hc/sections/4416580053785-EFX-500
type: support
title: Support
- url: https://downloads.support.alphatheta.com/manuals/dj-effectors/EFX-500/EFX-500_DRB1236_manual?page=26
- url: https://support.alphatheta.com/articles/4550917677209
type: resource
title: Specifications
title: Instruction Manual
4 changes: 2 additions & 2 deletions data/hardware/pioneer-dj-efx-500.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ links:
- url: https://support.alphatheta.com/products/4416580053785
type: support
title: Support
- url: https://downloads.support.alphatheta.com/manuals/dj-effectors/EFX-500/EFX-500_DRB1236_manual?page=26
- url: https://support.alphatheta.com/articles/4550917677209
type: resource
title: Specifications
title: Instruction Manual
4 changes: 2 additions & 2 deletions data/hardware/pioneer-dj-rmx-1000-m.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ links:
- url: https://support.alphatheta.com/products/4416587889433
type: support
title: Support
- url: https://downloads.support.alphatheta.com/manuals/dj-effectors/RMX-1000/RMX-1000_DRB1587D_manual?page=24
- url: https://support.alphatheta.com/articles/4404659858201
type: resource
title: Specifications
title: Instruction Manual
4 changes: 2 additions & 2 deletions data/hardware/pioneer-dj-rmx-1000-w.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ links:
- url: https://support.alphatheta.com/products/4416587889433
type: support
title: Support
- url: https://downloads.support.alphatheta.com/manuals/dj-effectors/RMX-1000/RMX-1000_DRB1587D_manual?page=24
- url: https://support.alphatheta.com/articles/4404659858201
type: resource
title: Specifications
title: Instruction Manual
4 changes: 2 additions & 2 deletions data/hardware/pioneer-dj-rmx-1000.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ links:
- url: https://support.alphatheta.com/products/4416587889433
type: support
title: Support
- url: https://downloads.support.alphatheta.com/manuals/dj-effectors/RMX-1000/RMX-1000_DRB1587D_manual?page=25
- url: https://support.alphatheta.com/articles/4404659858201
type: resource
title: Specifications
title: Instruction Manual
4 changes: 2 additions & 2 deletions data/hardware/pioneer-dj-rmx-500.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ links:
- url: https://support.alphatheta.com/products/4416580089753
type: support
title: Support
- url: https://downloads.support.alphatheta.com/manuals/dj-effectors/RMX-500/RMX-500_DRH1251A_quickstart-manual?page=14
- url: https://support.alphatheta.com/articles/4404659866137
type: resource
title: Specifications
title: Instruction Manual
Loading
Loading