Purpose & architecture
The C++ TwoWayEngine initializes parameters from a fixed random seed, maps them through a sigmoid, compares the outputs with target values and applies the derivative of squared error. Its correction interface and root-mean-square error calculation make the local optimization behavior explicit. A demo and focused test source accompany the engine. This repository is a concrete numerical component with a narrow, inspectable objective.
The SIMD step is a no-op and the Metal step delegates to that placeholder. The bounded sigmoid model is explicitly described as replaceable by exact project equations. Consequently this snapshot does not establish a completed Metal implementation or a validated general reasoning system.
This source generation
This record follows the main branch of Janady13/rhiannon at commit df358362a21fdde4372dc6239573622aafe4835f. The snapshot identifies the source inspected in this audit. It is not a statement about which revision is currently running on a device.
| Field | Source record |
|---|---|
| Revision | df358362a21fdde4372dc6239573622aafe4835f |
| Branch | main |
| Recorded generation | Native CPU optimization generation |
Recovered implementation structure
These paths locate the components and entry points represented by this build. The source register contains their inspected revisions.
- CMakeLists.txt
- README.md
- apps/rhiannon_demo/main.cpp
- include/agents/rhiannon.hpp
- include/agents/two_way_engine.hpp
- src/agents/CMakeLists.txt
- src/agents/two_way_engine.cpp
- tests/rhiannon_tests.cpp
- vcpkg.json
Behavior & verification limits
The SIMD step is a no-op and the Metal step delegates to that placeholder. The bounded sigmoid model is explicitly described as replaceable by exact project equations. Consequently this snapshot does not establish a completed Metal implementation or a validated general reasoning system.
Original project documentation
The following documentation is preserved as a dated source account. Claims in it retain the source’s wording and must be read alongside the implementation notes above.
Rhiannon: Two-Way Equation Engine
Local, real-time embodiment of bounded mathematical intelligence (no cloud).
Build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
Run
./build/rhiannon_demo --dim 1024 --iters 200 --headless
# Enable WebSocket (if built with -DRHIANNON_WITH_WS=ON)
./build/rhiannon_demo --ws 8080
Options
- --dim N Vector size (default 8)
- --iters N Inner optimization iterations per tick (default 100)
- --headless Suppress per-tick console output
- --live-midi Enable MIDI input (requires build with RHIANNON_WITH_MIDI_OSC)
- --ws PORT Enable WebSocket metrics on PORT (requires RHIANNON_WITH_WS)
- --gpu Hint to use accelerated path (Metal/AVX2 stubs; optional)
Tests
ctest --test-dir build --output-on-failure
Notes
- Optional features (MIDI/OSC, WebSocket, Metal) are off by default to keep the core portable.
Turn them on with -DRHIANNON_WITH_MIDI_OSC=ON, -DRHIANNON_WITH_WS=ON, -DRHIANNON_WITH_METAL=ON.
- Logging uses spdlog when available; otherwise falls back silently.
Equations in this build
3 linked mathematical records. Each opens its notation, interpretation and source.
two_way_engine
This relation defines D <- target vector (size must be >= cfg.dim; extra values ignored) in the source section “two_way_engine”. It specifies the displayed relationship between…
two_way_engine · Minimize: L
This relation defines Minimize: L in the source section “two_way_engine · Minimize: L”. It specifies the displayed relationship between the named quantities or parameters. Its…
two_way_engine · dL/ds_i
This relation defines dL/ds_i in the source section “two_way_engine · dL/ds_i”. It specifies the displayed relationship between the named quantities or parameters. Its…