# Folksy Idiom Generator — Project Spec ## Overview Build a procedural fake-proverb generator that produces sayings which *sound* like real folk wisdom but are semantically hollow. The system uses ConceptNet 5 relationships between concrete nouns to fill typed slots in proverb templates, ensuring every generated saying contains real-world object relationships dressed up in wisdom-sounding syntax. The core insight: real folk sayings encode real relationships (corn feeds chickens, ducks live on ponds, pickles are cucumbers plus dill). Fake sayings use the *same* real relationships in proverb-shaped sentence frames. The listener validates the semantic links, parses the structure as wisdom, and then realizes it doesn't actually *teach* anything. That gap is the humor. ## File Organization ``` folksy-generator/ ├── FOLKSY_GENERATOR_SPEC.md # This file ├── folksy_generator.py # Main CLI tool ├── data/ │ ├── folksy_vocab.csv # Curated vocabulary │ ├── folksy_relations.csv # Relationship edges │ └── classified_proverbs.csv # Labeled real proverbs ├── schemas/ │ └── fictional_entities.schema.json ├── examples/ │ ├── my_world.json # Example fictional entities │ └── sample_output.txt # Example generated sayings └── scripts/ └── extract_from_conceptnet.py # One-time extraction script (requires psql access) ``` ## Data Sources - PostgreSQL database `conceptnet5` with full ConceptNet 5 dataset (37M edges, 33M nodes, 50 relation types) - Curated folksy vocabulary: 500-800 concrete nouns tagged with categories - Relationship edges between vocabulary words with typed relations and confidence weights ## Meta-Template Families 1. **deconstruction** — "A without B is just humble D" 2. **denial_of_consequences** — "Don't create conditions for B and deny B" 3. **ironic_deficiency** — "Producer of X lacks X" 4. **futile_preparation** — "Like doing A and hoping for unrelated Y" 5. **hypocritical_complaint** — "Consumes X, complains about Y" 6. **tautological_wisdom** — "Obviously X leads to Y, stated as wisdom" 7. **false_equivalence** — "A is just B with/without property P" See full spec in project history for detailed template definitions and example chains.