A Topic can hold hundreds of keywords, each with multiple kinds of content, and that number grows with each release that adds a new content type. Every piece is built by its own background task, so the system scales with the types instead of being fixed to them. Two paired panels keep track of all of it. The Completeness Audit shows what's missing. The Completeness Tasks panel shows the work filling it in. Each one links to the other for the same Topic.
Every piece of content is made by its own task, generated for one user › topic › keyword › content type. Completeness Tasks audits the tasks as they queue and run. The Completeness Audit checks the content they leave on disk, and Resolve sends only what failed back to be generated again.
Scroll sideways to see the whole cycle.
Checks every keyword in a Topic against one written rule of what "complete" means, and shows exactly which content types fall short.
Tick the Topics or keywords and press Resolve. Only what the audit shows as failing is sent off, so nothing that's already complete is redone.
The background work, counted by content type: what has run, what succeeded, what failed and what's still waiting. It's filtered to the Topics you pick.
When the tasks finish, the audit clears. Content derived from the newly arrived native files follows on its own.
The cycle is not built around a fixed list. A new content type is registered once, and the same generator, queue and workers build it for every keyword in every Topic. The audit's rule for "complete" is extended to include it, and it gets its own counts in Completeness Tasks and its own bar in Content Statistics, like every type before it.
A keyword still missing content is tinted in the list, so you can see the gaps before opening the audit.
A histogram of how much usable content each keyword holds, one bar per content type.
Every content button, native or derived, lights up when its content is ready and greys out when it isn't. What you see is what's there.