q792602257
|
efb754fbe7
|
feat(host-protocol): accept heartbeat snapshots
|
2026-07-12 18:10:42 +08:00 |
|
q792602257
|
b4cbd83dcd
|
feat(host-protocol): define internal API models
|
2026-07-12 18:07:42 +08:00 |
|
q792602257
|
7d22b5234d
|
feat(cloud-auth): require production credentials
|
2026-07-12 18:02:49 +08:00 |
|
q792602257
|
82b66f74a2
|
feat(cloud-auth): bind host principals
|
2026-07-12 17:58:20 +08:00 |
|
q792602257
|
71f0a892e3
|
feat(cloud-auth): enforce public scopes
|
2026-07-12 17:56:14 +08:00 |
|
q792602257
|
b916b394c7
|
feat(cloud-auth): verify scoped bearer tokens
|
2026-07-12 17:45:31 +08:00 |
|
q792602257
|
c58d9e5316
|
feat(cloud-scheduler): reap expired leases
|
2026-07-12 17:32:11 +08:00 |
|
q792602257
|
e1af4403f5
|
feat(cloud-scheduler): record terminal results
|
2026-07-12 17:25:57 +08:00 |
|
q792602257
|
1b15a8a218
|
feat(cloud-scheduler): renew active leases
|
2026-07-12 17:23:07 +08:00 |
|
q792602257
|
b0a5b1426f
|
feat(cloud-scheduler): claim host assignments
|
2026-07-12 17:20:51 +08:00 |
|
q792602257
|
ac7734c7dc
|
feat(cloud-scheduler): reserve devices atomically
|
2026-07-12 17:19:10 +08:00 |
|
q792602257
|
0a9392b7ea
|
feat(cloud-store): persist task lease history
|
2026-07-12 17:15:09 +08:00 |
|
q792602257
|
7f5f740e2a
|
test(cloud-store): verify schema migrations
|
2026-07-12 16:59:08 +08:00 |
|
q792602257
|
24d9dbf38b
|
feat(cloud-store): add Alembic baseline migration
|
2026-07-12 16:55:46 +08:00 |
|
q792602257
|
64aa9b39bc
|
feat(cloud-store): support SQLite and PostgreSQL engines
|
2026-07-12 16:53:02 +08:00 |
|
q792602257
|
05a5f0bfa7
|
refactor(cloud-store): adopt SQLAlchemy adapter
|
2026-07-12 16:51:03 +08:00 |
|
q792602257
|
ae29477f6a
|
feat(cloud-store): define repository contract
|
2026-07-12 16:48:07 +08:00 |
|
q792602257
|
638216d6e7
|
feat(cloud): validate control plane and host configuration
|
2026-07-12 16:45:12 +08:00 |
|
q792602257
|
bfd56fd2da
|
refactor(cloud): move package into workspace member
|
2026-07-12 14:11:51 +08:00 |
|