fix(memory): fence and drain consolidation for update admission #90
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/memory-consolidation-update-lifecycle"
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?
Fleet convergence exposed Severus on Core 0.1.236 with update admission unavailable: unsupported update owner: plugin 1. Its configured standalone memory-consolidation adapter lacks the foreground-owned contract.
This generic fix declares ownership only after fencing every exported capture/recall operation and background tick, and draining all accepted work on stop. Tests prove lease rejection happens before backend work and stop waits for the full capture/recall even on provider failure. No policy, access, worker, or conversation state changes.
Validation: full Plugins suite 108 passed, 1 existing platform skip; memory suite 10 passed.
Important: this fixes subsequent safe updates; it does not fabricate admission or pretend the already-loaded old plugin can admit its own replacement. Severus remains blocked pending an independently authorized safe migration.
Fleet rollout follow-up: normal promotion PRs SaaStaq #123/#124, RackTaq infrastructure #669, Overlays #357/#358 merged. Actual running 0.1.238 / 43f30c7a verified on all six active Kubernetes installations (process entry, immutable build, authenticated API identity where configured, Matrix connection after startup), Karsten native and Peter native. Existing access/channel policy unchanged; other audited installations have no configured Slack integration.
NOT fleet-converged yet: Shikamaru remains 0.1.236, busy dispatcher, 15-minute fresh-admission attempt deferred without restart; Akira remains 0.1.236, busy dispatcher/foreground, bounded admission waiter running. Severus on actual isolated 192.168.1.107 remains 0.1.236: unsupported memory-consolidation update owner. Core 0.1.238 has been OCI-verified, staged and probed unprivileged there, not activated. Generic consolidation fencing/draining fix merged in Plugins #90 (
999e011, exact-head CI passed); no fake lease or forced restart of the old unsupported plugin. Peter actual host is 192.168.1.103, active and now verified 0.1.238.Evidence: local ~/.cache/hayate-maintenance/fleet-messaging/{summary,kubernetes,peter,severus,akira,karsten,shikamaru}.json. No changes to tokens/admin privileges/personas or paused/waiting/running work.
COMPLETED messaging capabilities rollout (0.1.238 or newer) across all 11 active installations. Fresh evidence: {"che-guevara": "0.1.242", "randy-waterhouse": "0.1.242", "minato": "0.1.242", "kakashi": "0.1.238", "hayate-moist-hayate": "0.1.238", "hayate-odo": "0.1.238", "karsten-agent": "0.1.242", "akira": "0.1.238", "peter": "0.1.238", "severus-snape": "0.1.238", "shikamaru": "0.1.238"}.
User explicitly authorized durable-agent restart. Shikamaru and Severus switched via graceful SIGTERM checkpoint/recovery; process executable/build/API identity verified, no ledger editing/cancellation/forced worker resume/fake idle admission. Akira had already completed its admission-based rollout and is freshly verified. Severus standalone memory adapter now uses approved Plugins #90 bytes (
999e011); post-restart update admission idle with no blockers.Final audit additionally found Odo unavailable after rescheduling: private tailnet init lacked registry credentials. SaaStaq #133 references the existing forgejo-pull-secret; normally merged and GitOps reconciled. Odo now runs exact Core 0.1.238 and reconnected Matrix. Randy 0.1.242 authenticated API checked over TLS against the existing private CA with certificate identity verification. All six Kubernetes processes checked; other native process/API identities checked.
Evidence: ~/.cache/hayate-maintenance/fleet-messaging/summary.json and per-target JSON. Agent permissions/credentials/admin rules unchanged. This completes the requested messaging rollout, not equalization of every instance to the subsequently released 0.1.242.