Skip to content

ActiveInferenceInstitute/GeneralizedNotationNotation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

GeneralizedNotationNotation (GNN)

License: MIT Python 3.8+ Active Inference DOI Pipeline Steps Mermaid Diagrams Documentation

A standardized text-based language for Active Inference generative models

๐Ÿš€ Quick Start โ€ข ๐Ÿ“– Documentation โ€ข ๐ŸŽฏ Examples โ€ข ๐Ÿ› ๏ธ Tools โ€ข ๐Ÿค Contributing


๐Ÿ“‹ Table of Contents


๐ŸŒŸ Overview

Generalized Notation Notation (GNN) is a text-based language designed to standardize the representation and communication of Active Inference generative models. It aims to enhance clarity, reproducibility, and interoperability in the field of Active Inference and cognitive modeling.

๐Ÿ“š Initial Publication

Smรฉkal, J., & Friedman, D. A. (2023). Generalized Notation Notation for Active Inference Models. Active Inference Journal.
๐Ÿ“– DOI: 10.5281/zenodo.7803328
๐Ÿ“ Archive: zenodo.org/records/7803328

๐ŸŽฏ Core Design Principles

GNN provides a structured and standardized way to describe complex cognitive models. It is designed to be:

  • ๐Ÿง‘โ€๐Ÿ’ป Human-readable: Easy to understand and use for researchers from diverse backgrounds
  • ๐Ÿค– Machine-parsable: Can be processed by software tools for analysis, visualization, and code generation
  • ๐Ÿ”„ Interoperable: Facilitates the exchange and reuse of models across different platforms and research groups
  • ๐Ÿ”ฌ Reproducible: Enables precise replication of model specifications

GNN addresses the challenge of communicating Active Inference models, which are often described using a mix of natural language, mathematical equations, diagrams, and code. By offering a unified notation, GNN aims to streamline collaboration, improve model understanding, and accelerate research.


๐ŸŽฏ Motivation and Goals

๐Ÿšซ Current Challenges

The primary motivation behind GNN is to overcome the limitations arising from the lack of a standardized notation for Active Inference models. This fragmentation can lead to difficulties in:

  • ๐Ÿ’ฌ Effective Communication: Making complex models hard to explain and understand
  • ๐Ÿ”„ Reproducibility: Hindering the ability to replicate research findings
  • โš™๏ธ Consistent Implementation: Leading to variations when translating models into code
  • ๐Ÿ“Š Systematic Comparison: Making it challenging to compare different models

๐ŸŽฏ Our Goals

The goals of GNN are to:

  • โœ… Facilitate clear communication and understanding of Active Inference models
  • โœ… Promote collaboration among researchers
  • โœ… Enable the development of tools for model validation, visualization, and automated code generation
  • โœ… Support the creation of a shared repository of Active Inference models
  • โœ… Bridge the gap between theoretical concepts and practical implementations

โœจ Key Features

๐ŸŽญ The Triple Play Approach

GNN supports three complementary modalities for model representation, known as the "Triple Play":

graph LR
    subgraph "๐ŸŽญ Triple Play Approach"
        A["๐Ÿ“ Text-Based Models<br/>โ€ข GNN Markdown files<br/>โ€ข Human-readable syntax<br/>โ€ข Mathematical notation<br/>โ€ข Natural language descriptions"]
        
        B["๐Ÿ“Š Graphical Models<br/>โ€ข Factor graphs<br/>โ€ข Network visualizations<br/>โ€ข Dependency diagrams<br/>โ€ข Interactive visualizations"]
        
        C["โš™๏ธ Executable Models<br/>โ€ข PyMDP simulations<br/>โ€ข RxInfer.jl implementations<br/>โ€ข JAX computations<br/>โ€ข DisCoPy diagrams"]
    end
    
    A -->|Parse & Extract| B
    A -->|Generate Code| C
    B -->|Validate Structure| C
    C -->|Simulate & Test| A
    B -->|Visual Feedback| A
    C -->|Results Analysis| B
    
    style A fill:#e8f5e8,stroke:#4caf50
    style B fill:#e3f2fd,stroke:#2196f3
    style C fill:#fff3e0,stroke:#ff9800
Loading
  1. ๐Ÿ“ Text-Based Models: GNN files are plain text and can be rendered into mathematical notation, pseudocode, or natural language descriptions. This forms the core representation.

  2. ๐Ÿ“Š Graphical Models: The structure defined in GNN (variables and their connections) can be visualized as graphical models (e.g., factor graphs), clarifying dependencies and model architecture.

  3. โš™๏ธ Executable Cognitive Models: GNN specifications can serve as a high-level blueprint or pseudocode for implementing executable simulations in various programming environments. This ensures consistency and aids in the translation from theory to practice.

๐Ÿ“‹ Structured File Format

GNN defines a specific file structure, typically using Markdown, to organize model components. This includes sections for:

  • ๐Ÿท๏ธ Model metadata (name, version, annotations)
  • ๐ŸŒ State space (variable definitions)
  • ๐Ÿ”— Connections (relationships between variables)
  • โš™๏ธ Initial parameterization
  • ๐Ÿ“ Equations
  • โฐ Time settings (for dynamic models)
  • ๐Ÿง  Mapping to Active Inference Ontology terms

๐Ÿ—๏ธ Project Architecture

graph TB
    subgraph "๐Ÿ—๏ธ GNN Project Architecture"
        subgraph "๐Ÿ“ Source Code (src/)"
            A[โš™๏ธ Pipeline Scripts<br/>0_template.py โ†’ 22_mcp.py]
            B[๐Ÿง  Core Modules<br/>gnn/, render/, llm/]
            C[๐Ÿ”ง Utilities<br/>utils/, pipeline/]
            D[๐Ÿงช Testing<br/>tests/]
        end
        
        subgraph "๐Ÿ“š Documentation (doc/)"
            E[๐Ÿ“– Core Docs<br/>gnn/, syntax, examples]
            F[๐ŸŽฏ Specialized<br/>pymdp/, rxinfer/, mcp/]
            G[๐Ÿงฉ Applications<br/>cognitive_phenomena/]
        end
        
        subgraph "๐ŸŽฏ Outputs (output/)"
            H[๐Ÿ“Š Reports<br/>Type checking, analysis]
            I[๐ŸŽจ Visualizations<br/>Graphs, matrices]
            J[๐Ÿ’ป Generated Code<br/>PyMDP, RxInfer]
            K[๐ŸŒ Static Site<br/>HTML summaries]
        end
    end
    
    A --> H
    B --> I
    B --> J
    E --> A
    F --> B
    G --> B
    
    style A fill:#e3f2fd
    style B fill:#f3e5f5
    style E fill:#e8f5e8
    style H fill:#fff3e0
Loading

๐Ÿ“ Directory Structure

๐Ÿ“‚ src/ Directory Structure

The src/ directory contains the 23-step pipeline scripts (0_template.py โ†’ 22_mcp.py), their corresponding modules, and shared infrastructure. See DOCS.md and doc/pipeline/README.md for the full step-by-step mapping.

src/
โ”œโ”€โ”€ ๐Ÿ“œ Pipeline Scripts (0-22)
โ”‚   โ”œโ”€โ”€ 0_template.py โ€ฆ 22_mcp.py   # Thin orchestrators (0โ€“22)
โ”œโ”€โ”€ ๐Ÿง  Core Modules
โ”‚   โ”œโ”€โ”€ gnn/ render/ execute/ llm/ visualization/ export/ type_checker/ ontology/ mcp/
โ”‚   โ”œโ”€โ”€ setup/ tests/ website/ audio/ analysis/ integration/ security/ research/ report/
โ”œโ”€โ”€ ๐Ÿ”ง Infrastructure: utils/ pipeline/
โ””โ”€โ”€ ๐Ÿ—‚๏ธ Orchestrator: main.py
๐Ÿ“‚ doc/ Directory Structure

The doc/ directory contains all supplementary documentation, including conceptual explanations, syntax guides, and examples.

doc/
โ”œโ”€โ”€ ๐Ÿ“– Core Documentation
โ”‚   โ”œโ”€โ”€ gnn/                       # GNN specifications
โ”‚   โ”œโ”€โ”€ quickstart.md             # Getting started guide
โ”‚   โ”œโ”€โ”€ SETUP.md                  # Installation instructions
โ”‚   โ””โ”€โ”€ README.md                 # Documentation overview
โ”œโ”€โ”€ ๐ŸŽฏ Domain Applications
โ”‚   โ”œโ”€โ”€ cognitive_phenomena/       # Cognitive modeling examples
โ”‚   โ”œโ”€โ”€ pymdp/                    # PyMDP integration
โ”‚   โ”œโ”€โ”€ rxinfer/                  # RxInfer.jl integration
โ”‚   โ””โ”€โ”€ templates/                # Model templates
โ”œโ”€โ”€ ๐Ÿ› ๏ธ Technical Integration
โ”‚   โ”œโ”€โ”€ mcp/                      # Model Context Protocol
โ”‚   โ”œโ”€โ”€ llm/                      # LLM integration
โ”‚   โ”œโ”€โ”€ discopy/                  # DisCoPy categorical diagrams
โ”‚   โ””โ”€โ”€ sympy/                    # SymPy mathematical processing
โ””โ”€โ”€ ๐Ÿ“š Resources
    โ”œโ”€โ”€ troubleshooting/          # Common issues & solutions
    โ”œโ”€โ”€ testing/                  # Testing documentation
    โ””โ”€โ”€ security/                 # Security guidelines

โš™๏ธ Processing Pipeline

The GNN processing pipeline consists of 23 comprehensive steps (0-22), each handling a specific aspect of model processing from parsing to final report generation. The pipeline follows a thin orchestrator pattern where numbered scripts orchestrate execution while delegating core functionality to modular components.

flowchart TD
    A["๐Ÿš€ Start Pipeline"] --> B["0๏ธโƒฃ Template Init<br/>src/template/"]
    B --> C["1๏ธโƒฃ Setup & Dependencies<br/>src/setup/"]
    C --> D["2๏ธโƒฃ Tests<br/>src/tests/"]
    D --> E["3๏ธโƒฃ GNN Discovery & Parsing<br/>src/gnn/"]
    E --> F["4๏ธโƒฃ Model Registry<br/>src/model_registry/"]
    F --> G["5๏ธโƒฃ Type Checking<br/>src/type_checker/"]
    G --> H["6๏ธโƒฃ Validation<br/>src/validation/"]
    H --> I["7๏ธโƒฃ Export<br/>src/export/"]
    I --> J["8๏ธโƒฃ Visualization<br/>src/visualization/"]
    J --> K["9๏ธโƒฃ Advanced Viz<br/>src/advanced_visualization/"]
    K --> L["1๏ธโƒฃ0๏ธโƒฃ Ontology<br/>src/ontology/"]
    L --> M["1๏ธโƒฃ1๏ธโƒฃ Rendering<br/>src/render/"]
    M --> N["1๏ธโƒฃ2๏ธโƒฃ Execution<br/>src/execute/"]
    N --> O["1๏ธโƒฃ3๏ธโƒฃ LLM Analysis<br/>src/llm/"]
    O --> P["1๏ธโƒฃ4๏ธโƒฃ ML Integration<br/>src/ml_integration/"]
    P --> Q["1๏ธโƒฃ5๏ธโƒฃ Audio<br/>src/audio/"]
    Q --> R["1๏ธโƒฃ6๏ธโƒฃ Analysis<br/>src/analysis/"]
    R --> S["1๏ธโƒฃ7๏ธโƒฃ Integration<br/>src/integration/"]
    S --> T["1๏ธโƒฃ8๏ธโƒฃ Security<br/>src/security/"]
    T --> U["1๏ธโƒฃ9๏ธโƒฃ Research<br/>src/research/"]
    U --> V["2๏ธโƒฃ0๏ธโƒฃ Website<br/>src/website/"]
    V --> W["2๏ธโƒฃ1๏ธโƒฃ Report<br/>src/report/"]
    W --> X["2๏ธโƒฃ2๏ธโƒฃ MCP<br/>src/mcp/"]
    X --> Y["โœ… Complete"]

    style A fill:#e1f5fe
    style G fill:#fff3e0,stroke:#ff9800,stroke-width:2px
    style Y fill:#e8f5e8,stroke:#4caf50
Loading

๐ŸŽฏ GNN Processing Workflow

flowchart TD
    subgraph "๐Ÿง  GNN Processing Workflow"
        A["๐Ÿ“„ GNN File Input<br/>.md format"] --> B["๐Ÿ” Discovery & Parsing<br/>Extract sections"]
        B --> C["โœ… Type Checking<br/>Validate syntax & structure"]
        C --> D["๐Ÿ“Š Multi-Format Export<br/>JSON, XML, GraphML, Pickle"]
        
        C --> E["๐ŸŽจ Visualization<br/>Generate graphs & matrices"]
        C --> F["๐Ÿ”„ Code Generation<br/>PyMDP, RxInfer & ActiveInference.jl templates"]
        
        F --> G["โ–ถ๏ธ Simulation Execution<br/>Run generated code"]
        E --> H["๐Ÿง  LLM Analysis<br/>AI-powered insights"]
        
        D --> I["๐Ÿ“š Ontology Mapping<br/>Active Inference terms"]
        G --> J["๐Ÿ“ˆ Results Analysis<br/>Performance metrics"]
        H --> K["๐ŸŽต Audio Generation<br/>SAPF, Pedalboard backends"]
        
        I --> L["๐ŸŒ Site Generation<br/>Static HTML reports"]
        J --> L
        K --> M["๐Ÿ“Š Report Generation<br/>Comprehensive analysis"]
        
        L --> M
        M --> N["โœจ Complete Analysis<br/>Multi-modal outputs"]
    end
    
    style A fill:#e1f5fe,stroke:#0277bd
    style C fill:#fff3e0,stroke:#f57c00
    style L fill:#e8f5e8,stroke:#388e3c
Loading

๐Ÿ—๏ธ Pipeline Architecture: Three-Tier Pattern

The pipeline follows a three-tier architectural pattern for maintainability and modularity:

main.py โ†’ Numbered Scripts (Thin Orchestrators) โ†’ Modular Scripts in Folders

๐Ÿ›๏ธ Architectural Components

  1. Main Pipeline Orchestrator (src/main.py): Central coordinator that executes numbered scripts in sequence
  2. Thin Orchestrators (src/0_template.py, src/1_setup.py, etc.): Minimal scripts that delegate to modules
  3. Modular Scripts (src/template/, src/setup/, etc.): Core functionality implementation

๐Ÿ“‹ Current Status

โœ… Compliant Scripts (7/23):

  • src/0_template.py โ†’ src/template/
  • src/1_setup.py โ†’ src/setup/
  • src/6_validation.py โ†’ src/validation/
  • src/7_export.py โ†’ src/export/
  • src/8_visualization.py โ†’ src/visualization/
  • src/10_ontology.py โ†’ src/ontology/
  • src/11_render.py โ†’ src/render/

๐Ÿ”„ Pending Refactoring (16/23):

  • src/2_tests.py โ†’ src/tests/ (8 functions)
  • src/3_gnn.py โ†’ src/gnn/ (1 function)
  • src/4_model_registry.py โ†’ src/model_registry/ (3 functions)
  • src/5_type_checker.py โ†’ src/type_checker/ (4 functions)
  • src/9_advanced_viz.py โ†’ src/advanced_visualization/ (10 functions)
  • src/12_execute.py โ†’ src/execute/ (14 functions)
  • And 10 more scripts...

๐Ÿ“ Example Structure

src/
โ”œโ”€โ”€ main.py                          # Main pipeline orchestrator
โ”œโ”€โ”€ 0_template.py                    # Thin orchestrator - imports from template/
โ”œโ”€โ”€ template/                        # Modular template implementation
โ”‚   โ”œโ”€โ”€ __init__.py                 # Module exports and initialization
โ”‚   โ”œโ”€โ”€ processor.py                # Core template processing logic
โ”‚   โ””โ”€โ”€ mcp.py                      # Model Context Protocol integration
โ””โ”€โ”€ tests/
    โ””โ”€โ”€ test_template_integration.py # Tests for template module

๐Ÿ“š Documentation

For comprehensive architectural documentation, see:

  • src/template/README.md: Reference implementation and pattern documentation
  • ARCHITECTURE.md: Complete architectural guide

๐Ÿš€ Running the Pipeline

Navigate to the project's root directory and execute:

python src/main.py [options]

๐Ÿ› ๏ธ Key Pipeline Options

Option Description Default
--target-dir DIR Target directory for GNN files src/gnn/examples
--output-dir DIR Directory to save outputs output/
--recursive Recursively process directories True
--skip-steps LIST Skip specific steps (e.g., "1,7") None
--only-steps LIST Run only specific steps None
--verbose Enable detailed logging False
--strict Enable strict type checking False
--estimate-resources Estimate computational resources True
๐Ÿ“‹ View All Pipeline Options
python src/main.py --help

Additional specialized options:

  • --ontology-terms-file FILE: Path to ontology terms file
  • --llm-tasks LIST: Comma-separated LLM tasks
  • --llm-timeout: LLM processing timeout
  • --pipeline-summary-file FILE: Pipeline summary report path
  • --site-html-filename NAME: Generated HTML site filename
  • --duration: Audio duration for audio generation (default: 30.0)
  • --audio-backend: Audio backend to use (auto, sapf, pedalboard, default: auto)
  • --recreate-uv-env: Recreate UV environment
  • --dev: Install development dependencies

๐Ÿ› ๏ธ Tools and Utilities

The GNN ecosystem includes several sophisticated tools to aid in model development, validation, and understanding. These tools are primarily invoked through the src/main.py pipeline script.

โœ… Type Checker and Resource Estimator

The GNN Type Checker (pipeline step 4) helps validate GNN files and estimates computational resources.

๐ŸŽฏ Quick Usage

# Run only type checker
python src/main.py --only-steps 4 --target-dir path/to/gnn_files

# Include resource estimation
python src/main.py --only-steps 4 --estimate-resources --target-dir path/to/gnn_files

# Run full pipeline
python src/main.py --target-dir path/to/gnn_files

๐Ÿ“Š Features

  • โœ… Validation of required sections and structure
  • ๐Ÿ” Type checking of variables and dimensions
  • ๐Ÿ”— Verification of connections and references
  • ๐Ÿ“‹ Detailed error reports with suggestions for fixes
  • ๐Ÿ’พ Resource usage estimation and optimization recommendations

๐Ÿ“ Output Structure

When executed, the type checker writes to output/5_type_checker_output/:

output/5_type_checker_output/
โ”œโ”€โ”€ type_check_results.json
โ”œโ”€โ”€ type_check_summary.json
โ””โ”€โ”€ global_type_analysis.json

๐ŸŽจ Visualization

GNN files can be visualized to create comprehensive graphical representations of models (pipeline step 6).

๐ŸŽฏ Usage

# Generate visualizations
python src/main.py --only-steps 6 --target-dir path/to/gnn_file.md

๐Ÿ–ผ๏ธ Visualization Types

  • ๐Ÿ“Š Network Graphs: Model structure and dependencies
  • ๐ŸŽจ Matrix Heatmaps: A, B, C, D matrix visualizations
  • ๐Ÿง  Ontology Diagrams: Active Inference relationship maps
  • ๐Ÿ“ˆ Performance Plots: Resource usage and timing analysis

๐Ÿš€ Quick Start

New to GNN? Choose your learning path:

๐ŸŽฏ Choose Your Journey

  • โšก Quick Demo (5 min): See GNN in action โ†’ 5-Minute Demo
  • ๐Ÿ”ฌ I'm a Researcher: Theory-first approach โ†’ Research Path
  • ๐Ÿ’ป I'm a Developer: Code-first approach โ†’ Developer Path
  • ๐ŸŽ“ I'm Learning: Structured curriculum โ†’ Academic Path

๐Ÿ“š Need guidance choosing? โ†’ Complete Learning Paths Guide

๐Ÿ› ๏ธ Direct Installation (if you know what you want)

1๏ธโƒฃ Prerequisites

Ensure you have Python 3.8+ installed:

python --version  # Should show 3.8 or higher

2๏ธโƒฃ Clone Repository

git clone https://github.com/ActiveInferenceInstitute/GeneralizedNotationNotation.git
cd GeneralizedNotationNotation

3๏ธโƒฃ Setup Environment

Run the setup pipeline step to configure dependencies:

python src/main.py --only-steps 1 --dev

This will:

  • โœ… Create and configure virtual environment
  • ๐Ÿ“ฆ Install all required dependencies
  • ๐Ÿงช Install development dependencies (with --dev)
  • โœ… Validate system requirements

4๏ธโƒฃ Run Your First Pipeline

Process the example GNN files:

python src/main.py --target-dir src/gnn/examples --verbose

5๏ธโƒฃ Explore Results

Check the generated outputs in the output/ directory. The static site is under the numbered website folder:

ls -la output/
open output/20_website_output/website/index.html  # macOS
# or
xdg-open output/20_website_output/website/index.html  # Linux

๐Ÿ†˜ Need Help?

๐Ÿ” Common Issues & Solutions

๐Ÿ Python Version Issues

# Check Python version
python --version
# If < 3.8, install Python 3.8+ from python.org

๐Ÿ“ฆ Dependency Issues

# Force reinstall dependencies
uv run python src/main.py --only-steps 2 --recreate-uv-env --dev

๐Ÿ”ง Pipeline Failures

# Run with verbose logging
python src/main.py --verbose
# Check specific step
python src/main.py --only-steps 4 --verbose

๐Ÿ’พ Disk Space Issues

# Check available space
df -h
# Clean output directory
rm -rf output/*

๐Ÿ”— Get Support:

  • ๐Ÿ“– Documentation: See Documentation section below
  • ๐Ÿ› Known Issues: Check troubleshooting guide
  • ๐Ÿ’ฌ Community: Open an issue on GitHub
  • ๐Ÿš€ Quick Fix: Try python src/main.py --only-steps 2 --dev first

๐Ÿ“– Documentation

Comprehensive documentation is organized in the doc/ directory. Here are the key resources:

๐Ÿ“š Core Documentation

Document Description
GNN Overview High-level introduction to GNN
Syntax Guide Detailed GNN syntax specification
File Structure GNN file organization guide
Quick Start Tutorial Step-by-step beginner guide
Comprehensive Project Docs Full architecture, pipeline, and dataflow diagrams
Architecture Guide Implementation-oriented architecture and extension patterns
Machine-Readable Indices API index and generator

๐ŸŽฏ Specialized Guides

Topic Documentation
๐Ÿง  Active Inference About GNN
๐Ÿค– LLM Integration LLM & Neurosymbolic AI
๐Ÿ“Š Implementation Implementation Guide
๐Ÿ› ๏ธ Tools Tools & Resources
๐Ÿ“„ Research Paper Academic Paper Details

๐ŸŽฏ Integration Guides

Platform Documentation
๐Ÿ PyMDP PyMDP Integration
๐Ÿ”ฌ RxInfer.jl RxInfer Integration
๐Ÿง  ActiveInference.jl ActiveInference.jl Integration
๐Ÿ“ก MCP Model Context Protocol
๐Ÿงฎ SymPy Mathematical Processing
๐Ÿ”„ DisCoPy Categorical Diagrams

๐Ÿงฉ Application Examples

Domain Examples
๐Ÿง  Cognitive Phenomena Cognitive Models
๐ŸŽฏ Templates Model Templates
๐Ÿ“‹ Configuration Configuration Examples

๐ŸŽฏ Examples

Explore practical GNN implementations and use cases:

๐Ÿ“‚ Example Files Location

๐Ÿ”ฅ Featured Examples

Example Description Location
๐ŸŽฏ PyMDP POMDP Agent Complete POMDP implementation src/gnn/examples/actinf_pomdp_agent.md
๐Ÿ”ฌ RxInfer Hidden Markov Model Probabilistic sequence modeling doc/archive/rxinfer_hidden_markov_model.md
๐Ÿง  ActiveInference.jl Examples Julia-based Active Inference models doc/activeinference_jl/actinf_jl_src/
๐Ÿค Multi-Agent System Collaborative agent modeling doc/archive/rxinfer_multiagent_gnn.md

๐Ÿง  Cognitive Phenomena Examples

Phenomenon Model Documentation
๐ŸŽฏ Attention Attention mechanisms doc/cognitive_phenomena/attention/
๐Ÿง  Consciousness Global workspace theory doc/cognitive_phenomena/consciousness/
๐Ÿ’ช Cognitive Effort Effort and control doc/cognitive_phenomena/effort/
โค๏ธ Emotion & Affect Interoceptive emotion doc/cognitive_phenomena/emotion_affect/
๐ŸŽฎ Executive Control Task switching doc/cognitive_phenomena/executive_control/

๐Ÿƒโ€โ™‚๏ธ Running Examples

# Process all examples
python src/main.py --target-dir src/gnn/examples

# Process specific example
python src/main.py --target-dir src/gnn/examples/actinf_pomdp_agent.md

# Process with full analysis
python src/main.py --target-dir src/gnn/examples --estimate-resources --verbose

โšก Power User Tips

๐Ÿš€ Advanced Usage Patterns

๐Ÿ”ฅ Quick Commands

# Full pipeline with all features
python src/main.py --verbose --estimate-resources --dev

# Type check only (fastest validation)  
python src/main.py --only-steps 4 --strict

# Visualization only (quick preview)
python src/main.py --only-steps 6

# Complete analysis for single file
python src/main.py --target-dir path/to/file.md --verbose

๐ŸŽฏ Pipeline Optimization

# Skip time-consuming steps for quick iteration
python src/main.py --skip-steps "11,12,13"

# Focus on core processing
python src/main.py --only-steps "1,4,5,6"

# Development workflow
python src/main.py --only-steps "2,3" --dev

๐Ÿ“Š Output Management

# Custom output directory
python src/main.py -o /path/to/custom/output

# Timestamped outputs
python src/main.py -o "output/run_$(date +%Y%m%d_%H%M%S)"

๐Ÿค Contributing

GNN is an evolving standard, and contributions are welcome! Here's how you can get involved:

๐ŸŽฏ Ways to Contribute

  • ๐Ÿ› Report Issues: Found a bug? Open an issue
  • ๐Ÿ’ก Suggest Features: Have ideas? Start a discussion
  • ๐Ÿ“ Improve Documentation: Help make our docs better
  • ๐Ÿงช Add Examples: Share your GNN models
  • ๐Ÿ”ง Code Contributions: Submit pull requests

๐Ÿ“‹ Contribution Guidelines

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create a feature branch (git checkout -b feature/amazing-feature)
  3. โœ… Test your changes thoroughly
  4. ๐Ÿ“ Document your changes
  5. ๐Ÿ’พ Commit with clear messages (git commit -m 'Add amazing feature')
  6. ๐Ÿ“ค Push to your branch (git push origin feature/amazing-feature)
  7. ๐Ÿ”„ Submit a Pull Request

๐Ÿ›ก๏ธ Code of Conduct

Please read our Code of Conduct to understand the standards we maintain for our community.

๐Ÿ“ž Getting Help

  • ๐Ÿ“– Documentation: Check the docs first
  • ๐Ÿ’ฌ Discussions: Use GitHub Discussions
  • ๐Ÿ› Issues: For bugs, use GitHub Issues
  • ๐Ÿ“ง Contact: Reach out to the maintainers

๐Ÿ™Œ Recognition

All contributors will be recognized in our contributors list and release notes.


๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE.md file for full details.

๐Ÿ“‹ License Summary

  • โœ… Commercial use permitted
  • โœ… Modification permitted
  • โœ… Distribution permitted
  • โœ… Private use permitted
  • โ— License and copyright notice required

๐Ÿ”— External Resources & Links

๐ŸŒ Active Inference Community

๐Ÿ› ๏ธ Technical Resources


Built with โค๏ธ by the Active Inference community

โฌ†๏ธ Back to top

About

No description or website provided.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •