Uma alternativa, pelo que entendi ai, seria no seu build do framework colocar no nome dele um HASH (ou string aleatória) porque ai pra você atualizar no projeto que puxa o Framework, você teria que atualizar na mão.
Usando a CDN do Boostrap, na hora do build ao invés de gerar um "bootstrap.min.js", e chamar a URL "https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js". Você geraria um arquivo "bootstrap[8a7h281ha].min.js" e chamaria a URL com esse nome em específico. Assim sempre teria que atualizar manualmente no projeto que carrega o framework e teria certeza de qual versão/release/etc está usando.
Acho que seria +- isso aqui https://webpack.js.org/guides/caching/
Além de usar hash teriam outras estratégias, mas acho que seria +- essa a forma mais fácil se você quer que realmente só atualize quando você queira.
Neste caso então, a minha estrutura de arquivos precisa ser de uma forma que tenha algum build? Nao poderia ter apenas um arquivo js? Pergunto pois o meu "framework" na verdade é apenas um arquivo js com diversas funções, me perdoe a ignorância no assunto, estou realmente iniciando nesta área de CI/CD.
Muito obrigado pela ajuda!