Repository navigation
fix: restore Kontakt compatibility, fail unknown compatibleWith slugs - #924
Conversation
The Plectra bouzouki library listed `kontakt`, which matches no entry. Point it at `native-instruments-kontakt` and turn the advisory W123 into the error E206. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019cRjoMGX966CDY2WcgLvvv
🦋 Changeset detectedLatest commit: 937f1b5 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 |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 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: This review used your included allowance. 4 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 8 reviews per hour. WalkthroughValidation now reports unknown ChangesCompatibility validation
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~12 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant validate
participant validateFile
participant checkCompatibleWith
participant softwareSlugs
participant hardwareSlugs
validate->>validateFile: Validate software or content file
validateFile-->>validate: Return successful validation
validate->>checkCompatibleWith: Check compatibleWith values
checkCompatibleWith->>softwareSlugs: Look up each slug
checkCompatibleWith->>hardwareSlugs: Look up each slug
checkCompatibleWith-->>validate: Return E206 for an unknown slug
Merge Risk: ⚪ Minimal · up to The compatibility-slug correction and E206 validation change are mergeable based on the available evidence. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The normal validation gate now rejects unknown compatibility references, and the catalog entry is corrected. No new privileged or runtime access path was identified. A separate file-scoped mode does not perform this cross-file check, so it should not be treated as a substitute for full validation. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Description
data/content/impact-soundworks-plectra-series-1-8-string-acoustic-bouzouki.yamllistedkontaktundercompatibleWith. That slug matches no file, so Studio dropped the Kontakt host for this library. It now namesnative-instruments-kontakt, the slug the other Kontakt libraries already use. Nothing else in that file changed.Was it the only one? Yes. I checked all 1,135
compatibleWithvalues in 864 files underdata/against the 13,115 file names indata/softwareanddata/hardware.kontaktwas the only unknown value.mainhad no new commits between the scan and this push. No values were left unresolved.Stopping the next one. The unknown-slug check was the advisory W123, which is how this reached
main. It is now the reference error E206:scripts/validate.ts: a new exportedcheckCompatibleWith()runs aftervalidateFile()in the software and content loops (the only schemas withcompatibleWith). It reports each unknown slug with its path and line. The W123 block incollectWarnings()is gone, and so are its two slug-set parameters, which nothing else used.scripts/lib/error-codes.ts:E206_UNKNOWN_COMPATIBLE_WITHreplacesW123_UNKNOWN_COMPATIBLE_WITH.scripts/__tests__/validate.test.ts: the W123 case is replaced bycheckCompatibleWithcases built on the existingwriteEntry/HARDWARE_OKfixtures. They cover an unknown slug (E206,compatibleWith[1], line 6), a fully resolved list, and an entry with nocompatibleWith.docs/VALIDATION_ERRORS.md. W123 had no section there. The W123 mentions inCLAUDE.md,scripts/generate-context.tsand the regeneratedschema/CONTEXT.mdnow say E206, and the staledataset-audit.tscomment is updated.Checked before switching: I ran
pnpm validateon the full data set with the data fix applied. It reported 0 W123 and exited 0, so nothing else starts failing. After the change, restoring the originalkontaktvalue makespnpm validateexit 1 withE206:6: Unknown compatibleWith reference 'kontakt'. With the fix it exits 0, with the same number of warnings as before.Type of Change
Checklist
pnpm validateand it passeshpI added or changed names its source in the descriptionAdditional Notes
pnpm lint,pnpm typecheck,pnpm test(699 passed),pnpm validate,pnpm validate:translations,pnpm format:check, and thegenerate:schemas/generate:contextfreshness checks.scripts/browser-import/classify.tsmaps categorykontaktto hostkontakt). That is being fixed separately. Until then, the importer's output now fails validation here instead of shipping.patch.🤖 Generated with Claude Code
https://claude.ai/code/session_019cRjoMGX966CDY2WcgLvvv
Generated by Claude Code
Summary by CodeRabbit