Opening:

-   KEY_DETECTIVE
-   KEY_CRIME
-   KEY_SETTING
-   KEY_ATMOSPHERE
-   KEY_SUSPENSE_TENSION
-   KEY_INITIAL_CLUES
-   KEY_CHARACTER_REACTIONS

Act One:

-   KEY_SUSPECT_1
-   KEY_SUSPECT_2
-   KEY_SUSPECT_3
-   KEY_SUSPECT_4
-   KEY_MOTIVE_1
-   KEY_MOTIVE_2
-   KEY_MOTIVE_3
-   KEY_MOTIVE_4
-   KEY_CONNECTION_1
-   KEY_CONNECTION_2
-   KEY_CONNECTION_3
-   KEY_CONNECTION_4
-   KEY_SETTING_DESCRIPTION
-   KEY_LANDMARKS
-   KEY_ATMOSPHERE_DESCRIPTION
-   KEY_SUBPLOT_1
-   KEY_SUBPLOT_2
-   KEY_RELATIONSHIPS_DESCRIPTION
-   KEY_GATHERED_CLUES
-   KEY_INTERVIEWED_WITNESSES
-   KEY_ANALYZED_EVIDENCE
-   KEY_NARROWED_SUSPECTS

Act Two:

-   KEY_NEW_CLUE_1
-   KEY_NEW_CLUE_2
-   KEY_NEW_CLUE_3
-   KEY_NEW_CLUE_4
-   KEY_CONTRADICTORY_EVIDENCE
-   KEY_RED_HERRINGS
-   KEY_UNEXPECTED_EVIDENCE
-   KEY_SUBPLOT_1_ADVANCE
-   KEY_SUBPLOT_2_ADVANCE
-   KEY_INTERROGATION_1
-   KEY_INTERROGATION_2
-   KEY_INTERROGATION_3
-   KEY_INTERROGATION_4
-   KEY_PLOT_TWIST_DESCRIPTION
-   KEY_DEEPEN_INVESTIGATION_DETAILS

Act Three:

-   KEY_CONFRONT_CULPRIT_SCENE
-   KEY_REVEAL_TRUTH_DETAILS
-   KEY_AFTERMATH_DESCRIPTION
-   KEY_SUBPLOT_1_RESOLUTION
-   KEY_SUBPLOT_2_RESOLUTION
-   KEY_INVESTIGATION_WRAP_UP_DETAILS
-   KEY_CLOSING_SCENE_DESCRIPTION

opening = {
    'detective': 'KEY_DETECTIVE',
    'crime': 'KEY_CRIME',
    'setting': 'KEY_SETTING',
    'atmosphere': 'KEY_ATMOSPHERE',
    'suspense_tension': 'KEY_SUSPENSE_TENSION',
    'initial_clues': 'KEY_INITIAL_CLUES',
    'character_reactions': 'KEY_CHARACTER_REACTIONS'
}

act_one = {
    'supporting_characters': {
        'suspects': ['KEY_SUSPECT_1', 'KEY_SUSPECT_2', 'KEY_SUSPECT_3', 'KEY_SUSPECT_4'],
        'motives': ['KEY_MOTIVE_1', 'KEY_MOTIVE_2', 'KEY_MOTIVE_3', 'KEY_MOTIVE_4'],
        'connections': ['KEY_CONNECTION_1', 'KEY_CONNECTION_2', 'KEY_CONNECTION_3', 'KEY_CONNECTION_4']
    },
    'setting_description': 'KEY_SETTING_DESCRIPTION',
    'landmarks': 'KEY_LANDMARKS',
    'atmosphere': 'KEY_ATMOSPHERE_DESCRIPTION',
    'subplots': {
        'subplot_1': 'KEY_SUBPLOT_1',
        'subplot_2': 'KEY_SUBPLOT_2'
    },
    'relationships': 'KEY_RELATIONSHIPS_DESCRIPTION',
    'investigate_crime': {
        'clues': 'KEY_GATHERED_CLUES',
        'witnesses': 'KEY_INTERVIEWED_WITNESSES',
        'evidence': 'KEY_ANALYZED_EVIDENCE',
        'narrow_suspects': 'KEY_NARROWED_SUSPECTS'
    }
}

act_two = {
    'clues_red_herrings': {
        'new_clues': ['KEY_NEW_CLUE_1', 'KEY_NEW_CLUE_2', 'KEY_NEW_CLUE_3', 'KEY_NEW_CLUE_4'],
        'contradictory_evidence': 'KEY_CONTRADICTORY_EVIDENCE',
        'red_herrings': 'KEY_RED_HERRINGS',
        'unexpected_evidence': 'KEY_UNEXPECTED_EVIDENCE'
    },
    'subplots_advance': {
        'subplot_1_advance': 'KEY_SUBPLOT_1_ADVANCE',
        'subplot_2_advance': 'KEY_SUBPLOT_2_ADVANCE'
    },
    'investigate_suspects': {
        'suspect_interrogations': {
            'suspect_1': 'KEY_INTERROGATION_1',
            'suspect_2': 'KEY_INTERROGATION_2',
            'suspect_3': 'KEY_INTERROGATION_3',
            'suspect_4': 'KEY_INTERROGATION_4'
        }
    },
    'plot_twist': 'KEY_PLOT_TWIST_DESCRIPTION',
    'deepen_investigation': 'KEY_DEEPEN_INVESTIGATION_DETAILS'
}

act_three = {
    'climax': {
        'confront_culprit': 'KEY_CONFRONT_CULPRIT_SCENE',
        'reveal_truth': 'KEY_REVEAL_TRUTH_DETAILS',
        'aftermath': 'KEY_AFTERMATH_DESCRIPTION'
    },
    'subplot_resolution': {
        'subplot_1_resolution': 'KEY_SUBPLOT_1_RESOLUTION',
        'subplot_2_resolution': 'KEY_SUBPLOT_2_RESOLUTION'
    },
    'investigation_wrap_up': 'KEY_INVESTIGATION_WRAP_UP_DETAILS',
    'closing_scene': 'KEY_CLOSING_SCENE_DESCRIPTION'
}


#Novel 