Single-operator operating environment, externalized executive function, semantic recruitment across perception/expression/recall/action, temporal and perceptual grounding discipline, studio/livestream research instrument, refusal-as-data substrate, and value-braid loop from runtime truth to artifacts, support, grants, and posteriors.
What happens when 200+ total AI agents run 24/7 and can't lie to you -- by design.
Hapax is a single-operator autonomous system: 200+ total agents, including 180+ runtime agent modules, plus a voice daemon, a GPU visual surface, a studio compositor, and a 24/7 livestream -- all governed by a formal constitution that makes sycophancy, slop, and dishonesty structurally impossible.
This is not a framework. This is not a demo. This is the production system one neurodivergent operator uses to externalize executive function, and the research artifact that proves what happens when you take agent governance seriously.
hapax.omg.lol Β· YouTube @LegomenaLive Β· START_HERE.md Β· Manifesto Β· Refusal Brief
Most AI agent systems have no governance. The model might be aligned, but the system around it offers zero structural guarantees about what the agents will say, claim, publish, or refuse. Prompt engineering is behavioral nudging, not governance. Fine-tuning is statistical tendency, not constraint. When the only thing between an agent and a hallucinated claim is a system prompt, you don't have safety -- you have hope.
Hapax takes a different position: governance is architecture, not policy. Five constitutional axioms, enforced at commit time, at CI, and at runtime, produce ~90 implications via four interpretive canons. Agents don't choose to be honest. They are structurally incapable of the alternative.
ββββββββββββββββββββββββββββββββββββββββββββββ
β Operator (single user) β
ββββββββββββ¬βββββββββββββββ¬ββββββββββββββββββ
β β
ββββββββββββΌβββββββ ββββββΌβββββββββββββββββ
β Logos app β β Voice daemon β
β (Tauri 2/wgpu) β β (STTβLLMβTTS) β
ββββββββββββ¬βββββββ ββββββ¬βββββββββββββββββ
β β
ββββββββββββββββββΌβββββββββββββββΌβββββββββββββββββββ
β Logos API (:8051) β
β + MCP bridge β
ββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββΌβββββββββββββββββββββββ
β β β
ββββββΌββββββ βββββββββΌββββββββ βββββββββΌβββββββββ
β 180 β β Reactive β β Studio β
β agents β β engine β β compositor β
β β β (inotify) β β (GStreamer+GL) β
ββββββ¬ββββββ βββββββββ¬ββββββββ βββββββββ¬βββββββββ
β β β
ββββββΌβββββββββββββββββββββΌβββββββββββββββββββββββΌβββββββββ
β Infrastructure: LiteLLM, Qdrant, Langfuse, Prometheus, β
β TabbyAPI (Command-R 35B), Docker x13, systemd 330+ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Tier | Surface | Examples |
|---|---|---|
| Interactive | Operator-facing | Logos Tauri app, waybar, hapax-mcp, watch/phone companions |
| LLM agents | pydantic-ai via LiteLLM | Triage officer, voice daemon, publication bus, content resolver |
| Deterministic | systemd timers | Sync agents, health monitor, drift detector, audio routing checks |
Agents read and write Markdown + YAML on disk. An inotify-driven reactive engine cascades work across the system. No message broker. No queue. The filesystem is the bus, and git log is the audit trail.
Up to 10 concurrent AI sessions (Claude Code, Codex, Gemini CLI) coordinate through a relay protocol at ~/.cache/hapax/relay/. Each session operates in its own git worktree. A triage officer daemon annotates incoming tasks with priority, effort class, and platform suitability. Dispatch policies enforce permission tiers, quota partitioning, and capability matching.
- Voice: Wake word β VAD β STT (faster-whisper, GPU) β salience routing β LLM β streaming TTS (Kokoro 82M, CPU) β PipeWire voice FX β mixer β broadcast chain
- Vision: 3 USB cameras β GStreamer compositor β GL shader chain β Cairo overlays β V4L2 + HLS. Per-camera sub-pipelines with 5-state recovery FSM
- IR fleet: 5 Raspberry Pi units running YOLOv8n person detection + NIR hand thresholding. Multi-Pi fusion at 3s cadence
- Biometrics: Wear OS watch (heart rate, HRV, skin temperature, sleep) + Android phone (daily health summaries, 60s context updates)
- Visual expression:
hapax-imaginationβ Rust/wgpu shader graphs with 60 WGSL nodes, 30 presets, 9 expressive dimensions in GPU uniform buffer
Five axioms govern everything. They are not guidelines. They are enforced at four tiers: T0 blocks at commit, T1 at review, T2 warns, T3 lints.
| Axiom | Weight | Constraint |
|---|---|---|
single_user |
100 | One operator. No auth, no roles, no multi-user code. Ever. |
executive_function |
95 | Agents track open loops and surface what needs attention. Zero-config. |
corporate_boundary |
90 | Work data stays in employer systems. Hard boundary. |
interpersonal_transparency |
88 | No persistent state about non-operator persons without active consent. |
management_governance |
85 | LLMs prepare context. Humans deliver words. No exceptions. |
- Sycophancy is structurally impossible because
management_governancerequires that LLMs prepare context for human decisions, never deliver conclusions. An agent that tells the operator what they want to hear has violated a constitutional axiom -- the system rejects this at the architectural level. - Slop is structurally impossible because the publication bus enforces source provenance on every claim that reaches a public surface. Agents cannot publish ungrounded assertions. The refusal system treats declined claims as first-class artifacts, preserved and auditable.
- Dishonesty about persons is structurally impossible because
interpersonal_transparencyrequires active consent contracts before the system stores anything about a non-operator person. The face privacy system runs fail-closed -- if the detector crashes, all faces are obscured by default.
The governance core is extracted as agentgov β a standalone MIT-licensed package with ConsentLabel (DLM join-semilattice), Labeled[T] (LIO-style functor), ProvenanceExpr (PosBool(X) semiring), VetoChain (deny-wins composition), and Says (DCC attribution monad). Algebraic properties verified by Hypothesis.
When the system declines to publish, claim, or act, that refusal is not discarded. It is preserved as a first-class artifact in the publication bus. The Refusal Brief explains why this matters.
One AffordancePipeline gates everything across 6 domains (perception, expression, recall, action, communication, regulation). Thompson sampling, cosine similarity against a Qdrant affordance collection, governance veto.
| Surface | State |
|---|---|
| Code release | Source-available archive. No external support, feature-request, patch, issue, or discussion intake is accepted (see CONTRIBUTING.md). |
| Empirical claims | Research compendium under research/. Cycle 1 SCED pilot complete (37 sessions, BF=3.66, inconclusive). Cycle 2 in progress. |
| Governance | 5 constitutional axioms enforced via hapax-constitution and axioms/. |
| License | PolyForm Strict 1.0.0. See NOTICE.md, CITATION.cff, and license-reconciliation-status. |
| Authorship | Indeterminate by design: co-produced by Hapax (the system), Claude Code, and the operator. See Hapax Manifesto v0. |
| Support / sponsorship | Public support page: hapax.weblog.lol/support. The org GitHub Sponsors surface is pending; launch copy routes through the verified no-perk support page and does not claim perks, access, requests, priority, deliverables, or control. |
| Repository | Role |
|---|---|
| hapax-council (this repo) | Primary runtime, 180+ agent modules, 330+ systemd unit files |
| agentgov | Extracted governance hooks/package for AI coding agents |
| hapax-constitution | Governance specification (axioms, implications, canons; publishes hapax-sdlc) |
| hapax-officium | Management decision support (:8050) |
| hapax-assets | SHA-pinned aesthetic-library CDN |
| hapax-watch | Wear OS biometric companion; private/not a public repo as of 2026-05-11 |
| hapax-phone | Android health + context companion; private/not a public repo as of 2026-05-11 |
| hapax-mcp | MCP server bridging logos APIs to Claude Code; private/not a public repo as of 2026-05-11 |
git clone git@github.com:hapax-systems/hapax-council.git && cd hapax-council
direnv allow # load .envrc (pass-backed secrets)
uv sync --all-extras # install all dependencies
uv run pytest tests/ -q # test suite
uv run ruff check . && uv run ruff format --check . # lint
uv run --no-project --with pyrefly==0.62.0 pyrefly check # CI typecheck
uv run pyright # weekly typecheck safety netInfrastructure (LiteLLM, Qdrant, Postgres, Langfuse, Prometheus, Grafana, etc.) via Docker Compose under ~/llm-stack/. Application services via systemd user units in systemd/units/:
cd ~/llm-stack && docker compose --profile full up -d
systemd/scripts/install-units.sh
systemctl --user daemon-reload && systemctl --user enable --now hapax.targetNOTICE.mdβ canonical project posture and license.CONTRIBUTING.mdβ refusal of contributions (single_useraxiom).docs/governance/β governance status and refusal records.- Refusal Brief β public refusal-as-data artifact.
- Hapax Manifesto v0 β authorship-indeterminacy stance.
Cite via CITATION.cff. Zenodo DOI: 10.5281/zenodo.20113515.
Not a product. Not a service. Not seeking contributors. Why not?