ACTIVITY_CORE_WORKERS maps worker_id=ENV_NAME, where each token env must be ACTIVITY_CORE_WORKER_TOKEN[_SUFFIX]. Without the map, the legacy single pair behaves exactly as before. Duplicate identities, missing or shared tokens, a token equal to the operator token, and an unlisted legacy identity all fail worker mutations closed with 503. Operator/SSO reads keep working. Declare per-identity OpenBao paths and an ExternalSecret, not yet applied. The policy, seeding and rollout are waiting tasks T02-T04, answering secrets-engine SECRETS-WP-0009-T03 and SECRETS-WP-0011-T04. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 151606@bnt-lap001 Assistant-Session: 3c0a4ad5-bb8b-4bf7-b9f0-fa5f29204e48 |
||
|---|---|---|
| .claude/rules | ||
| .forgejo/workflows | ||
| .kaizen | ||
| activity-definitions | ||
| agents | ||
| docs | ||
| dynamicconfig | ||
| e2e | ||
| event-types | ||
| history | ||
| k8s/railiance | ||
| migrations | ||
| registry | ||
| schemas | ||
| scripts | ||
| src/activity_core | ||
| tasks | ||
| tests | ||
| wiki | ||
| workplans | ||
| .custodian-brief.md | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .repo-classification.yaml | ||
| AGENTS.md | ||
| alembic.ini | ||
| CLAUDE.md | ||
| cron_expression | ||
| docker-compose.dev.yml | ||
| docker-compose.railiance.yml | ||
| Dockerfile | ||
| INTENT.md | ||
| LICENSE | ||
| Makefile | ||
| misfire_policy | ||
| pyproject.toml | ||
| README.md | ||
| SCOPE.md | ||
| timezone | ||
| uv.lock | ||
| WORK-RECORDS.md | ||
activity-core
activity-core is Coulomb's durable automation factory. It answers when an automation fires (Temporal Schedules, NATS, webhooks, or manual triggers), what should be emitted (deterministic rules or optional validated LLM instructions), and where the result goes (task, report, evidence, or runtime-delivery sinks).
It is not a project tracker, a general shell runner, or a task executor. A small code-owned registry permits three bounded platform operations: controlled SBOM ingest, Forgejo package pruning, and CNPG Option A backup.
Start here
- INTENT.md — product purpose and hard boundaries
- SCOPE.md — implemented capability and current gaps
- docs/runbook.md — local and production operations
- docs/api.md — API surface
- docs/adr/adr-007-bounded-operations.md — admitted mutation contract
Definitions are authored in activity-definitions/*.md and synchronized into
Postgres and Temporal. The /activity-definitions/ REST endpoints provide
basic row administration only; they do not round-trip the full markdown
rules/instructions contract.
For local setup and verification, follow the runbook. The installed activity
CLI is the operator review surface; run uv run activity --help for commands.