A task factory based on temporal
Find a file
tegwick c3a256509b feat(event-bridge): WP-0003a — domain model, rules module, event type registry
Implements phases 7–8 of the Event Bridge architecture (custodian-WP-0003a).

Domain model (T34, T40):
- Added RuleDef, InstructionDef, ActionDef to models.py
- Updated ActivityDefinition with rules/instructions fields (task_templates deprecated)
- Formalized EventEnvelope: id, type, version, timestamp, publisher, attributes
- Added from_nats_message() and from_webhook_payload() classmethods

Rules module (T35, T36, T37):
- src/activity_core/rules/ skeleton with boundary enforcement
- evaluate_condition() — sandboxed AST walker, whitelisted nodes only, never exec()
- execute_instruction() — LLM task generation with trusted_fields injection guard
- tests/rules/test_boundary.py verifies no cross-boundary imports

Infrastructure (T38, T39):
- Alembic migrations 0004 (task_spawn_log) and 0005 (event_types)
- IssueSink ABC + IssueCoreRestSink (REST) + NullSink (testing)
- TaskSpawnLog and EventType ORM models

Event type registry (T41, T42, T43):
- event_type_registry.py: file scanner, parser, DB sync, in-process lookup
- ACTIVITY_CURATOR_GATE env var (disabled|required) + approve endpoint
- Three org event type definitions: org.repo.registered, org.workstream.completed,
  org.activity.run.completed

All 10 tests pass. Boundary test confirms rules/ isolation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 22:01:15 +02:00
docs docs(adr): establish three foundational ADRs for Event Bridge architecture 2026-05-14 16:48:42 +02:00
dynamicconfig Add project scaffold: contracts, schemas, docker-compose, workplans 2026-03-04 22:45:40 +01:00
e2e feat(e2e): add run-on-host.sh for automated cron on railiance01 2026-03-27 01:02:21 +01:00
event-types feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
migrations feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
schemas Add project scaffold: contracts, schemas, docker-compose, workplans 2026-03-04 22:45:40 +01:00
scripts Add project scaffold: contracts, schemas, docker-compose, workplans 2026-03-04 22:45:40 +01:00
src/activity_core feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
tests feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
wiki Add project scaffold: contracts, schemas, docker-compose, workplans 2026-03-04 22:45:40 +01:00
workplans feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-05-14 17:49:34 +02:00
.gitignore Initial commit 2026-03-02 00:24:41 +00:00
alembic.ini feat(db): init Alembic (async) + SQLAlchemy declarative base — T08 2026-03-26 21:45:40 +00:00
CLAUDE.md chore: add .custodian-brief.md protocol and unblock T07 2026-03-26 21:03:56 +01:00
docker-compose.dev.yml feat(WP-0002): complete Triggers & Ops workstream 2026-03-28 01:04:43 +01:00
INTENT.md docs: write INTENT.md and rewrite SCOPE.md for Event Bridge architecture 2026-05-14 16:56:07 +02:00
LICENSE Initial commit 2026-03-02 00:24:41 +00:00
Makefile feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
pyproject.toml feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00
README.md Initial commit 2026-03-02 00:24:41 +00:00
SCOPE.md docs: write INTENT.md and rewrite SCOPE.md for Event Bridge architecture 2026-05-14 16:56:07 +02:00
uv.lock feat(event-bridge): WP-0003a — domain model, rules module, event type registry 2026-05-14 22:01:15 +02:00

repo-seed

A git repository template to bootstrap coulomb projects from.