Implement backend-neutral lease store protocol #94
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-server!94
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/issue-30-lease-store-protocol"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root cause
Target-lease semantics were documented, but the server had no owned backend-neutral lease-store boundary. Callers had no stable contract for deterministic lock identity, typed outcomes, deadlines, idempotency, fencing, lifecycle, persistence shape, or operational hooks, which would have forced backend-specific behavior into actors and routes.
New protocol contract
star.leasespackage with backend-neutral acquire, renew, release, get, list, revoke, health, and close generic operations.Compatibility impact
No actor, target-dispatch, or HTTP route imports a memory-, Redis-, or Valkey-specific backend. Existing authorized lease HTTP operations retain their current 501 behavior until a production adapter is wired by later roadmap work. No existing public caller was changed.
Tests executed
nix run .#star-unit-tests: 113 discovered / 113 executed / 113 passed / 0 failed / 0 skippednix run .#star-integration-tests: 35 discovered / 35 executed / 35 passed / 0 failed / 0 skippedpython -m pytest -q tests/test_operational_salvage_contract.py: 11 passed, 21 subtests passedpython scripts/check-starintel-schema-lock.py: verified StarIntel 0.9.0 schema atff814ff63868286d68e21502122832802cd5e361docker compose config --quiet: passed./scripts/stack-test.sh: passed authenticated/scoped denial, FTS, restart, document persistence, and credential persistence checksgit diff --check: passedFiles changed
source/leases/package.lispsource/leases/protocol.lispsource/leases/memory-store.lispsource/starintel-gserver.asdstarintel-gserver-tests.asdt/lease-store-contract-test.lispt/run-tests.lisptests/test_operational_salvage_contract.pydocs/index.orgRemaining risks
The in-memory backend is intentionally a deterministic test implementation. Real distributed atomicity, authoritative TTL/server time, connection management, and Valkey failure behavior are deferred to #31 and must conform to this protocol without changing it merely for backend convenience.
Fixes #30