ifcraftcorpus 1.4.0__py3-none-any.whl → 1.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/agent-design/agent_memory_architecture.md +765 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/agent-design/agent_prompt_engineering.md +247 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/agent-design/multi_agent_patterns.md +1 -0
- {ifcraftcorpus-1.4.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/METADATA +1 -1
- {ifcraftcorpus-1.4.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/RECORD +58 -57
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/audience-and-access/accessibility_guidelines.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/audience-and-access/audience_targeting.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/audience-and-access/localization_considerations.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/audio_visual_integration.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/collaborative_if_writing.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/creative_workflow_pipeline.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/diegetic_design.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/idea_capture_and_hooks.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/if_platform_tools.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/player_analytics_metrics.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/quality_standards_if.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/research_and_verification.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/testing_interactive_fiction.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/emotional-design/conflict_patterns.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/emotional-design/emotional_beats.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/game-design/mechanics_design_patterns.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/children_and_ya_conventions.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/fantasy_conventions.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/historical_fiction.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/horror_conventions.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/mystery_conventions.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/sci_fi_conventions.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_construction.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_craft.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/endings_patterns.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/episodic_serialized_if.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/nonlinear_structure.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/pacing_and_tension.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/romance_and_relationships.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/scene_structure_and_beats.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/scene_transitions.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/character_voice.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/dialogue_craft.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/exposition_techniques.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/narrative_point_of_view.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/prose_patterns.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/subtext_and_implication.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/voice_register_consistency.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/scope-and-planning/scope_and_length.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/world-and-setting/canon_management.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/world-and-setting/setting_as_character.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/world-and-setting/worldbuilding_patterns.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/README.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_genre_consultant.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_platform_advisor.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_prose_writer.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_quality_reviewer.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_story_architect.md +0 -0
- {ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_world_curator.md +0 -0
- {ifcraftcorpus-1.4.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/WHEEL +0 -0
- {ifcraftcorpus-1.4.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/entry_points.txt +0 -0
- {ifcraftcorpus-1.4.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/licenses/LICENSE +0 -0
- {ifcraftcorpus-1.4.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/licenses/LICENSE-CONTENT +0 -0
|
@@ -10,6 +10,9 @@ topics:
|
|
|
10
10
|
- small-models
|
|
11
11
|
- chain-of-thought
|
|
12
12
|
- few-shot-learning
|
|
13
|
+
- list-completeness
|
|
14
|
+
- validation-loops
|
|
15
|
+
- external-validation
|
|
13
16
|
cluster: agent-design
|
|
14
17
|
---
|
|
15
18
|
|
|
@@ -70,6 +73,113 @@ Lower-priority content that can be retrieved on demand:
|
|
|
70
73
|
|
|
71
74
|
---
|
|
72
75
|
|
|
76
|
+
## List Completeness Patterns
|
|
77
|
+
|
|
78
|
+
When LLMs must process every item in a list (entity decisions, task completions, validation checklists), they frequently skip items—especially in the middle of long lists. This section describes patterns to ensure completeness.
|
|
79
|
+
|
|
80
|
+
### Numbered Lists vs Checkboxes
|
|
81
|
+
|
|
82
|
+
Numbered lists outperform checkboxes for sequential processing:
|
|
83
|
+
|
|
84
|
+
| Format | Behavior | Reliability |
|
|
85
|
+
|--------|----------|-------------|
|
|
86
|
+
| `- [ ] item` | Treated as optional; often reformatted creatively | Lower |
|
|
87
|
+
| `1. item` | Signals discrete task requiring attention | Higher |
|
|
88
|
+
|
|
89
|
+
**Why it works:** Numbered format implies a sequence of individual tasks. Combined with explicit counts, this creates accountability that checkbox format cannot.
|
|
90
|
+
|
|
91
|
+
**Example:**
|
|
92
|
+
|
|
93
|
+
Anti-pattern:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
- [ ] Decide on entity: butler_jameson
|
|
97
|
+
- [ ] Decide on entity: guest_clara
|
|
98
|
+
- [ ] Decide on entity: archive_room
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Better:
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
Entity Decisions (3 total):
|
|
105
|
+
1. butler_jameson — [your decision]
|
|
106
|
+
2. guest_clara — [your decision]
|
|
107
|
+
3. archive_room — [your decision]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Quantity Anchoring
|
|
111
|
+
|
|
112
|
+
State exact counts at both start AND end of prompts (sandwich pattern for quantities):
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
# REQUIREMENT: Exactly 21 Entity Decisions
|
|
116
|
+
|
|
117
|
+
[numbered list of 21 entities]
|
|
118
|
+
|
|
119
|
+
...
|
|
120
|
+
|
|
121
|
+
# REMINDER: 21 entity decisions required. You must provide a decision for all 21.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
The explicit number creates a concrete, verifiable target. Vague instructions like "all items" or "every entity" are easier to satisfy incompletely.
|
|
125
|
+
|
|
126
|
+
### Anti-Skipping Statements
|
|
127
|
+
|
|
128
|
+
Direct statements about completeness requirements are effective, especially when combined with the sandwich pattern:
|
|
129
|
+
|
|
130
|
+
| Position | Example |
|
|
131
|
+
|----------|---------|
|
|
132
|
+
| Start | "You must process ALL 21 entities. Skipping any is not acceptable." |
|
|
133
|
+
| End | "Total: 21 entities. Confirm you provided a decision for every single one." |
|
|
134
|
+
|
|
135
|
+
These explicit constraints work because they:
|
|
136
|
+
|
|
137
|
+
- Create a falsifiable claim the model must satisfy
|
|
138
|
+
- Exploit primacy/recency attention patterns
|
|
139
|
+
- Provide a concrete metric (count) rather than vague completeness
|
|
140
|
+
|
|
141
|
+
### External Validation Required
|
|
142
|
+
|
|
143
|
+
**LLMs cannot reliably self-verify completeness mid-generation.**
|
|
144
|
+
|
|
145
|
+
Research shows that self-verification checklists embedded in prompts are frequently ignored or filled incorrectly. This is a fundamental limitation: LLMs operate via approximate retrieval, not logical verification.
|
|
146
|
+
|
|
147
|
+
**Anti-pattern:**
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
Before submitting, verify:
|
|
151
|
+
- [ ] I processed all 21 entities
|
|
152
|
+
- [ ] No entity was skipped
|
|
153
|
+
- [ ] Each decision is justified
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The model will often check these boxes without actually verifying.
|
|
157
|
+
|
|
158
|
+
**Better approach:**
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
1. Generate output (entity decisions)
|
|
162
|
+
2. External code counts decisions: found 20, expected 21
|
|
163
|
+
3. Feedback: "Missing decision for entity 'guest_clara'. Provide decision."
|
|
164
|
+
4. Model repairs the specific gap
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
The "Validate → Feedback → Repair" loop (see below) must use **external logic**, not LLM self-assessment.
|
|
168
|
+
|
|
169
|
+
### Combining Patterns
|
|
170
|
+
|
|
171
|
+
For maximum completeness on list-processing tasks:
|
|
172
|
+
|
|
173
|
+
1. Use **numbered lists** (not checkboxes)
|
|
174
|
+
2. State **exact count** at start and end (sandwich)
|
|
175
|
+
3. Include **anti-skipping statements** at start and end
|
|
176
|
+
4. Validate **externally** after generation
|
|
177
|
+
5. Provide **specific feedback** naming missing items
|
|
178
|
+
|
|
179
|
+
This combination addressed a real-world failure where gpt-4o-mini skipped 1 of 21 entities despite an embedded entity checklist.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
73
183
|
## Tool Design
|
|
74
184
|
|
|
75
185
|
### Tool Count Effects
|
|
@@ -544,6 +654,135 @@ Validate → feedback → repair is a general pattern:
|
|
|
544
654
|
- Works for more informal artifacts (e.g., checklists, outlines) when combined with light-weight structural checks.
|
|
545
655
|
- Plays well with the structured-output patterns above and with the reflection/self-critique patterns below.
|
|
546
656
|
|
|
657
|
+
### Two-Level Feedback Architecture
|
|
658
|
+
|
|
659
|
+
Simple validation loops assume errors can be fixed by repairing the output. But some errors originate earlier in the pipeline—the output is wrong because the *input* was wrong. A two-level architecture handles both cases.
|
|
660
|
+
|
|
661
|
+
#### The Problem: Broken Input Propagation
|
|
662
|
+
|
|
663
|
+
Consider a pipeline: `Summarize → Serialize → Validate`
|
|
664
|
+
|
|
665
|
+
```text
|
|
666
|
+
Summarize → Brief (with invented IDs) → Serialize → Validate → Feedback
|
|
667
|
+
↑ ↓
|
|
668
|
+
└──────── Brief stays the same! ───────────────┘
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
If the summarize step invents an ID (`archive_access` instead of valid `diary_truth`), the serialize step will use it because it's in the brief. Validation rejects it. The inner repair loop retries serialize with the same broken brief → **0% correction rate**.
|
|
672
|
+
|
|
673
|
+
#### Solution: Nested Loops
|
|
674
|
+
|
|
675
|
+
```text
|
|
676
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
677
|
+
│ OUTER LOOP (max 2) │
|
|
678
|
+
│ When SEMANTIC validation fails → repair the SOURCE: │
|
|
679
|
+
│ - Original input + validation errors │
|
|
680
|
+
│ - Valid references list │
|
|
681
|
+
│ - Fuzzy replacement suggestions │
|
|
682
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
683
|
+
↓ ↑
|
|
684
|
+
┌───────────┐ ┌──────────────┐
|
|
685
|
+
│ SOURCE │ │ SEMANTIC │
|
|
686
|
+
│ (brief) │ │ VALIDATION │
|
|
687
|
+
└───────────┘ └──────────────┘
|
|
688
|
+
↓ ↑
|
|
689
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
690
|
+
│ INNER LOOP (max 3) │
|
|
691
|
+
│ Handles schema/format errors only │
|
|
692
|
+
│ (Pydantic failures, JSON syntax, missing fields) │
|
|
693
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
**Inner loop** (fast, cheap): Schema errors, type mismatches, missing required fields. These can be fixed by repairing the serialized output directly.
|
|
697
|
+
|
|
698
|
+
**Outer loop** (expensive, rare): Semantic errors—invalid references, invented IDs, impossible states. These require repairing the *source* that caused the problem.
|
|
699
|
+
|
|
700
|
+
#### When to Use Each Loop
|
|
701
|
+
|
|
702
|
+
| Error Type | Loop | Example |
|
|
703
|
+
|------------|------|---------|
|
|
704
|
+
| JSON syntax error | Inner | Missing comma, unclosed brace |
|
|
705
|
+
| Missing required field | Inner | `protagonist_name` not provided |
|
|
706
|
+
| Invalid field value | Inner | `estimated_passages: 15` when max is 10 |
|
|
707
|
+
| Unknown field | Inner | `passages` instead of `estimated_passages` |
|
|
708
|
+
| Invalid reference ID | **Outer** | `thread: "archive_access"` when ID doesn't exist |
|
|
709
|
+
| Semantic inconsistency | **Outer** | Character referenced before introduction |
|
|
710
|
+
| Hallucinated entity | **Outer** | Entity name invented, not from source data |
|
|
711
|
+
|
|
712
|
+
#### Fuzzy ID Replacement Suggestions
|
|
713
|
+
|
|
714
|
+
When semantic validation finds invalid IDs, generate replacement suggestions using fuzzy matching:
|
|
715
|
+
|
|
716
|
+
```markdown
|
|
717
|
+
### Error: Invalid Thread ID
|
|
718
|
+
- Location: initial_beats.5.threads
|
|
719
|
+
- You used: `archive_access`
|
|
720
|
+
- VALID OPTIONS: `butler_fidelity` | `diary_truth` | `host_motive`
|
|
721
|
+
- SUGGESTED: `diary_truth` (closest match to "archive")
|
|
722
|
+
|
|
723
|
+
### Error: Unknown Entity
|
|
724
|
+
- Location: scene.3.characters
|
|
725
|
+
- You used: `mysterious_stranger`
|
|
726
|
+
- VALID OPTIONS: `butler_jameson` | `guest_clara` | `detective_morse`
|
|
727
|
+
- SUGGESTED: Remove this reference (no close match)
|
|
728
|
+
```
|
|
729
|
+
|
|
730
|
+
This gives the model actionable guidance rather than just rejection.
|
|
731
|
+
|
|
732
|
+
#### Source Repair Prompt Pattern
|
|
733
|
+
|
|
734
|
+
When the outer loop triggers, the repair prompt should include:
|
|
735
|
+
|
|
736
|
+
1. **Original source** (the brief/summary being repaired)
|
|
737
|
+
2. **Validation errors** (what went wrong downstream)
|
|
738
|
+
3. **Valid references** (complete list of allowed IDs)
|
|
739
|
+
4. **Fuzzy suggestions** (what to replace invalid IDs with)
|
|
740
|
+
5. **Full context** (original input data the source was derived from)
|
|
741
|
+
|
|
742
|
+
```markdown
|
|
743
|
+
## Repair Required
|
|
744
|
+
|
|
745
|
+
Your brief contained invalid references that caused downstream failures.
|
|
746
|
+
|
|
747
|
+
### Original Brief
|
|
748
|
+
[brief content here]
|
|
749
|
+
|
|
750
|
+
### Validation Errors
|
|
751
|
+
1. `archive_access` is not a valid thread ID
|
|
752
|
+
2. `clock_distortion` is not a valid thread ID
|
|
753
|
+
|
|
754
|
+
### Valid Thread IDs
|
|
755
|
+
- butler_fidelity
|
|
756
|
+
- diary_truth
|
|
757
|
+
- host_motive
|
|
758
|
+
|
|
759
|
+
### Suggested Replacements
|
|
760
|
+
- `archive_access` → `diary_truth` (both relate to hidden information)
|
|
761
|
+
- `clock_distortion` → REMOVE (no matching concept)
|
|
762
|
+
|
|
763
|
+
### Original Discussion (for context)
|
|
764
|
+
[full source material the brief was derived from]
|
|
765
|
+
|
|
766
|
+
Produce a corrected brief that uses only valid IDs.
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
#### Budget and Applicability
|
|
770
|
+
|
|
771
|
+
| Stage Type | Needs Outer Loop? | Reason |
|
|
772
|
+
|------------|-------------------|--------|
|
|
773
|
+
| Generation (creates new IDs) | No | Creates IDs, doesn't reference them |
|
|
774
|
+
| Summarization | **Yes** | May invent or misremember IDs |
|
|
775
|
+
| Serialization (uses existing IDs) | **Yes** | References IDs from earlier stages |
|
|
776
|
+
| Expansion (adds detail) | Maybe | References scene/entity IDs |
|
|
777
|
+
|
|
778
|
+
**Total budget:** Outer loop max 2 iterations × Inner loop max 3 iterations = ≤12 LLM calls per stage worst case.
|
|
779
|
+
|
|
780
|
+
**Success criteria:**
|
|
781
|
+
|
|
782
|
+
- >80% correction rate on first outer loop iteration
|
|
783
|
+
- Clear error messages guide model to correct IDs
|
|
784
|
+
- Fuzzy matching reduces guesswork
|
|
785
|
+
|
|
547
786
|
---
|
|
548
787
|
|
|
549
788
|
## Prompt-History Conflicts
|
|
@@ -721,6 +960,10 @@ See [Sampling Parameters](#sampling-parameters) for detailed temperature guidanc
|
|
|
721
960
|
| Context pruning | Context rot | Summarize and remove stale turns |
|
|
722
961
|
| Structured feedback | Vague validation errors | Categorize issues (invalid/missing/unknown) |
|
|
723
962
|
| Phase-specific temperature | Format errors in structured output | High temp for discuss, low for serialize |
|
|
963
|
+
| Numbered lists | Checkbox skipping | Use 1. 2. 3. format, not checkboxes |
|
|
964
|
+
| Quantity anchoring | Incomplete list processing | State exact count at start AND end |
|
|
965
|
+
| Anti-skipping statements | Middle items ignored | Explicit "process all N" constraints |
|
|
966
|
+
| Two-level validation | Broken input propagation | Outer loop repairs source, inner repairs output |
|
|
724
967
|
|
|
725
968
|
| Model Class | Max Prompt | Max Tools | Strategy |
|
|
726
969
|
|-------------|------------|-----------|----------|
|
|
@@ -741,10 +984,14 @@ See [Sampling Parameters](#sampling-parameters) for detailed temperature guidanc
|
|
|
741
984
|
| Reflexion research | Self-correction improves quality on complex tasks |
|
|
742
985
|
| STROT Framework (2025) | Structured feedback loops achieve 95% first-attempt success |
|
|
743
986
|
| AWS Evaluator-Optimizer | Semantic reflection enables self-improving validation |
|
|
987
|
+
| LLM Self-Verification Limitations (2024) | LLMs cannot reliably self-verify; external validation required |
|
|
988
|
+
| Spotify Verification Loops (2025) | Inner/outer loop architecture; deterministic + semantic validation |
|
|
989
|
+
| LLMLOOP (ICSME 2025) | First feedback iteration has highest impact (up to 24% improvement) |
|
|
744
990
|
|
|
745
991
|
---
|
|
746
992
|
|
|
747
993
|
## See Also
|
|
748
994
|
|
|
995
|
+
- [Agent Memory Architecture](agent_memory_architecture.md) — State-managed memory, checkpointers, history management
|
|
749
996
|
- [Branching Narrative Construction](../narrative-structure/branching_narrative_construction.md) — LLM generation strategies for narratives
|
|
750
997
|
- [Multi-Agent Patterns](multi_agent_patterns.md) — Team coordination and delegation
|
|
@@ -492,5 +492,6 @@ This enables:
|
|
|
492
492
|
|
|
493
493
|
## See Also
|
|
494
494
|
|
|
495
|
+
- [Agent Memory Architecture](agent_memory_architecture.md) — Memory sharing, state-over-history, context passing
|
|
495
496
|
- [Agent Prompt Engineering](agent_prompt_engineering.md) — Prompt design for individual agents
|
|
496
497
|
- [Branching Narrative Construction](../narrative-structure/branching_narrative_construction.md) — Decomposition strategies for complex generation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ifcraftcorpus
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
4
4
|
Summary: Interactive fiction craft corpus with search library and MCP server
|
|
5
5
|
Project-URL: Homepage, https://pvliesdonk.github.io/if-craft-corpus
|
|
6
6
|
Project-URL: Repository, https://github.com/pvliesdonk/if-craft-corpus
|
|
@@ -8,60 +8,61 @@ ifcraftcorpus/parser.py,sha256=M6iKnj0_bqA8tgl7tg1SLYzlOItS_Bs2M1RTwqTTFbw,10859
|
|
|
8
8
|
ifcraftcorpus/providers.py,sha256=1cuaB72-fVyt2J441AR7lfn6HuHtM33G6mPZYdYREN0,14508
|
|
9
9
|
ifcraftcorpus/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
ifcraftcorpus/search.py,sha256=hz81U44qXb-ZLbAcgDKsj4H_9t1ESxorRWsGSiuHu2I,20962
|
|
11
|
-
ifcraftcorpus-1.
|
|
12
|
-
ifcraftcorpus-1.
|
|
13
|
-
ifcraftcorpus-1.
|
|
14
|
-
ifcraftcorpus-1.
|
|
15
|
-
ifcraftcorpus-1.
|
|
16
|
-
ifcraftcorpus-1.
|
|
17
|
-
ifcraftcorpus-1.
|
|
18
|
-
ifcraftcorpus-1.
|
|
19
|
-
ifcraftcorpus-1.
|
|
20
|
-
ifcraftcorpus-1.
|
|
21
|
-
ifcraftcorpus-1.
|
|
22
|
-
ifcraftcorpus-1.
|
|
23
|
-
ifcraftcorpus-1.
|
|
24
|
-
ifcraftcorpus-1.
|
|
25
|
-
ifcraftcorpus-1.
|
|
26
|
-
ifcraftcorpus-1.
|
|
27
|
-
ifcraftcorpus-1.
|
|
28
|
-
ifcraftcorpus-1.
|
|
29
|
-
ifcraftcorpus-1.
|
|
30
|
-
ifcraftcorpus-1.
|
|
31
|
-
ifcraftcorpus-1.
|
|
32
|
-
ifcraftcorpus-1.
|
|
33
|
-
ifcraftcorpus-1.
|
|
34
|
-
ifcraftcorpus-1.
|
|
35
|
-
ifcraftcorpus-1.
|
|
36
|
-
ifcraftcorpus-1.
|
|
37
|
-
ifcraftcorpus-1.
|
|
38
|
-
ifcraftcorpus-1.
|
|
39
|
-
ifcraftcorpus-1.
|
|
40
|
-
ifcraftcorpus-1.
|
|
41
|
-
ifcraftcorpus-1.
|
|
42
|
-
ifcraftcorpus-1.
|
|
43
|
-
ifcraftcorpus-1.
|
|
44
|
-
ifcraftcorpus-1.
|
|
45
|
-
ifcraftcorpus-1.
|
|
46
|
-
ifcraftcorpus-1.
|
|
47
|
-
ifcraftcorpus-1.
|
|
48
|
-
ifcraftcorpus-1.
|
|
49
|
-
ifcraftcorpus-1.
|
|
50
|
-
ifcraftcorpus-1.
|
|
51
|
-
ifcraftcorpus-1.
|
|
52
|
-
ifcraftcorpus-1.
|
|
53
|
-
ifcraftcorpus-1.
|
|
54
|
-
ifcraftcorpus-1.
|
|
55
|
-
ifcraftcorpus-1.
|
|
56
|
-
ifcraftcorpus-1.
|
|
57
|
-
ifcraftcorpus-1.
|
|
58
|
-
ifcraftcorpus-1.
|
|
59
|
-
ifcraftcorpus-1.
|
|
60
|
-
ifcraftcorpus-1.
|
|
61
|
-
ifcraftcorpus-1.
|
|
62
|
-
ifcraftcorpus-1.
|
|
63
|
-
ifcraftcorpus-1.
|
|
64
|
-
ifcraftcorpus-1.
|
|
65
|
-
ifcraftcorpus-1.
|
|
66
|
-
ifcraftcorpus-1.
|
|
67
|
-
ifcraftcorpus-1.
|
|
11
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/agent-design/agent_memory_architecture.md,sha256=0_tJCbcoDRr26Mta2gqZhKVKBQP54n9tf3dI0OU8J3U,22481
|
|
12
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/agent-design/agent_prompt_engineering.md,sha256=vN8WZIWu-NYF-E0RHuLIDQYcUCHLwysmGFrVyISG3GA,36561
|
|
13
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/agent-design/multi_agent_patterns.md,sha256=9bm-q3O9v8_aS2B2CMNJwluTM9w8aAYwt-KvIKQJuO0,13391
|
|
14
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/audience-and-access/accessibility_guidelines.md,sha256=SN8tORkgdYYSIcKNQBV-ju8eL2M7Lij9UEZ3AvuUQbY,9892
|
|
15
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/audience-and-access/audience_targeting.md,sha256=ESZ4fyiCgtWVXXrXZIViCNU0ohIFdNcC8CU9dkRfPSQ,11037
|
|
16
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/audience-and-access/localization_considerations.md,sha256=Mgn2bVN_ugFhsZjRomOstayylzFtrzza-lw-T2p3Lnw,9787
|
|
17
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/audio_visual_integration.md,sha256=YE6pdZr7FNe9VIodgF0xttmzSjfZf0guQ81N3Rbkui4,9892
|
|
18
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/collaborative_if_writing.md,sha256=inDHVyqP3zdP-WBWueeKvDb9Ulqu55AUK61lbhIC82w,9929
|
|
19
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/creative_workflow_pipeline.md,sha256=N5ieILKrKB06hrlegFX-5iOvpXQO8sT5MERiFxxRGZY,10305
|
|
20
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/diegetic_design.md,sha256=FsLT2o3D8znEZrHRzg0L_z0sbg58yTzUk8O70FtGGcE,9183
|
|
21
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/idea_capture_and_hooks.md,sha256=wcidi47Elg38Y-1fuVEW6xn68rL_NqPR5x1IcsPu6ZI,8734
|
|
22
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/if_platform_tools.md,sha256=1Kh_xYjy654RkDxVAw5Ji3pgOKRc1WNdxNu93v9Af3Y,11172
|
|
23
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/player_analytics_metrics.md,sha256=sUuPYmmLn5LMLUd9E-ExhauqF101vcqh51NYc99yyv8,9064
|
|
24
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/quality_standards_if.md,sha256=gS6Jr7OWZKmRvtrSrrCkuM8CgqgLCZ1XAHYBSnbEYH8,16432
|
|
25
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/research_and_verification.md,sha256=WFYaq3boUlHueXWkZygxO9s9astK5aMOaVPE6u-CCeI,9874
|
|
26
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/testing_interactive_fiction.md,sha256=McnbMEgm_PbaxT-dUu8rTzkOOLkIjECKlxVFzcyr7rc,10504
|
|
27
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/emotional-design/conflict_patterns.md,sha256=hPV78jR8W4rYiW52m4n_Ifn3nMGDW7tPEPik4kekiIE,12056
|
|
28
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/emotional-design/emotional_beats.md,sha256=1yblsg1NLT8CW3qfnQX7WXNflnQhyKYc-_9nb1zgWs4,10229
|
|
29
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/game-design/mechanics_design_patterns.md,sha256=sbBWhX8BQOIMyrYfdBjpjlhLeqE_vOuGQXXGFn-zY0U,4506
|
|
30
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/children_and_ya_conventions.md,sha256=b5juJi2z3FMYKL5Tkw08E1jjtlvQdMy3sbDoU0PV88w,3680
|
|
31
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/fantasy_conventions.md,sha256=AN-Mc9kkZKOE4qr8jwAyt6Yh5WlXqRFTPad0BS9joY0,13925
|
|
32
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/historical_fiction.md,sha256=6mAgLSfAD2EV-UCE5WJM1Wk4ARsCuYofKR3Dn0Kcfhg,12016
|
|
33
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/horror_conventions.md,sha256=449Ik17haBHnlIfGkh6FwDqoes8K-y7WKNimGxSq5yg,12883
|
|
34
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/mystery_conventions.md,sha256=xZLCcO3MZJ4dghzoMbITZUc1A7xGpSL1B9LtR74Fhj4,12282
|
|
35
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/sci_fi_conventions.md,sha256=dNkeIipLgtui2Xt6kPlEHT0HHNnCbPDFBQyH_5-1RfQ,5636
|
|
36
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_construction.md,sha256=Rv8t7zn4g3K6mF1NaHYXAX_vEAdUFcfa-aDA44bAOqs,22265
|
|
37
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_craft.md,sha256=I4APmDwCQ9dVF9blORxgF_YArfj9aSrTP8TpXJYI-jA,10906
|
|
38
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/endings_patterns.md,sha256=RyxJfZuFyuyEKzmR32H9kBs4jUbeahwylNLkp2oiEjg,10581
|
|
39
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/episodic_serialized_if.md,sha256=tEGRl-L3gRTXmbfoQZ-fCS2CR9xr-dHQgaQNcI4hHdA,9337
|
|
40
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/nonlinear_structure.md,sha256=PfomsB5-l7DwGr1udbvgsTNdJaCdXgLhdYDvBUyKq2k,6287
|
|
41
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/pacing_and_tension.md,sha256=0jlbJwzK2wNLxFQO4zHu6a53vM1Kwb6f5simamexKBU,9530
|
|
42
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/romance_and_relationships.md,sha256=OW3nO9Qn_lCFWRGNyTKQMEOHnmuAA9rIo7wORaF_73U,4012
|
|
43
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/scene_structure_and_beats.md,sha256=WL7buciBLTcl0vyTsLZcEgMI0U6ikA2t0EY9QkKpkJk,10094
|
|
44
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/scene_transitions.md,sha256=Vu33QmpqWRnja4ITvcJepZ2f1NxK6fdwlroJUsczc1c,8500
|
|
45
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/character_voice.md,sha256=gFQptHphCu9pZ2MzqaCVHvpSiHCefi4vBrwZtsfN0R8,11409
|
|
46
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/dialogue_craft.md,sha256=4aQed24AQ7-VdYiaxjQ0JlK13qeNe3Gq1QgJiAqNEG4,11591
|
|
47
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/exposition_techniques.md,sha256=T06IupDgh7MHQDkhHzo5U0ewDqGs5D60nGFn1V2NV-A,10023
|
|
48
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/narrative_point_of_view.md,sha256=G_mZUPh4qxe3LdzO6hiFizJqbh4QKq6ukjcgTyeKPQ8,11020
|
|
49
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/prose_patterns.md,sha256=UFEancpG4_TG3M7KnJGkZCvkafP6TxkhXEKEZgFPWug,10146
|
|
50
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/subtext_and_implication.md,sha256=jKwBTZx5gVy84AG6x2hHmPwbFIiti419-DaDO4oXlH8,10726
|
|
51
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/voice_register_consistency.md,sha256=JtY5bwIrrY1Cjy2ITGOGxCepDhoQnr7nzt2pqr2SKtI,9701
|
|
52
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/scope-and-planning/scope_and_length.md,sha256=fF6TDuLSJv5Uf7ov9_Eq0beh8OQF4RBEDmekjZbHkJQ,10315
|
|
53
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/world-and-setting/canon_management.md,sha256=ab1XjWXv3RzEWaChfUJOOSnRKjuQsUDaqYQ3T9bw9o0,10576
|
|
54
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/world-and-setting/setting_as_character.md,sha256=F0kM5EKlDldqPg2UyyfKx05fRyaWIoE-A-sIhl461Cw,9650
|
|
55
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/world-and-setting/worldbuilding_patterns.md,sha256=IpvZkT6sV3yC23RsICxpeMgb_FT_1mkv1z4NiHKNEIY,11905
|
|
56
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/subagents/README.md,sha256=FI9SqJfOg8hoO-3S_dpeIfepPRcd0fyquM7f5Y1J5eE,5817
|
|
57
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/subagents/if_genre_consultant.md,sha256=QshDQK4HkMNXYigU91r0CTosl5a-lKqvO9tQMFkbUFI,7244
|
|
58
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/subagents/if_platform_advisor.md,sha256=e_uV0vt5Nqah6bUNsiWVhmSuQeF0RIWAZOXJNygpeW8,8515
|
|
59
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/subagents/if_prose_writer.md,sha256=fjOazUCXvW62xrhZAsv7ynaDSpG_f1gGK2NJ0clJ1EQ,5927
|
|
60
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/subagents/if_quality_reviewer.md,sha256=PLPJtf-6t-jugN75k7EG7ln7S47TT0FcVjWVsRLGOz8,6992
|
|
61
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/subagents/if_story_architect.md,sha256=rF_U0Nd3tK0HzaLK6wGL36hRb0B6dfuc6lljAU9pmmo,4936
|
|
62
|
+
ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/subagents/if_world_curator.md,sha256=xmbGF--5te8uxfimKFw45bFrhbdRM3LPaYBlhUd4swc,7376
|
|
63
|
+
ifcraftcorpus-1.5.0.dist-info/METADATA,sha256=sNlyqczVpHQpbDwEICAbnedjDGCvyLi2yzF6eoU52H8,4989
|
|
64
|
+
ifcraftcorpus-1.5.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
65
|
+
ifcraftcorpus-1.5.0.dist-info/entry_points.txt,sha256=E8DYJ_qWOgPe758ULKth3gcYo-1XkNEvDomhFjJ-B-U,110
|
|
66
|
+
ifcraftcorpus-1.5.0.dist-info/licenses/LICENSE,sha256=7MoRwpgeEClx14esn2SJnOLz4jvxWP1uN_vjnC2XTHQ,1067
|
|
67
|
+
ifcraftcorpus-1.5.0.dist-info/licenses/LICENSE-CONTENT,sha256=jhGwmahhy9rUFJSSrLUrssnrfa-mXotvNEwq74i93x8,639
|
|
68
|
+
ifcraftcorpus-1.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ifcraftcorpus-1.4.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|