Extract heartbeat lease primitive into star-lease #32
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/star-lang!32
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "extract/heartbeat-lease-core"
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?
Scope
Continue the research-ordered one-authority extraction after PR #31 by moving the reusable heartbeat/liveness lease primitive out of
prototype/domain-remoting-lease-prototype.lispinto finalstar-lease.This is deliberately not presented as the complete durable lease/fencing subsystem from the design research.
Final authority in this slice
star-leasenow owns:>= timeout)The explicit sampled-time API preserves the prototype's deterministic behavior: a gateway expiration sweep reads the clock once and applies the same
nowto every node.Prototype/domain authority retained
prototype/domain-remoting-lease-prototype.lispstill owns domain-remoting orchestration:remote-domain-node-alive-pThose behaviors are not duplicated in
star-lease.Not implemented / not claimed
The full research lease design still remains future work. This slice does not add:
Extraction metrics
CI on final head
03fa1cf06807fb87409776f3803ec612d4083e0dreports:prototype/**/*.lisp: 19,550 → 19,545 LOC (-5)prototype/domain-remoting-lease-prototype.lisp: +34 / -39, net -5 linesThe modest prototype LOC reduction is intentional: gateway mutation and routing remain domain-owned rather than being shoved into the generic lease package.
Validation
GitHub Actions is green on the final head:
asdf:test-system :star-actor-protocol✅asdf:test-system :star-canonical-json✅asdf:test-system :star-journal✅asdf:test-system :star-lease✅ in a fresh process without the prototype packageasdf:test-system :star-mailbox✅asdf:test-system :star-sento-compat✅asdf:test-system :starlang-runtime✅asdf:test-system :starlang-prototype✅ — existing standalone prototype suite, including heartbeat lease and deterministic failover integrationnix flake check --print-build-logs✅Next dependency-correct slice
Inspect and extract the runtime-directory discovery/resolution boundary using the already-final STAR URI and ActorRef protocol types. Preserve STAR-LANG-004's distinctions between missing, unavailable, and duplicate service registrations; do not create a second registry or move deterministic dispatcher behavior in the same slice.