Skip to content

The Content Form Review's class 3 makes inventing a mechanism the compliant move #142

Description

@KimGLee

Found by running the rule on a real batch. Six pages, four of them came back with fabricated causal claims on the first pass — not from carelessness, but because following the rule as written leaves no other exit.

What the rule says

profiles/examples/agent-atlas/language-contract.md, Content Form Review:

  1. Compressed narrative. Parallel bullets that carry causality, mechanisms, or failure analysis are rewritten as connected prose. The prose makes causal and trade-off relations explicit and is judged by whether it explains the mechanism, not by enumeration completeness.

Two things about that sentence interact badly.

The precondition is easy to drop. The class applies to bullets that carry causality. A bare noun-phrase list carries none, so by the rule's own terms it is not class 3. But the operational signal an executor actually sees is "this section is 90% list and 10% prose" — the same signal K10/01 line 53 flags — and that signal does not distinguish a compressed causal chain from an enumeration that never had one. Nothing in the rule turns carry into a test.

Once the misclassification happens, the second half compels invention. The prose "is judged by whether it explains the mechanism." If the source bullets state no mechanism, an executor that has classified them as class 3 must either supply one or contradict its own classification. Supplying one is the locally compliant move.

Measured

One batch, six pages, type: concept / system-design / overview, 59–150 list items each against 7–27 lines of prose. First pass invented on four of six. Across an independent review, a repair pass, an integrator check and two K12/12 rounds, ~95 unsupported additions were removed: fabricated causal links, invented orderings ("代价依次上升"), a quantity the page never gave, absolutes ("不会在任何一项指标上显形"), superlatives, modal strengthening (可能有 → 会有), and a section map the page does not follow.

Three sections ended as "the source states no mechanism, so the enumeration stays" — a disposition the rule does not offer. It was invented mid-repair and both K12/12 rounds upheld it.

Why the existing rules do not catch this at authoring time

Two of the findings do land on real rules — K07/02 line 54 (body tone must match claim type) covers the modal strengthening, and K12/01 line 43 covers the invented quantity. The rest fall in a gap:

  • K07/02 line 21: "Common-sense connective sentences do not require per-sentence citation, but 'common practice' MUST NOT be used to mask unverified facts." A class-3 rewrite produces exactly the connective-sentence layer this exempts. The exemption is reasonable — nobody wants a citation per conjunction — but it is written as if connective sentences carry no claims, and a prose rewrite of a causal chain is a connective sentence that carries the claim.
  • K11/04 is the only MUST NOT ... unsourced in the kernel, and it is scoped to derived expression artifacts, not canonical pages.
  • K12/12 catches it — it caught all of this — but it runs at review, and it is mandatory only for L-tier.

So on an M-tier page the loop can close with the invention still in place.

What would fix it

Not more prohibition. The executor in this batch was explicitly instructed not to invent and invented anyway, because the classification had already made invention the compliant path. Two changes, both in the rule rather than in discipline:

  1. Operationalize carry. State the test: a list is class 3 only if the causal or mechanistic content is present in the source. Bare enumerations are not class 3 no matter how list-heavy the section looks.
  2. Give the rule a fifth disposition. "The bullets carry causality but the source does not state the mechanism" needs a named outcome — keep the enumeration, register the gap — and an explicit line that a mechanism absent from the source is never supplied to satisfy the prose requirement.

(2) also closes the K07/02 line 21 gap for this case: exempt from citation is not the same as free to carry a new claim.

Scope

The rule ships in profiles/examples/agent-atlas/, so every adopter starting from that example inherits it. K07/02 is kernel. Filing both halves here rather than fixing them in one adopter's own profile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions