nous

module
v0.3.1-final Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2026 License: MIT

README

Nous — Archived

This repository is archived as of 2026-05-31. Final release: v0.3.1-final. The reasoning primitive has moved into the agent layer. The two parts of Nous worth preserving (risk + intervention scoring) now live in a small standalone library, decisionkit.

What to use instead

If you wanted... Use instead
Deterministic risk + intervention scoring (the durable value of Nous) decisionkit
LLM-based commitment extraction Your agent runtime (Claude Code, Codex, Hermes, Nomi, ...) with a tool definition
Persistent commitment / decision storage Mnemos — claim it as a memory item
Multi-step reasoning loops Agent runtime + tools + MCP into Mnemos
Operational orchestration Was Olymp; also archived. The agent runtime owns the loop.

Why this was archived

  1. Reasoning has moved into the agent layer. Frontier models plus tool use plus MCP subsume what Nous was built to provide as a dedicated service. Maintaining a separate Go runtime for LLM extraction is no longer the right shape.
  2. The only Go consumer was Olymp, which is also being archived in the same initiative.
  3. The deterministic value (risk + intervention) was small and reusable — extracted into decisionkit. The 90%+ test coverage came along.

See ADR 0005 in Mnemos for the full decision record.

What was preserved

The full Nous source code is preserved at the v0.3.1-final tag. The risk and intervention engines were extracted verbatim into decisionkit (ADR 0004) so consumers can keep using the deterministic scoring without resurrecting the service.

Other Nous components (gRPC + HTTP transports, multi-backend storage, LLM extractor with Anthropic / OpenAI / Gemini / Bedrock / Ollama providers, adapter orchestration with circuit breakers, commitment + decision repositories) were not extracted. They exist to support a service deployment that no longer has consumers.

Recovery path

git clone https://github.com/felixgeelhaar/nous.git
cd nous
git checkout v0.3.1-final

The repo remains read-only and publicly readable indefinitely.

  • Olymp — orchestration runtime, archived
  • Praxis — action service, archived

License

Unchanged from the v0.3.1-final tag. See LICENSE.

Directories

Path Synopsis
api
cmd
nous command
internal
adapters/chronos
Package chronos provides a gRPC adapter that wraps the Chronos gRPC client and implements ports.ChronosClient.
Package chronos provides a gRPC adapter that wraps the Chronos gRPC client and implements ports.ChronosClient.
adapters/mnemos
Package mnemos provides a gRPC adapter that wraps the Mnemos service client and implements ports.MnemosClient.
Package mnemos provides a gRPC adapter that wraps the Mnemos service client and implements ports.MnemosClient.
adapters/praxis
Package praxis is the HTTP adapter for the Praxis execution layer.
Package praxis is the HTTP adapter for the Praxis execution layer.
auth
Package auth provides JWT token issuance and verification for the Nous HTTP and gRPC surfaces.
Package auth provides JWT token issuance and verification for the Nous HTTP and gRPC surfaces.
circuit
Package circuit implements a simple circuit breaker pattern for protecting external service calls.
Package circuit implements a simple circuit breaker pattern for protecting external service calls.
config
Package config loads Nous runtime configuration from environment variables with sensible defaults for development.
Package config loads Nous runtime configuration from environment variables with sensible defaults for development.
coordination
Package coordination is the Decision -> Action boundary of Nous.
Package coordination is the Decision -> Action boundary of Nous.
domain
Package domain holds the pure types of the Nous coordination layer.
Package domain holds the pure types of the Nous coordination layer.
intervention
Package intervention decides whether to interrupt the user (or trigger an automation) based on a risk assessment.
Package intervention decides whether to interrupt the user (or trigger an automation) based on a risk assessment.
llm
Package llm holds the LLM-backed coordination surfaces of Nous.
Package llm holds the LLM-backed coordination surfaces of Nous.
observability
Package observability provides cross-cutting concerns: structured logging with correlation IDs, OpenTelemetry tracing, and Prometheus-style metrics.
Package observability provides cross-cutting concerns: structured logging with correlation IDs, OpenTelemetry tracing, and Prometheus-style metrics.
pipeline
Package pipeline orchestrates the cross-aggregate workflows of the Nous engine.
Package pipeline orchestrates the cross-aggregate workflows of the Nous engine.
ports
Package ports declares the outbound interfaces ("ports") the Nous engine drives.
Package ports declares the outbound interfaces ("ports") the Nous engine drives.
risk
Package risk computes the likelihood that a commitment or task will be missed.
Package risk computes the likelihood that a commitment or task will be missed.
store
Package store wires the configured persistence backend into the Nous engine.
Package store wires the configured persistence backend into the Nous engine.
store/memory
Package memory is the in-process backend for Nous repositories.
Package memory is the in-process backend for Nous repositories.
store/postgres
Package postgres is the PostgreSQL-backed implementation of the Nous repositories.
Package postgres is the PostgreSQL-backed implementation of the Nous repositories.
store/sqlite
Package sqlite is the SQLite-backed implementation of the Nous repositories.
Package sqlite is the SQLite-backed implementation of the Nous repositories.
transport/grpc
Package grpc implements the Nous gRPC service handlers.
Package grpc implements the Nous gRPC service handlers.
transport/http
Package http exposes a lightweight HTTP surface over the Nous gRPC service.
Package http exposes a lightweight HTTP surface over the Nous gRPC service.
validation
Package validation provides CEL (Common Expression Language) based input validation for the Nous extract endpoint and any future write paths that need configurable per-tenant rules.
Package validation provides CEL (Common Expression Language) based input validation for the Nous extract endpoint and any future write paths that need configurable per-tenant rules.
worker
Package worker runs the Nous evaluation loop on a configurable tick.
Package worker runs the Nous evaluation loop on a configurable tick.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL