KeelBase
An open-source runtime project for managing the human confirmation process when AI requests write data. It employs a dual-window timeout design and a single-point arbitration mechanism to guarantee consistency.
Timeline (last 90 days)
KeelBase is an open-source runtime that sits between AI agents and business systems, re-validating identity, authorization, scope, risk, and confirmation status before a tool actually executes.
KeelBase's default in-conversation wait timeout is 60 seconds; expiry ends only that wait and does not affect data state.
KeelBase's default offline window is 24 hours; records remain decidable during this period and flip to timed out only after it expires.
KeelBase's design requires each time boundary to be computed by only one function, with both the read path and the maintenance scan calling the same function to obtain the same instant.
KeelBase uses a database conditional update (UPDATE ... WHERE status = 'pending') as the atomic arbitration point for decisions: if one row is hit, the decision holds; if zero rows are hit, nothing is executed.
In KeelBase's old behavior, when writing the decision to the database threw an exception, the error was swallowed and the in-memory wait was still released, causing the record to remain in pending status and be executed by a second decision.
When decision persistence fails, KeelBase adopts a fail-closed strategy: absent evidence that the decision reached the database, it does not release the wait, letting this attempt fail and letting a human retry.
KeelBase's arbitration point only guarantees at-most-once decision, not at-most-once execution; the same request being resent after a model retry or a service restart is a separate-layer problem.
KeelBase's source repository is hosted on GitHub (github.com/rain6fish/KeelBase), with a Gitee mirror (gitee.com/rain6fish/KeelBase).
All Facts (9)
KeelBase's source repository is hosted on GitHub (github.com/rain6fish/KeelBase), with a Gitee mirror (gitee.com/rain6fish/KeelBase).
50%UnverifiedKeelBase's default in-conversation wait timeout is 60 seconds; expiry ends only that wait and does not affect data state.
50%UnverifiedKeelBase's default offline window is 24 hours; records remain decidable during this period and flip to timed out only after it expires.
50%UnverifiedKeelBase's design requires each time boundary to be computed by only one function, with both the read path and the maintenance scan calling the same function to obtain the same instant.
50%UnverifiedKeelBase uses a database conditional update (UPDATE ... WHERE status = 'pending') as the atomic arbitration point for decisions: if one row is hit, the decision holds; if zero rows are hit, nothing is executed.
50%UnverifiedKeelBase is an open-source runtime that sits between AI agents and business systems, re-validating identity, authorization, scope, risk, and confirmation status before a tool actually executes.
50%UnverifiedWhen decision persistence fails, KeelBase adopts a fail-closed strategy: absent evidence that the decision reached the database, it does not release the wait, letting this attempt fail and letting a human retry.
50%UnverifiedKeelBase's arbitration point only guarantees at-most-once decision, not at-most-once execution; the same request being resent after a model retry or a service restart is a separate-layer problem.
50%UnverifiedIn KeelBase's old behavior, when writing the decision to the database threw an exception, the error was swallowed and the in-memory wait was still released, causing the record to remain in pending status and be executed by a second decision.
50%