Repository navigation
Contributing
Orrin is a single-developer research project, but issues, forks, experiments, and pull requests are
welcome. This page is the wiki-side developer guide; the repo also has
CONTRIBUTING.md and
CLAUDE.md (an agent-oriented guide).
git clone https://github.com/ric-massey/orrin_v3.git
cd orrin_v3
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envNode.js + npm are only needed to build the frontend from source.
This is exactly what CI runs — keep it green before opening a PR:
make verify # ruff + mypy + pytest + frontend typecheck/build
make test # just the Python suite
make coverage # suite under the ratcheted coverage floor-
Keep the suite green. The suite is hermetic —
tests/conftest.pyredirects state to a tmp dir and fails the session on any live-state write ("isolation breach"). If you see that, you added a path that bypassesbrain/paths.py. -
Resolve state paths through
brain/paths.pyconstants (DATA_DIR,LOGS_DIR, …). Never hand-built or__file__-relative paths — that's what caused a real CI-reddening bug. -
Symbolic-first, LLM gated. New code must work with no provider key. LLM calls go through
brain/utils/generate_response.pyonly, and callers must be allow-listed. Fail closed — never fabricate content on error. - Prefer operational evidence over anthropomorphic language. Cognitive terms name mechanisms.
See Cognition Module and the subsystem pages for the map. Long-running
components are *_daemon.py and must be resilient and idempotent. Goal handlers register via
goals/registry.py; new cognitive functions go through the registry the bandit selects from
(Writing a Custom Cognitive Function).
The repo has a PR template with a verification checklist. Keep changes small and testable, add tests
for new behavior, and note anything non-obvious for the reviewer. Don't commit secrets — keys live
in .env or the OS keychain (see Security Model).
Bug and feature templates are provided. Include the run mode, whether an LLM key was configured, and
evidence from brain/logs/ or a run report — with no secrets or private logs.
- Cognitive Loop
- Workspace & Ignition
- Binding & Writeback
- Thinking & Action Selection
- Learning & Adaptation
- Effect Ledger
- Quality Standard
- Expression Membrane
- Self-Code
- Native Language Model
- Existence & Lifecycle