Is there a known license where all derivative works must be made public?
Consider this: I give copyleft code to team X. Team X improves code and only shares/uses it internally. This situation is legal because team X is not sharing their derivative works with the world, therefore they are under no obligation to share the derivative code with the world (or even back to me). Please correct me if I'm wrong.
Is there a way to force the recipient to agree that derivative source code must be published somehow?
The AGPL comes close, as it creates copyleft obligations for a person whenever they distribute the software or whenever they offer access to a modified version as a network service. (Normally, this is "private" use under other copyleft licenses.)
I'm not aware of any license that meets your requirements, and I have some concerns about how such a license would work in practice, some of which impact the license's status as FLOSS and others which merely cause tremendous annoyance:
Every keystroke (or surely at least every new line of code) you make in the code may create a new, separate derivative work under copyright law. Must you distribute each and every intermediate work? For sanity's sake, let's assume not: your obligations only apply whenever you make the work available to any other person, even privately.
When you perform distribution (or in the more ridiculous case, make a keystroke in the code), to whom must you offer the code?
a. To each and every licencor of licensed code you use? In this case, you probably fail the "desert island test" -- you may only prepare or privately distribute the code if you can get in touch with the licencors. Also, this can be annoying if the code has many authors, and you need to get in touch with, e.g., hundreds of authors every time you privately do anything with the code.
b. To "the public" at large? If so, are my obligations satisfied if I simply post a small sign outside my office building saying, "There's source code in here; come inside and get it if you want"? If not, and you want something broader, that probably also fails the desert island test. If that is enough, see problem #3.
When may you stop offering the code? Distribution-based copyleft licenses limit their obligations to only as long as (or at the same time as) you distribute the object code, but making a modification doesn't involve any other person and happens at a single instant in time. It's not clear how the license should ensure that the code is made available long enough for anyone to get a copy. Do I need to keep the sign up outside my office for any arbitrary amount of time? A year? Forever?