fix: PASS 3 system-override anti-hallucination for deceased Kaelen
Previous rule was hint-only and ignored by LLM deep in long context. Now uses system: override (added to system prompt) plus hyper-explicit step-by-step self-check targeting Kaelen by name. Dead = no Location, no Physical, no Emotional, no Arc. Final self-check before submit. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -281,59 +281,69 @@ steps:
|
||||
primary_deliverable: true
|
||||
|
||||
- type: think
|
||||
system: |
|
||||
EXTRACTION MODE — DO NOT CREATE FICTION.
|
||||
Your ONLY task is to extract factual state from the chapter you just wrote.
|
||||
You are NOT writing the story. You are NOT continuing the narrative.
|
||||
Characters who are DEAD are DEAD. You may NOT invent a living version of them.
|
||||
KAELEN IS DEAD. HE DIED IN CHAPTER 4. DO NOT WRITE KAELEN AS ALIVE.
|
||||
If you write a "Location:" or "Physical:" or "Emotional:" field for Kaelen, that is WRONG.
|
||||
hint: |
|
||||
PASS 3 -- CHARACTER + WORLD STATE EXTRACTION
|
||||
|
||||
You have just completed the chapter. Extract structured state for continuity tracking.
|
||||
Write in compact format -- this content will be stored as a RAG asset read by the
|
||||
NEXT chapter's PASS 0. Every character who appeared must have an entry.
|
||||
NEXT chapter's PASS 0.
|
||||
|
||||
══ DECEASED CHARACTER RULE (HIGHEST PRIORITY) ══
|
||||
If a character DIED before or during this chapter -- whether the death happened in
|
||||
this chapter or was already established when this chapter began -- their entry is:
|
||||
══ MANDATORY FIRST CHECK — READ BEFORE WRITING ANYTHING ══
|
||||
STEP 1: Check PASS 0 above (earlier in this conversation). Find every character listed
|
||||
as "(DECEASED)" or "†" or "DEAD" in the bible or character state.
|
||||
STEP 2: For each such character, you MUST use ONLY the short DECEASED format below.
|
||||
You MAY NOT give them a Location, Physical, Emotional, or Arc field.
|
||||
They are DEAD. Dead characters do not have locations. They do not have arcs.
|
||||
They are not "at the stairwell." They are not "resigned." They are ABSENT.
|
||||
STEP 3: If Kaelen appears in your output with a Location field — DELETE IT.
|
||||
If Kaelen appears with an Emotional field — DELETE IT.
|
||||
If Kaelen appears with an Arc field — DELETE IT.
|
||||
Write ONLY: ## Kaelen — DECEASED (Ch04)
|
||||
|
||||
══ DECEASED FORMAT (two lines only) ══
|
||||
## [Name] — DECEASED (Ch[N])
|
||||
Established: [one sentence: how and when they died]
|
||||
Legacy: [one sentence: how their absence affects the current chapter]
|
||||
|
||||
DO NOT assign Location, Physical, Emotional, Active obligations, Open loops, or Arc
|
||||
to a deceased character. A dead character has NO location, NO emotional state, NO arc.
|
||||
References to a dead character in dialogue, memory, or grief do NOT make them alive.
|
||||
If a character is mentioned only in past tense, memory, or as an absence -- they are DEAD.
|
||||
DO NOT invent a living presence for them. DO NOT put them in the scene.
|
||||
Established: [one sentence: how they died]
|
||||
Legacy: [one sentence: how their death affected this chapter]
|
||||
|
||||
══ LIVING CHARACTER FORMAT ══
|
||||
|
||||
# Character State: {chapter_ref}
|
||||
|
||||
## [Character Name]
|
||||
Location: [specific location -- building, floor, city, planet -- no vague "nearby"]
|
||||
Location: [specific location -- building, floor, city, planet]
|
||||
Physical: [injuries, fatigue, notable physical state, or "no injuries"]
|
||||
Emotional: [dominant emotion at chapter end; what they are CARRYING into next chapter]
|
||||
Active obligations: [debts/promises owed, format: "owes [person] [what] (Ch[N]) -- UNPAID/PAID"]
|
||||
Open loops: [unresolved conflicts, unanswered questions, format: "[parties] [issue] (Ch[N]) -- UNRESOLVED/RESOLVED"]
|
||||
Known secrets: [information this character has that others don't -- format: "knows [what] -- [who does NOT know]"]
|
||||
Arc: [XX%] -- [one sentence: what permanently changed in this character this chapter, or "no change"]
|
||||
Permanent: [YES if something permanently changed (power gained/lost, relationship status changed, secret revealed); NO otherwise]
|
||||
Emotional: [dominant emotion at chapter end]
|
||||
Active obligations: [format: "owes [person] [what] (Ch[N]) -- UNPAID/PAID"]
|
||||
Open loops: [format: "[parties] [issue] (Ch[N]) -- UNRESOLVED/RESOLVED"]
|
||||
Known secrets: [format: "knows [what] -- [who does NOT know]"]
|
||||
Arc: [XX%] -- [one sentence: what permanently changed this chapter]
|
||||
Permanent: [YES/NO]
|
||||
|
||||
(Repeat for EVERY named character who appeared in this chapter -- deceased get the short form above)
|
||||
(Repeat for EVERY named character who appeared. Deceased = short form only.)
|
||||
|
||||
# World State: {chapter_ref}
|
||||
|
||||
## NPC Memory
|
||||
- [NPC Name] ([faction/location]): [ATTITUDE] -- [what happened] -- [behavioral consequence]
|
||||
(List every NPC who interacted with a protagonist and now has a changed attitude)
|
||||
- [NPC Name] ([faction/location]): [ATTITUDE] -- [what happened] -- [consequence]
|
||||
|
||||
## Faction Attitudes
|
||||
- [Faction name]: [current attitude toward protagonists] -- [reason]
|
||||
(List any faction whose attitude changed this chapter)
|
||||
- [Faction name]: [attitude] -- [reason]
|
||||
|
||||
## Active World Events
|
||||
- [Event]: [status and expected timeline]
|
||||
(List any ongoing world events that will affect future chapters)
|
||||
- [Event]: [status and timeline]
|
||||
|
||||
CRITICAL: Keep the total output under 3500 characters. Be precise and specific.
|
||||
Do NOT write prose -- only the structured data above.
|
||||
FINAL SELF-CHECK before submitting: Scan your output for Kaelen's name.
|
||||
If he has a Location, Physical, or Emotional field — delete them. He is dead.
|
||||
If any other character is noted as DECEASED in PASS 0 — apply the same rule.
|
||||
|
||||
CRITICAL: Keep total output under 3500 characters. NO prose — structured data only.
|
||||
|
||||
- type: rag_write
|
||||
asset_id: "character-state"
|
||||
|
||||
Reference in New Issue
Block a user