Questioning Rules
- ALWAYS use AskUserQuestion tool for all questions (provides interactive UI)
- Max 4 options per question (tool limit) + "Other" is automatic
- Max 4 questions per AskUserQuestion call
- Reference previous answers to build coherence
- Save state IMMEDIATELY after EACH answer (see Answer Persistence below)
- Verify before moving to next document
Answer Persistence Workflow
CRITICAL: Save every answer immediately after receiving it with FULL CONTEXT. This ensures progress is preserved if the session fails and answers can be understood later.
#### Save Command Format
Each answer is saved with the question text, selected answer, and description:
```bash
python scripts/save_state.py "" --answer "" "" "" "" ""
```
Parameters:
document - The document key (e.g., "doc1_crucible_thesis")state_key - The field name (e.g., "burden_type")question_text - The full question that was askedanswer - The selected option labeldescription - The description of the selected option
#### Step-by-Step Workflow
- Ask the question using AskUserQuestion:
```json
{
"questions": [{
"header": "Burden",
"question": "What form does the external burden take in your story?",
"options": [
{"label": "Physical object", "description": "An artifact that must be destroyed or protected"},
{"label": "Person to save", "description": "Someone who must be rescued or kept alive"}
],
"multiSelect": false
}]
}
```
- User selects: "Physical object"
- IMMEDIATELY save with full context:
```bash
python scripts/save_state.py "./crucible-project" --answer "doc1_crucible_thesis" "burden_type" "What form does the external burden take in your story?" "Physical object" "An artifact that must be destroyed or protected"
```
- Verify save succeeded (output shows question and answer)
- Ask next question
#### What Gets Saved
Each answer is stored as:
```json
{
"question": "What form does the external burden take in your story?",
"answer": "Physical object",
"description": "An artifact that must be destroyed or protected"
}
```
This provides full context when resuming or reviewing progress.
#### Example Save Commands
Document 1 (Crucible Thesis):
```bash
python scripts/save_state.py "./project" --answer "doc1_crucible_thesis" "burden_type" "What form does the burden take?" "Physical object" "An artifact to destroy or protect"
python scripts/save_state.py "./project" --answer "doc1_crucible_thesis" "fire_type" "What is the Fire's nature?" "Magical ability" "A power that corrupts with use"
```
Nested Documents (Forge Points, Mercies):
```bash
python scripts/save_state.py "./project" --answer "doc5_forge_points.fp0_ignition" "quest_crisis" "What Quest crisis emerges?" "Artifact stolen" "Enemy takes the burden"
python scripts/save_state.py "./project" --answer "doc8_mercy_ledger.mercy_1" "recipient" "Who receives mercy?" "Enemy soldier" "A combatant who surrendered"
```
#### On Document Completion
After the verification question is confirmed:
```bash
python scripts/save_state.py "./crucible-project" --complete
```
This marks the document complete and advances progress to the next document.
#### Error Handling
If a save fails:
- Retry once
- If still failing, inform the user but continue (answer is in context)
- User can manually recover using
/crucible-continue
Question Format
CRITICAL: Use the AskUserQuestion tool, NOT plain text options.
Example AskUserQuestion call:
```json
{
"questions": [
{
"header": "Burden",
"question": "What form does the external burden take in your story?",
"options": [
{"label": "Physical object", "description": "An artifact that must be destroyed or protected"},
{"label": "Person to save", "description": "Someone who must be rescued or kept alive"},
{"label": "Knowledge/truth", "description": "Information that must be revealed or protected"},
{"label": "Mission/quest", "description": "A task that must be completed"}
],
"multiSelect": false
}
]
}
```
Header examples (max 12 chars): "Burden", "Fire Type", "Bond", "Antagonist", "Theme", "Sacrifice"
For verification questions, use multiSelect: true to allow checking multiple items.
Document Sequence
See references/question-sequences.md for complete question banks.
Document 1: Crucible Thesis (10 questions)
- The Burden (external mission)
- The Fire (internal power/curse)
- Core Constellation Bond
- Dark Mirror Connection
- Forging Question
- Antagonist's Truth
- The Surrender
- Theme
- Blade's Purpose
- Verification
Document 2: Quest Strand Map (7 questions)
- Burden's Origin
- Why This Protagonist
- Antagonist's Stake
- Quest Escalation
- Impossible Requirement
- Resolution Method
- Verification
Document 3: Fire Strand Map (7 questions)
- Fire Manifestation
- The Danger
- Cost of Use
- Mastery Path
- Hardening Phase
- Mastery Moment
- Verification
Document 4: Constellation Strand Map (7 questions)
- Faithful Companion
- The Sacrifice
- Betrayal Source
- Expansion
- Bond That Saves
- Constellation Fate
- Verification
Document 5: Forge Point Blueprints (5 Γ 4 questions)
For each Forge Point (Ignition, First, Second, Third, Apex):
- Quest Crisis
- Fire Crisis
- Constellation Crisis
- What is Sacrificed
Document 6: Dark Mirror Profile (9 questions)
- Origin Parallel
- The Divergence
- Antagonist's Want
- Compelling Offer
- Why Tempting
- Hidden Cost
- Defeat Method
- Antagonist's End
- Verification
Document 7: Constellation Bible (12 questions)
- Protagonist Profile
- Faithful Companion details
- Core Bond Character details
- Mentor/Catalyst
- Sacrifice Character
- Additional cast
- Verification
Document 8: Mercy Ledger (4 Γ 4 questions)
For each of 4 mercies:
- Recipient
- Merciful Act
- Immediate Cost
- Later Payoff
Document 9: World Forge (9 questions)
- World's Wound
- Power System Source
- Power Limitations
- Previous Wielders
- Key Locations
- World-Protagonist Mirror
- Magic Rules
- Timeline Framework
- Verification
---
Phase 2 Complete
After completing Document 9 verification, Phase 2 is complete. All foundational planning documents have been created.
Proceed to Phase 3 to compile the documents into the final planning structure by running compile_documents.py.
---