Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# Changelog

## 0.3.0 — 2026-07-27

- Make the four-project listening core—AKOÚŌ 0.9.0, Earworm 0.6.0,
Akousmata 0.6.0, and Oída 0.9.0—the default install profile. GERM 0.2.5 is
now installed and configured only through an explicit `full` or `germ`
selection; the former `oida` selector remains a compatibility alias.
- Introduce `listening-stack/state/v2`, recording the canonical profile, exact
component set, core components, optional components, immutable revisions,
and the expanded accountable-listening contract matrix. Version 1 state
remains readable for lifecycle compatibility.
- Remove GERM directories, endpoints, provider settings, and lifecycle probes
from core-only installations. Full installations retain the bounded
loopback, path, model, and shared-memory safeguards.
- Pin the decision-first Oída gateway and route-outcome contract, AKOÚŌ context
v2, Earworm auditum v2, and Akousmata's accountable-memory contract. Extend
the doctor to verify the live route-outcome schema as well as host input,
listening events, and listening context.
- Document attributable passes, provenance and cuts, decision-only records,
coded silence, honest absence, evidence attribution, reciprocal ear swarms,
forgetting receipts, and non-resurrection across the installed system.

## 0.2.0 — 2026-07-22

- Pin Oída 0.8.0, AKOÚŌ 0.8.0, Earworm 0.5.0, and Akousmata 0.5.0 by immutable
source revision while retaining the tested GERM 0.2.5 and model-runtime set.
- Record the accountable-listening compatibility matrix in completed installer
state: Oída gateway, host-perception and listening-event contracts; AKOÚŌ
listening context and claims; Earworm auditums; and Akousmata navigation.
- Extend the read-only doctor from process health to the actual integration
boundary. It verifies Oída's live manifest and three public schemas using
bounded, non-redirecting loopback requests.
- Document single semantic ownership, situated listening context, capability
versus authority, honest absence, preserved disagreement, append-only
revision, and the nonfinancial meaning of a tokenized auditum.
- Show the listening contracts in every Oída/full install plan and update the
standalone deterministic release artifact and tests for the 0.2 compatibility
set.

## 0.1.2 — 2026-07-16

- Pin the tested compatibility set to Oída 0.6.5, GERM 0.2.5, AKOÚŌ 0.7.0,
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ cff-version: 1.2.0
message: "If you use the Listening Stack Installer in research, cite this software and the installed applications and models separately."
title: "The Listening Stack Installer"
type: software
version: 0.1.2
date-released: 2026-07-16
version: 0.3.0
date-released: 2026-07-27
authors:
- family-names: "Isaza"
given-names: "Eme"
Expand Down
6 changes: 5 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ testable without downloading model weights.
4. **Interrupted-download recovery:** add deterministic fixtures for partial
Hugging Face cache and network failure states.
5. **Integration contracts:** test Oída adapter installation against temporary
Hermes, Codex, Claude, OpenClaw, and OpenCode configuration homes.
Hermes, Codex, Claude, OpenClaw, and OpenCode configuration homes, and keep
live gateway/schema checks aligned with the pinned contract matrix.

## Development

Expand Down Expand Up @@ -43,5 +44,8 @@ changes, model downloads, and service startup.
state, home-directory paths, private hostnames, or network addresses.
- Do not silently broaden a system mutation. New package-manager, config, or
network actions need an explicit prompt and documentation.
- Keep one semantic owner per listening concept. Installer checks may verify a
component contract, but must not redefine AKOÚŌ claims, Earworm provenance,
or Oída runtime authority.

By contributing, you agree that your contribution is licensed under Apache-2.0.
123 changes: 90 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,24 @@

> **Public alpha · Open research release · Local-first · Open-source · Under active development**

The Listening Stack Installer prepares [Oída](https://github.com/sonicfieldlabs/oida)
and [GERM](https://github.com/sonicfieldlabs/germ), their local runtimes, and
the models an operator explicitly selects. It checks the host, explains disk
and memory requirements, keeps weights outside Git, and leaves both local
gateways ready to start.

**Oída hears. GERM cultivates. Akousmata remembers. AKOÚŌ structures. Earworm
routes.**
The Listening Stack Installer prepares the accountable listening core:
[AKOÚŌ](https://github.com/sonicfieldlabs/akouo),
[Earworm](https://github.com/sonicfieldlabs/earworm),
[Akousmata](https://github.com/sonicfieldlabs/akousmata), and
[Oída](https://github.com/sonicfieldlabs/oida). [GERM](https://github.com/sonicfieldlabs/germ)
is available as an explicit optional installation. The assistant checks the
host, explains disk and memory requirements, keeps weights outside Git, and
prepares only the services and models an operator selected.

**Oída listens. AKOÚŌ structures claims. Earworm addresses auditums. Akousmata
renders and audits memory. GERM optionally cultivates.**

This repository is an installer and operator assistant. Oída, GERM, AKOÚŌ,
Earworm, and Akousmata remain independent repositories with their own histories,
licenses, and releases. The assistant does not duplicate their application
code.

Current installer release: `0.1.2`.
Current installer release: `0.3.0`.

## Quick Start

Expand Down Expand Up @@ -50,34 +53,68 @@ chmod +x listening-stack.pyz

## What the Assistant Can Install

- **Full stack:** Oída, GERM, the supporting Oída libraries, selected models,
and one local Stable Audio 3 provider.
- **Oída only:** Oída and the AKOÚŌ, Earworm, and Akousmata source dependencies
required by its current `uv` workspace.
- **Core profile (default):** AKOÚŌ, Earworm, Akousmata, Oída, and any selected
MOSS-Audio models. It neither installs nor configures GERM.
- **Full profile:** the core plus an explicitly selected GERM installation and,
when requested, one local Stable Audio 3 provider.
- **GERM only:** GERM with its mock path or a selected Stable Audio 3 runtime.
- **Model-free paths:** Oída's deterministic/stub route and GERM's mock route,
with no weights or hosted account.
- **Model-free paths:** the core's deterministic/stub route and, only in a
GERM-containing profile, GERM's mock route, with no weights or hosted account.
- **Optional agent adapters:** Hermes, Codex, Claude, OpenClaw, and OpenCode,
installed through Oída only after they are selected.

Sources are cloned into a dedicated installation directory. The installer
verifies every existing origin and refuses to update a dirty or unexpected
checkout. Release `0.1.2` installs one immutable compatibility set and records
checkout. Release `0.3.0` installs one immutable compatibility set and records
the exact commits it installed in local state:

| Component | Tested release |
| --- | --- |
| Oída | 0.6.5 |
| Oída | 0.9.0 |
| GERM | 0.2.5 |
| AKOÚŌ | 0.7.0 |
| Earworm | 0.4.0 |
| Akousmata | 0.4.0 |
| AKOÚŌ | 0.9.0 |
| Earworm | 0.6.0 |
| Akousmata | 0.6.0 |

The official MOSS-Audio source is pinned to the revision tested with Oída
0.6.5. Stable Audio 3 source is pinned to the same revision locked by GERM
0.9.0. Stable Audio 3 source is pinned to the same revision locked by GERM
0.2.5. Rerunning this installer therefore reproduces the compatibility set;
it does not silently advance a checkout to a newer moving branch.

## Accountable Listening Contract

Release 0.3.0 installs listening as an explicit, inspectable chain:

1. AKOÚŌ owns routing and claim discipline under `akouo/v0.9`, including
situated `akouo/listening-context/v2`, attributable listening passes,
provenance and cuts, explicit route decisions, and declared ensembles.
2. Oída owns runtime perception and the decision-first gateway. A successful
hearing emits `oida/listening-event/v0.3` through `oida/gateway/v0.5`; a
refusal before perception emits `oida/route-outcome/v0.1` instead of
fabricating an empty hearing.
3. Earworm owns addressable, append-only `earworm/auditum/v2` lineage,
disagreement, decision-only records, action receipts, revision, and
forgetting receipts. “Tokenized” here means structured, addressable, and
versioned—never a financial token.
4. Akousmata renders, queries, and structurally audits those records without
becoming a second owner of claims or provenance.

Capability and authority stay separate. A host may declare what its apparatus
can perceive, but Oída recomputes the effective context and defaults operational
authority to observe-only. Prompts, transcripts, and contextual descriptions
remain attributed text rather than being relabeled as heard evidence.
Unsupported measurements remain absent rather than being inferred from model
prose. A pause, refusal, withholding, or forgetting decision is recorded as a
decision, not confused with honest absence or an undetermined claim. Distinct
routes remain distinct listenings; multiple listeners become an ear swarm only
when they remain attributable and demonstrably redirect one another.

The installer records this semantic compatibility matrix, the selected profile,
and its exact component set in `listening-stack/state/v2` state.
When Oída is running, `listening-stack doctor` reads the live gateway manifest
and all four public schemas to verify the contract at the actual integration
boundary. See [Accountable listening architecture](docs/accountable-listening.md).

## Model Choices

| Model | Used by | Approx. download | Planning RAM | Access |
Expand Down Expand Up @@ -111,7 +148,7 @@ MOSS-Audio code and released model checkpoints are Apache-2.0. Oída is develope
and tested first against the 4B Instruct and Thinking checkpoints while
remaining model-agnostic at its gateway boundary.

Oída 0.6.5 requires Safetensors for its embedded model loader and pins its
Oída 0.9.0 requires Safetensors for its embedded model loader and pins its
compatible Torch, TorchAudio, TorchCodec, and Transformers releases. The
installer downloads MOSS checkpoints by immutable Hugging Face commit and the
doctor verifies both model configuration and Safetensors weights.
Expand Down Expand Up @@ -169,13 +206,23 @@ listening-stack stop germ

Run a reproducible non-interactive install:

```bash
listening-stack install \
--component core \
--models recommended \
--integration codex \
--root "$HOME/SonicField/ListeningStack" \
--yes
```

Add GERM only by selecting it explicitly:

```bash
listening-stack install \
--component full \
--models recommended \
--provider auto \
--accept-model-terms \
--integration codex \
--root "$HOME/SonicField/ListeningStack" \
--yes
```
Expand All @@ -190,18 +237,25 @@ for presets, individual model keys, dry runs, and automation.
After `listening-stack start`:

- Oída gateway and agent: `http://127.0.0.1:8765`
- GERM dashboard: `http://127.0.0.1:5178/dashboard`
- GERM dashboard, only when installed: `http://127.0.0.1:5178/dashboard`

Both bind to loopback. The generated environment file contains paths and
non-secret settings only. Hugging Face credentials stay in the Hugging Face
CLI's own local credential store and are never copied into this repository or
the installer state.

Oída and GERM share one explicit `AKOUSMATA_PATH` under the installation root.
GERM's allowed hosts, input roots, and model roots are bounded to the generated
loopback and install-root paths. The bounded input set includes GERM output,
Oída's handoff audio, and the shared Akousmata store; cloud image analysis
remains disabled unless an operator enables it separately.
The core uses one explicit `AKOUSMATA_PATH` under the installation root. When
GERM is selected, Oída and GERM share that path; GERM's allowed hosts, input
roots, and model roots are bounded to generated loopback and install-root
paths. A core-only install records no GERM URL, creates no GERM data directory,
and does not probe or start GERM.

Oída's public schema boundary is available at:

- `http://127.0.0.1:8765/gateway/schema/host-perception`
- `http://127.0.0.1:8765/gateway/schema/listening-event`
- `http://127.0.0.1:8765/gateway/schema/listening-context`
- `http://127.0.0.1:8765/gateway/schema/route-outcome`

## Agent Integrations

Expand All @@ -225,6 +279,8 @@ the stack's local services.

- The bootstrap verifies the release checksum before execution.
- Component and model-runtime source checkouts use immutable revisions.
- The recorded semantic contracts are verified against Oída's live manifest and
schemas rather than inferred from package versions alone.
- No model, token, recording, generated sound, log, machine path, or installer
state is committed to this repository.
- Model terms are displayed before gated downloads.
Expand All @@ -241,10 +297,11 @@ a shared machine.

- Downloads are large and can be interrupted by network or access restrictions.
- Model availability, upstream terms, and hardware compatibility can change.
- The doctor can confirm files, imports, origins, and gateway health; it cannot
- The doctor can confirm files, imports, origins, gateway health, and listening
contracts; it cannot
certify model output quality or legal fitness for a particular use.
- Stable Audio 3's optimized paths differ across CPU, CUDA, and Apple Silicon.
- Oída and GERM interfaces remain under active development before 1.0.
- Oída and the optional GERM interface remain under active development before 1.0.
- Stable Audio 3's Python loader resolves gated model revisions through its
upstream Hugging Face contract; the exact resolved cache revision is recorded
in installer state when available.
Expand All @@ -263,8 +320,8 @@ bash -n install.sh listening-stack
Use a dry run to inspect installation commands without changing the machine:

```bash
./listening-stack install --component full --models recommended \
--accept-model-terms --yes --dry-run
./listening-stack install --component core --models recommended --yes --dry-run
./listening-stack install --component full --models none --yes --dry-run
```

See [CONTRIBUTING.md](CONTRIBUTING.md), [CHANGELOG.md](CHANGELOG.md),
Expand Down
8 changes: 6 additions & 2 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@ The roadmap describes public-alpha direction and does not promise dates.
- Signed release artifacts in addition to SHA-256 checksums.
- More precise CUDA, Apple unified-memory, CPU, and free-disk preflight.
- Resumable install summaries after interrupted provider or model downloads.
- Contract tests against released Oída and GERM installer surfaces.
- Released-artifact smoke tests that exercise Oída's accountable-listening
gateway and one model-free Oída-to-GERM handoff.
- Screen-reader and low-vision terminal audits.
- Compatibility-set migration previews with release notes before changing pins.
- Contract-diff previews that distinguish additive schema changes from semantic
ownership or authority changes.

## Toward Beta

- Stable installer-state migrations.
- Migration previews and explicit upgrade commands for future installer-state
contracts beyond the backward-readable version 2 format.
- Opt-in version-channel selection beyond the default tested compatibility set.
- Reproducible provider-lock metadata and model revision pinning.
- Optional signed desktop launchers built from the same assistant core.
Expand Down
Loading