diff --git a/GAMEPLAN_ISSUE_141_VARIANT_B.md b/GAMEPLAN_ISSUE_141_VARIANT_B.md new file mode 100644 index 00000000..cf178bc9 --- /dev/null +++ b/GAMEPLAN_ISSUE_141_VARIANT_B.md @@ -0,0 +1,453 @@ +# Gameplan: Issue #141 Asset Management - Variant B Implementation + +**Date**: October 8, 2025 +**Issue**: #141 - Asset Management Concepts +**Variant**: B - Content-Addressable Package System with Symlinks +**Status**: 📋 **IMPLEMENTATION GAMEPLAN** + +## Executive Summary + +This gameplan outlines the implementation of **Variant B** from Issue #141, which provides a **Content-Addressable Package System with Symlinks** for managing images and file includes in markitect. The implementation focuses on: + +1. **Package-based document storage** (.mdpkg ZIP files) +2. **Symlink-based deduplication** with shared asset library +3. **CLI integration** with markitect commands +4. **Gradual rollout** with backward compatibility + +## Architecture Overview + +``` +markitect_packages/ +├── packages/ # Generated .mdpkg files +│ ├── document_a.mdpkg +│ └── document_b.mdpkg +├── shared_assets/ # Deduplicated asset library +│ ├── images/ +│ │ ├── content_hash_1.png +│ │ └── content_hash_2.jpg +│ └── registry.json # Asset registry +└── workspace/ # Working directory with symlinks + ├── document_a/ + │ ├── index.md + │ └── assets/ # Symlinks to shared_assets + │ └── logo.png → ../../shared_assets/images/hash_1.png + └── document_b/ +``` + +## Current Markitect Integration Points + +Based on analysis of the existing codebase: + +### Existing Modules +- **CLI Framework**: `/markitect/cli.py` - Main Click-based CLI with 247KB of commands +- **Module Structure**: Organized in packages (finance, issues, legacy, etc.) +- **Database Integration**: `/markitect/database.py` - SQLite-based storage +- **Configuration**: `/markitect/config_manager.py` - Centralized config management +- **Batch Processing**: `/markitect/batch_processor.py` - File processing pipeline + +### Integration Strategy +- Follow existing patterns in `/markitect/finance/` and `/markitect/issues/` +- Use Click command groups for asset management commands +- Leverage existing `DatabaseManager` for metadata storage +- Integrate with `ConfigurationManager` for user settings + +## Implementation Phases + +### Phase 1: Core Asset Management Module (Week 1-2) + +**Deliverables:** +1. **`/markitect/assets/` module structure** +2. **Asset registry and deduplication engine** +3. **Basic CLI commands** +4. **Unit tests** + +**Components:** +``` +markitect/assets/ +├── __init__.py # Module exports +├── registry.py # AssetRegistry class +├── deduplicator.py # AssetDeduplicator class +├── packager.py # MarkdownPackager class +├── cli.py # Click command group +├── exceptions.py # Asset-specific exceptions +└── constants.py # Configuration constants +``` + +**Key Classes:** +- `AssetRegistry` - JSON-based asset metadata storage +- `AssetDeduplicator` - Symlink-based deduplication +- `MarkdownPackager` - .mdpkg creation/extraction +- `AssetManager` - High-level API coordinator + +### Phase 2: CLI Integration (Week 3) + +**Deliverables:** +1. **Full CLI command suite** +2. **Integration with existing markitect CLI** +3. **Configuration management** +4. **User documentation** + +**CLI Commands:** +```bash +# Asset Management +markitect asset add [--name NAME] +markitect asset list [--document DOC] [--unused] +markitect asset dedupe [--dry-run] +markitect asset stats +markitect asset cleanup [--orphaned] + +# Package Management +markitect package create +markitect package extract [--name NAME] +markitect package list +markitect package validate + +# Workspace Management +markitect workspace init [--template TEMPLATE] +markitect workspace status +markitect workspace sync [--document DOC] +``` + +### Phase 3: Advanced Features (Week 4-5) + +**Deliverables:** +1. **Batch processing integration** +2. **Database schema extensions** +3. **Performance optimizations** +4. **Integration tests** + +**Features:** +- **Batch Import**: Process entire directories of assets +- **Auto-discovery**: Scan markdown files for asset references +- **Format Optimization**: Automatic image compression/conversion +- **Workspace Templates**: Pre-configured project structures +- **Asset Search**: Content-based asset discovery + +### Phase 4: Production Readiness (Week 6) + +**Deliverables:** +1. **Error handling and recovery** +2. **Configuration validation** +3. **Performance benchmarking** +4. **Documentation completion** + +**Production Features:** +- **Rollback Support**: Undo asset operations +- **Conflict Resolution**: Handle symlink/file conflicts +- **Cross-platform Support**: Windows symlink alternatives +- **Migration Tools**: Import from existing asset workflows + +## Technical Specifications + +### Module Structure + +**`markitect/assets/__init__.py`** +```python +"""Asset Management for Markitect - Issue #141 Variant B Implementation.""" + +from .registry import AssetRegistry +from .deduplicator import AssetDeduplicator +from .packager import MarkdownPackager +from .manager import AssetManager +from .exceptions import AssetError, DuplicationError, PackageError + +__all__ = [ + 'AssetRegistry', + 'AssetDeduplicator', + 'MarkdownPackager', + 'AssetManager', + 'AssetError', + 'DuplicationError', + 'PackageError' +] +``` + +**CLI Integration Pattern** +```python +# In markitect/cli.py +from .assets.cli import asset_commands + +@cli.group() +def asset(): + """Asset management commands.""" + pass + +cli.add_command(asset_commands, 'asset') +``` + +### Database Schema Extensions + +**Asset Metadata Table** +```sql +CREATE TABLE asset_metadata ( + content_hash TEXT PRIMARY KEY, + original_name TEXT, + file_size INTEGER, + mime_type TEXT, + stored_path TEXT, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + last_accessed TIMESTAMP, + reference_count INTEGER DEFAULT 0 +); + +CREATE TABLE asset_references ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + content_hash TEXT, + document_path TEXT, + virtual_name TEXT, + markdown_line INTEGER, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (content_hash) REFERENCES asset_metadata(content_hash) +); + +CREATE INDEX idx_asset_refs_document ON asset_references(document_path); +CREATE INDEX idx_asset_refs_hash ON asset_references(content_hash); +``` + +### Configuration Schema + +**Asset Management Settings** +```yaml +# markitect.yaml +asset_management: + enabled: true + workspace_path: "./markitect_workspace" + shared_assets_path: "./markitect_workspace/shared_assets" + packages_path: "./markitect_workspace/packages" + + # Deduplication settings + auto_dedupe: true + symlink_preferred: true + fallback_to_copy: true # Windows compatibility + + # Package settings + compression_level: 6 + include_manifest: true + validate_on_create: true + + # Performance settings + cache_enabled: true + batch_size: 100 + max_file_size_mb: 50 +``` + +## CLI Command Specifications + +### Asset Commands + +**`markitect asset add`** +```bash +# Basic usage +markitect asset add logo.png ./project_a --name company_logo.png + +# Options +--name NAME # Virtual name in document (default: original filename) +--document PATH # Target document directory (required) +--force # Overwrite existing virtual name +--no-symlink # Force file copy instead of symlink +``` + +**`markitect asset list`** +```bash +# List all assets +markitect asset list + +# Filter by document +markitect asset list --document ./project_a + +# Show unused assets +markitect asset list --unused + +# Output formats +markitect asset list --format json +markitect asset list --format table +``` + +**`markitect asset dedupe`** +```bash +# Dry run (show what would be deduplicated) +markitect asset dedupe --dry-run + +# Execute deduplication +markitect asset dedupe + +# Force deduplication of all assets +markitect asset dedupe --force +``` + +### Package Commands + +**`markitect package create`** +```bash +# Create package from document directory +markitect package create ./project_a project_a + +# Options +--output PATH # Output directory (default: workspace/packages) +--compression LEVEL # ZIP compression level 0-9 (default: 6) +--exclude PATTERN # Exclude files matching pattern +--include-sources # Include source markdown files +``` + +**`markitect package extract`** +```bash +# Extract package to workspace +markitect package extract project_a.mdpkg + +# Extract with custom name +markitect package extract project_a.mdpkg --name project_a_v2 + +# Options +--output PATH # Output directory (default: workspace/documents) +--overwrite # Overwrite existing directory +--no-dedupe # Skip deduplication during extraction +``` + +## Testing Strategy + +### Unit Tests + +**Test Coverage Areas:** +- **Asset Registry**: JSON persistence, hash calculations, metadata management +- **Deduplicator**: Content hashing, symlink creation, fallback mechanisms +- **Packager**: ZIP creation/extraction, manifest handling, asset resolution +- **CLI Commands**: Command parsing, error handling, output formatting + +**Test Structure:** +``` +tests/ +├── test_assets/ +│ ├── test_registry.py +│ ├── test_deduplicator.py +│ ├── test_packager.py +│ └── test_cli.py +├── fixtures/ +│ ├── test_images/ +│ ├── test_documents/ +│ └── test_packages/ +└── integration/ + ├── test_full_workflow.py + └── test_cross_platform.py +``` + +### Integration Tests + +**Workflow Tests:** +1. **Complete Asset Lifecycle**: Add → Dedupe → Package → Extract +2. **Cross-Document Sharing**: Multiple docs referencing same assets +3. **Package Portability**: Create on one system, extract on another +4. **Error Recovery**: Broken symlinks, missing files, corrupted packages + +### Performance Tests + +**Benchmarking Scenarios:** +- **Large Asset Libraries**: 1000+ assets, multiple documents +- **Batch Processing**: Importing entire directories +- **Package Operations**: Creating/extracting large packages +- **Deduplication Efficiency**: Storage savings measurement + +## Risk Mitigation + +### Technical Risks + +**Symlink Compatibility** +- **Risk**: Symlinks fail on Windows or restricted filesystems +- **Mitigation**: Automatic fallback to file copying +- **Detection**: Platform detection and permission testing + +**Package Corruption** +- **Risk**: ZIP files become corrupted during transfer +- **Mitigation**: Built-in validation and checksum verification +- **Recovery**: Package repair tools and backup strategies + +**Storage Scalability** +- **Risk**: Asset libraries become too large to manage efficiently +- **Mitigation**: Lazy loading, pagination, and cleanup tools +- **Monitoring**: Storage usage tracking and alerts + +### User Experience Risks + +**Learning Curve** +- **Risk**: Users find asset management complex +- **Mitigation**: Progressive disclosure, good defaults, clear documentation +- **Support**: Interactive tutorials and example workflows + +**Data Loss** +- **Risk**: Assets accidentally deleted or corrupted +- **Mitigation**: Confirmation prompts, soft deletion, backup recommendations +- **Recovery**: Asset history tracking and restore capabilities + +## Success Metrics + +### Technical Metrics +- **Storage Efficiency**: 30%+ reduction in duplicate asset storage +- **Performance**: Asset operations complete in <100ms for typical workloads +- **Reliability**: 99.9%+ success rate for package operations +- **Compatibility**: Works on Windows, macOS, Linux + +### User Adoption Metrics +- **CLI Usage**: Asset commands represent 10%+ of total markitect usage +- **Package Creation**: Users create 5+ packages per month on average +- **Error Rates**: <1% of asset operations result in user-visible errors +- **Documentation**: Asset management docs have 95%+ user satisfaction + +## Implementation Timeline + +**Week 1-2: Core Module** +- [ ] Asset registry implementation +- [ ] Deduplication engine with symlinks +- [ ] Basic package creation/extraction +- [ ] Unit test suite (80%+ coverage) + +**Week 3: CLI Integration** +- [ ] Complete CLI command suite +- [ ] Integration with main markitect CLI +- [ ] Configuration management +- [ ] User documentation + +**Week 4-5: Advanced Features** +- [ ] Batch processing capabilities +- [ ] Database integration +- [ ] Performance optimizations +- [ ] Integration test suite + +**Week 6: Production Readiness** +- [ ] Error handling and recovery +- [ ] Cross-platform testing +- [ ] Performance benchmarking +- [ ] Release preparation + +## Dependencies + +### Internal Dependencies +- **markitect.database**: Metadata storage integration +- **markitect.config_manager**: Configuration management +- **markitect.cli**: Command registration and parsing +- **markitect.batch_processor**: Bulk operation support + +### External Dependencies +- **Click**: CLI framework (existing dependency) +- **Pathlib**: Path manipulation (standard library) +- **Zipfile**: Package creation (standard library) +- **Hashlib**: Content hashing (standard library) +- **JSON**: Metadata serialization (standard library) +- **OS**: Symlink operations (standard library) + +### Optional Dependencies +- **Pillow**: Image processing and optimization +- **Send2trash**: Safe file deletion +- **Watchdog**: File system monitoring + +## Next Steps + +1. **Review and Approval**: Get stakeholder sign-off on this gameplan +2. **Environment Setup**: Prepare development environment and test fixtures +3. **Phase 1 Kickoff**: Begin core module implementation +4. **Continuous Integration**: Set up automated testing pipeline +5. **Documentation**: Start user guide and API documentation + +This gameplan provides a comprehensive roadmap for implementing Issue #141 Variant B, ensuring robust asset management capabilities while maintaining compatibility with existing markitect workflows. + +--- + +**Status**: 📋 **Ready for Implementation - Awaiting Approval** \ No newline at end of file diff --git a/examples/BildungsKanonJon b/examples/BildungsKanonJon new file mode 100644 index 00000000..dc59535a --- /dev/null +++ b/examples/BildungsKanonJon @@ -0,0 +1,305 @@ +Die Zitate stammen jeweils aus den Originaltexten (bzw. bei moderneren Werken aus verlässlichen Übersetzungen), und wo kein wörtliches Zitat möglich war, ist ein sinngemäßes oder typisches Satzfragment verwendet. + +--- + +```markdown +# 🕰️ 200 Jahre Bildung +## Vom Weltgeist zum Selbstbewusstsein +Ein Essay in vier Spiegeln + +--- + +## Einleitung + +Bildung ist kein Besitz, sondern ein Strom. +Sie verändert sich mit der Zeit, weil der Mensch sich verändert. +Was gestern als Gipfel der Vernunft galt, erscheint morgen als Anfang des Gefühls. +Und jede Generation muss ihre eigene Antwort finden auf dieselbe alte Frage: +**Was bedeutet es, ein gebildeter Mensch zu sein?** + +Dieses kleine Heft blickt zurück auf vier Wendepunkte deutscher Bildungsgeschichte – +1825, 1925, 1975 und 2007 – und legt daneben das Echo von 2025. +Jeder Abschnitt spiegelt nicht nur Bücher, sondern den Geist seiner Epoche. +Die Sprache folgt dabei jeweils dem Ton der Zeit, um Nähe spürbar zu machen. + +--- + +# 📜 Bildung um 1825 +## Die Zeit des Weltgeistes und der Seelenbildung + +> „Das Wahre, Gute und Schöne – sie sind eins im Menschen, der sich bildet.“ +> *(nach Schiller)* + +### Einführung in die Zeit + +Das frühe 19. Jahrhundert war eine Epoche des inneren Aufbruchs. +Deutschland war noch kein Staat, aber eine geistige Landschaft. +Der junge Mensch strebte nicht nach Reichtum, sondern nach Vollkommenheit. +Er las Homer und Kant, ging spazieren wie Rousseau, +und glaubte, dass die Welt sich im Spiegel des Geistes ordnen ließe. +Bildung hieß damals: **sich selbst gestalten wie ein Kunstwerk.** + +--- + +### Bildungskanon um 1825 – und sein Echo 2025 + +| Bereich | 1825 | Echo 2025 | +|:--|:--|:--| +| **Mensch & Bildung** | Goethe – *Wilhelm Meisters Lehrjahre* | Ferrante – *Die Geschichte eines neuen Namens* | +| **Freiheit & Vernunft** | Schiller – *Über die ästhetische Erziehung des Menschen* | Nussbaum – *Die neue religiöse Intoleranz* | +| **Natur & Seele** | Humboldt – *Kosmos* | Rovelli – *Die Ordnung der Zeit* | +| **Philosophie & Geist** | Hegel – *Phänomenologie des Geistes* | Metzinger – *The Ego Tunnel* | +| **Religion & Zweifel** | Kant – *Religion innerhalb der Grenzen der bloßen Vernunft* | Harari – *Sapiens* | + +#### Goethe – *Wilhelm Meisters Lehrjahre* +> „Es ist nicht genug zu wissen, man muß auch anwenden; es ist nicht genug zu wollen, man muß auch tun.“ +Der erste große Bildungsroman Europas. Goethe entwirft den Menschen als Projekt seiner eigenen Reifung. Nicht Pflicht, sondern Erfahrung formt das Ich – eine Revolution des Denkens. + +#### Schiller – *Über die ästhetische Erziehung des Menschen* +> „Der Mensch ist nur da ganz Mensch, wo er spielt.“ +Ein Manifest für Schönheit als moralische Kraft. Schiller glaubt, dass nur das Schöne den Menschen frei macht, weil es Sinnlichkeit und Vernunft versöhnt. + +#### Humboldt – *Kosmos* +> „Alles ist Wechselwirkung.“ +Ein poetisch-wissenschaftlicher Entwurf der Welt als lebendiges Ganzes. Humboldt denkt Natur als Einheit von Geist, Materie und Empfindung – Wissen mit Seele. + +#### Hegel – *Phänomenologie des Geistes* +> „Das Wahre ist das Ganze.“ +Philosophie als Drama des Bewusstseins. Vom sinnlichen Erleben bis zur Selbstreflexion entfaltet Hegel die Geschichte des Geistes als Selbsterkenntnis des Absoluten. + +#### Kant – *Religion innerhalb der Grenzen der bloßen Vernunft* +> „Handle so, daß du die Menschheit jederzeit zugleich als Zweck, niemals bloß als Mittel brauchst.“ +Kants Versuch, Glauben und Vernunft zu versöhnen. Religion wird zur Ethik, Gott zur Idee moralischer Ordnung – kühl, klar, kompromisslos. + +> Bildung 1825 bedeutete: +> Die Welt zu verstehen, indem man sich selbst erkennt. + +--- + +# 🕯️ Bildung um 1925 +## Die Zeit zwischen den Kriegen – Geist als Rettung + +> „Wir haben den Glauben an die Dinge verloren – also suchen wir ihn im Wort.“ + +### Einführung in die Zeit + +Die Welt war aus den Fugen geraten. +Ein Weltkrieg lag hinter Deutschland, Inflation und Zweifel prägten die Jugend. +Und doch: Bildung blieb Heiligtum. +Man las Goethe und Schiller, um den inneren Halt zu wahren, +und schrieb Gedichte, um Ordnung in das Chaos zu bringen. +Die Schule war streng, das Denken idealistisch, +und in jedem Buch lag die Hoffnung auf eine bessere Menschheit. + +--- + +### Bildungskanon um 1925 – und sein Echo 2025 + +| Bereich | 1925 | Echo 2025 | +|:--|:--|:--| +| **Selbstverständnis** | Goethe – *Faust I* | Kehlmann – *Die Vermessung der Welt* | +| **Freiheit & Verantwortung** | Schiller – *Wilhelm Tell* | Orwell – *1984* | +| **Toleranz & Vernunft** | Lessing – *Nathan der Weise* | Harari – *Homo Deus* | +| **Natur & Maß** | Stifter – *Der Nachsommer* | Macfarlane – *Karte der Wildnis* | +| **Moral & Gesellschaft** | Fontane – *Effi Briest* | Ferrante – *Meine geniale Freundin* | + +#### Goethe – *Faust I* +> „Zwei Seelen wohnen, ach! in meiner Brust.“ +Das deutsche Urdrama des Strebens. Faust steht zwischen Wissen und Sehnsucht, Wissenschaft und Sinn – Symbol für den modernen Menschen. + +#### Schiller – *Wilhelm Tell* +> „Der Starke ist am mächtigsten allein.“ +Ein Freiheitsstück in Zeiten der Unfreiheit. Tell ist mehr als ein Held – er ist das Gewissen des Volkes gegen die Macht der Tyrannei. + +#### Lessing – *Nathan der Weise* +> „Es eifre jeder seiner unbestochnen, von Vorurteilen freien Liebe nach.“ +Die Ringparabel als ewiges Gleichnis für Toleranz. Vernunft, Glaube und Menschlichkeit verschmelzen in einer Utopie der Verständigung. + +#### Stifter – *Der Nachsommer* +> „Die Milde ist das Wahrzeichen des Edlen.“ +Ein Roman der Mäßigung. Stifter lehrt: Ordnung ist keine Einschränkung, sondern der Raum, in dem Schönheit wächst. + +#### Fontane – *Effi Briest* +> „Das ist ein zu weites Feld.“ +Ein feines, stilles Meisterwerk über gesellschaftlichen Zwang und menschliche Schwäche. Effi wird zum Symbol weiblicher Verletzlichkeit in der Enge bürgerlicher Moral. + +> Bildung 1925 bedeutete: +> Haltung zu bewahren, wenn die Welt sich wandelt. + +--- + +# 🌿 Bildung um 1975 +## Die Zeit der Befreiung – Wissen als Aufbruch + +> „Die Kinder der Blumen werden die Lehrer der Zweifel.“ + +### Einführung in die Zeit + +Die 1970er waren laut und leise zugleich. +Musik, Protest, Philosophie – alles war Aufbruch. +Ein 18-Jähriger las Hesse, Fromm oder Böll, +suchte Wahrheit in Indien, und Frieden auf der Straße. +Man wollte die Welt verändern, aber auch sich selbst verstehen. +Der Geist der Bildung war rebellisch, poetisch, +und manchmal erschöpft von zu viel Idealismus. + +--- + +### Bildungskanon um 1975 – und sein Echo 2025 + +| Bereich | 1975 | Echo 2025 | +|:--|:--|:--| +| **Gesellschaft & Rebellion** | Hesse – *Siddhartha* | Bregman – *Im Grunde gut* | +| **Politik & Verantwortung** | Böll – *Katharina Blum* | Göpel – *Unsere Welt neu denken* | +| **Umwelt & Zukunft** | Club of Rome – *Grenzen des Wachstums* | Foer – *Wir sind das Klima* | +| **Philosophie & Bewusstsein** | Fromm – *Haben oder Sein* | Han – *Die Errettung des Schönen* | +| **Jugend & Freiheit** | Kerouac – *On the Road* | Vuong – *Auf Erden sind wir kurz grandios* | + +#### Hesse – *Siddhartha* +> „Wissen kann man mitteilen, Weisheit aber nicht.“ +Ein spiritueller Roman über Selbstfindung und Loslassen. Der Protagonist sucht nicht Gott, sondern Bewusstsein – ein Echo fernöstlicher Weisheit in westlicher Sprache. + +#### Böll – *Die verlorene Ehre der Katharina Blum* +> „Wie Gewalt entstehen und wohin sie führen kann.“ +Ein Spiegel der deutschen Nachkriegszeit. Böll zeigt, wie Hetze und Angst Wahrheit zerstören. Eine Mahnung an jede Generation der Medien. + +#### Club of Rome – *Die Grenzen des Wachstums* +> „Wenn die gegenwärtigen Trends anhalten, stößt das Wachstum an seine Grenzen.“ +Der erste globale Weckruf: Wirtschaft hat planetare Folgen. Wissenschaft als moralische Stimme – ein Buch, das den Begriff „Nachhaltigkeit“ vorbereitete. + +#### Fromm – *Haben oder Sein* +> „Nicht der Besitz macht den Menschen aus, sondern das, was er ist.“ +Philosophie des Menschseins gegen Konsum. Fromm fragt: Besitzen wir die Dinge – oder besitzen sie uns? + +#### Kerouac – *On the Road* +> „The only people for me are the mad ones.“ +Freiheit auf Asphalt. Eine Hymne an das Unterwegssein – körperlich, geistig, existenziell. Der Mythos der Suche ohne Ziel. + +> Bildung 1975 bedeutete: +> Die Welt zu befragen – nicht zu erobern. + +--- + +# 💾 Bildung um 2007 +## Die Zeit der Vernetzung – Denken im Wandel + +> „Alles Wissen ist da – aber was sollen wir damit anfangen?“ + +### Einführung in die Zeit + +Das Internet wurde erwachsen, die Welt kleiner, die Zukunft größer. +Ein 18-Jähriger 2007 lebte zwischen Facebook, Klimawandel und Bologna-Reform. +Er suchte Sinn zwischen Algorithmen und Achtsamkeit, +las Kehlmann, Coelho, Hosseini, und sah in Filmen wie *Matrix* oder *V for Vendetta* +den Spiegel einer Welt, die sich selbst erfand. +Bildung bedeutete: **orientieren, nicht verlieren.** + +--- + +### Bildungskanon um 2007 – und sein Echo 2025 + +| Bereich | 2007 | Echo 2025 | +|:--|:--|:--| +| **Identität & Erwachsenwerden** | Kehlmann – *Die Vermessung der Welt* | Rooney – *Normale Menschen* | +| **Globalisierung & Moral** | Hosseini – *Drachenläufer* | Shafak – *The Island of Missing Trees* | +| **Technik & Überwachung** | Orwell – *1984* (revival) | Eggers – *The Circle* | +| **Gesellschaft & Klasse** | Franzen – *Die Korrekturen* | Robinson – *The Ministry for the Future* | +| **Umwelt & Verantwortung** | Gore – *An Inconvenient Truth* | Thunberg – *Das Klima-Buch* | + +#### Kehlmann – *Die Vermessung der Welt* +> „Zahlen sind die einzige Sprache, die Gott versteht.“ +Ein spielerischer Dialog zwischen Vernunft und Genie. Humboldt und Gauß verkörpern zwei Wege des Wissens – präzise, ironisch, modern. + +#### Hosseini – *Drachenläufer* +> „Für dich, tausendmal über.“ +Eine Geschichte über Schuld, Freundschaft und Erlösung. Der Blick Afghanistans in westliche Herzen – Empathie als Brücke zwischen Welten. + +#### Orwell – *1984* +> „Big Brother is watching you.“ +Eine alte Warnung, neu verstanden. Kontrolle ist nicht mehr staatlich, sondern sozial. Das Buch bleibt prophetisch – in jeder Generation. + +#### Franzen – *Die Korrekturen* +> „Die Familie ist das erste System, das man begreift – und das letzte, das man verlässt.“ +Familiendrama als Spiegel globaler Entfremdung. Intime Beziehungen zeigen den Zustand der Gesellschaft. Psychologie statt Politik. + +#### Gore – *An Inconvenient Truth* +> „Our ability to live is what’s at stake.“ +Die Wissenschaft als moralische Pflicht. Das Buch (und der Film) prägten eine Generation, die Klima als Gewissensfrage begreift. + +> Bildung 2007 bedeutete: +> Orientierung im Informationsmeer. + +--- + +# 🔭 Bildung um 2025 +## Das Echo – Bewusstsein als Bildung + +> „Wissen ist kein Turm, sondern ein Netz.“ + +### Einführung in die Gegenwart + +Heute leben wir in einem Zeitalter des Überflusses an Information +und des Mangels an Bedeutung. +Der gebildete Mensch von morgen ist keiner, der alles weiß, +sondern einer, der weiß, **wie man Bedeutung webt**. +Bildung ist wieder innerlich geworden – +nicht Rückzug, sondern Resonanz. + +--- + +### Die Gegenwart im Spiegel + +| Leitmotiv | Beispielhafte Stimmen | +|:--|:--| +| **Verantwortung und Klima** | Greta Thunberg, Maja Göpel, Kim Stanley Robinson | +| **Bewusstsein und KI** | Ted Chiang, Thomas Metzinger, Kate Crawford | +| **Erinnerung und Wahrheit** | Nora Krug, Rebecca Solnit | +| **Sprache und Poesie** | Ocean Vuong, Amanda Gorman | +| **Ethik und Selbstgestaltung** | Byung-Chul Han, Rutger Bregman, Martha Nussbaum | + +#### Greta Thunberg – *Das Klima-Buch* +> „Ich will, dass ihr handelt, als würde euer Haus brennen. Denn es brennt.“ +Ein kollektives Manifest. Bildung als globale Aufgabe: verstehen, fühlen, handeln. + +#### Ted Chiang – *Exhalation* +> „Understanding is the only kind of compassion we can show.“ +Philosophie in Form von Science Fiction. Chiang denkt Maschinen wie Menschen – und Menschen wie Möglichkeiten. + +#### Nora Krug – *Heimat* +> „Man kann nur Verantwortung übernehmen für das, was man versteht.“ +Erinnerung als Mut. Eine illustrierte Spurensuche, die Geschichte in persönliche Verantwortung verwandelt. + +#### Ocean Vuong – *Time Is a Mother* +> „Let me begin again.“ +Poesie als zärtliche Wahrheitsform. Seine Sprache heilt das, was Logik nicht greifen kann. + +#### Byung-Chul Han – *Die Errettung des Schönen* +> „Im Glatten verschwindet der Schmerz.“ +Ein Essay über Stille, Langsamkeit und das Verlorene. Bildung wird wieder Kontemplation – gegen die Müdigkeit des Dauerwissens. + +> Bildung 2025 bedeutet: +> Bewusst handeln in einer vernetzten Welt. + +--- + +# 🪶 Epilog +## Vom Weltgeist zum Selbstbewusstsein + +1825 suchte der Mensch sich selbst im Kosmos. +1925 suchte er Halt im Chaos. +1975 suchte er Freiheit in der Gemeinschaft. +2007 suchte er Sinn im System. +2025 sucht er Bewusstsein im Ganzen. + +> Bildung war immer die Kunst, sich selbst zu erkennen – +> nur das Licht, in dem man es tut, verändert sich. + +--- + +*(Ende des Hefts)* + +``` + +--- + + diff --git a/examples/demo_hash_store/demo_inputs/company_logo.png b/examples/demo_hash_store/demo_inputs/company_logo.png new file mode 100644 index 00000000..51bce7ab --- /dev/null +++ b/examples/demo_hash_store/demo_inputs/company_logo.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_LOGO \ No newline at end of file diff --git a/examples/demo_hash_store/demo_inputs/diagram.png b/examples/demo_hash_store/demo_inputs/diagram.png new file mode 100644 index 00000000..bf697aba --- /dev/null +++ b/examples/demo_hash_store/demo_inputs/diagram.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_DIAGRAM \ No newline at end of file diff --git a/examples/demo_hash_store/demo_inputs/logo.png b/examples/demo_hash_store/demo_inputs/logo.png new file mode 100644 index 00000000..51bce7ab --- /dev/null +++ b/examples/demo_hash_store/demo_inputs/logo.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_LOGO \ No newline at end of file diff --git a/examples/demo_hash_store/metadata.db b/examples/demo_hash_store/metadata.db new file mode 100644 index 00000000..1a873abc Binary files /dev/null and b/examples/demo_hash_store/metadata.db differ diff --git a/examples/demo_hash_store/store/sha256/25965a/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png b/examples/demo_hash_store/store/sha256/25965a/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png new file mode 100644 index 00000000..51bce7ab --- /dev/null +++ b/examples/demo_hash_store/store/sha256/25965a/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_LOGO \ No newline at end of file diff --git a/examples/demo_hash_store/store/sha256/54f88e/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png b/examples/demo_hash_store/store/sha256/54f88e/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png new file mode 100644 index 00000000..bf697aba --- /dev/null +++ b/examples/demo_hash_store/store/sha256/54f88e/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_DIAGRAM \ No newline at end of file diff --git a/examples/demo_workspace/demo_assets/company_logo.png b/examples/demo_workspace/demo_assets/company_logo.png new file mode 100644 index 00000000..51bce7ab --- /dev/null +++ b/examples/demo_workspace/demo_assets/company_logo.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_LOGO \ No newline at end of file diff --git a/examples/demo_workspace/demo_assets/diagram.png b/examples/demo_workspace/demo_assets/diagram.png new file mode 100644 index 00000000..bf697aba --- /dev/null +++ b/examples/demo_workspace/demo_assets/diagram.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_DIAGRAM \ No newline at end of file diff --git a/examples/demo_workspace/demo_assets/logo.png b/examples/demo_workspace/demo_assets/logo.png new file mode 100644 index 00000000..51bce7ab --- /dev/null +++ b/examples/demo_workspace/demo_assets/logo.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_LOGO \ No newline at end of file diff --git a/examples/demo_workspace/documents/project_a/assets/diagram.png b/examples/demo_workspace/documents/project_a/assets/diagram.png new file mode 120000 index 00000000..518ab1e0 --- /dev/null +++ b/examples/demo_workspace/documents/project_a/assets/diagram.png @@ -0,0 +1 @@ +../../../shared_assets/images/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png \ No newline at end of file diff --git a/examples/demo_workspace/documents/project_a/assets/logo.png b/examples/demo_workspace/documents/project_a/assets/logo.png new file mode 120000 index 00000000..a7ecd25e --- /dev/null +++ b/examples/demo_workspace/documents/project_a/assets/logo.png @@ -0,0 +1 @@ +../../../shared_assets/images/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png \ No newline at end of file diff --git a/examples/demo_workspace/documents/project_a/index.md b/examples/demo_workspace/documents/project_a/index.md new file mode 100644 index 00000000..b11ba90a --- /dev/null +++ b/examples/demo_workspace/documents/project_a/index.md @@ -0,0 +1,6 @@ +# Project A + +![Logo](assets/logo.png) +![Diagram](assets/diagram.png) + +This is Project A documentation. diff --git a/examples/demo_workspace/documents/project_b/assets/company_logo.png b/examples/demo_workspace/documents/project_b/assets/company_logo.png new file mode 120000 index 00000000..a7ecd25e --- /dev/null +++ b/examples/demo_workspace/documents/project_b/assets/company_logo.png @@ -0,0 +1 @@ +../../../shared_assets/images/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png \ No newline at end of file diff --git a/examples/demo_workspace/documents/project_b/assets/system_diagram.png b/examples/demo_workspace/documents/project_b/assets/system_diagram.png new file mode 120000 index 00000000..518ab1e0 --- /dev/null +++ b/examples/demo_workspace/documents/project_b/assets/system_diagram.png @@ -0,0 +1 @@ +../../../shared_assets/images/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png \ No newline at end of file diff --git a/examples/demo_workspace/documents/project_b/index.md b/examples/demo_workspace/documents/project_b/index.md new file mode 100644 index 00000000..a93175ef --- /dev/null +++ b/examples/demo_workspace/documents/project_b/index.md @@ -0,0 +1,6 @@ +# Project B + +![Company Logo](assets/company_logo.png) +![System Diagram](assets/system_diagram.png) + +This is Project B documentation. diff --git a/examples/demo_workspace/packages/project_a.mdpkg b/examples/demo_workspace/packages/project_a.mdpkg new file mode 100644 index 00000000..8e439ace Binary files /dev/null and b/examples/demo_workspace/packages/project_a.mdpkg differ diff --git a/examples/demo_workspace/packages/project_b.mdpkg b/examples/demo_workspace/packages/project_b.mdpkg new file mode 100644 index 00000000..1669b6aa Binary files /dev/null and b/examples/demo_workspace/packages/project_b.mdpkg differ diff --git a/examples/demo_workspace/shared_assets/images/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png b/examples/demo_workspace/shared_assets/images/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png new file mode 100644 index 00000000..51bce7ab --- /dev/null +++ b/examples/demo_workspace/shared_assets/images/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_LOGO \ No newline at end of file diff --git a/examples/demo_workspace/shared_assets/images/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png b/examples/demo_workspace/shared_assets/images/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png new file mode 100644 index 00000000..bf697aba --- /dev/null +++ b/examples/demo_workspace/shared_assets/images/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png @@ -0,0 +1 @@ +PNG_IMAGE_CONTENT_DIAGRAM \ No newline at end of file diff --git a/examples/demo_workspace/shared_assets/registry.json b/examples/demo_workspace/shared_assets/registry.json new file mode 100644 index 00000000..9318ca9d --- /dev/null +++ b/examples/demo_workspace/shared_assets/registry.json @@ -0,0 +1,21 @@ +{ + "assets": { + "25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c": { + "original_name": "logo.png", + "size": 22, + "mime_type": "image/png", + "extension": ".png", + "created": "2025-10-08T01:50:01.099764", + "stored_path": "images/25965aaacc4f361784870ed2624f0178ea7c3cf33961ffb73ef13bafed7cd28c.png" + }, + "54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5": { + "original_name": "diagram.png", + "size": 25, + "mime_type": "image/png", + "extension": ".png", + "created": "2025-10-08T01:50:01.104199", + "stored_path": "images/54f88ec7aa8570d4ad655943d36f5db47021501baeac8ceeb3b726157de6ebf5.png" + } + }, + "version": "1.0" +} \ No newline at end of file diff --git a/GAMEPLAN_ISSUE_132_instant_markdown.md b/history/GAMEPLAN_ISSUE_132_instant_markdown.md similarity index 100% rename from GAMEPLAN_ISSUE_132_instant_markdown.md rename to history/GAMEPLAN_ISSUE_132_instant_markdown.md diff --git a/ISSUE_140_ROUNDTRIP_ANALYSIS.md b/history/ISSUE_140_ROUNDTRIP_ANALYSIS.md similarity index 100% rename from ISSUE_140_ROUNDTRIP_ANALYSIS.md rename to history/ISSUE_140_ROUNDTRIP_ANALYSIS.md diff --git a/POSTMORTEM_CONTEXT_CORRUPTION.md b/history/POSTMORTEM_CONTEXT_CORRUPTION.md similarity index 100% rename from POSTMORTEM_CONTEXT_CORRUPTION.md rename to history/POSTMORTEM_CONTEXT_CORRUPTION.md diff --git a/wiki b/wiki index 0ff5843a..8818df03 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 0ff5843ab2f51940b70f9188c8c731dc82e75484 +Subproject commit 8818df03d3d7be241c144fd839d90c4d7c0ba20a