Skip to content

docs/design: import-layer plan + modular-backends reconciliation - #9

Merged
vynulldev merged 2 commits into
mainfrom
import-layer-design
Jul 10, 2026
Merged

docs/design: import-layer plan + modular-backends reconciliation#9
vynulldev merged 2 commits into
mainfrom
import-layer-design

Conversation

@vynulldev

Copy link
Copy Markdown
Owner

What & why

Documents the modular-import direction that shipped in the import-layer refactor, and keeps the two design docs from drifting.

  • Adds docs/design/import-layer.md: the design for generalizing library import behind an ImportBundle plus an Importer registry. Records why the seam lives in library rather than core (import populates the concrete library.Library and carries rekordbox-shaped side-data the neutral core.Importer never modelled), the decisions (rename MasterDB{Cue,Asset} to Imported{Cue,Asset}, extract the apply pipeline, delete the dead core.Importer), and the phased build-green plan.
  • Updates docs/design/modular-backends.md: a Status section plus per-step tags so it agrees with the above. Steps 1-2 shipped; the neutral-cache flip (3d) and the serve-side decoupling (steps 3-4) are deferred until a second protocol can be validated on Denon/StageLinq hardware; step 5 (library formats) was pulled forward and is refined by import-layer.md, which lands the adapter in library (not core) and supersedes the thin core.Importer from step 1.

Docs only — this captures decisions from already-merged work; no code changes.

Hardware testing

  • Tested on: N/A: documentation only. No code, protocol, or deck-facing change.

Checklist

  • go build ./..., go vet ./..., and go test ./... pass — n/a, docs only (no code changed)
  • gofmt -l . is clean — n/a, no Go files
  • New source files carry an SPDX header (GPL-3.0-or-later) — n/a, design docs (Markdown) follow the existing docs/design convention of no SPDX header
  • Tested on real hardware (deck + firmware noted above), or this change doesn't affect deck behaviour
  • I agree my contribution is licensed under the project's GPLv3

vynulldev added 2 commits July 9, 2026 19:16
Capture the design for an ImportBundle + Importer interface + registry
that unifies the three importers (rekordbox XML/master.db, Traktor NML)
and the backup-zip container behind one seam, so adding a format is
implement-and-register. Records the decisions (library not core, rename
MasterDB{Cue,Asset} -> Imported{Cue,Asset}, extract the apply pipeline,
delete the dead core.Importer) and a phased build-green plan. No code
change; implementation scope TBD.
Add a Status section and step tags to modular-backends.md so the two
docs don't drift: steps 1-2 shipped; 3d and steps 3-4 (serve-path /
core.Backend / api decouple) are deferred pending StageLinq hardware;
step 5 (library formats) is pulled forward and refined by
import-layer.md, which lands the adapter in library rather than core and
supersedes the thin core.Importer from step 1.
@vynulldev
vynulldev merged commit 51bf35d into main Jul 10, 2026
1 check passed
@vynulldev
vynulldev deleted the import-layer-design branch July 10, 2026 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant