Skip to content

About

Stillroom governed-query and proof-carrying AI lab

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Stillroom Lab v0 — tickets 01–05

spec.md is the source of truth. Ticket 01 provides the local Postgres sandbox and deterministic fictional sources. Ticket 02 adds the pinned business ontology, versioned proposed mappings, operator approval gate and canonical ingestion. See services/README.md for application use, audit interfaces, read-only source guarantees and sandbox limitations. Ticket 03 adds governed queries; ticket 04 adds proof manifests and local Markdown/XLSX/PPTX artifacts. See services/QUERY_API.md for their contracts and issues/04-validation.md for validation evidence.

Prerequisites

  • Linux with Docker Engine and Docker Compose (--wait support), accessible to your user.
  • Python 3.11, uv, and GNU Make. No application service or cloud credentials needed.
  • Local TCP port 55432 available. The Compose project name stillroom-lab is reserved for this disposable lab; do not reuse it for real data.

Rebuild from a clean checkout

make seed

This installs locked Python dependencies in .venv and replaces only sources/generated/. Python package caches and temporary files stay inside the checkout. Faker uses the fixed seed 20260906 and the en_AU locale; dates and IDs are fixed, money is serialized as decimal strings. uv.lock pins dependencies. No Postgres connection is needed to seed the five file-based sources:

  • sources/generated/crm.sqlite — customers and opportunities
  • sources/generated/invoices.csv and payments.csv
  • sources/generated/support.json
  • sources/generated/emails/*.txt
  • sources/generated/policies/*.md — mock Obsidian vault, frontmatter + wiki-links

See sources/MESSINESS.md for every deliberate trap and source record pointer. Generated data is ignored by Git and rebuilt rather than manually maintained. Do not run seed and fixture tests concurrently: they rebuild the same sandbox.

Postgres scratch environment

docker compose up -d
docker compose exec -T postgres pg_isready -U lab -d lab
docker compose down -v

Only Postgres 15 runs. Host endpoint: 127.0.0.1:55432; database/user lab, password lab-scratch-only (public mock credential, never reuse for real data). No extensions or additional service containers are installed. Ticket-02 tables are initialized in a separate schema when Store() is constructed. The stock postgres:15 tag tracks PostgreSQL 15 maintenance releases; source fixture determinism does not depend on the Postgres image.

stillroom-lab_pgdata is a dedicated 256 MiB RAM-backed scratch volume. Data may be lost on container stop or host reboot, not just down -v. Docker maintains its own image/container/volume metadata in the daemon's storage; application source and tooling files live in this checkout. Do not use this environment for durable or private data. down -v affects this Compose project only, not Honcho.

Verification

make typecheck
uv run --frozen pytest tests/test_seed.py
uv run --frozen pytest tests/test_policies.py
uv run --frozen pytest tests/test_messiness.py
uv run --frozen pytest tests/test_environment.py
# Final gate:
make test

The Docker test starts real Postgres, checks runtime loopback binding, writes a probe table, destroys the volume, starts again and verifies the table is gone. It stops and removes the scratch volume in cleanup. The full suite resets this lab database and requires Docker; it does not silently skip unavailable Docker. Seed tests use an isolated repository-local seed-script/Makefile copy, compare its generated bytes over consecutive runs and verify old files are removed. They never rebuild the actual sources/generated/ ingestion inputs. Policy tests parse YAML and resolve wiki-links; fixture tests read actual SQLite/CSV/JSON/text records and check documented traps.

The suite covers permission enforcement, governed queries and proof-carrying artifacts, the typed agent, and read-only Streamlit UI. The ticket-06 benchmark remains separate; no live-model quality or comparative benchmark claim is made. See agent/README.md for explicit inference opt-in and ui/README.md for local startup and the read-only boundary.

About

Stillroom governed-query and proof-carrying AI lab

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages