Commit Graph

74 Commits

Author SHA1 Message Date
alex 9993fafb51 test(v2): fence expired execution leases 2026-07-27 22:11:46 +02:00
alex 8e5dd87ff6 style(v2): normalize execution integration test 2026-07-27 22:07:41 +02:00
alex be56228748 style(v2): normalize worker lifecycle imports 2026-07-27 22:06:29 +02:00
alex 173cf7f75c feat(v2): wire worker role lifecycle 2026-07-27 22:05:45 +02:00
alex 8c07c43ed2 feat(v2): add durable worker lifecycle service 2026-07-27 22:04:02 +02:00
alex 3f1136b99e fix(v2): fence execution leases and redact progress 2026-07-27 22:01:33 +02:00
alex f1651c18ad style(v2): normalize execution control coverage 2026-07-27 21:55:11 +02:00
alex 474efa526f feat(v2): expose execution control and event APIs 2026-07-27 21:54:05 +02:00
alex 057895f138 feat(v2): enqueue and lease durable executions 2026-07-27 21:48:26 +02:00
alex f3858ac43a feat(v2): add guarded execution state transitions 2026-07-27 21:43:54 +02:00
alex 86d1ca168d style(v2): sort source job test imports 2026-07-27 21:37:21 +02:00
alex 61189c27d2 feat(v2): add local sources and repository jobs 2026-07-27 21:36:45 +02:00
alex f773a1b771 test(v2): define local source and job contracts 2026-07-27 21:27:32 +02:00
alex fb4cd4cd3e fix(v2): support nested repository paths 2026-07-27 21:22:54 +02:00
alex 14b4347806 fix(v2): enforce repository safety failures 2026-07-27 21:16:44 +02:00
alex cccd638be2 test(v2): cover repository safety failure paths 2026-07-27 21:13:27 +02:00
alex 908859084a fix(v2): enforce repository protocol safety 2026-07-27 21:10:26 +02:00
alex 175a550c7b fix(auth): persist sessions and lock remote setup 2026-07-27 21:01:04 +02:00
alex 5cbd5b836c test(auth): require durable sessions and safe remote setup 2026-07-27 20:55:42 +02:00
alex a7e68e2eab fix(auth): protect setup and expire sessions 2026-07-27 20:48:03 +02:00
alex e7607a0f3c test(auth): define bootstrap and session expiry contracts 2026-07-27 20:44:31 +02:00
alex 88869052f2 style(v2): normalize repository safety test 2026-07-27 20:28:25 +02:00
alex b4a8201826 docs(v2): record M3 repository evidence 2026-07-27 20:26:44 +02:00
alex ee98030ecd style(v2): normalize repository integration formatting 2026-07-27 20:25:54 +02:00
alex 448fa98629 feat(v2): enforce repository safety invariants 2026-07-27 20:25:27 +02:00
alex 1115f63879 test(v2): define repository safety contracts 2026-07-27 20:23:16 +02:00
alex 8e50d51733 style(v2): organize repository test imports 2026-07-27 20:20:18 +02:00
alex df62536773 feat(v2): initialize allowlisted repositories 2026-07-27 20:19:51 +02:00
alex e529ad60fa test(v2): define repository initialization contract 2026-07-27 20:17:59 +02:00
alex b823c6edb7 feat(v2): add secure control plane 2026-07-27 20:13:08 +02:00
alex cb864bcac5 test(v2): define secure control-plane contracts 2026-07-27 19:56:01 +02:00
alex 8b831fc985 style(v2): normalize migration test formatting 2026-07-27 19:46:33 +02:00
alex 15f8794029 fix(v2): enforce M1 runtime persistence invariants 2026-07-27 19:42:41 +02:00
alex 45a526a1e9 test(v2): prove runtime dispatch and persistence invariants 2026-07-27 19:34:14 +02:00
alex 8d1de81f2b feat(v2): add validated runtime and metadata store 2026-07-27 19:24:49 +02:00
alex 8f784848d7 test(v2): define runtime and metadata contracts 2026-07-27 19:06:14 +02:00
alex a0d081a4b4 fix(v2): enforce hardened M0 contracts 2026-07-27 19:00:09 +02:00
alex 92f2aaa27f test(v2): harden protocol and clean-break contracts 2026-07-27 18:52:47 +02:00
alex 791f4526f9 chore(v2): establish protocol and test foundation 2026-07-27 18:44:47 +02:00
alex 33b0c21292 test(v2): define protocol and clean-break contracts 2026-07-27 18:29:43 +02:00
alex ae98f383d6 docs(v2): define reimplementation design and plan 2026-07-27 18:23:47 +02:00
alex 9f59540686 cleaned up 2026-06-11 14:55:34 +02:00
alex cc694e71b4 feat: dockerize app and convert to pyproject setup
- Add pyproject.toml with proper metadata and dependency groups
- Create multi-stage Dockerfile for backend
- Add docker-compose.yml with dev/prod profiles
- Create frontend Dockerfile with nginx
- Add .dockerignore for optimized builds
- Update README with Docker instructions and troubleshooting
- Remove requirements.txt in favor of pyproject.toml
- Ensure data persistence with Docker volumes
2026-05-11 22:50:11 +02:00
alex abeb64637e docs: add comprehensive README and update .gitignore 2026-05-11 22:05:03 +02:00
alex 1978602da6 feat(frontend): add static file serving for production build 2026-05-11 22:04:26 +02:00
alex 55ec0687a5 feat(retention): add count-based and days-based retention policies 2026-05-11 22:03:50 +02:00
alex a4a16655b9 feat(scheduler): add APScheduler integration with cron support 2026-05-11 22:03:03 +02:00
alex 4d2c21a42e feat(adapters): add SSH and database adapters 2026-05-11 22:02:25 +02:00
alex b4a22a1c44 feat(routers): add executions, backups, and settings endpoints 2026-05-11 22:01:31 +02:00
alex b2d196498b feat(dashboard): add GET /api/dashboard/ stats endpoint
- Active jobs count, total backups, storage used
- Recent failures (24h) and last 10 executions
- Uses DashboardStats schema
2026-05-11 21:56:02 +02:00