docs(cloud): state deployment limitations
This commit is contained in:
@@ -109,6 +109,27 @@ For OpenAI, set `AI_PLANNER_PROVIDER=openai`, choose the deployed model through
|
||||
`AI_PLANNER_MODEL`, and provide `OPENAI_API_KEY`. Provider credentials belong
|
||||
only on the Host Agent; the Cloud API does not need them.
|
||||
|
||||
## Operational Limitations
|
||||
|
||||
Run exactly one scheduler-enabled Cloud API process. SQLite supports only the
|
||||
documented single-control-plane development mode. PostgreSQL row locking makes
|
||||
assignment and claim transactions safe if requests overlap, but this release
|
||||
does not implement scheduler leader election or claim active-active scheduler
|
||||
operation. Starting multiple Cloud API replicas would start one scheduler loop
|
||||
per replica and is outside the supported deployment topology.
|
||||
|
||||
Device execution provides at-least-once side-effect semantics, not exactly-once
|
||||
semantics. A device action can succeed immediately before the Host Agent loses
|
||||
its lease or its result response, after which the control plane may retry the
|
||||
task. Lease renewal and cooperative stop checks prevent later interruptible
|
||||
actions where possible, but they cannot roll back an action already sent to a
|
||||
device or safely terminate an in-progress synchronous driver call.
|
||||
|
||||
Use bounded attempts, inspect task attempt and failure metadata, and design
|
||||
device workflows to tolerate repeated actions when the target operation allows
|
||||
it. Do not use this release for operations that require a transactional
|
||||
exactly-once guarantee across the cloud database and an external device.
|
||||
|
||||
## Shutdown And Rollback
|
||||
|
||||
For a normal shutdown, stop Host Agents first so they stop polling, interrupt
|
||||
|
||||
Reference in New Issue
Block a user