ifcraftcorpus 1.3.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.
Files changed (60) hide show
  1. ifcraftcorpus/index.py +120 -43
  2. ifcraftcorpus/mcp_server.py +18 -3
  3. ifcraftcorpus-1.5.0.data/data/share/ifcraftcorpus/corpus/agent-design/agent_memory_architecture.md +765 -0
  4. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/agent-design/agent_prompt_engineering.md +247 -0
  5. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/agent-design/multi_agent_patterns.md +1 -0
  6. {ifcraftcorpus-1.3.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/METADATA +1 -1
  7. {ifcraftcorpus-1.3.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/RECORD +60 -59
  8. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/audience-and-access/accessibility_guidelines.md +0 -0
  9. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/audience-and-access/audience_targeting.md +0 -0
  10. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/audience-and-access/localization_considerations.md +0 -0
  11. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/audio_visual_integration.md +0 -0
  12. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/collaborative_if_writing.md +0 -0
  13. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/creative_workflow_pipeline.md +0 -0
  14. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/diegetic_design.md +0 -0
  15. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/idea_capture_and_hooks.md +0 -0
  16. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/if_platform_tools.md +0 -0
  17. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/player_analytics_metrics.md +0 -0
  18. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/quality_standards_if.md +0 -0
  19. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/research_and_verification.md +0 -0
  20. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/craft-foundations/testing_interactive_fiction.md +0 -0
  21. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/emotional-design/conflict_patterns.md +0 -0
  22. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/emotional-design/emotional_beats.md +0 -0
  23. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/game-design/mechanics_design_patterns.md +0 -0
  24. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/children_and_ya_conventions.md +0 -0
  25. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/fantasy_conventions.md +0 -0
  26. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/historical_fiction.md +0 -0
  27. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/horror_conventions.md +0 -0
  28. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/mystery_conventions.md +0 -0
  29. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/genre-conventions/sci_fi_conventions.md +0 -0
  30. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_construction.md +0 -0
  31. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_craft.md +0 -0
  32. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/endings_patterns.md +0 -0
  33. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/episodic_serialized_if.md +0 -0
  34. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/nonlinear_structure.md +0 -0
  35. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/pacing_and_tension.md +0 -0
  36. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/romance_and_relationships.md +0 -0
  37. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/scene_structure_and_beats.md +0 -0
  38. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/narrative-structure/scene_transitions.md +0 -0
  39. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/character_voice.md +0 -0
  40. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/dialogue_craft.md +0 -0
  41. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/exposition_techniques.md +0 -0
  42. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/narrative_point_of_view.md +0 -0
  43. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/prose_patterns.md +0 -0
  44. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/subtext_and_implication.md +0 -0
  45. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/prose-and-language/voice_register_consistency.md +0 -0
  46. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/scope-and-planning/scope_and_length.md +0 -0
  47. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/world-and-setting/canon_management.md +0 -0
  48. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/world-and-setting/setting_as_character.md +0 -0
  49. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/corpus/world-and-setting/worldbuilding_patterns.md +0 -0
  50. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/README.md +0 -0
  51. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_genre_consultant.md +0 -0
  52. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_platform_advisor.md +0 -0
  53. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_prose_writer.md +0 -0
  54. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_quality_reviewer.md +0 -0
  55. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_story_architect.md +0 -0
  56. {ifcraftcorpus-1.3.0.data → ifcraftcorpus-1.5.0.data}/data/share/ifcraftcorpus/subagents/if_world_curator.md +0 -0
  57. {ifcraftcorpus-1.3.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/WHEEL +0 -0
  58. {ifcraftcorpus-1.3.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/entry_points.txt +0 -0
  59. {ifcraftcorpus-1.3.0.dist-info → ifcraftcorpus-1.5.0.dist-info}/licenses/LICENSE +0 -0
  60. {ifcraftcorpus-1.3.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.0
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
@@ -1,67 +1,68 @@
1
1
  ifcraftcorpus/__init__.py,sha256=sZlp_jM2CGbkQ6R3te-wXH9IkZ7Zp585fj1MMq21WUQ,2087
2
2
  ifcraftcorpus/cli.py,sha256=aTLZCuSTZ9884nxvngj2RX1VHl9PXKVMMeYAQIVMU6I,11131
3
3
  ifcraftcorpus/embeddings.py,sha256=ChRqB1HSCAImczARQQ0Vg_xS5fMPnvd2cg2tFzVaSDc,12962
4
- ifcraftcorpus/index.py,sha256=mRCN5r7VnwXxc8e1rfBsUDpxnhQFqKvvDcHcHeEXy_I,19262
4
+ ifcraftcorpus/index.py,sha256=zxBk0OcryOKARqW4BfzfK3oagU_OZUxiHQ8tvPHdfio,22248
5
5
  ifcraftcorpus/logging_utils.py,sha256=_0c4Y_caKObVRsfgeoi5l5ZvSx0JY_xZDnWa85sBUu0,2179
6
- ifcraftcorpus/mcp_server.py,sha256=jm3w_uqeyDpd5D3iB7ZxNJU7dxQnIXmWO7gvgemaeBk,27539
6
+ ifcraftcorpus/mcp_server.py,sha256=z7JKCfGKzQOypBDly5ou0mnlCOrA5p7NVSj9p0iKbvQ,28069
7
7
  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.3.0.data/data/share/ifcraftcorpus/corpus/agent-design/agent_prompt_engineering.md,sha256=y-AO3w6MdoSQNV7zHQtJrjJSWM9a6LCSlunXyWWbTjQ,26134
12
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/agent-design/multi_agent_patterns.md,sha256=Npnx5qxYOQfbiPGgbeZOfyWKr4ImcCTUhOJcgJYH1HY,13275
13
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/audience-and-access/accessibility_guidelines.md,sha256=SN8tORkgdYYSIcKNQBV-ju8eL2M7Lij9UEZ3AvuUQbY,9892
14
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/audience-and-access/audience_targeting.md,sha256=ESZ4fyiCgtWVXXrXZIViCNU0ohIFdNcC8CU9dkRfPSQ,11037
15
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/audience-and-access/localization_considerations.md,sha256=Mgn2bVN_ugFhsZjRomOstayylzFtrzza-lw-T2p3Lnw,9787
16
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/audio_visual_integration.md,sha256=YE6pdZr7FNe9VIodgF0xttmzSjfZf0guQ81N3Rbkui4,9892
17
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/collaborative_if_writing.md,sha256=inDHVyqP3zdP-WBWueeKvDb9Ulqu55AUK61lbhIC82w,9929
18
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/creative_workflow_pipeline.md,sha256=N5ieILKrKB06hrlegFX-5iOvpXQO8sT5MERiFxxRGZY,10305
19
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/diegetic_design.md,sha256=FsLT2o3D8znEZrHRzg0L_z0sbg58yTzUk8O70FtGGcE,9183
20
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/idea_capture_and_hooks.md,sha256=wcidi47Elg38Y-1fuVEW6xn68rL_NqPR5x1IcsPu6ZI,8734
21
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/if_platform_tools.md,sha256=1Kh_xYjy654RkDxVAw5Ji3pgOKRc1WNdxNu93v9Af3Y,11172
22
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/player_analytics_metrics.md,sha256=sUuPYmmLn5LMLUd9E-ExhauqF101vcqh51NYc99yyv8,9064
23
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/quality_standards_if.md,sha256=gS6Jr7OWZKmRvtrSrrCkuM8CgqgLCZ1XAHYBSnbEYH8,16432
24
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/research_and_verification.md,sha256=WFYaq3boUlHueXWkZygxO9s9astK5aMOaVPE6u-CCeI,9874
25
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/craft-foundations/testing_interactive_fiction.md,sha256=McnbMEgm_PbaxT-dUu8rTzkOOLkIjECKlxVFzcyr7rc,10504
26
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/emotional-design/conflict_patterns.md,sha256=hPV78jR8W4rYiW52m4n_Ifn3nMGDW7tPEPik4kekiIE,12056
27
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/emotional-design/emotional_beats.md,sha256=1yblsg1NLT8CW3qfnQX7WXNflnQhyKYc-_9nb1zgWs4,10229
28
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/game-design/mechanics_design_patterns.md,sha256=sbBWhX8BQOIMyrYfdBjpjlhLeqE_vOuGQXXGFn-zY0U,4506
29
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/children_and_ya_conventions.md,sha256=b5juJi2z3FMYKL5Tkw08E1jjtlvQdMy3sbDoU0PV88w,3680
30
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/fantasy_conventions.md,sha256=AN-Mc9kkZKOE4qr8jwAyt6Yh5WlXqRFTPad0BS9joY0,13925
31
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/historical_fiction.md,sha256=6mAgLSfAD2EV-UCE5WJM1Wk4ARsCuYofKR3Dn0Kcfhg,12016
32
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/horror_conventions.md,sha256=449Ik17haBHnlIfGkh6FwDqoes8K-y7WKNimGxSq5yg,12883
33
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/mystery_conventions.md,sha256=xZLCcO3MZJ4dghzoMbITZUc1A7xGpSL1B9LtR74Fhj4,12282
34
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/genre-conventions/sci_fi_conventions.md,sha256=dNkeIipLgtui2Xt6kPlEHT0HHNnCbPDFBQyH_5-1RfQ,5636
35
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_construction.md,sha256=Rv8t7zn4g3K6mF1NaHYXAX_vEAdUFcfa-aDA44bAOqs,22265
36
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/branching_narrative_craft.md,sha256=I4APmDwCQ9dVF9blORxgF_YArfj9aSrTP8TpXJYI-jA,10906
37
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/endings_patterns.md,sha256=RyxJfZuFyuyEKzmR32H9kBs4jUbeahwylNLkp2oiEjg,10581
38
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/episodic_serialized_if.md,sha256=tEGRl-L3gRTXmbfoQZ-fCS2CR9xr-dHQgaQNcI4hHdA,9337
39
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/nonlinear_structure.md,sha256=PfomsB5-l7DwGr1udbvgsTNdJaCdXgLhdYDvBUyKq2k,6287
40
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/pacing_and_tension.md,sha256=0jlbJwzK2wNLxFQO4zHu6a53vM1Kwb6f5simamexKBU,9530
41
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/romance_and_relationships.md,sha256=OW3nO9Qn_lCFWRGNyTKQMEOHnmuAA9rIo7wORaF_73U,4012
42
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/scene_structure_and_beats.md,sha256=WL7buciBLTcl0vyTsLZcEgMI0U6ikA2t0EY9QkKpkJk,10094
43
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/narrative-structure/scene_transitions.md,sha256=Vu33QmpqWRnja4ITvcJepZ2f1NxK6fdwlroJUsczc1c,8500
44
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/character_voice.md,sha256=gFQptHphCu9pZ2MzqaCVHvpSiHCefi4vBrwZtsfN0R8,11409
45
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/dialogue_craft.md,sha256=4aQed24AQ7-VdYiaxjQ0JlK13qeNe3Gq1QgJiAqNEG4,11591
46
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/exposition_techniques.md,sha256=T06IupDgh7MHQDkhHzo5U0ewDqGs5D60nGFn1V2NV-A,10023
47
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/narrative_point_of_view.md,sha256=G_mZUPh4qxe3LdzO6hiFizJqbh4QKq6ukjcgTyeKPQ8,11020
48
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/prose_patterns.md,sha256=UFEancpG4_TG3M7KnJGkZCvkafP6TxkhXEKEZgFPWug,10146
49
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/subtext_and_implication.md,sha256=jKwBTZx5gVy84AG6x2hHmPwbFIiti419-DaDO4oXlH8,10726
50
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/prose-and-language/voice_register_consistency.md,sha256=JtY5bwIrrY1Cjy2ITGOGxCepDhoQnr7nzt2pqr2SKtI,9701
51
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/scope-and-planning/scope_and_length.md,sha256=fF6TDuLSJv5Uf7ov9_Eq0beh8OQF4RBEDmekjZbHkJQ,10315
52
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/world-and-setting/canon_management.md,sha256=ab1XjWXv3RzEWaChfUJOOSnRKjuQsUDaqYQ3T9bw9o0,10576
53
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/world-and-setting/setting_as_character.md,sha256=F0kM5EKlDldqPg2UyyfKx05fRyaWIoE-A-sIhl461Cw,9650
54
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/corpus/world-and-setting/worldbuilding_patterns.md,sha256=IpvZkT6sV3yC23RsICxpeMgb_FT_1mkv1z4NiHKNEIY,11905
55
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/subagents/README.md,sha256=FI9SqJfOg8hoO-3S_dpeIfepPRcd0fyquM7f5Y1J5eE,5817
56
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/subagents/if_genre_consultant.md,sha256=QshDQK4HkMNXYigU91r0CTosl5a-lKqvO9tQMFkbUFI,7244
57
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/subagents/if_platform_advisor.md,sha256=e_uV0vt5Nqah6bUNsiWVhmSuQeF0RIWAZOXJNygpeW8,8515
58
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/subagents/if_prose_writer.md,sha256=fjOazUCXvW62xrhZAsv7ynaDSpG_f1gGK2NJ0clJ1EQ,5927
59
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/subagents/if_quality_reviewer.md,sha256=PLPJtf-6t-jugN75k7EG7ln7S47TT0FcVjWVsRLGOz8,6992
60
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/subagents/if_story_architect.md,sha256=rF_U0Nd3tK0HzaLK6wGL36hRb0B6dfuc6lljAU9pmmo,4936
61
- ifcraftcorpus-1.3.0.data/data/share/ifcraftcorpus/subagents/if_world_curator.md,sha256=xmbGF--5te8uxfimKFw45bFrhbdRM3LPaYBlhUd4swc,7376
62
- ifcraftcorpus-1.3.0.dist-info/METADATA,sha256=-QqX06NPksR94gytqc7uS9wuR5OCTcYSNUkd2nfs5Sw,4989
63
- ifcraftcorpus-1.3.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
64
- ifcraftcorpus-1.3.0.dist-info/entry_points.txt,sha256=E8DYJ_qWOgPe758ULKth3gcYo-1XkNEvDomhFjJ-B-U,110
65
- ifcraftcorpus-1.3.0.dist-info/licenses/LICENSE,sha256=7MoRwpgeEClx14esn2SJnOLz4jvxWP1uN_vjnC2XTHQ,1067
66
- ifcraftcorpus-1.3.0.dist-info/licenses/LICENSE-CONTENT,sha256=jhGwmahhy9rUFJSSrLUrssnrfa-mXotvNEwq74i93x8,639
67
- ifcraftcorpus-1.3.0.dist-info/RECORD,,
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,,