diff --git a/CITATION.cff b/CITATION.cff index f9e15f9..4dce212 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -16,7 +16,7 @@ authors: affiliation: Independent Researcher year: 2025 -version: 0.1.0 +version: 1.1.0 license: MIT repository-code: "https://github.com/dfeen87/neuro-coherence-framework" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 13c2fbd..bef29d5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,5 @@ # Contributing to Neuro-Coherence Framework -Thank you for your interest in the Neuro-Coherence Framework! - ## Current Development Status **This project is currently in private development and validation.** diff --git a/README.md b/README.md index 5c68460..02a823d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ At the center of the model is the **Neuro‑Coherence Function (Ψ)** — a math This repository contains a **research‑grade computational framework** for exploring that hypothesis through simulation, multimodal biomarkers, and falsifiable predictions. -> **This is not a clinical tool.** +> **Note: This is not a clinical tool.** > It is a theoretical and computational research framework. --- @@ -409,9 +409,9 @@ Consult qualified professionals for clinical care. --- -## Acknowledgments +## License -I would like to acknowledge **Microsoft Copilot**, **Anthropic Claude**, for their meaningful assistance in refining concepts, improving clarity, and strengthening the overall quality of this code. +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. --- diff --git a/analysis/__init__.py b/analysis/__init__.py index 4797eb4..a6e0302 100644 --- a/analysis/__init__.py +++ b/analysis/__init__.py @@ -1,3 +1,3 @@ """Analysis package for Neuro-Coherence Framework.""" -__version__ = "0.1.0" +__version__ = "1.1.0" diff --git a/analysis/eeg/oscillatory_analysis.py b/analysis/eeg/oscillatory_analysis.py index f9b4647..05c9cdf 100644 --- a/analysis/eeg/oscillatory_analysis.py +++ b/analysis/eeg/oscillatory_analysis.py @@ -1,8 +1,8 @@ """EEG oscillatory analysis.""" -from typing import Tuple, Optional +from typing import Tuple import numpy as np -from scipy.signal import hilbert, butter, filtfilt +from scipy.signal import hilbert def calculate_instantaneous_frequency(signal: np.ndarray, fs: float) -> np.ndarray: diff --git a/analysis/eeg/phase_locking.py b/analysis/eeg/phase_locking.py index 8e84bb4..10fa3f9 100644 --- a/analysis/eeg/phase_locking.py +++ b/analysis/eeg/phase_locking.py @@ -1,6 +1,6 @@ """EEG analysis module - Phase Locking Value (PLV) calculations.""" -from typing import Optional, Tuple +from typing import Optional import numpy as np from scipy.signal import hilbert, butter, filtfilt diff --git a/analysis/fmri/network_metrics.py b/analysis/fmri/network_metrics.py index 6f76a5a..f3370b5 100644 --- a/analysis/fmri/network_metrics.py +++ b/analysis/fmri/network_metrics.py @@ -1,6 +1,5 @@ """fMRI network metrics.""" -from typing import Optional import numpy as np diff --git a/analysis/integration/multimodal_fusion.py b/analysis/integration/multimodal_fusion.py index 239508e..67cdeaf 100644 --- a/analysis/integration/multimodal_fusion.py +++ b/analysis/integration/multimodal_fusion.py @@ -81,8 +81,6 @@ def calculate_from_fmri( # Network-specific metrics if labels provided network_metrics = None if network_labels is not None: - from ..fmri.connectivity import calculate_network_connectivity - # Dummy timeseries for network calculation # In real use, this would use actual timeseries within_conn, between_conn = self._calculate_network_stats( diff --git a/data/synthetic/generate_data.py b/data/synthetic/generate_data.py index 302dce3..5f815eb 100644 --- a/data/synthetic/generate_data.py +++ b/data/synthetic/generate_data.py @@ -1,6 +1,6 @@ """Synthetic data generation for Neuro-Coherence Framework.""" -from typing import Tuple, Optional +from typing import Tuple import numpy as np diff --git a/docs/CI_SETUP_COMPLETE.md b/docs/CI_SETUP_COMPLETE.md index 31b9878..7d9387e 100644 --- a/docs/CI_SETUP_COMPLETE.md +++ b/docs/CI_SETUP_COMPLETE.md @@ -1,8 +1,8 @@ -# CI Workflow Setup - Complete! 🎉 +# CI Workflow Setup - Complete ## What Was Done -I've successfully created a comprehensive CI (Continuous Integration) workflow for the Neuro-Coherence Framework repository. Here's what was implemented: +A comprehensive CI (Continuous Integration) workflow has been created for the Neuro-Coherence Framework repository. Here's what was implemented: ### 1. **GitHub Actions Workflow** (`.github/workflows/ci.yml`) - **Lint Job**: Checks code quality with flake8 and formatting with black @@ -35,50 +35,41 @@ All local checks pass: - ✅ **CodeQL security**: Clean scan - ✅ **Code review**: No issues found -## What You Need to Do 👉 +## Approval Process -The CI workflow is ready to go, but it requires **one-time approval** for security reasons: +The CI workflow is ready but may require one-time approval for security reasons: ### Steps to Approve the Workflow: -1. Go to your repository on GitHub: https://github.com/dfeen87/Neuro-Coherence-Framework - -2. Click on the "Actions" tab - -3. You should see pending workflow runs with a yellow "⚠️ action_required" status - -4. Click on any of the pending runs - -5. You'll see a button that says **"Approve and run"** - click it - -6. Once approved, the workflow will run automatically on all future commits! +1. Navigate to the repository on GitHub. +2. Select the "Actions" tab. +3. Locate any pending workflow runs with an "action_required" status. +4. Select a pending run. +5. Click **"Approve and run"**. +6. The workflow will subsequently run automatically on future commits. ### Expected Result After Approval: -Once you approve, you'll see the CI workflow run with: -- ✅ **Lint and Format Check** job passing -- ✅ **Test** jobs passing (5 jobs, one for each Python version) -- ✅ **Type Check** job passing (may show warnings, but won't fail) +The CI workflow will run with: +- **Lint and Format Check** job passing +- **Test** jobs passing (5 jobs, one for each Python version) +- **Type Check** job passing (warnings may appear, but will not fail the job) -The CI badge in your README will turn **green** ✅ showing "passing" status. +The CI badge in the README will display a "passing" status. -## Future Benefits +## CI Benefits -From now on, every push and pull request will automatically: +Every push and pull request will automatically: 1. Check code quality and formatting 2. Run all tests across multiple Python versions 3. Verify type hints 4. Ensure no security issues are introduced -This ensures code quality and prevents bugs from reaching the main branch! - -## Need Help? - -If you encounter any issues or have questions: -- Check the `docs/CI.md` file for detailed documentation -- Review workflow run logs in the GitHub Actions tab -- All checks can be run locally using the commands in `docs/CI.md` +This maintains code quality and prevents bugs from reaching the main branch. ---- +## Documentation -**Thank you for the opportunity to contribute to this project!** 🚀 +For additional information: +- Consult the `docs/CI.md` file for detailed documentation. +- Review workflow run logs in the GitHub Actions tab. +- Execute checks locally using the commands outlined in `docs/CI.md`. diff --git a/setup.py b/setup.py index 50699b4..7ef9db3 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="neuro-coherence-framework", - version="0.1.0", + version="1.1.0", author="Don Michael Feeney Jr.", description="A Computational Systems Neuroscience Approach to Affective Stability", long_description=long_description, diff --git a/simulations/__init__.py b/simulations/__init__.py index 84b2b62..53856ad 100644 --- a/simulations/__init__.py +++ b/simulations/__init__.py @@ -11,7 +11,7 @@ OperatorResult, ) -__version__ = "0.1.0" +__version__ = "1.1.0" __all__ = [ "NeuroCoherence", diff --git a/simulations/core/neuro_coherence.py b/simulations/core/neuro_coherence.py index 8ea6f69..d9c6ff7 100644 --- a/simulations/core/neuro_coherence.py +++ b/simulations/core/neuro_coherence.py @@ -5,7 +5,7 @@ Ψ = Φ · ∫∫∫ [ Θ(E) · Γ(t) · (1 − Δ_GR) · Λ(r,t) ] dE dr dt """ -from typing import Union, Optional, Tuple, Dict, Any +from typing import Union, Optional, Dict, Any import numpy as np from dataclasses import dataclass from scipy import integrate