Precondition 3 of the activation plan. New bounded operation owner_return_pickup (state-hub-owner-return/pickup), executed by the existing execute_bounded_operation activity and operator-triggered via the ops console trigger with confirm_side_effect; no schedule, definition stays disabled. The caller reads an operator-supplied C-25 checker artefact pinned by sha256 (the checker needs a local checkout and cannot run in the worker), requires a full-SHA source_revision on the report and every C-25 finding, refuses failed or incomplete collection, binds build_current_tasks to that SHA (Forge HEAD verified), runs the State Hub planner vendored byte-identically from state-hub 150cb0b, and submits only reviewable candidates under ACTIVITY_CORE_OWNER_RETURN_PICKUP_ENABLED. Evidence is IDs/counts only. build_current_tasks now refuses a report without source_revision and names source_revision_reason when it is null. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 692292@bnt-lap001 Assistant-Session: 89c7d8e8-e1b3-47eb-9411-a0ab227fca2f |
||
|---|---|---|
| .claude/rules | ||
| .forgejo/workflows | ||
| .kaizen | ||
| activity-definitions | ||
| agents | ||
| docs | ||
| dynamicconfig | ||
| e2e | ||
| event-types | ||
| history | ||
| k8s | ||
| 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 | ||
| Dockerfile.frontend-patterns | ||
| Dockerfile.pqrst | ||
| 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.