roger@daliai~/workshop/notes/acht-phasen-elf-agenten· note
LUCERNE · 47.05°Nreadonly
← cd ~/workshop/notes
2026-03-14·Quality·14 MIN READ

What the Bolmor curator system taught me about pipeline compliance vs. reader satisfaction.

What I learned while building the Romanwerk pipeline about the difference between "pipeline validated" and "book works" — and why I had to invent a new category of hard rule for it.

The moment it got expensive

I had five chapters. Each one had run through the full pipeline. P1 Planner: valid. P3 Writer: valid. P3B Critique: acceptable. P4 Reviewer: PASS. P4A Special Auditors: clean. P6 Archivist: merged. No HOLD cycles, no repair rounds, no audit warnings. Technically one of the cleanest runs I had ever seen.

Then I sent the block through the curator.

The curator is a separate agent — not part of the production pipeline. Its job is to hold a finished chapter cluster against the published genre standard. It scores along 19 G-criteria: G01 Narrative Arc, G05 Loot, G09 Quests, G14 Crafting, G18 Factions, G19 Monsters, and so on. Each criterion 0–100. The 90 line counts as "publishable", anything below is hobbyism.

Here is what the curator returned for chapters 1–5:

G05 Loot: 45

G09 Quests: 50

G14 Crafting: 40

G18 Factions: 55

G19 Monsters: 50

I stared at these numbers. Every single chapter had gotten PASS in the pipeline. Every single artefact was valid. Every reviewer had given green light. And the curator was saying: your book is a LitRPG that fails to deliver on half of its genre promises.

That was the day I understood: a pipeline that only validates against its own rules optimises for compliance — not for outcome. And between compliance and outcome there can be a gap that no amount of additional pipeline rules will close.

What I had naively assumed

My quality system up to that point was cleanly layered. Hard Rules HR 106 to HR 114 enforced LitRPG elements in P4 Reviewer: from chapter 6, a loot event must occur; from chapter 8, a named faction must appear; from chapter 8, a monster with distinguishable traits must show up, and so on. If a chapter violated these rules, the reviewer issued HOLD, the repair writer patched, and the canon stayed clean.

On paper: solid genre enforcement. In practice: the reason the curator gave us 45 for loot.

The problem with HR 106–114 was not that they were wrong. They were too late. They activated from chapter 6. But the curator was scoring the block of chapters 1–5. In that block the pipeline was rule-compliant — because in that block no rules existed it could have violated. No HR violation active, no REPAIR trigger, no problem visible.

The pipeline was green because it had checked against what it had checked. And that was not what the reader expects.

What did not work

The obvious fix: have the rules trigger earlier

My first reflex was banal. If HR 106–114 trigger too late, I'd pull them forward. HR 106 from "from chapter 6" to "from chapter 1". Same for HR 108, HR 111, HR 114. Done.

It did not work.

The reason these rules originally only became active from chapter 6 was not laziness. It was that the build-up of a LitRPG novel needs air in the first chapters. The world is established, the protagonist arrives, the system introduction happens. If I force chapter 2 to contain a named loot event and a faction and a distinguishable monster, I'm pushing the writer into overstuffed chapters that have no breathing room. The curator punishes that too — this time on G01 Narrative Arc and G02 Pacing.

So I tried softening. HR 106 from chapter 2, but as a soft rule. If the writer doesn't deliver, there's a warning instead of HOLD. The reviewer lets it through. The curator still produces weak scores, because the warning was logged but never resolved.

Neither stricter nor softer worked. That was the point at which I stepped back and asked: what exactly is the problem here?

The problem was not "wrong", it was "absent"

The pipeline rules were all designed to catch violations. If a chapter contained a loot event that was wrongly described — wrongly weighted, wrongly localised, not contextual — the reviewer would find it and trigger REPAIR.

But if a chapter contained no loot event at all, there was nothing to review. The reviewer didn't see the absence. It saw a text, found no violations, and gave PASS. The pipeline validates what is there, not what is missing.

Exactly the same for quests (technically no active quest in block ch001–ch005 — the writer established goals but named none). For factions (the world had factions in canon, but no chapter referenced them by name). For monster distinctiveness (enemies were described, but not with a distinguishable trait set). For crafting (the protagonist had a crafting component in the class, but no chapter showed a crafting moment).

Every single G-criterion the curator scored us under 60 on failed not because of a violation. It failed because of an emptiness. And emptiness can't be reviewed. Emptiness can only be planned for.

The second lesson: genre is a contract, not a feature

That was the moment I understood what curator and pipeline measure differently.

The pipeline measures against an internal rule set: formal consistency, canon fidelity, schema compliance, style fingerprint. If a chapter satisfies these rules, it is technically correct.

The curator measures against an external expectation model: the genre model of an actual LitRPG reader. A LitRPG reader who has read no loot event after chapter 5 doesn't ask "were the texts in these five chapters formally consistent?". They ask "is this even a LitRPG?". The genre is an implicit promise between author and reader: you give me loot, quests, level-ups, factions, crafting, distinguishable monsters — at a comprehensible frequency and distribution, and I'll buy your book.

The pipeline structurally could not have known this promise. It only had rules, not the contract. And rules that react to violations cannot keep a contract — they can only correct it when it is actively broken. Absence is not an active break.

The fix: HR 124 — genre-contract early planting

The fix was a new category of hard rule, not a new rule. HR 124 doesn't sit in P4 Reviewer. It sits in P1 Strategic Planner. And it doesn't catch violations — it demands promises.

New P1 obligation: genre_contract_targets

Since HR 124, P1 produces an explicit block per chapter:

genre_contract_targets:
  reward_element: loot | skill_gain | resource_discovery |
                   faction_favor | information_reward | none_justified
  reward_element_description: "ein Satz, konkret, nicht generisch"
  quest_thread_active: "Name des aktiven Quest-Strangs ab ch002"
  quest_progress_this_chapter: discovery | advance | complication | setup
  faction_reference: "benannte Fraktion ab ch004"
  enemy_distinctive_trait: "konkrete Gegner-Eigenschaft bei Kampf"
  crafting_moment: "wenn Klasse Crafting-Komponente hat"

These are not rubrics a reviewer checks later. These are fields P1 must fill in before a chapter is even planned. If P1 leaves them empty or fills them with none_justified, the second half of the rule kicks in.

The other half: P1 retry instead of P4 repair

The central architecture detail is where HR 124 triggers on violation. HR 106–114 trigger on violation in the reviewer and trigger repair in the writer. HR 124 triggers earlier: on violation in the strategic planner and triggers retry in the planner itself.

The enforcement matrix:

Reward: mandatory from chapter 1. At most two consecutive chapters with none_justified allowed. Three in a row → P1 Retry.

Quest: mandatory from chapter 2. quest_thread_active must contain a named quest. At most two consecutive chapters "none_established".

Faction: mandatory from chapter 4. A named faction reference must exist. "none" from chapter 4 = P1 Retry.

Monster: mandatory at every fight. enemy_distinctive_trait not empty, otherwise P1 Retry.

Crafting: if the protagonist class has a crafting component, one must occur per five chapters.

The difference between P1 retry and P4 repair is not cosmetic. A P4 repair reacts to a bad draft by patching it after the fact. A P1 retry prevents the draft from ever being written without the genre promise standing in the plan. The writer gets a chapter brief that already contains the necessary genre elements as concrete planning targets. They don't have to squeeze them in afterwards. They build them in from the start, often elegantly, because they were planned into the scene structure, not glued on.

The distinction that mattered

HR 106–114 stayed in place. They continue to trigger reactively in the reviewer. HR 124 doesn't replace them — it complements them. The two layers cover different error classes:

HR 124 prevents absence. A chapter without a loot element doesn't get past P1.

HR 106–114 correct flawed presence. If a chapter has a loot element that is wrongly localised or weakly described, the reviewer catches it.

That's the actual architectural point: a complete quality system needs both layers. One for planning, one for execution. Whoever only reviews reactively only catches errors of doing — never errors of not-doing.

What works now

After the HR 124 introduction, a new ch001–ch005 block ran through the pipeline. Same novel, same protagonist, same models. Changed rule: P1 had to deliver genre_contract_targets per chapter, and on none_justified above threshold it was forced into retry.

The curator re-audit:

G05 Loot: 45 → 92

G09 Quests: 50 → 88

G14 Crafting: 40 → 91

G18 Factions: 55 → 85

G19 Monsters: 50 → 84

That wasn't a bit better. That was the jump from "hobbyism" to "publishable". And the mechanism was not that the chapters were better written — the writer got the same prompt stack, the same model, the same style rules. The mechanism was that the plan was complete. For chapter 2, the writer no longer had just "protagonist explores the city" as the brief. They had "protagonist explores the city, finds an artefact (reward_element: resource_discovery), stumbles into a fringe conflict of the Blutschatten faction (faction_reference), and the artefact opens the active quest thread Die schweigende Glocke (quest_thread_active)". The writer didn't have to find these elements — they just had to write them.

Pipeline validation stayed green. The repair rate stayed low. Average cycle time per chapter barely changed. The only difference: chapters 1–5 now fulfilled the genre contract.

What I do differently today

When I build a quality system today — whether for book production, a trustee copilot or an autonomous code pipeline — I ask two questions about every rule:

First: does this rule catch a violation, or does it prevent an absence? If it catches a violation, it sits correctly in the reviewer. If it prevents an absence, it belongs in the planner. Those are two different places in the process and two different types of enforcement. A system that knows only one type has structural blind spots.

Second: do I have an external quality concept against which I can measure myself? If my pipeline only validates against its own rules, it measures compliance, not outcome. Outcome is always decided by something outside the pipeline — a reader, a trustee, a player, a customer. The curator in the Bolmor stack is a machine stand-in for that external view. Every pipeline I build now needs such a stand-in. It's not part of production, it's its external touchstone.

And I build rules in two colours. One part sits in the planner and enforces promises — what must appear in this artefact without anyone having to insert it later. One part sits in the reviewer and catches violations — what must not be the case if something is present. The pipeline that knows only the second colour produces artefacts that are technically correct and substantively empty.

That is the actual breakthrough this fix gave me. Not HR 124 itself — but the difference between a pipeline that runs checks and one that plans promises. The first prevents errors. The second delivers outcome. A serious quality system needs both.

The lesson cost me five chapters with G-scores under fifty, three days of re-architecture, and an HR number I had not originally planned to introduce. It made the difference between "the pipeline merged" and "the book works". And it has by now become the pattern I bring into every other vertical AI system as well — into Fiskal AI just as much as Gipfel AI. Absence cannot be reviewed. It must be planned for.