Skip to content

Finish Noema's event publication boundary - #26

Open
ferueda wants to merge 4 commits into
mainfrom
codex/event-outbox-boundary
Open

Finish Noema's event publication boundary#26
ferueda wants to merge 4 commits into
mainfrom
codex/event-outbox-boundary

Conversation

@ferueda

@ferueda ferueda commented Jul 29, 2026

Copy link
Copy Markdown
Owner

What changed

  • replace the pre-V1 agent/job/worker scaffold with exact claim.admitted and analysis.completed domain events
  • commit admitted claims, completion events, and transactional outbox records together
  • add generic event inspection and one-shot JSONL publication commands
  • make JSONL delivery crash-safe against incomplete trailing records
  • cut the local schema over cleanly instead of preserving unused pre-V1 runtime tables
  • update the architecture, roadmap, README, contributor docs, and tests around the event publication boundary

Why

Noema had crossed its intended boundary by owning subscriptions, jobs, worker execution, and agent artifacts. The corrected design ends the core at a durable transactional outbox. Noema publishes stable, consumer-neutral records; Eve, Inngest, or another external system can react without Noema knowing which consumers exist.

This keeps the primitives reusable for content discovery, coding self-evaluation, workflow improvement, and future consumers without coupling the core to any one agent product.

Developer impact

  • V1 local databases use a clean schema. Databases created by the removed pre-V1 scaffold must be deleted or moved and recreated.
  • noema events list and noema events show inspect durable events and delivery state.
  • noema events publish --once --output <path> publishes one pending event through the generic JSONL adapter.
  • Delivery is at least once. Consumers must deduplicate by the stable event ID.
  • Agent registration, job claiming, worker execution, and consumer artifacts are intentionally not part of Noema.

Validation

  • make check
  • three independent harness review passes; final implementation and code-quality review passed
  • real retained Sessions smoke using a digest-fixed session revision and bounded six-entry range:
    • produced one evidence-linked semantic claim through Vercel AI Gateway/Cerebras
    • atomically created one claim.admitted and one analysis.completed event
    • exact rerun reused the analysis and left the outbox at two records
    • two one-shot publishes delivered the two events
    • a third publish returned no-work
    • final state: two delivered, zero pending, and two valid JSONL records

@ferueda ferueda self-assigned this Jul 29, 2026
@ferueda
ferueda marked this pull request as ready for review July 29, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant