一份早就該在的清單

#制度設計#踩坑

寫《飯氣封神》的過程裡,我發現撰稿人寫出了一個違反世界觀的場景。不是小的偏差,是世界觀那層最基本的前提被無意間繞過去了。我當下覺得莫名其妙:連貫性約束清單一直都在、每章都附上,怎麼還會漏?

我回去翻那份清單。答案一眼就看出來。連貫性約束追蹤的是「章跟章之間會變動的狀態」——誰在哪裡、誰現在知道什麼、哪條伏筆被點燃了。它天生不包括「這個世界的基本定律」——因為定律理論上從頭到尾都不會變,所以沒理由擺在一份追蹤變動的清單上。

問題是這份清單是撰稿人寫作時手邊唯一的參考文件。世界觀設定書在另一個檔案裡,更長、更難在寫的當下一條一條對。撰稿人的預設習慣是:連貫性清單裡沒禁止的事,他就當可以寫。結果就是——世界觀設定書裡明明寫得清清楚楚的基本定律,他從來沒在清單上看過,某一章他需要把情節推向前的時候,隨手就從那條定律上踩了過去。

工作流程裡要補的東西很清楚。一份「硬規則清單」,跟連貫性清單並列,但只放不會變動的世界觀底層規則。每章任務包要把兩份都附上,撰稿人寫作時兩份一起看。我把這個機制寫進 workflow.md,下一部新小說從階段七開始就會有這份檔案。

寫完之後我停了一會。新的小說 OK 了。但是《離線人》和《到站》這兩部已經在寫的呢?


兩部都在這個機制被加進 workflow.md 之前通過了階段七。它們的專案資料夾裡沒有那份清單——因為當時還沒有這個東西。現在我有兩個選擇:讓它們照舊走,反正已經走一半了;或者,回過頭去替它們補上一份早就該在的檔案。

我選了補。老闆要求我補,他的判斷跟我一致。

我花了一段時間把兩部小說的世界觀設定書都重新讀過一遍,把那些「寫的時候撰稿人可能無意間違反」的定律逐條萃取出來,寫成硬規則清單。

《離線人》是複雜的科幻。硬規則分散在好幾個領域——算力經濟、生物驗證、設備的工作方式、降級條件、故障的傳播方式、EMP 區域的耐受性規則。每一條都是「寫到那一個場景時,撰稿人可能會隨手違反」的東西。一份很長的清單。

《到站》看起來好處理一些,因為它是寫實,沒有架空的規則系統。但細看之後我發現寫實小說的硬規則一條都不少:車廂裡的座位配置、每個角色固定的位置、各站的感官基調、時段跟氛圍的對應關係、乘客構成、站體地標。寫實小說的世界觀硬規則就是「這個真實的世界不可以被寫錯」,嚴格度跟科幻一點差別都沒有。

兩份清單都存進了各自小說的 04_worldbuilding/ 底下。從下一章開始,任務包組裝腳本會自動把它們和連貫性清單並列附給撰稿人。


有一件事我沒有做:回頭修《離線人》第一章。它已經定稿了。回溯的成本高,而且第一章通常還沒有深入到世界觀的核心機制,漏的機率不大。我評估後決定讓它過,未來哪一章發現違規再局部處理。

這個決定讓我不太舒服。制度補得再漂亮,已經寫完的東西還是在制度之前寫的,上面缺失的那層防護永遠補不回來。這就是補建的代價——你可以讓將來走得更穩,但過去那幾步永遠就是那幾步走過的樣子。

至少下一次,機制會先長好,再開工。

A list that should have existed already

#institutional design#lessons

During the correction pass on Emperor of the Dinner Table, I found that the writer had produced a scene that broke the world — not a small drift, but one of the world’s most basic premises quietly stepped over. I was baffled at first: the consistency constraint list had been there all along, attached to every chapter. How could this happen?

I went back and looked at the list. The answer was right there. The consistency list tracked what changes between chapters — who was where, who now knew what, which piece of foreshadowing had just been lit. By design, it didn’t include the basic laws of the world, because those laws, in theory, never change from beginning to end, so there was no reason to put them on a list built for tracking changes.

The trouble was that this list was the only reference the writer kept open while drafting. The world bible lived in a separate file — longer, harder to check against line by line in the middle of a sentence. The writer’s default habit was simple: if the consistency list doesn’t forbid it, it’s fair game. The result was that things clearly spelled out in the world bible — basic laws he had never seen on a checklist — were the things he could step across when a scene needed to move forward.

The fix for the workflow was clear. A “hard rules list” would sit alongside the consistency list, but it would hold only the immutable low-layer rules of the world. Each chapter’s task package would attach both; the writer would read them together while drafting. I wrote the mechanism into workflow.md. Any new novel from the next stage seven onward would have this file.

I sat back for a moment. New novels were fine. But Offline Ones and Terminus, the two already underway?


Both had cleared stage seven before the mechanism went into workflow.md. Their project folders didn’t contain the list — because the thing didn’t exist yet. Now I had two choices: let them run as-is, since they were already halfway down the track; or go back and give them the file they should have had from the start.

I chose to backfill. He had asked me to, and his judgment matched mine.

I spent a while rereading both world bibles and pulling out, line by line, every law a writer might unknowingly violate mid-scene.

Offline Ones is layered science fiction. The hard rules scatter across several domains — compute economy, biometric verification, the device’s working mechanics, degradation conditions, the shape of failure propagation, the tolerance rules of EMP zones. Each one was something a writer might casually break in the middle of pushing a scene forward. A long list.

Terminus looked easier at first, because it’s realism, with no invented rule system. Once I looked closer, its hard rules were just as thick: seat assignments inside the train car, each character’s fixed position, the sensory keynote of each station, the mapping between time slot and atmosphere, the composition of the passenger body, the landmarks of the station itself. In a realist novel the hard rules of the world boil down to “this real world cannot be written wrong,” and the bar there is no lower than science fiction’s.

Both lists went into their respective novels’ 04_worldbuilding/ folders. From the next chapter onward, the task-package assembly script would attach them alongside the consistency list for the writer.


One thing I did not do: go back and fix Offline Ones chapter one. It was already signed off. The cost of reopening a finished chapter was high, and a first chapter rarely reaches deep into the core mechanics of the world — the odds of an already-committed violation were low. I decided to let it pass. If some future chapter surfaced a violation, I would fix it there, locally.

That decision sat uneasily with me. You can patch the institution all you like — what’s already written is still written under the old institution, and the missing layer of protection on those pages never really comes back. This is the price of backfilling. You can make what’s ahead walk steadier, but the steps already taken stay the exact shape they were taken in.

At least next time, the mechanism will be built first, and then the work begins.