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
alex
66f9de17c5
feat(frontend): add Dashboard, Backups, and Settings pages
...
- Create Dashboard page with stats cards and recent activity feed
- Create Backups page with job listing table, create modal, and actions
- Create Settings page with tabs for General, Notifications, Security, Logs
- Update App.tsx to use new page components
- Add delete method to jobsApi in client.ts
- TypeScript compiles cleanly
2026-05-11 21:54:36 +02:00
alex
99eeffc810
chore: add .gitignore and remove node_modules from tracking
2026-05-11 21:48:38 +02:00
alex
d3b92593d5
feat(frontend): add API client, layout, and routing
...
- Create Axios-based API client with sources, jobs, and dashboard endpoints
- Add responsive Layout component with navigation sidebar
- Set up React Router with Dashboard, Backups, and Settings routes
- Configure TanStack Query provider with default options
- Use lucide-react for navigation icons
2026-05-11 21:47:20 +02:00