resume_guard
Resume-effect reconciliation for checkpointed agent runs — by TextForAgents LLC.
Before a checkpointed agent run resumes, ask what already landed. An effect ledger keyed to checkpoint identity, a read-only probe of the target system when the ledger is silent, and an Ed25519-signed verdict — SAFE / RESUME-WITH-SKIPS / DO-NOT-RESUME — so a resumed node never re-sends the paid call, re-books the booking, or records an approval against work the human never saw.
Quickstart
from resume_guard import EffectLedger, TargetSystem, Reconciler, GuardedEffects
ledger = EffectLedger("effects.db")
target = TargetSystem("target.json")
rec = Reconciler(ledger, {"paid_job": target})
guard = GuardedEffects(ledger, rec)
receipt, how = guard.run_effect("run-1", "ns-1", "book_and_pay",
"submit-job", "paid_job",
lambda eid: target.submit(eid, {"job": "gpu-job-1"}))
# kill the process here; on resume the same call returns ("...", "injected")
# and the effect function is never called again.
verdict = rec.verdict("run-1", "ns-1", "book_and_pay",
[{"effect_key": "submit-job", "kind": "paid_job"}])
assert verdict["verdict"]["state"] == "RESUME-WITH-SKIPS"
assert Reconciler.verify(verdict)
print("exactly one execution:", target.submit_calls == 1)
Hosted service: Solo $9/mo per operator (first month free, one-time trial) · Team $29/mo · per-verdict API $0.005 (x402). Support: support@textforagents.com
Metadata
Release files for resume-guard 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| resume_guard-1.0.0.tar.gz | 12.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| resume_guard-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.3 kB
Release files / resume_guard-1.0.0.tar.gz
| Download URL | resume_guard-1.0.0.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0cb8f578d82eeaf9e13c6540a5e8c869193115eb5fe0d6b948de26de1c2a8501
|
|
BLAKE2b-256 checksum How to use checksums |
ad0a851eedac46a7ab374f396a46b439dc13c86d5c2496e92456ddec97492b33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / resume_guard-1.0.0-py3-none-any.whl
| Download URL | resume_guard-1.0.0-py3-none-any.whl |
|---|---|
| Size | 15.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65347d96da6a4569e640f2585b4f25d832d6379331e4e9788a07d0ea9d7439f9
|
|
BLAKE2b-256 checksum How to use checksums |
cf5c5dd499a68e5e6ce94ace1ce893790920e8e909ec57475c3a12e4e15d6430
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|