learning_ai_clock/backend
saravanakumardb1 0e7c1aeb15 feat(backend): state-change event detection + clone template on start
- PUT /timers/🆔 detect state→fired and state→completed transitions,
  emit timer.fired / timer.completed domain events
- PUT /routines/🆔 detect status→completed transition,
  emit routine.completed domain event
- POST /routines/:id/start (TODO-004): when isTemplate=true, clone the
  template into a new RoutineDoc instead of mutating in-place. Original
  template stays reusable. Non-templates still update in place.

All 6 ChronoMind event types are now fully wired end-to-end.
2026-04-13 17:00:05 -07:00
..
src feat(backend): state-change event detection + clone template on start 2026-04-13 17:00:05 -07:00
.env.example fix(backend): harden Phase A endpoints — Zod validation, feature flag gate, state filtering 2026-03-31 23:56:35 -07:00
.gitignore feat(backend): scaffold product-specific Fastify backend (port 4011) 2026-03-01 20:39:08 -08:00
Dockerfile fix(docker): .docker-deps COPY + optional secret + .npmrc.docker simplification 2026-04-13 14:05:54 -07:00
eslint.config.js chore(backend): add eslint config and lint script 2026-03-26 22:59:50 -07:00
package.json feat(backend): add domain event bus + webhook dispatch 2026-04-13 11:28:38 -07:00
tsconfig.json feat(backend): scaffold product-specific Fastify backend (port 4011) 2026-03-01 20:39:08 -08:00
vitest.config.ts feat(backend): scaffold product-specific Fastify backend (port 4011) 2026-03-01 20:39:08 -08:00