-
Notifications
You must be signed in to change notification settings - Fork 0
Overview
Welcome to the LiquidCortex.jl wiki! { "repo_notes": [ { "content": "" } ], "pages": [ { "title": "Overview", "purpose": "High-level introduction to LiquidCortex.jl — what it is, why it exists, its key capabilities, and how the major subsystems relate. Links to child pages for architecture, API, data pipeline, and infrastructure details.", "page_notes": [ { "content": "" } ] }, { "title": "Getting Started", "purpose": "Installation instructions, hardware requirements (RTX-class GPU, ≥14 GB VRAM), Julia version compatibility, and a minimal Quick Start walkthrough showing SparseBrain and EnsembleBrain usage.", "parent": "Overview", "page_notes": [ { "content": "" } ] }, { "title": "Project Structure and Module Layout", "purpose": "Explains the repository layout (src/, test/, examples/, docs/, .github/), the Julia module entry point in LiquidCortex.jl, the deferred-allocation / clean-loading design, and the _cuda_available flag that gates all GPU operations.", "parent": "Overview", "page_notes": [ { "content": "" } ] }, { "title": "Core Architecture: Liquid State Machines", "purpose": "Overview of the reservoir-computing paradigm used in LiquidCortex, the two LSM implementations (EnsembleBrain and Reference LSM), and the shared mathematical foundations. Links to child pages for each implementation.", "page_notes": [ { "content": "" } ] }, { "title": "SparseBrain and EnsembleBrain", "purpose": "Deep dive into the primary high-capacity implementation: 65,536-neuron-per-lobe sparse reservoir, CuSparseMatrixCSC Float16 weights, OU-SDE membrane dynamics (Euler-Maruyama), LIF spiking, refractory masking, the 4-lobe ensemble with per-lobe time constants (10/25/50/100 ms), weighted output aggregation, and VRAM budget breakdown.", "parent": "Core Architecture: Liquid State Machines", "page_notes": [ { "content": "" } ] }, { "title": "Global Inhibition, Reflex Gating, and Hardware Proprioception", "purpose": "Explains the dynamic threshold mechanism ('Cortisol'), how GPU temperature and FPGA buffer load modulate v_thresh_dynamic, the Reflex Gating / Flash-Learning 5× eta boost on the Fast lobe during liquidity shocks, and the proprioception design philosophy.", "parent": "Core Architecture: Liquid State Machines", "page_notes": [ { "content": "" } ] }, { "title": "STDP Covariance Learning and Monte Carlo Paths", "purpose": "Covers the Hebbian/STDP covariance learning rule (ΔW_ij = η(⟨s_i s_j⟩ − ⟨s_i⟩⟨s_j⟩)), eligibility traces, the 8,192-neuron subsampling strategy to avoid O(N²) blow-up, CUBLAS SYRK usage, W_out Hebbian updates every 10 ticks, and the background Geometric Brownian Motion Monte Carlo path generator.", "parent": "Core Architecture: Liquid State Machines", "page_notes": [ { "content": "" } ] }, { "title": "Reference LSM (reference_lsm.jl)", "purpose": "Documents the 2,048-neuron dense reservoir used for rapid prototyping: REF_N/REF_IN_DEFAULT/REF_OUT_DEFAULT constants, tanh activation, gain-control formula, lazy GPU initialization via _init_ref_lsm!(), run_lsm_step and run_lsm_step_str entrypoints, configurable n_in/n_out dimensions, and how it differs from SparseBrain.", "parent": "Core Architecture: Liquid State Machines", "page_notes": [ { "content": "" } ] }, { "title": "Public API Reference", "purpose": "Comprehensive reference for all exported symbols from the LiquidCortex module, organized by category. Links to child pages for the neural execution API and the generic input interface.", "page_notes": [ { "content": "" } ] }, { "title": "Neural Execution API", "purpose": "Detailed specification of SparseBrain(tau_m; n_in, n_out, name), EnsembleBrain(; n_in, n_out), step!, ensemble_step!, get_output, get_ensemble_output, compute_reservoir_covariance!, diagnostics, and ensemble_diagnostics — including argument types, return types, GPU/CPU behavior, and usage examples.", "parent": "Public API Reference", "page_notes": [ { "content": "" } ] }, { "title": "Input Interface and Generic Signal Protocol", "purpose": "Documents the generic input vector contract: CuVector{Float32} of length n_in, the inhibition signal (Float32 in [0,1]), the reflex_signal parameter for ensemble_step!, the removal of domain-specific MarketPulse symbols from the public API, and guidance on constructing input vectors for arbitrary time-series applications.", "parent": "Public API Reference", "page_notes": [ { "content": "" } ] }, { "title": "Infrastructure and DevOps", "purpose": "Overview of the CI/CD pipeline, code coverage reporting, release management, and local development environment configuration. Links to child pages for CI, Codecov, and Sentry release automation.", "page_notes": [ { "content": "" } ] }, { "title": "Continuous Integration (GitHub Actions)", "purpose": "Documents the CI (Julia) workflow: triggers (push to main/release/*, all PRs), matrix strategy across Julia 1.10/1.11/1.12, concurrency cancel-in-progress, julia-actions/setup-julia and cache steps, Pkg.instantiate/precompile/test sequence, doctest step with continue-on-error, fail-fast:false policy, and the CPU smoke test scope.", "parent": "Infrastructure and DevOps", "page_notes": [ { "content": "" } ] }, { "title": "Code Coverage (Codecov)", "purpose": "Documents the Codecov workflow: triggers (push to main, all PRs), Julia 1.11 matrix, Pkg.test with coverage=true, julia-processcoverage action generating lcov.info, codecov/codecov-action upload with fail_ci_if_error:false, CODECOV_TOKEN secret management, and the coverage badge in README.", "parent": "Infrastructure and DevOps", "page_notes": [ { "content": "" } ] }, { "title": "Sentry Release Automation", "purpose": "Documents the sentry-release.yml workflow: workflow_run trigger gated on CI success, manual workflow_dispatch, concurrency guardrails, SENTRY_AUTH_TOKEN validation, .env file parsing, sentry-cli 3.4.0 binary integrity check (SHA-256), and the new/set-commits --auto/finalize release lifecycle. Also covers .env.example template and local secret management.", "parent": "Infrastructure and DevOps", "page_notes": [ { "content": "" } ] }, { "title": "Testing and Examples", "purpose": "Covers the test suite structure and the standalone example script, explaining how to validate the installation and run the brain in isolation.", "page_notes": [ { "content": "" } ] }, { "title": "Test Suite (runtests.jl)", "purpose": "Explains the test architecture: export integrity checks, verification that removed domain symbols (MarketPulse, decode_market_pulse, pulse_to_input) are NOT exported, CPU-only vs CUDA-gated test branching via _cuda_available[], SparseBrain/EnsembleBrain construction and step! smoke tests with generic inhibition, and covariance/diagnostics assertions.", "parent": "Testing and Examples", "page_notes": [ { "content": "" } ] }, { "title": "Standalone Example (brain_standalone.jl)", "purpose": "Documents the standalone diagnostic script: purpose as a hardware validation tool, initialization sequence (CUDA device identification, SparseBrain and EnsembleBrain construction with custom n_in/n_out), 100-step SparseBrain loop with inhibition, 50-step EnsembleBrain loop with reflex_signal, required dependencies (CUDA, LiquidCortex), and how to run it outside the package environment.", "parent": "Testing and Examples", "page_notes": [ { "content": "" } ] }, { "title": "Glossary", "purpose": "Definitions of all codebase-specific terms, acronyms, and domain concepts that an onboarding engineer needs to understand LiquidCortex.jl, with code pointers to relevant files and functions. Includes updated entries reflecting the removal of MarketPulse and the generic input interface.", "page_notes": [ { "content": "" } ] } ] }