Skip to content

Implement notification rules engine API#3

Open
Dimwiddle wants to merge 7 commits intomainfrom
task/mcp-test-run-2
Open

Implement notification rules engine API#3
Dimwiddle wants to merge 7 commits intomainfrom
task/mcp-test-run-2

Conversation

@Dimwiddle
Copy link
Contributor

Summary

  • implement rule CRUD, condition evaluation, channel dispatch, and dispatch record persistence for the notification rules engine
  • add SpecLeft-driven specs and tests covering acceptance scenarios and edge cases
  • make event publishing non-blocking while recording channel outcomes

Testing

  • .venv/bin/python -m pytest
  • specleft status --format json

@Dimwiddle
Copy link
Contributor Author

Dimwiddle commented Feb 24, 2026

Retrospective

  • Failed test runs before all tests passed: 1
  • Time spent:
    • Spec externalisation: ~20 min
    • Implementation: ~40 min
    • Testing: ~15 min
    • Behaviour verification: ~10 min
  • Clarity of project scope (grade):
    • Spec externalisation: B
    • Implementation: B+
    • Testing: A-
    • Behaviour verification: B
  • What went well: SpecLeft spec/test flow mapped cleanly to PRD scenarios; FastAPI/SQLAlchemy layering kept responsibilities clear.
  • What was missed or inefficient: initial background dispatch used threads with sqlite teardown edge case; needed a test-fixture adjustment to avoid race/teardown errors.
  • Improvements: add explicit async task orchestration (or background task harness) and a dedicated integration test for teardown/dispatch lifecycle to catch thread/session cleanup earlier.

Usage

118,142 tokens
43% used

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