Skip to content

feat: HTTP gateway, daemon supervisor, cron scheduler (M22)#388

Merged
bug-ops merged 2 commits intomainfrom
feat/m22/infrastructure
Feb 16, 2026
Merged

feat: HTTP gateway, daemon supervisor, cron scheduler (M22)#388
bug-ops merged 2 commits intomainfrom
feat/m22/infrastructure

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Feb 16, 2026

Summary

  • Add zeph-gateway crate: axum HTTP gateway with POST /webhook ingestion, bearer auth (blake3 + ct_eq), per-IP rate limiting, configurable body size limit, and GET /health endpoint
  • Add zeph-core::daemon module: component supervisor with health monitoring loop, PID file management, exponential backoff placeholders, graceful shutdown via watch channel
  • Add zeph-scheduler crate: cron-based periodic task scheduler with SQLite persistence (scheduled_jobs table), built-in task kinds (memory_cleanup, skill_refresh, health_check), extensible TaskHandler trait

All three components are feature-gated (gateway, daemon, scheduler) and not included in defaults. Config sections added to config/default.toml with vault integration for gateway token.

Test plan

  • 12 gateway tests (auth, rate limiting, body size, health)
  • 9 daemon tests (PID lifecycle, supervisor health, shutdown)
  • 10 scheduler tests (cron parsing, SQLite persistence, tick, shutdown)
  • All 1457 workspace tests pass
  • Clippy clean, fmt clean

Closes #379, #380, #381
Ref #367

@github-actions github-actions bot added documentation Improvements or additions to documentation memory zeph-memory crate (SQLite) rust Rust code changes core zeph-core crate dependencies Dependency updates config Configuration file changes enhancement New feature or request size/XL Extra large PR (500+ lines) labels Feb 16, 2026
@bug-ops bug-ops force-pushed the feat/m22/infrastructure branch from b29ba65 to 983efa9 Compare February 16, 2026 22:58
@github-actions github-actions bot added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation memory zeph-memory crate (SQLite) labels Feb 16, 2026
Add three feature-gated infrastructure components:

- zeph-gateway: axum-based HTTP gateway with webhook ingestion,
  bearer auth (blake3 + constant-time comparison), per-IP rate
  limiting, and health endpoint
- zeph-core::daemon: component supervisor with health monitoring,
  PID file management, and graceful shutdown integration
- zeph-scheduler: cron-based periodic task scheduler with SQLite
  persistence, built-in task kinds (memory_cleanup, skill_refresh,
  health_check), and extensible TaskHandler trait

All components are optional (gateway, daemon, scheduler features)
and integrate with existing config, vault, and shutdown systems.

Closes #379, #380, #381
Ref #367
Add mdBook pages for HTTP gateway, daemon supervisor, and cron
scheduler. Update feature flags table, crate architecture page,
SUMMARY.md, CHANGELOG.md, and README.md. Fix rustfmt in server.rs.
@bug-ops bug-ops force-pushed the feat/m22/infrastructure branch from ffb1835 to 582814c Compare February 16, 2026 23:04
@bug-ops bug-ops enabled auto-merge (squash) February 16, 2026 23:10
@bug-ops bug-ops merged commit e23b0a8 into main Feb 16, 2026
20 checks passed
@bug-ops bug-ops deleted the feat/m22/infrastructure branch February 16, 2026 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration file changes core zeph-core crate dependencies Dependency updates documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/XL Extra large PR (500+ lines)

Projects

None yet

1 participant