Repository navigation
Add dispatch-peer-batch CLI to schedule manifest jobs from heartbeat peer log - #50
Conversation
Automated review did not approve this PRAutomated Hermes/GPT-5.5 review decision for PR #50: Review notesAd-hoc verification completed again, using an OS-safe Temporary script: It verified the changed behavior:
Run result: Cleanup result: This is ad-hoc focused verification only, not a fresh full suite/canonical validation claim. Safety notes
|
Automated review did not approve this PRAutomated Hermes/GPT-5.5 review decision for PR #50: Review notesAd-hoc verification completed. Created temporary script with OS-safe tempfile path:
Ran it against the changed behavior. It verified:
Result:
Cleanup:
This is explicitly ad-hoc focused verification, not a fresh canonical suite-green claim. Safety notes
|
8df88b1 to
39c2c9b
Compare
Objective
Add a new local-only dispatch path that uses heartbeat-derived peers as the scheduler roster instead of manifest nodes, so manifest job lists can be dispatched based on recently observed peer presence and capabilities.
Why this matters
peer-summaryfor replayable dispatch while keeping behavior deterministic and local-only.What changed
dispatch-peer-batchCLI command with required arguments:--peer-log-path,--manifest,--message-log-path.load_manifest_jobs()injob_manifest.pyto load jobs-only from a version 1 manifest (ignoring node roster for this command)._load_manifest_document().scheduled_nodes_from_peer_log()inpeer_registry.pyto convert validated heartbeat summaries into deterministicScheduledNodeentries (sorted node order, sorted capabilities, status validation).dispatch_local_batch()now acceptscommandand optionalpeer_log_path.LocalDispatchResult.to_dict()now reports these fields when present.dispatch_peer_batch_command()in CLI to:peer_registry: heartbeat parsing, latest heartbeat selection, sorting, invalid status/errors, and empty-log handling.job_manifest: jobs-only loading helper behavior.dispatch: command metadata propagation and offline-peer scheduling behavior.cli: parser contract, command routing, successful peer dispatch behavior, failure non-write guarantees.dispatch-peer-batchand a note that it remains local-only.Validation
PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=src python -m unittest discover -s tests -vdispatch-peer-batch.Safety notes