Repository programs always need local customization (metadata defaults, workflows, branding, integrations). The trouble starts when those changes land in core code: upgrades become archaeology, diffs sprawl, and "we'll upgrade later" turns into years. Hyku Knapsack is how we avoid that in the Samvera Hyku ecosystem. It's a wrapper repository that keeps upstream Hyku as a Git submodule and keeps institution-specific code in the wrapper. Rails loads the wrapper first, so local overrides win without forking upstream. In this Developer Track session I'll do a quick architecture overview, then a live demo: adding a custom override the knapsack way (mirror upstream paths, use decorator. rb, prefer super, and use Module#prepend when needed). I'll close with upgrade/migration tips and a simple rubric for what should live in your wrapper versus what belongs upstream.
Shana Moore (Wed,) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: