Files
persona/scripts/enhance-scientists.js
7c36f1fb11 feat: Comprehensive enhancement of 682 personality profiles with behavioral modeling (#4)
* feat: Restructure personalities into individual JSON files

- Split mega JSON files into 488 individual personality files
- Each personality in its own named JSON file (e.g., zeekay.json, einstein.json)
- Created comprehensive index.json with all personality references
- Added categories.json for grouping by category
- Built JavaScript loader utilities for easy imports
- Generated README with complete personality index
- Added build and validation scripts for maintenance
- More maintainable and reusable structure for JavaScript imports

* feat: Enhanced scientist profiles and fixed validation issues

- Added detailed fields to 9 major scientist profiles (Einstein, Curie, Darwin, etc.)
- Fixed invalid categories for 7 profiles (changed to valid categories)
- Added parallel validation script with comprehensive checks
- All 487 personality profiles now pass validation
- 100% validation success rate across all categories

* refactor: Complete personality separation and cleanup

- Verified all 487 unique personalities are in individual JSON files
- Archived 11 mega personality collection files for safety
- Fixed duplicate vaclav_havel entry (was counted twice in mega file)
- Profiles directory now contains exactly 487 personality files + 2 index files
- Zero duplicate IDs across all individual files
- Cleaned personalities directory, keeping only individual files
- All personalities properly validated and organized by category

* feat: Add 126 personalities for global representation

- Added 21 African personalities (Nigeria, Kenya, Ethiopia, Tanzania, etc.)
- Added 20 Latin American personalities (Brazil, Argentina, Mexico, Chile, etc.)
- Added 25 Asia-Pacific personalities (Indonesia, Thailand, Philippines, Pakistan, etc.)
- Added 15 Caribbean personalities (Jamaica, Cuba, Haiti, Trinidad, etc.)
- Added 15 Middle Eastern personalities (Turkey, Iran, Israel, Lebanon, etc.)
- Added 20 Eastern European personalities (Poland, Czech, Hungary, Romania, etc.)
- Added 10 Pacific Island personalities (New Zealand, Australia, Hawaii, Samoa, etc.)

Total personalities: 613 (up from 487)
Now includes representation from 100+ countries/territories
Each personality includes OCEAN scores, philosophy, tools/domains, and origin

* feat: enhance 682 personality profiles with comprehensive behavioral modeling

- Added 8 major behavioral modeling categories to each profile:
  - Behavioral traits (values, motivations, fears, strengths, weaknesses, habits, quirks)
  - Cognitive style (thinking patterns, learning, problem-solving, decision-making)
  - Social dynamics (interaction, leadership, conflict, collaboration styles)
  - Communication patterns (verbal style, listening, persuasion, storytelling)
  - Work methodology (planning, execution, attention, pace, persistence)
  - Emotional profile (stability, stress response, empathy, self-awareness)
  - Legacy impact (contributions, influence domains, innovation style)
  - Category-specific attributes (tailored to each personality type)

- Enhanced 682 out of 701 profiles (97.3% success rate)
- Added enhancement metadata tracking (date, version, category used)
- Created comprehensive Python enhancement script for future updates
- Each profile now contains detailed attributes for accurate AI modeling
- Fulfills user request for 'as much extra detail as possible to accurately model all qualities and aspects of each persona'

---------

Co-authored-by: Hanzo Dev <[email protected]>
2025-09-25 16:23:57 -05:00

215 lines
8.7 KiB
JavaScript
Executable File

#!/usr/bin/env node
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const PROFILES_DIR = path.join(__dirname, '../profiles');
// Enhanced scientist template with additional fields
const scientistEnhancements = {
einstein: {
description: "Revolutionary physicist who transformed our understanding of space, time, and energy",
philosophy: "Imagination is more important than knowledge. The important thing is not to stop questioning.",
tools: {
essential: ["mathematics", "theoretical_physics", "thought_experiments"],
preferred: ["relativity_theory", "quantum_mechanics"],
domains: ["physics", "cosmology", "philosophy_of_science"]
},
contributions: ["Theory of Relativity", "E=mc²", "Photoelectric Effect", "Brownian Motion"],
quotes: [
"God does not play dice with the universe",
"Try not to become a man of success, but rather try to become a man of value"
]
},
curie: {
description: "Pioneer in radioactivity research and first woman to win a Nobel Prize",
philosophy: "Nothing in life is to be feared, it is only to be understood.",
tools: {
essential: ["chemistry", "physics", "laboratory_experiments"],
preferred: ["radioactivity_research", "element_isolation"],
domains: ["radioactivity", "chemistry", "physics"]
},
contributions: ["Discovery of Polonium and Radium", "Radioactivity Research", "Mobile X-ray Units"],
quotes: [
"Be less curious about people and more curious about ideas",
"Life is not easy for any of us, but what of that?"
]
},
darwin: {
description: "Naturalist who revolutionized biology with the theory of evolution",
philosophy: "It is not the strongest of the species that survives, but the most adaptable to change.",
tools: {
essential: ["observation", "specimen_collection", "comparative_analysis"],
preferred: ["field_research", "taxonomy", "geology"],
domains: ["biology", "evolution", "natural_history"]
},
contributions: ["Theory of Evolution", "Natural Selection", "The Origin of Species"],
quotes: [
"A man who dares to waste one hour of time has not discovered the value of life",
"The love for all living creatures is the most noble attribute of man"
]
},
newton: {
description: "Mathematical genius who laid the foundations of classical physics",
philosophy: "Truth is ever to be found in simplicity, and not in the multiplicity and confusion of things.",
tools: {
essential: ["mathematics", "calculus", "optics"],
preferred: ["mechanics", "astronomy", "alchemy"],
domains: ["physics", "mathematics", "astronomy"]
},
contributions: ["Laws of Motion", "Universal Gravitation", "Calculus", "Optics"],
quotes: [
"If I have seen further, it is by standing on the shoulders of giants",
"I can calculate the motion of heavenly bodies but not the madness of people"
]
},
galileo: {
description: "Father of modern observational astronomy and experimental physics",
philosophy: "Measure what is measurable, and make measurable what is not so.",
tools: {
essential: ["telescope", "mathematics", "experimental_method"],
preferred: ["astronomy", "mechanics", "geometry"],
domains: ["astronomy", "physics", "mathematics"]
},
contributions: ["Heliocentrism Support", "Telescope Improvements", "Laws of Motion", "Jupiter's Moons Discovery"],
quotes: [
"And yet it moves",
"Mathematics is the language in which God has written the universe"
]
},
tesla: {
description: "Visionary inventor who pioneered alternating current and wireless technology",
philosophy: "The present is theirs; the future, for which I really worked, is mine.",
tools: {
essential: ["electrical_engineering", "electromagnetic_theory", "invention"],
preferred: ["alternating_current", "wireless_transmission", "visualization"],
domains: ["electrical_engineering", "physics", "invention"]
},
contributions: ["AC Motor", "Tesla Coil", "Wireless Technology", "Radio Control"],
quotes: [
"If you want to find the secrets of the universe, think in terms of energy, frequency and vibration",
"The scientists of today think deeply instead of clearly"
]
},
hawking: {
description: "Theoretical physicist who advanced our understanding of black holes and cosmology",
philosophy: "Intelligence is the ability to adapt to change.",
tools: {
essential: ["theoretical_physics", "mathematics", "cosmology"],
preferred: ["black_hole_theory", "quantum_mechanics", "relativity"],
domains: ["cosmology", "theoretical_physics", "astrophysics"]
},
contributions: ["Hawking Radiation", "Black Hole Thermodynamics", "A Brief History of Time"],
quotes: [
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge",
"We are just an advanced breed of monkeys on a minor planet"
]
},
feynman: {
description: "Nobel Prize-winning physicist known for quantum mechanics and teaching excellence",
philosophy: "Study hard what interests you the most in the most undisciplined, irreverent and original manner possible.",
tools: {
essential: ["quantum_mechanics", "particle_physics", "feynman_diagrams"],
preferred: ["teaching", "bongo_drums", "safe_cracking"],
domains: ["quantum_physics", "particle_physics", "education"]
},
contributions: ["Quantum Electrodynamics", "Feynman Diagrams", "Path Integral Formulation"],
quotes: [
"I would rather have questions that can't be answered than answers that can't be questioned",
"Nobody ever figures out what life is all about"
]
},
sagan: {
description: "Astronomer and science communicator who brought the cosmos to millions",
philosophy: "Somewhere, something incredible is waiting to be known.",
tools: {
essential: ["astronomy", "planetary_science", "science_communication"],
preferred: ["exobiology", "seti", "writing"],
domains: ["astronomy", "astrobiology", "science_communication"]
},
contributions: ["Cosmos TV Series", "Voyager Golden Record", "Planetary Science Research"],
quotes: [
"We are made of star stuff",
"Extraordinary claims require extraordinary evidence"
]
},
turing: {
description: "Father of computer science and artificial intelligence",
philosophy: "We can only see a short distance ahead, but we can see plenty there that needs to be done.",
tools: {
essential: ["mathematics", "logic", "computation_theory"],
preferred: ["cryptanalysis", "machine_design", "algorithms"],
domains: ["computer_science", "mathematics", "cryptography"]
},
contributions: ["Turing Machine", "Turing Test", "Enigma Code Breaking", "ACE Computer"],
quotes: [
"A computer would deserve to be called intelligent if it could deceive a human",
"Sometimes it is the people no one expects anything from who do the things no one can imagine"
]
}
};
// Get all scientist files
function getScientistFiles() {
const files = fs.readdirSync(PROFILES_DIR)
.filter(f => f.endsWith('.json'))
.map(f => {
const content = JSON.parse(fs.readFileSync(path.join(PROFILES_DIR, f), 'utf8'));
return { filename: f, data: content };
})
.filter(f => f.data.category === 'scientist');
return files;
}
// Enhance scientist profiles
function enhanceScientists() {
console.log('🔬 Enhancing scientist profiles...\n');
const scientists = getScientistFiles();
let enhancedCount = 0;
let needsEnhancement = [];
scientists.forEach(({ filename, data }) => {
const id = data.id;
const enhancement = scientistEnhancements[id];
if (enhancement) {
// Apply enhancements
const enhancedData = {
...data,
...enhancement,
ocean: data.ocean // Preserve existing OCEAN scores
};
// Write enhanced profile
fs.writeFileSync(
path.join(PROFILES_DIR, filename),
JSON.stringify(enhancedData, null, 2)
);
console.log(`✅ Enhanced: ${data.name}`);
enhancedCount++;
} else if (!data.description || !data.philosophy || !data.tools) {
needsEnhancement.push(data.name);
}
});
console.log(`\n📊 Results:`);
console.log(` Enhanced: ${enhancedCount}`);
console.log(` Total scientists: ${scientists.length}`);
if (needsEnhancement.length > 0) {
console.log(`\n⚠️ Needs enhancement (${needsEnhancement.length}):`);
needsEnhancement.forEach(name => console.log(` - ${name}`));
}
}
// Run enhancement
enhanceScientists();
export { enhanceScientists };