chore: v0.1.0 bump, worker bootstrap, smoke stack, docs refresh#8
Merged
Conversation
Stamp the three workspace packages and the workspace root at 0.1.0. The root pyproject keeps tool.uv.package = false so only the three workspace distributions — augur-signals, augur-labels, augur-format — ship to PyPI; the 'augur' name on PyPI is held by a 2018 placeholder upload and is not needed for publication.
augur_signals.workers.bootstrap centralizes the startup plumbing: load_runtime_configs() reads bus.toml / storage.toml / observability.toml from $AUGUR_CONFIG_DIR, activate_observability configures the Prometheus + OTel backends and starts the metrics listener, build_event_bus dispatches the NATS or Redis factory and rejects the 'memory' backend with a clear pointer to the monolith, resolve_replica_id reads AUGUR_REPLICA_ID / POD_NAME, parse_shard_arg parses 'index/count' shard args with bounds checking. augur_signals.workers.__main__ is a tiny catalog that python -m augur_signals.workers prints so operators can enumerate the worker kinds and their Kubernetes CMD strings. Per-kind __main__ modules for feature / detector / manipulation / calibration / dedup / context_format / augur_format.workers.llm are deferred; they require a design decision on the per-subject BusMessage payload schema plus bus-friendly adapters over the Phase 1-4 stateful transforms. See docs/operations/manual-testing.md §3 for the gap list.
…rometheus docker compose -f ops/docker/compose.yaml up -d brings up every external dependency the distributed runtime needs, with pre-baked bus/storage/observability TOML configs under ops/docker/config that point at the compose services. Workers run as host processes so each one is launchable separately for piecewise testing. The OTel collector is optional (traces.kind = 'disabled' in the smoke config). Prometheus scrapes localhost:9091..9097 via host.docker.internal so workers on the host are visible from the compose-internal Prometheus instance.
…lock README: document the v0.1.0 release, the optional-dependency groups (llm-local, llm-cloud, bus-nats, bus-redis, storage-timescale, observability, distributed), every runnable surface (labeling CLI, worker catalog, migration scripts, smoke compose, container build), and a per-phase status table. docs/operations/manual-testing.md: end-to-end guide covering quality gates, labeling CLI, distributed-runtime smoke stack (compose bring-up, TimescaleDB init, worker catalog invocation, known gaps), migration scripts, container build, Kubernetes dry-run, and observability endpoints. docs/README.md group index: add the operations/ group so readers find the runbook and the manual-testing guide. Extend the implementer reading order with both. docs/architecture/system-design.md: rewrite the repository-structure block so workers/, ops/docker/, ops/deploy/, the three new TOML configs, and the migration + sidecar scripts are discoverable from the canonical architecture doc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
augur-signals,augur-labels,augur-format) and the workspace root to0.1.0.augur_signals.workers.bootstrap— the shared config/observability/bus startup helpers used by every worker__main__module. Addaugur_signals.workers.__main__catalog sopython -m augur_signals.workerslists the supported entrypoints.ops/docker/compose.yamlbringing up NATS JetStream + Redis + TimescaleDB + Prometheus + optional OTel collector, plusops/docker/config/TOMLs pointing at the compose services.README.mdfor v0.1.0 with the optional-dependency groups, every runnable surface (labeling CLI, worker catalog, migration scripts, smoke compose, container build), and a per-phase status table.docs/operations/manual-testing.mdas the single end-to-end guide for local exercise — quality gates, labeling CLI, smoke stack, migration scripts, containers, Kubernetes dry-run, known gaps.operations/group indocs/README.md; updatedocs/architecture/system-design.mdrepository-structure block to match the phase 5 layout.Honest scoping
Per-kind
__main__modules for feature / detector / manipulation / calibration / dedup / context_format /augur_format.workers.llmare not in this PR. They require a design decision on the per-subjectBusMessagepayload schema and bus-friendly adapters over the stateful Phase 1-4 transforms. Placeholder__main__modules would violate the No-Bullshit-Code discipline, so they wait for the follow-up.docs/operations/manual-testing.md §3enumerates what's deferred.PyPI name check
augur— taken (2018 placeholder, no releases since). Workspace root keepstool.uv.package = falseso no conflict.augur-signals,augur-labels,augur-format— all available.Test plan
uv run pytest— 351 passed (15 new bootstrap tests).uv run ruff check .+uv run ruff format --check .+uv run mypy --strict src/ scripts/clean.uv run python -m augur_signals.workersprints the catalog.docker compose -f ops/docker/compose.yaml configparses the compose file.kubectl apply -k ops/deploy/ --dry-run=clientunchanged from phase 5.