diff --git a/README.md b/README.md new file mode 100644 index 0000000..4ecec26 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# Center for Cybernomics Research (CCR) + +## 🌐 About + +The Center for Cybernomics Research (CCR) is an interdisciplinary initiative from the AF2C exploring cybernetic systems for post-capitalist economic models. We combine systems theory, decentralized governance, and computational modeling to develop frameworks for resource allocation and organizational structure modelling beyond liberal markets. + +Current Focus Areas: +- Anarchist cybernetic systems +- Mutual aid network simulations +- Decentralized decision-making protocols +- Anti-hierarchical resource management + +## 📂 Repository Structure +``` +CCR/ +├── python/ # Python implementations +├── papers/ # Research whitepapers (upcoming) +├── governance/ # Decision-making protocols (upcoming) +└── flake.nix # Nix development environment +``` + +## 🚀 Getting Started +1. Clone repository: +```bash +Copy +git clone https://github.com/your-org/CCR.git +cd CCR +``` +2. Enable flake : +```bash +bash +Copy +nix develop # Enter unified development environment +``` +## 🤝 Contributing +We welcome contributions through : +- Code : Implement new simulation modules +- Research : Develop theoretical frameworks +- Design : Create visualization tools +- Documentation : Improve technical specs + +See CONTRIBUTING.md (upcoming) for guidelines. + +## 📜 License +upcoming diff --git a/python/README.md b/python/README.md new file mode 100644 index 0000000..b7ee8cc --- /dev/null +++ b/python/README.md @@ -0,0 +1,67 @@ +# CCR Python Simulations +## 🥖 Bakery +A computational model of decentralized bread production/distribution commune (type 1) inspired by Project Cybersyn. + +Key Features +- Decentralized Voting System with consensus-based production decisions +- Resource Cybernetics (Real-time flour/energy tracking) +- Variable distribution priority +- Community Trust Metrics : Feedback-loop driven scores that influence donations + +### ⚙️ Installation +```bash +git clone https://github.com/your-org/CCR.git +cd CCR/python + +# Using Nix (recommended): +`nix develop` + +# Manual setup: +python -m venv .venv +source .venv/bin/activate +pip install -r requirements.txt +``` + +### 🚦 Running the Simulation +```bash +python run.py + +# Expected terminal output: +Day 0: Produced 94 loaves (Consensus: 3/4) +Day 2: Distributed 82 loaves +Community trust: 58.3 → 64.1 +``` +### 📁 Code Structure +``` +python/ +├── classes.py # Core models (Bakery, Member) +├── simulation.py # Main simulation loop +├── run.py # Visualization script using matplotlib +├── tests/ # Unit tests (upcoming) +└── analysis/ # Data processing notebooks (upcoming) +``` +### 🌱 Future Development +-[] Add crisis scenarios (resource shortages) +-[] Implement skill-based task allocation +-[] Connect to real data +-[] Develop web interface +-[] Generalize to other type 1 communes + +### 📊 Example Output + +|Day | Bread Stock | Trust Score | Production Runs +|----|------------|-------------|----------------- +|0 | 94 | 50.0 | 1 +|3 | 132 | 63.4 | 2 +|7 | 87 | 71.2 | 1 + +### 📝 Contributing +1. Fork the repository +2. Create feature branch: +```bash +git checkout -b feature/new-voting-system +``` +3. Submit pull request with: + - Code changes + - Updated tests + - Documentation additions diff --git a/python/src/run.py b/python/src/run.py index 7e0c64d..85c7c6e 100644 --- a/python/src/run.py +++ b/python/src/run.py @@ -1,7 +1,7 @@ import matplotlib.pyplot as plt from simulation import simulate_days -trust, bread = simulate_days(days=30) +trust, bread = simulate_days(days=1825) # Plot results plt.figure(figsize=(12, 4)) diff --git a/python/src/simulation.py b/python/src/simulation.py index d31dc96..5dbcfce 100644 --- a/python/src/simulation.py +++ b/python/src/simulation.py @@ -19,22 +19,22 @@ def simulate_days(days=30): for day in range(days): # --- Daily donations --- - bakery.flour_stock += np.random.randint(2, 10) # ~10kg/day - bakery.energy_stock += np.random.randint(5, 30) # ~30kWh/day + bakery.flour_stock += np.random.randint(2, 100) # ~10kg/day + bakery.energy_stock += np.random.randint(5, 300) # ~30kWh/day # --- Decentralized production decision --- - if bakery.flour_stock < 50: # Trigger production proposal + if bakery.flour_stock >= 50: # Trigger production proposal votes = [member.vote("produce_bread") for member in members] yes_votes = sum(1 for vote in votes if vote == "yes") - if yes_votes / len(members) >= 1: # Consensus + if yes_votes / len(members) >= 0.75 : # Consensus requested_loaves = 100 produced = bakery.produce_bread(requested_loaves) print(f"Day {day}: Produced {produced} loaves") # --- Distribute bread --- daily_distribution = bakery.distribute_bread({ - "mutual_aid": 50, # 50 groups needing bread + "mutual_aid": 50, # 50 mutual aid groups "individuals": 100 # 100 individuals })