← Files AI Film Pipeline MasterARCHIVED FILE

skills/ai-film-pipeline-master/references/phase-01-story-generation/symptoms-structural.md

21.5 KB · Oct 5, 2026 · 18:36 UTC

↓ Download file

# Structural complaints

Part of the symptom router. Open this file when the complaint is about structural. Each complaint below is followed by the cards that repair it, best first; `LOOKUP.md` says which file holds each card.

---

### "The second act sags"

The single most common structural failure, and there are three different causes with three different fixes.

1. If the middle is a list of events, the problem is causality
   `struct.story_spine` · `struct.spine_because`
2. If the middle is one long undifferentiated stretch, subdivide it
   `struct.sequence_approach` · `struct.seq_c` · `struct.seq_d` · `struct.seq_e` · `struct.seq_f`
3. If obstacles get bigger but nothing gets heavier, the cost is not rising
   `scene.escalating_cost`
4. If the protagonist is still being acted upon, the midpoint did not turn
   `struct.stc_midpoint` · `struct.four_act_midpoint`
5. And check the inner story against the outer one before rewriting a single scene. When the arc's four turns are not fastened to plot beats, nothing inside the character moves when something outside him does, and an audience reports that as pace. This is the first thing to look at when the note is "the second act drags"
   `arc.turn_placement`

### "Things happen but I'm not gripped"

1. Events are not being chosen — the decision units are missing
   `scene.scene_and_sequel` · `scene.reaction_dilemma_decision`
2. No question is being held open across scenes
   `scene.scene_question`
3. Test causality directly: if any link reads as "and then", it is a list
   `struct.spine_because`

### "The story is predictable"

1. Grant the wish instead of denying it, and let having it be the problem
   `scene.granted_wish` · `scene.reversal_of_expectation`
2. Reverse who needs what in the obligatory scenes
   `scene.swap_who_wants`
3. Check that an expectation was actually planted before you reversed it
   `scene.reversal_of_expectation`

### "I don't know what this story is about"

1. Write one sentence naming the value and the cause that delivers it
   `struct.mckee_controlling_idea`
2. Or one sentence naming how the story is told, not what happens in it
   `struct.truby_22` · `struct.truby_01_end_first`
3. State the theme out loud, early, to someone not ready to hear it — said by anyone except the protagonist, and disagreed with
   `struct.stc_theme_stated` · `open.theme_stated_early`

### "The ending doesn't land"

Work through these in order; the first three account for most cases.

1. Compare the question the first act asks with the question the last act answers. Drift between them is the most common third-act fault, and it happened in the middle, not at the end
   `end.answer_the_question_asked`
2. Nothing was paid for it. Name the specific thing the resolution cost and show it *after* the victory
   `end.cost_paid` · `arc.cost_of_truth`
3. The final turn is no bigger than an act turn, so it reads as another episode
   `end.value_landed` · `struct.mckee_story_climax`
4. The final image does not answer the opening one
   `end.final_image` · `end.mirror_ending` · `struct.stc_final_image` · `struct.stc_opening_image`
5. Play a scene from early in the work again, changing exactly one thing
   `end.scene_played_twice` · `scene.played_twice`
6. The change was announced rather than demonstrated by a choice
   `struct.circle_change`
7. The last stem is missing — what is permanently different now
   `struct.spine_ever_since` · `end.epilogue`
8. Help arrived from outside the story's own material
   `end.deus_ex_machina` · `struct.stc_break_three` · `struct.three_act_pp2`

### "The ending feels unearned"

1. Remove the protagonist's final decision and see whether the ending still happens. If it does, it is not earned
   `end.earned_ending`
2. Remove the protagonist from the last ten minutes entirely. If the ending still happens, you have this instead
   `end.deus_ex_machina`
3. If the decisive act belongs to another character, it must have been caused by the protagonist's earlier work
   `end.stolen_climax`
4. Prepare the ending by signalling the emotional shape, never the plot event
   `info.foreshadowing` · `info.telegraphing`
5. If the ending is the right one and the character was simply never built for it, the repair is a method rather than a scene. Write the climactic choice first, in full; underline every belief it requires him to be abandoning, which is your Lie; then derive the opening behaviour from that. The discipline that makes it work is refusing to soften the climax to match the character you have already written
   `arc.write_backwards` · `struct.truby_01_end_first`
6. Use it on the second draft. Fixing the ending early on material you do not yet understand produces a piece arguing toward a conclusion you chose before you knew the question

### "The ending feels rushed"

1. The cause is upstream: act two overran and act three absorbed the loss. Cut act two, do not extend act three
   `end.rushed_ending`
2. Give the resolution space — rushing from climax to credits evaporates the impact
   `end.held_final_beat` · `end.quiet_ending`

### "The ending goes on too long"

1. Identify every possible stopping point, pick the strongest, cut everything after it
   `end.too_many_endings`
2. Endings are routinely overwritten. Cut the last line, then the last paragraph, then the last scene, and check each time
   `end.last_line`
3. If the final line explains the work, it is a caption
   `end.explained_ending`
4. But if the material after the climax is *necessary* and merely inert, the fault is upstream and cutting will not fix it: the second question was never opened. That is a tension problem and it is held separately
   `tens.post_climax_hold`

### "The ending is too neat" / "too bleak"

1. Refuse the central question deliberately and visibly, closing everything else
   `end.open_ending`
2. Or end on an ordinary action after the large event — the world continuing is what makes it real
   `end.quiet_ending`
3. For advocacy and brand work, hand the next move to the audience as one nameable action, not as a feeling
   `end.handoff_ending`

### "The open ending reads as indecision"

1. Four conditions, all of them required: the question planted early, both readings genuinely supported by planted material, no new information in the last movement, and — the one that is always missed — the *emotional* line resolving even though the factual one does not
   `theme.earned_ambiguity`
2. An ending unresolved on both axes reads as incomplete rather than open, and that single error accounts for most open endings that get called pretentious
   `theme.moral_shape_of_ending`
3. Decide in outline what is never answered, rather than discovering it at the end
   `info.deliberate_unanswered_question` · `info.never_disclosed`

### "A late mercy changed what the ending proves"

1. Name the verdict shape out loud — proved, proved at a cost the story calls too high, disproved, or open on fact and settled on feeling — then check the last three scenes against it
   `theme.moral_shape_of_ending`
2. Endings drift shape far more easily than they drift content: one small kindness added in a late draft converts *proved at too high a cost* into *proved*, which is a different film
   `end.cost_refunded` · `end.cost_paid`

### "I want a twist but it feels like a cheat"

1. The audience must be able to find it on a second pass, and no scene may have lied to them
   `end.twist_ending`
2. Embed it in the theme, not only in the plot
   `end.twist_ending` · `struct.mckee_controlling_idea`
3. Warning: a story that exists only to deliver its last two minutes has no rewatch value

### "Something was set up and never paid"

1. List every question the work raises; mark each answered, deliberately refused, or forgotten. The forgotten ones are the diagnosis
   `end.unpaid_setup`
2. Audit every object, skill, injury and stated fact given emphasis in act one
   `info.chekhovs_gun`
3. The plant must be functional on first appearance, and paid late — never in an adjacent scene
   `info.plant_and_payoff` · `info.buried_plant` · `end.callback`
4. If a setup needs three mentions to survive, place them unevenly
   `info.rule_of_three_placements`
5. The fix is often to delete the setup rather than add a payoff
   `end.unpaid_setup`

### "The character ends where they started"

1. If stasis is the thesis, it must be visibly chosen and defeated by something structural
   `end.reversed_arc` · `arc.flat`
2. If it is not the thesis, the arc has been wasted
   `end.reversed_arc` · `arc.cost_of_truth`

### "What does this genre owe the audience at the end?"

Every genre carries an ending contract. Breaking it is a choice with a price, and the price is usually the audience.

`end.romance_ending` · `end.crime_ending` · `end.mystery_explanation` · `end.horror_coda` · `end.sports_final` · `end.comedy_restoration` · `end.heist_reveal` · `end.tragic_ending`

And the failure of breaking one without knowing you did:
   `end.genre_contract_broken`

### "It's sad but it isn't tragic"

1. The two are not the same, and the difference is structural not emotional
   `end.sad_not_tragic` · `end.tragic_ending`
2. Catharsis has requirements. Without them the audience leaves depressed rather than moved
   `end.catharsis`
3. The entry requirements are met in the first act, not the last: a morally mixed protagonist, an outcome the audience foresaw and hoped against, and a recognition. Surprise blocks catharsis, because nothing was being carried
   `emo.catharsis_requirements`
4. Which means a twist ending and a cathartic ending are incompatible by construction — attempting both produces an audience that is impressed and unmoved
   `end.twist_ending`

### "I want them to leave unsettled rather than satisfied"

1. Build the whole machinery of discharge and deliberately do not fire it. The audience has to feel the ending they were denied, so it must be built properly first
   `emo.withheld_catharsis`
2. Then substitute something for the release — a direct address, an unanswered question, a task, a name
   `end.open_ending` · `end.handoff_ending`
3. Withholding from a genre that contracted for release is not a statement, and withholding while offering nothing in its place is just an unfinished ending
   `end.genre_contract_broken`

### "The ending in interactive work"

1. Budget the endings before writing any of them
   `end.multiple_endings` · `end.canonical_ending`
2. The ending the player earned is not the same as the one they reached
   `end.player_earned_ending` · `end.accumulated_choice_ending`

### "The series finale has to carry a decade"

1. A final season owes something a season finale does not
   `end.final_season` · `end.series_finale`
2. The last scene of a long work is a different problem from the last scene of a film
   `end.last_scene_of_a_decade`
3. Retiring a character is its own craft
   `end.retiring_a_character`
4. And the epilogue slideshow is the named failure of trying to serve everyone
   `end.epilogue_slideshow`

### "Ending something for children"

1. The problem must be one the child could solve, and the ending one they can carry
   `end.resolvable_problem` · `end.child_carry_ending`

### "Ending a non-narrative piece"

`end.essay_close` · `end.documentary_ending` · `end.explainer_close` · `end.poem_landing` · `end.last_chorus` · `end.brand_film_close`

### "Ending a short-form piece"

1. The button, the loop close, and the last frame that has to work as a still
   `end.the_button` · `end.loop_close` · `end.last_frame_as_thumbnail`

### "Credits and post-credits"

`end.credits_sequence` · `end.post_credits_stinger`

### "How do I test an ending?"

1. Read the last ten pages cold, as though you had not written them
   `end.last_ten_pages_cold`
2. The real ending is often three scenes before the one you wrote
   `end.ending_three_scenes_earlier` · `end.too_many_endings`

### "The ending arrives before I'm ready"

1. Distinct from a rushed ending — this one is about processing time, not compression
   `end.premature_ending` · `end.rushed_ending`

### "The ending recites the theme"

1. A character saying the controlling idea in the final scene
   `end.theme_recited` · `theme.explained_theme` · `end.explained_ending`

### "The ending sets up a sequel instead of ending"

1. Resolve, then open. Opening instead of resolving is the named failure
   `end.sequel_bait_close` · `end.season_ending`

### "The ending gives back what the story took"

1. A cost refunded is a cost that was never paid
   `end.cost_refunded` · `end.cost_paid`

### "The season finale doesn't earn a renewal"

1. Resolve first, then open. A finale that only opens is a middle chapter
   `end.season_ending`
2. Change the standing condition so the next season cannot repeat this one
   `end.season_ending`
3. Decide who speaks last — the final voice colours everything before it
   `end.who_speaks_last` · `dial.last_word`

### "The chapter ends and I can't tell if it's an ending or just a stop"

A novel offers the reader about forty chances to put it down and a book's ending only once, so these are forty separate decisions rather than one habit. The white space under a last line is the largest emphasis prose owns, which is why the line above it is read twice as hard as the paragraph before.

1. Choose the shape rather than defaulting to a hook. Six cover almost all of it — the question opened, the arrival, the decision taken, the door closed, the quiet fall, and the deliberately flat stop — and the card says when each one is right
   `end.chapter_ending` · `rhythm.white_space`
2. **A chapter ending is not a cliffhanger.** Six to eight hard hooks in a forty-chapter novel, never two in a row: if every peril resolves safely two pages later the reader stops believing all of them, and the device is dead for the rest of the book
   `scene.close_on_question` · `info.cliffhanger_reveal` · `tens.suspended_ending`
3. The pair is the real unit. Draft the last line of chapter N and the first line of chapter N+1 together and read only those two, with nothing between them. The charge belongs on one side of the break, not both
   `open.chapter_opening`
4. A chapter with no natural end almost always ended two pages ago. Read the last three pages backwards, mark every paragraph that could be the final one, and take the *earliest* mark that still contains the turn — what follows it is characters agreeing about what just happened
   `scene.early_exit`
5. If no paragraph in those three pages can be last, the chapter has no turn, and no ending can be written for a chapter that does not have one. Merge it into the chapter on either side
   `scene.value_turn` · `scene.dead_scene_test`
6. Audit the column: every chapter's last sentence with its word count beside it. Uniform lengths mean one gear, a column of questions means the hook has stopped working, a column of resolved statements means the middle is slower than it reads on the page
   `time.chapter_length_clock` · `seq.chapter_cluster`
7. Not in a first draft. Chapterisation is a second-draft decision, and writing toward chapter ends before the scenes exist produces a book made of little climaxes with nothing between them
8. Different scale, different cards — the last line of a *work*, where nothing follows, and the quieter break inside a chapter
   `end.last_line` · `end.held_final_beat` · `end.quiet_ending` · `rhythm.section_break_scale`
9. And if the whole book is ending in the wrong place, that is the other diagnosis
   `end.ending_three_scenes_earlier`

### "The act climax feels the same size as the scenes"

1. This is a scale error, and it has its own diagnostic
   `struct.mckee_act` · `struct.mckee_sequence` · `struct.mckee_scene`

### "I'm getting contradictory notes"

Check whether the draft is running two structure systems at once. Snyder organises around visible plot events at fixed pages; Truby organises around moral need. A draft satisfying both writes scenes that serve neither.

1. Read the warning at the top of the systems file, then pick one
   `struct.save_the_cat` · `struct.truby_22` · `struct.heros_journey` · `struct.story_circle`

### "Five hundred words and it's just an anecdote"

**Read this before searching the database for "short form".** That search lands a prose writer on the short *video* material — `time.shortform_compression`, `char.ten_second_person`, `arc.sub_minute`, `beat.shortform_beat`, `sub.short_form`, `expo.short_form_frontload` and `tens.micro_form_tension` — and not one of them applies here. They are clock-and-scroll techniques written for a viewer whose pace you own. A flash reader chose the piece, controls the pace, and can re-read the first line.

1. The diagnosis is not sentence quality. There is no room to establish and then change, so flash changes what the reader *understands*, not what happens — and the anecdote with no turn is the commonest rejection in the form
   `struct.flash_fiction`
2. So decide what the reader is wrong about on arrival, then arrive after the premise is already true, never in time to watch it become true
   `open.open_mid_situation` · `scene.value_turn`
3. Spend the title. It is free of the word count and therefore the cheapest sentence you own — put information in it the prose cannot afford, or a phrase the last line turns. A decorative title here is a wasted line of text
   `open.title_changes_meaning`
4. The implied story has to be larger than the told one, and the last line carries the load a whole final act carries elsewhere
   `sub.iceberg_omission` · `end.last_line` · `end.held_final_beat`
5. Hold exactly one beat after the turn and stop. A paragraph explaining it is the other way the form dies
   `end.explained_ending`
6. Because the turn is a revelation rather than a conflict, the whole-story system that fits is the four-part one rather than the three-act contest
   `struct.kishotenketsu`
7. Know which word band you are in, because each permits something different. Exactly 100 permits one image and one reversal, and nothing needing a named second character. Under 300 permits one situation, one speaker and one turn — no scene change, no backstory. Around 750 permits two characters, one exchange of dialogue and a turn you can prepare for. A full 1,000 permits a second beat in time and a genuine second presence with a want of their own
8. Watch the opposite failure too: a setup engineered backwards from a last-line gag, in which the characters exist to be walked to it and nothing is true before it. That is a twist, which changes the plot, rather than a turn, which changes the reader
9. And if the piece has no story obligation at all and is running on image and pressure, it is the neighbouring form
   `lyric.prose_poem`

### "I have twelve stories and it isn't a book"

The prose twin of "I have twelve songs and it isn't a record", and the rule here is harsher: an album track may be a fragment, a mood or a fifty-second interlude, and a story may not. Every piece must stand entirely alone.

1. There are exactly four things that can link a cycle and each is paid for. **A place** is cheapest and weakest, and costs you mobility. **A recurring cast seen from different angles** gives most and costs most, because it forbids a full arc inside any single story. **A time span** is the most dangerous, since the moment a reader feels chronology they start reading a novel and every skipped year becomes a hole they blame you for. **A single question asked repeatedly** is strongest and invisible on the contents page, which is its cost. Pick one to carry the weight and let the others decorate
   `struct.linked_collection`
2. The order is an argument, and the reader's memory of story three is a working part of story nine — it is the only structural instrument the form has, because the white space between stories is a real exit and many readers take it. State the claim, contradict it, complicate it, answer it
   `seq.thematic_run` · `seq.length_variation`
3. Refuse chronological order unless chronology *is* the argument. A book arranged by the years the stories happen in is a filing system; one arranged by the years they were written in is a confession
4. The opening story is a contract rather than a showcase: complete enough to survive being anthologised out of the book, teaching the rule of linkage, and *representative* rather than best. Put the contrast at story two and the strongest story around two-thirds
5. The closing story lands the book instead of ending the run — it answers the opening's question rather than repeating its subject, resolves only what it owns, and usually stands furthest from the link, because the reader has to be let out of the place
   `end.value_landed` · `beat.distant_callback`
6. The retroactive move is the whole reason the form exists: story seven changes what story two meant
   `pov.same_event_twice` · `sub.second_reading`
7. For the cast-angle link, and for rotating whose story it is
   `char.half_remembered_return` · `rel.rotating_spotlight` · `pov.series_pov`
8. One recurring thing, not three. Two load-bearing links is how a cycle becomes airless
   `theme.thematic_motif` · `theme.competing_themes`
9. The mechanical test for a cycle retrofitted onto eight years of unrelated work — the commonest failure, and invisible to the author because the links are in his head: shuffle the running order at random and read the contents page. If nothing has been lost you have a collection, which is a legitimate book and not the one your pitch is claiming
10. The running-order logic is shared with the record and nothing else is. The two moves prose cannot make are the crossfade and the connective half-story
   `lyric.album_sequencing` · `lyric.segue` · `lyric.interlude_track`
11. And its opposite from the other side: the cluster works by refusing the reader an exit, where a cycle prints every exit and dares them to leave
   `seq.chapter_cluster`

---

SHA-256: 1f594fae24485f2bdff157b95b079e7bb7029ee35a027866e252f99b0dc8d965